Merge Bob Fewell's Gtk3-Update2 branch.

This commit is contained in:
John Ralls 2017-07-15 15:09:40 -07:00
commit 9948ee6235
28 changed files with 256 additions and 271 deletions

View File

@ -112,17 +112,17 @@ static GtkActionEntry gnc_plugin_page_invoice_actions [] =
/* Edit menu */
{
"EditCutAction", "edit-cut", N_("_Cut"), NULL,
"EditCutAction", "edit-cut", N_("_Cut"), "<primary>X",
NULL,
G_CALLBACK (gnc_plugin_page_invoice_cmd_cut)
},
{
"EditCopyAction", "edit-copy", N_("Copy"), NULL,
"EditCopyAction", "edit-copy", N_("Copy"), "<primary>C",
NULL,
G_CALLBACK (gnc_plugin_page_invoice_cmd_copy)
},
{
"EditPasteAction", "edit-paste", N_("_Paste"), NULL,
"EditPasteAction", "edit-paste", N_("_Paste"), "<primary>V",
NULL,
G_CALLBACK (gnc_plugin_page_invoice_cmd_paste)
},

View File

@ -54,7 +54,7 @@
#define DIALOG_NEW_ACCOUNT_CM_CLASS "dialog-new-account"
#define DIALOG_EDIT_ACCOUNT_CM_CLASS "dialog-edit-account"
#define GNC_PREFS_GROUP "dialogs.account"
#define DEFAULT_COLOR "#ededececebeb"
#define DEFAULT_COLOR "rgb(237,236,235)"
enum account_cols
{
@ -229,7 +229,9 @@ gnc_account_to_ui(AccountWindow *aw)
gtk_entry_set_text(GTK_ENTRY(aw->description_entry), string);
string = xaccAccountGetColor (account);
if (string == NULL) string = "";
if ((string == NULL) || (g_strcmp0 ("Not Set", string) == 0))
string = DEFAULT_COLOR;
if (gdk_rgba_parse(&color, string))
{
gtk_color_chooser_set_rgba(GTK_COLOR_CHOOSER(aw->color_entry_button), &color);
@ -666,7 +668,6 @@ verify_children_compatible (AccountWindow *aw)
gtk_label_set_selectable (GTK_LABEL (label), TRUE);
gnc_label_set_alignment (label, 0.0, 0.0);
{
#if GTK_CHECK_VERSION(3,16,0)
GtkCssProvider *provider = gtk_css_provider_new();
const gchar *label_css = {
"label {\n"
@ -679,21 +680,6 @@ verify_children_compatible (AccountWindow *aw)
GTK_STYLE_PROVIDER (provider),
GTK_STYLE_PROVIDER_PRIORITY_APPLICATION);
g_object_unref (provider);
#else
gint size;
PangoFontDescription *font_desc;
GtkStyleContext *style;
style = gtk_widget_get_style_context(label);
gtk_style_context_get (style, GTK_STATE_FLAG_NORMAL, GTK_STYLE_PROPERTY_FONT, &font_desc, NULL);
size = pango_font_description_get_size (font_desc);
font_desc = pango_font_description_new ();
pango_font_description_set_weight (font_desc, PANGO_WEIGHT_BOLD);
pango_font_description_set_size (font_desc, size * PANGO_SCALE_LARGE);
gtk_widget_override_font(label, font_desc);
pango_font_description_free (font_desc);
#endif
}
gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0);

View File

@ -155,7 +155,6 @@ void gnc_options_dialog_response_cb(GtkDialog *dialog, gint response,
static void gnc_options_dialog_reset_cb(GtkWidget * w, gpointer data);
void gnc_options_dialog_list_select_cb (GtkTreeSelection *selection,
gpointer data);
void gnc_set_book_currency_widget(void);
void gnc_set_default_cost_policy_widget(SCM list_symbol);
void gnc_set_default_gain_loss_account_widget(gnc_commodity *commodity);
void gnc_option_changed_book_currency_widget_cb(GtkWidget *widget);
@ -519,7 +518,7 @@ gnc_gain_loss_account_view_filter (Account *account, gpointer data)
/* gain/loss accts must be in book-currency; if a book currency has been
specified in the widget, use it to filter */
if (book_currency_data->book_currency_widget)
if (gtk_combo_box_get_active (GTK_COMBO_BOX(book_currency_data->book_currency_widget)) != -1)
commodity = gnc_currency_edit_get_currency(
GNC_CURRENCY_EDIT(
book_currency_data->book_currency_widget));
@ -552,21 +551,6 @@ gnc_gain_loss_account_all_fail_filter (Account *account, gpointer data)
return FALSE;
}
void
gnc_set_book_currency_widget()
{
g_signal_connect(G_OBJECT(book_currency_data->book_currency_widget),
"changed",
G_CALLBACK(gnc_option_changed_book_currency_widget_cb),
NULL);
gtk_table_attach (GTK_TABLE(book_currency_data->book_currency_table),
book_currency_data->book_currency_widget,
1, 2, // left, right attach
0, 1, // top, bottom attach
GTK_FILL|GTK_EXPAND, GTK_FILL, // x,y
0, 0);
}
void
gnc_set_default_cost_policy_widget(SCM list_symbol)
{
@ -626,16 +610,14 @@ gnc_set_default_gain_loss_account_widget(gnc_commodity *commodity)
{
book_currency_data->default_gain_loss_account_text =
gtk_label_new( _("Because no accounts have " \
"been set up yet,\nyou will need to return to this " \
"dialog\n(via File->Properties), after account setup, " \
"if\nyou want to set a default gain/loss account.") );
gtk_table_attach (GTK_TABLE(
book_currency_data->gain_loss_account_table),
book_currency_data->default_gain_loss_account_text,
1, 3, // left, right attach
1, 2, // top, bottom attach
GTK_FILL|GTK_EXPAND, GTK_FILL|GTK_EXPAND, // x,y
0, 0);
"been set up yet,you will need to return to this " \
"dialog (via File->Properties), after account setup, " \
"if you want to set a default gain/loss account.") );
gtk_label_set_line_wrap (GTK_LABEL(book_currency_data->default_gain_loss_account_text), TRUE);
gtk_grid_attach (GTK_GRID(book_currency_data->gain_loss_account_table),
book_currency_data->default_gain_loss_account_text, 0, 1, 2, 1);
}
else
{
@ -672,19 +654,16 @@ gnc_set_default_gain_loss_account_widget(gnc_commodity *commodity)
book_currency_data->gain_loss_account_del_button =
gtk_button_new_with_label( _("Select no account") );
g_signal_connect (GTK_BUTTON (
book_currency_data->gain_loss_account_del_button),
"clicked",
G_CALLBACK (
gnc_option_changed_gain_loss_account_del_button_widget_cb),
NULL);
gtk_table_attach (GTK_TABLE(
book_currency_data->gain_loss_account_table),
book_currency_data->gain_loss_account_del_button,
2, 3, // left, right attach
0, 1, // top, bottom attach
GTK_FILL|GTK_EXPAND, GTK_FILL|GTK_EXPAND, // x,y
0, 0);
gtk_grid_attach (GTK_GRID(book_currency_data->gain_loss_account_table),
book_currency_data->gain_loss_account_del_button, 1, 0, 1, 1);
gtk_tree_view_set_headers_visible (GTK_TREE_VIEW(
book_currency_data->default_gain_loss_account_widget),
TRUE);
@ -700,6 +679,11 @@ gnc_set_default_gain_loss_account_widget(gnc_commodity *commodity)
NULL);
g_object_set_data(G_OBJECT(col), DEFAULT_VISIBLE,
GINT_TO_POINTER(1));
// add the color background data function to the column
gnc_tree_view_account_column_add_color (GNC_TREE_VIEW_ACCOUNT(
book_currency_data->default_gain_loss_account_widget), col);
col =
gnc_tree_view_add_toggle_column(GNC_TREE_VIEW(
book_currency_data->default_gain_loss_account_widget),
@ -715,6 +699,11 @@ gnc_set_default_gain_loss_account_widget(gnc_commodity *commodity)
NULL);
g_object_set_data(G_OBJECT(col), DEFAULT_VISIBLE,
GINT_TO_POINTER(1));
// add the color background data function to the column
gnc_tree_view_account_column_add_color (GNC_TREE_VIEW_ACCOUNT(
book_currency_data->default_gain_loss_account_widget), col);
gnc_tree_view_configure_columns (GNC_TREE_VIEW(
book_currency_data->default_gain_loss_account_widget));
gnc_tree_view_set_show_column_menu(GNC_TREE_VIEW(
@ -774,27 +763,20 @@ gnc_set_default_gain_loss_account_widget(gnc_commodity *commodity)
"book currency; you will have to return to this " \
"dialog\n(via File->Properties), after account setup, " \
"to select a\ndefault gain/loss account.") );
gtk_table_attach (GTK_TABLE(book_currency_data->gain_loss_account_table),
book_currency_data->default_gain_loss_account_text,
1, 3, // left, right attach
1, 2, // top, bottom attach
GTK_FILL|GTK_EXPAND, GTK_FILL|GTK_EXPAND, // x,y
0, 0);
gtk_grid_attach (GTK_GRID(book_currency_data->gain_loss_account_table),
book_currency_data->default_gain_loss_account_text, 0, 1, 2, 1);
}
}
if (book_currency_data->default_gain_loss_account_widget)
{
gtk_widget_set_hexpand (GTK_WIDGET(book_currency_data->default_gain_loss_account_widget), TRUE);
g_signal_connect (G_OBJECT (selection),
"changed",
G_CALLBACK (gnc_option_changed_gain_loss_account_widget_cb),
NULL);
gtk_table_attach (GTK_TABLE(book_currency_data->gain_loss_account_table),
book_currency_data->default_gain_loss_account_widget,
1, 3, // left, right attach
1, 2, // top, bottom attach
GTK_FILL|GTK_EXPAND, GTK_FILL|GTK_EXPAND, // x,y
0, 0);
gtk_grid_attach (GTK_GRID(book_currency_data->gain_loss_account_table),
book_currency_data->default_gain_loss_account_widget, 0, 1, 2, 1);
}
}
}
@ -804,11 +786,14 @@ gnc_option_changed_book_currency_widget_cb(GtkWidget *widget)
{
/* Once the book currency widget is set, need to set the
default_gain_loss_account_widget and/or del-button or text*/
if (gtk_combo_box_get_active (GTK_COMBO_BOX(book_currency_data->book_currency_widget)) != -1)
{
gnc_commodity *commodity = gnc_currency_edit_get_currency(
GNC_CURRENCY_EDIT(
book_currency_data->book_currency_widget));
gnc_set_default_gain_loss_account_widget(commodity);
}
gtk_widget_show_all(book_currency_data->book_currency_vbox);
gnc_option_changed_widget_cb(widget, book_currency_data->option);
}
@ -900,13 +885,8 @@ gnc_option_changed_gain_loss_account_del_button_widget_cb (GtkButton *button, gp
static void
gnc_option_currency_accounting_non_book_cb(GtkWidget *widget, gpointer data)
{
/* since there is no 'gnc_currency_edit_set_currency(widget, -1)' like
there is for 'gnc_combott_set_active', do this as a work around so
the dialog is cleared of currency when switched out of 'book-
currency' choice */
gtk_widget_destroy (book_currency_data->book_currency_widget);
book_currency_data->book_currency_widget = gnc_currency_edit_new();
gnc_set_book_currency_widget();
gnc_currency_edit_clear_display (GNC_CURRENCY_EDIT(
book_currency_data->book_currency_widget));
gnc_combott_set_active(GNC_COMBOTT(
book_currency_data->default_cost_policy_widget),
-1);
@ -1203,11 +1183,22 @@ gnc_option_create_currency_accounting_widget (char *name, GNCOption *option)
/* Create the button frame */
frame = gtk_frame_new (name);
gtk_widget_set_halign (GTK_WIDGET(frame), GTK_ALIGN_FILL);
gtk_widget_set_hexpand (GTK_WIDGET(frame), TRUE);
/* Create the verticle button box */
vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5);
gtk_box_set_homogeneous (GTK_BOX (vbox), FALSE);
gtk_container_add (GTK_CONTAINER (frame), vbox);
gtk_widget_set_halign (GTK_WIDGET(vbox), GTK_ALIGN_FILL);
gtk_widget_set_hexpand (GTK_WIDGET(vbox), TRUE);
#if GTK_CHECK_VERSION(3,12,0)
gtk_widget_set_margin_end (GTK_WIDGET(vbox), 12);
#else
gtk_widget_set_margin_right (GTK_WIDGET(vbox), 12);
#endif
gtk_widget_set_margin_bottom (GTK_WIDGET(vbox), 12);
/* Iterate over the three options and create a radio button for each one */
for (i = 0; i < num_values; i++)
@ -1248,8 +1239,7 @@ gnc_option_create_currency_accounting_widget (char *name, GNCOption *option)
"Use a Book Currency") == 0)
{
GtkWidget *widget_label,
*alignm = gtk_alignment_new (.5, .5, 1.0, 1.0),
*policy_table = gtk_table_new (1, 2, FALSE);
*policy_table = gtk_grid_new();
book_currency_data->book_currency_widget = gnc_currency_edit_new();
book_currency_data->default_cost_policy_widget =
@ -1258,104 +1248,107 @@ gnc_option_create_currency_accounting_widget (char *name, GNCOption *option)
book_currency_data->gain_loss_account_del_button = NULL;
book_currency_data->default_gain_loss_account_text = NULL;
book_currency_data->prior_gain_loss_account = NULL;
book_currency_data->book_currency_table =
gtk_table_new (1, 2, FALSE);
book_currency_data->book_currency_vbox = gtk_vbox_new (FALSE, 0);
book_currency_data->gain_loss_account_table =
gtk_table_new (2, 3, FALSE);
table = gtk_table_new (2, 2, FALSE);
gtk_table_attach_defaults (GTK_TABLE (table), widget, 0, 2, 0, 1);
g_signal_connect(G_OBJECT(widget),
"toggled",
book_currency_data->book_currency_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
gtk_box_set_homogeneous (GTK_BOX (book_currency_data->book_currency_vbox), FALSE);
table = gtk_grid_new ();
gtk_grid_attach (GTK_GRID(table), widget, 0, 0, 2, 1);
g_signal_connect(G_OBJECT(widget), "toggled",
G_CALLBACK(gnc_option_currency_accounting_book_cb),
book_currency_data);
gtk_table_set_row_spacings (
GTK_TABLE (book_currency_data->book_currency_table),
6);
gtk_table_set_col_spacings (
GTK_TABLE (book_currency_data->book_currency_table),
6);
gtk_table_set_row_spacings (GTK_TABLE (policy_table), 6);
gtk_table_set_col_spacings (GTK_TABLE (policy_table), 6);
gtk_table_set_row_spacings (
GTK_TABLE (book_currency_data->gain_loss_account_table),
6);
gtk_table_set_col_spacings (
GTK_TABLE (book_currency_data->gain_loss_account_table),
6);
book_currency_data->book_currency_table = gtk_grid_new ();
gtk_grid_set_row_spacing (GTK_GRID (book_currency_data->book_currency_table), 6);
gtk_grid_set_column_spacing (GTK_GRID (book_currency_data->book_currency_table), 6);
tip = gnc_currency_accounting_option_currency_documentation(option);
widget_label = gtk_label_new( _("Book currency:") );
gtk_widget_set_tooltip_text(book_currency_data->book_currency_table,
tip && *tip ? _(tip) : "");
gtk_table_attach (
GTK_TABLE(book_currency_data->book_currency_table),
widget_label,
0, 1, // left, right attach
0, 1, // top, bottom attach
GTK_FILL, GTK_FILL, // x,y
0, 0);
gnc_set_book_currency_widget();
gtk_box_pack_start (
GTK_BOX (book_currency_data->book_currency_vbox),
gtk_widget_set_halign (GTK_WIDGET(widget_label), GTK_ALIGN_START);
gtk_widget_set_hexpand (GTK_WIDGET(widget_label), TRUE);
gtk_grid_attach (GTK_GRID(book_currency_data->book_currency_table), widget_label, 0, 0, 1, 1);
g_signal_connect(G_OBJECT(book_currency_data->book_currency_widget),
"changed",
G_CALLBACK(gnc_option_changed_book_currency_widget_cb),
NULL);
gtk_grid_attach (GTK_GRID(book_currency_data->book_currency_table),
book_currency_data->book_currency_widget, 1, 0, 1, 1);
gtk_box_pack_start (GTK_BOX (book_currency_data->book_currency_vbox),
book_currency_data->book_currency_table,
FALSE, FALSE, 0);
TRUE, TRUE, 0);
#if GTK_CHECK_VERSION(3,12,0)
gtk_widget_set_margin_start (GTK_WIDGET(book_currency_data->book_currency_table), 12);
#else
gtk_widget_set_margin_left (GTK_WIDGET(book_currency_data->book_currency_table), 12);
#endif
gtk_grid_set_row_spacing (GTK_GRID (policy_table), 6);
gtk_grid_set_column_spacing (GTK_GRID (policy_table), 6);
tip = gnc_currency_accounting_option_policy_documentation(option);
widget_label = gtk_label_new( _("Default lot tracking policy:") );
gtk_widget_set_tooltip_text(
policy_table, tip && *tip ? _(tip) : "");
gtk_table_attach (GTK_TABLE(policy_table), widget_label,
0, 1, // left, right attach
0, 1, // top, bottom attach
GTK_FILL, GTK_FILL, // x,y
0, 0);
gtk_widget_set_tooltip_text(policy_table, tip && *tip ? _(tip) : "");
gtk_widget_set_halign (GTK_WIDGET(widget_label), GTK_ALIGN_START);
gtk_widget_set_hexpand (GTK_WIDGET(widget_label), TRUE);
gtk_grid_attach (GTK_GRID(policy_table), widget_label, 0, 1, 1, 1);
g_signal_connect(G_OBJECT(
book_currency_data->default_cost_policy_widget),
"changed",
G_CALLBACK(gnc_option_multichoice_cb), option);
gtk_table_attach (GTK_TABLE(policy_table),
book_currency_data->default_cost_policy_widget,
1, 2, // left, right attach
0, 1, // top, bottom attach
GTK_FILL|GTK_EXPAND, GTK_FILL, // x,y
0, 0);
gtk_box_pack_start (
GTK_BOX (book_currency_data->book_currency_vbox),
policy_table, FALSE, FALSE, 0);
tip =
gnc_currency_accounting_option_gain_loss_account_documentation(
option);
gtk_grid_attach (GTK_GRID(policy_table),
book_currency_data->default_cost_policy_widget, 1, 1, 1, 1);
gtk_box_pack_start (GTK_BOX (book_currency_data->book_currency_vbox),
policy_table, TRUE, TRUE, 0);
#if GTK_CHECK_VERSION(3,12,0)
gtk_widget_set_margin_start (GTK_WIDGET(policy_table), 12);
#else
gtk_widget_set_margin_left (GTK_WIDGET(policy_table), 12);
#endif
book_currency_data->gain_loss_account_table = gtk_grid_new ();
gtk_grid_set_row_spacing (GTK_GRID (book_currency_data->gain_loss_account_table), 6);
gtk_grid_set_column_spacing (GTK_GRID (book_currency_data->gain_loss_account_table), 6);
tip = gnc_currency_accounting_option_gain_loss_account_documentation(option);
widget_label = gtk_label_new( _("Default gain/loss account:") );
gtk_misc_set_alignment (GTK_MISC(widget_label), 0.0, 0.5);
gtk_widget_set_tooltip_text(
book_currency_data->gain_loss_account_table,
gnc_label_set_alignment (GTK_WIDGET(widget_label), 0.0, 0.5);
gtk_widget_set_tooltip_text(book_currency_data->gain_loss_account_table,
tip && *tip ? _(tip) : "");
gtk_table_attach (
GTK_TABLE(book_currency_data->gain_loss_account_table),
widget_label,
0, 2, // left, right attach
0, 1, // top, bottom attach
GTK_FILL, GTK_FILL, // x,y
0, 6);
gtk_grid_attach (GTK_GRID(book_currency_data->gain_loss_account_table), widget_label, 0, 0, 1, 1);
widget_label = NULL;
gtk_box_pack_start (
GTK_BOX (book_currency_data->book_currency_vbox),
gtk_box_pack_start (GTK_BOX (book_currency_data->book_currency_vbox),
book_currency_data->gain_loss_account_table,
FALSE, FALSE, 0);
gtk_alignment_set_padding (GTK_ALIGNMENT (alignm), 0, 0, 36, 0);
gtk_container_add (GTK_CONTAINER (alignm),
book_currency_data->book_currency_vbox);
gtk_table_attach_defaults (GTK_TABLE (table), alignm, 0, 2, 1, 2);
TRUE, TRUE, 0);
#if GTK_CHECK_VERSION(3,12,0)
gtk_widget_set_margin_start (GTK_WIDGET(book_currency_data->gain_loss_account_table), 12);
#else
gtk_widget_set_margin_left (GTK_WIDGET(book_currency_data->gain_loss_account_table), 12);
#endif
gtk_grid_attach (GTK_GRID(table), book_currency_data->book_currency_vbox, 1, 2, 1, 1);
}
else /* trading or neither */
{
table = gtk_table_new (1, 2, FALSE);
gtk_table_attach_defaults (GTK_TABLE (table), widget, 0, 2, 0, 1);
g_signal_connect(G_OBJECT(widget),
"toggled",
table = gtk_grid_new ();
gtk_grid_attach (GTK_GRID(table), widget, 0, 1, 1, 1);
g_signal_connect(G_OBJECT(widget), "toggled",
G_CALLBACK(gnc_option_currency_accounting_non_book_cb),
book_currency_data);
}
gtk_box_pack_start (GTK_BOX (vbox), table, FALSE, FALSE, 0);
gtk_box_pack_start (GTK_BOX (vbox), table, TRUE, TRUE, 0);
if (label)
free (label);
@ -2107,7 +2100,6 @@ refresh_handler (GHashTable *changes, gpointer user_data)
/* The default_gain_loss_account_widget needs to be refreshed if any
changes have been made via account maintenance, if it exists and
if the book currency widget has a selection */
if (book_currency_data->default_gain_loss_account_widget &&
gtk_combo_box_get_active_iter(
GTK_COMBO_BOX(book_currency_data->book_currency_widget), &iter))
@ -3085,7 +3077,7 @@ gnc_option_set_ui_widget_currency_accounting (GNCOption *option,
gnc_option_set_widget (option, value);
gnc_option_set_ui_value(option, FALSE);
gtk_box_pack_start(GTK_BOX(*enclosing), value, FALSE, FALSE, 0);
gtk_box_pack_start(GTK_BOX(*enclosing), value, TRUE, TRUE, 0);
gtk_widget_show_all(*enclosing);
return value;
}
@ -4108,7 +4100,7 @@ gnc_option_get_ui_value_currency_accounting (
}
value = scm_cons(val, value);
if (book_currency_data->book_currency_widget)
if (gtk_combo_box_get_active (GTK_COMBO_BOX(book_currency_data->book_currency_widget)) != -1)
{
commodity =
gnc_currency_edit_get_currency(

View File

@ -108,11 +108,7 @@ gnc_popup_entry_init (GncPopupEntry *widget)
widget->button = gtk_button_new ();
gtk_widget_show (widget->button);
#if GTK_CHECK_VERSION(3,14,0)
arrow = gtk_image_new_from_icon_name ("go-down", GTK_ICON_SIZE_BUTTON);
#else
arrow = gtk_arrow_new (GTK_ARROW_DOWN, GTK_SHADOW_OUT);
#endif
gtk_widget_show (arrow);
gtk_container_add (GTK_CONTAINER (widget->button), arrow);
@ -302,12 +298,9 @@ gnc_popup_get_button_width (void)
gtk_widget_show (button);
gtk_container_add (GTK_CONTAINER (window), button);
#if GTK_CHECK_VERSION(3,14,0)
arrow = gtk_image_new_from_icon_name ("go-down", GTK_ICON_SIZE_BUTTON);
#else
arrow = gtk_arrow_new (GTK_ARROW_DOWN, GTK_SHADOW_OUT);
#endif
gtk_widget_show (arrow);
gtk_container_add (GTK_CONTAINER (button), arrow);
gtk_window_move (GTK_WINDOW (window), -500, -500);

View File

@ -227,11 +227,8 @@ gctt_init (GncCombott *combott)
hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
gtk_box_set_homogeneous (GTK_BOX(hbox), FALSE);
#if GTK_CHECK_VERSION(3,14,0)
arrow = gtk_image_new_from_icon_name ("go-down", GTK_ICON_SIZE_BUTTON);
#else
arrow = gtk_arrow_new (GTK_ARROW_DOWN, GTK_SHADOW_OUT);
#endif
#if GTK_CHECK_VERSION(3,12,0)
gtk_widget_set_margin_start (GTK_WIDGET(arrow), 5);
#else

View File

@ -467,6 +467,42 @@ gnc_currency_edit_get_currency (GNCCurrencyEdit *gce)
return commodity;
}
/** Clear the displayed currency of the widget.
*
* This will clear the currency being displayed just like when first created
* but it still returns the default currency as usual
*
* @param gce The currency editor widget whose values should be retrieved.
*/
void
gnc_currency_edit_clear_display (GNCCurrencyEdit *gce)
{
GtkTreeModel *model;
GtkWidget *entry;
g_return_if_fail(gce != NULL);
g_return_if_fail(GNC_IS_CURRENCY_EDIT(gce));
model = gtk_combo_box_get_model (GTK_COMBO_BOX(gce));
entry = gtk_bin_get_child (GTK_BIN(gce));
g_object_ref (model);
g_signal_handlers_block_by_func (G_OBJECT(gce),
G_CALLBACK(gnc_currency_edit_active_changed), gce);
gtk_combo_box_set_model (GTK_COMBO_BOX(gce), NULL);
gtk_entry_set_text (GTK_ENTRY(entry),"");
gtk_combo_box_set_active (GTK_COMBO_BOX(gce), -1);
gtk_combo_box_set_model (GTK_COMBO_BOX(gce), model);
g_signal_handlers_block_by_func (G_OBJECT(gce),
G_CALLBACK(gnc_currency_edit_active_changed), gce);
g_object_unref (model);
}
/** @} */
/** @} */
/** @} */

View File

@ -114,6 +114,16 @@ void gnc_currency_edit_set_currency (GNCCurrencyEdit *gce,
*/
gnc_commodity *gnc_currency_edit_get_currency (GNCCurrencyEdit *gce);
/** Clear the displayed currency of the widget.
*
* This will clear the currency being displayed just like when first created
* but it still returns the default currency as usual
*
* @param gce The currency editor widget whose values should be retrieved.
*/
void gnc_currency_edit_clear_display (GNCCurrencyEdit *gce);
/** @} */
#endif

View File

@ -928,11 +928,8 @@ create_children (GNCDateEdit *gde)
gtk_widget_show (GTK_WIDGET(gde->cal_label));
/* Graphic for the popup button. */
#if GTK_CHECK_VERSION(3,14,0)
arrow = gtk_image_new_from_icon_name ("go-down", GTK_ICON_SIZE_BUTTON);
#else
arrow = gtk_arrow_new (GTK_ARROW_DOWN, GTK_SHADOW_NONE);
#endif
gtk_box_pack_start (GTK_BOX (hbox), arrow, TRUE, FALSE, 0);
gtk_widget_show (GTK_WIDGET(arrow));

View File

@ -378,7 +378,6 @@ gnc_dense_cal_init(GncDenseCal *dcal)
GTK_STYLE_PROPERTY_FONT, &font_desc, NULL);
font_size = pango_font_description_get_size(font_desc);
#if GTK_CHECK_VERSION(3,16,0)
provider = gtk_css_provider_new();
dpi = gdk_screen_get_resolution (gdk_screen_get_default ());
px_size = ((font_size / PANGO_SCALE) - font_size_reduction_units) * (dpi / 72.);
@ -391,11 +390,7 @@ gnc_dense_cal_init(GncDenseCal *dcal)
g_object_unref (provider);
g_free (px_str);
g_free (widget_css);
#else
font_size -= font_size_reduction_units * PANGO_SCALE;
pango_font_description_set_size(font_desc, font_size);
gtk_widget_override_font(GTK_WIDGET(dcal), font_desc);
#endif
pango_font_description_free (font_desc);
maxWidth = maxHeight = 0;

View File

@ -294,12 +294,12 @@ static GtkActionEntry gnc_menu_actions [] =
G_CALLBACK (gnc_main_window_cmd_file_properties)
},
{
"FileCloseAction", "window-close", N_("_Close"), NULL,
"FileCloseAction", "window-close", N_("_Close"), "<primary>W",
N_("Close the currently active page"),
G_CALLBACK (gnc_main_window_cmd_file_close)
},
{
"FileQuitAction", "application-exit", N_("_Quit"), NULL,
"FileQuitAction", "application-exit", N_("_Quit"), "<primary>Q",
N_("Quit this application"),
G_CALLBACK (gnc_main_window_cmd_file_quit)
},
@ -307,17 +307,17 @@ static GtkActionEntry gnc_menu_actions [] =
/* Edit menu */
{
"EditCutAction", "edit-cut", N_("Cu_t"), NULL,
"EditCutAction", "edit-cut", N_("Cu_t"), "<primary>X",
N_("Cut the current selection and copy it to clipboard"),
G_CALLBACK (gnc_main_window_cmd_edit_cut)
},
{
"EditCopyAction", "edit-copy", N_("_Copy"), NULL,
"EditCopyAction", "edit-copy", N_("_Copy"), "<primary>C",
N_("Copy the current selection to clipboard"),
G_CALLBACK (gnc_main_window_cmd_edit_copy)
},
{
"EditPasteAction", "edit-paste", N_("_Paste"), NULL,
"EditPasteAction", "edit-paste", N_("_Paste"), "<primary>V",
N_("Paste the clipboard content at the cursor position"),
G_CALLBACK (gnc_main_window_cmd_edit_paste)
},
@ -373,7 +373,7 @@ static GtkActionEntry gnc_menu_actions [] =
/* Help menu */
{
"HelpTutorialAction", "help-browser", N_("Tutorial and Concepts _Guide"), NULL,
"HelpTutorialAction", "help-browser", N_("Tutorial and Concepts _Guide"), "<primary>H",
N_("Open the GnuCash Tutorial"),
G_CALLBACK (gnc_main_window_cmd_help_tutorial)
},
@ -2301,11 +2301,10 @@ main_window_update_page_color (GncPluginPage *page,
if (want_color && gdk_rgba_parse(&tab_color, color_string) && priv->show_color_tabs)
{
#if GTK_CHECK_VERSION(3,16,0)
GtkCssProvider *provider = gtk_css_provider_new();
GtkStyleContext *stylectxt;
gchar *col_str, *widget_css;
#endif
if (!GTK_IS_EVENT_BOX (tab_widget))
{
GtkWidget *event_box = gtk_event_box_new ();
@ -2316,7 +2315,7 @@ main_window_update_page_color (GncPluginPage *page,
g_object_unref (tab_widget);
tab_widget = event_box;
}
#if GTK_CHECK_VERSION(3,16,0)
stylectxt = gtk_widget_get_style_context (GTK_WIDGET (tab_widget));
col_str = gdk_rgba_to_string (&tab_color);
widget_css = g_strconcat ("*{\n background-color:", col_str, ";\n}\n", NULL);
@ -2327,10 +2326,6 @@ main_window_update_page_color (GncPluginPage *page,
g_object_unref (provider);
g_free (col_str);
g_free (widget_css);
#else
gtk_widget_override_background_color (tab_widget, GTK_STATE_NORMAL, &tab_color);
gtk_widget_override_background_color (tab_widget, GTK_STATE_ACTIVE, &tab_color);
#endif
}
else
{

View File

@ -659,6 +659,18 @@ gnc_tree_view_account_color_update (gpointer gsettings, gchar *key, gpointer use
priv->show_account_color = gnc_prefs_get_bool(GNC_PREFS_GROUP_GENERAL, key);
}
/** Add the account color background data function to the GncTreeViewAccount column to
* show or not the column background in the account color.
*/
void
gnc_tree_view_account_column_add_color (GncTreeViewAccount *view, GtkTreeViewColumn *col)
{
GtkCellRenderer *renderer = gnc_tree_view_column_get_renderer(col);
gtk_tree_view_column_set_cell_data_func (col, renderer, acc_color_data_func,
GTK_TREE_VIEW(view), NULL);
}
/************************************************************/
/* New View Creation */
/************************************************************/
@ -1743,6 +1755,7 @@ account_cell_property_data_func (GtkTreeViewColumn *tree_column,
GtkTreeIter *s_iter,
gpointer key)
{
GncTreeViewAccount *view;
Account *account;
gchar *string = NULL;
@ -1755,6 +1768,11 @@ account_cell_property_data_func (GtkTreeViewColumn *tree_column,
string = "";
g_object_set (G_OBJECT (cell), "text", string, "xalign", 0.0, NULL);
view = g_object_get_data(G_OBJECT(tree_column), "tree-view");
if (GNC_IS_TREE_VIEW_ACCOUNT (view))
acc_color_data_func (tree_column, cell, s_model, s_iter, view);
}
@ -1778,6 +1796,9 @@ gnc_tree_view_account_add_property_column (GncTreeViewAccount *view,
renderer = gnc_tree_view_column_get_renderer(column);
g_object_set (G_OBJECT (renderer), "xalign", 1.0, NULL);
// add a pointer to the view to make it easier to access in data_func
g_object_set_data(G_OBJECT(column), "tree-view", (gpointer)view);
gtk_tree_view_column_set_cell_data_func (column, renderer,
account_cell_property_data_func,
g_strdup(propname), g_free);

View File

@ -471,6 +471,11 @@ void gnc_tree_view_account_select_subaccounts (GncTreeViewAccount *view,
*/
void gnc_tree_view_account_expand_to_account (GncTreeViewAccount *view, Account *account);
/** Add the account color background data function to the GncTreeViewAccount column to
* show or not the column background in the account color.
*/
void gnc_tree_view_account_column_add_color (GncTreeViewAccount *view, GtkTreeViewColumn *col);
/** @} */
/** @} */

View File

@ -5799,7 +5799,6 @@ gtv_sr_editable_start_editing_cb (GtkCellRenderer *cr, GtkCellEditable *editable
{
if (entry != NULL)
{
#if GTK_CHECK_VERSION(3,16,0)
GtkStyleContext *stylectxt = gtk_widget_get_style_context (GTK_WIDGET (entry));
GtkCssProvider *provider = gtk_css_provider_new();
gchar *col_str = gdk_rgba_to_string (&color);
@ -5811,9 +5810,6 @@ gtv_sr_editable_start_editing_cb (GtkCellRenderer *cr, GtkCellEditable *editable
g_object_unref (provider);
g_free (col_str);
g_free (widget_css);
#else
gtk_widget_override_background_color (GTK_WIDGET (entry), GTK_STATE_FLAG_NORMAL, &color);
#endif
}
}
}

View File

@ -1197,14 +1197,10 @@ assistant_insert_book_options_page (hierarchy_data *data)
options = gnc_options_dialog_notebook (data->optionwin);
parent = gtk_widget_get_parent (options);
#if GTK_CHECK_VERSION(3, 14, 0)
g_object_ref (options);
gtk_container_remove (GTK_CONTAINER(parent), options);
gtk_container_add (GTK_CONTAINER(vbox), options);
g_object_unref (options);
#else
gtk_widget_reparent (options, vbox);
#endif
gtk_widget_show_all (vbox);
gtk_assistant_insert_page (GTK_ASSISTANT(data->dialog), vbox, 1);

View File

@ -232,17 +232,17 @@ static GtkActionEntry gnc_plugin_page_register_actions [] =
/* Edit menu */
{
"EditCutAction", "edit-cut", N_("Cu_t"), NULL,
"EditCutAction", "edit-cut", N_("Cu_t"), "<primary>X",
N_("Cut the current selection and copy it to clipboard"),
G_CALLBACK (gnc_plugin_page_register_cmd_cut)
},
{
"EditCopyAction", "edit-copy", N_("_Copy"), NULL,
"EditCopyAction", "edit-copy", N_("_Copy"), "<primary>C",
N_("Copy the current selection to clipboard"),
G_CALLBACK (gnc_plugin_page_register_cmd_copy)
},
{
"EditPasteAction", "edit-paste", N_("_Paste"), NULL,
"EditPasteAction", "edit-paste", N_("_Paste"), "<primary>V",
N_("Paste the clipboard content at the cursor position"),
G_CALLBACK (gnc_plugin_page_register_cmd_paste)
},

View File

@ -225,17 +225,17 @@ static GtkActionEntry gnc_plugin_page_register2_actions [] =
/* Edit menu */
{
"EditCutAction", "edit-cut", N_("Cu_t"), NULL,
"EditCutAction", "edit-cut", N_("Cu_t"), "<primary>X",
N_("Cut the current selection and copy it to clipboard"),
G_CALLBACK (gnc_plugin_page_register2_cmd_cut)
},
{
"EditCopyAction", "edit-copy", N_("_Copy"), NULL,
"EditCopyAction", "edit-copy", N_("_Copy"), "<primary>C",
N_("Copy the current selection to clipboard"),
G_CALLBACK (gnc_plugin_page_register2_cmd_copy)
},
{
"EditPasteAction", "edit-paste", N_("_Paste"), NULL,
"EditPasteAction", "edit-paste", N_("_Paste"), "<primary>V",
N_("Paste the clipboard content at the cursor position"),
G_CALLBACK (gnc_plugin_page_register2_cmd_paste)
},

View File

@ -137,30 +137,30 @@ static GtkActionEntry gnc_plugin_actions [] =
/* File -> Import menu item */
{
"Mt940ImportAction", GTK_STOCK_CONVERT, N_("Import _MT940"), NULL,
"Mt940ImportAction", "go-previous", N_("Import _MT940"), NULL,
N_("Import a MT940 file into GnuCash"),
G_CALLBACK(gnc_plugin_ab_cmd_mt940_import)
},
{
"Mt942ImportAction", GTK_STOCK_CONVERT, N_("Import MT94_2"), NULL,
"Mt942ImportAction", "go-previous", N_("Import MT94_2"), NULL,
N_("Import a MT942 file into GnuCash"),
G_CALLBACK(gnc_plugin_ab_cmd_mt942_import)
},
{
"DtausImportAction", GTK_STOCK_CONVERT, N_("Import _DTAUS"), NULL,
"DtausImportAction", "go-previous", N_("Import _DTAUS"), NULL,
N_("Import a DTAUS file into GnuCash"),
G_CALLBACK(gnc_plugin_ab_cmd_dtaus_import)
},
/* #ifdef CSV_IMPORT_FUNCTIONAL */
/* { "CsvImportAction", GTK_STOCK_CONVERT, N_("Import _CSV"), NULL, */
/* { "CsvImportAction", "go-previous", N_("Import _CSV"), NULL, */
/* N_("Import a CSV file into GnuCash"), */
/* G_CALLBACK(gnc_plugin_ab_cmd_csv_import) }, */
/* { "CsvImportSendAction", GTK_STOCK_CONVERT, N_("Import CSV and s_end..."), NULL, */
/* { "CsvImportSendAction", "go-previous", N_("Import CSV and s_end..."), NULL, */
/* N_("Import a CSV file into GnuCash and send the transfers online through Online Banking"), */
/* G_CALLBACK(gnc_plugin_ab_cmd_csv_importsend) }, */
/* #endif */
{
"DtausImportSendAction", GTK_STOCK_CONVERT, N_("Import DTAUS and _send..."), NULL,
"DtausImportSendAction", "go-previous", N_("Import DTAUS and _send..."), NULL,
N_("Import a DTAUS file into GnuCash and send the transfers online through Online Banking"),
G_CALLBACK(gnc_plugin_ab_cmd_dtaus_importsend)
},

View File

@ -1384,7 +1384,7 @@ CsvImpTransAssist::preview_style_column (uint32_t col_num, GtkTreeModel* model)
if (col_num == 0)
{
gtk_tree_view_column_set_attributes (col, renderer,
"stock-id", PREV_COL_ERR_ICON,
"icon-name", PREV_COL_ERR_ICON,
"cell-background", PREV_COL_BCOLOR, nullptr);
g_object_set (G_OBJECT(renderer), "stock-size", GTK_ICON_SIZE_MENU, nullptr);
g_object_set (G_OBJECT(col), "sizing", GTK_TREE_VIEW_COLUMN_FIXED,

View File

@ -870,7 +870,7 @@ For example
<property name="headers_visible">False</property>
<property name="enable_grid_lines">both</property>
<child internal-child="selection">
<object class="GtkTreeSelection"/>
<object class="GtkTreeSelection" id="treeview-selection1"/>
</child>
</object>
<packing>
@ -886,7 +886,7 @@ For example
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="enable_grid_lines">both</property>
<child internal-child="selection">
<object class="GtkTreeSelection"/>
<object class="GtkTreeSelection" id="treeview-selection2"/>
</child>
</object>
<packing>
@ -1021,7 +1021,7 @@ For example
<property name="enable_tree_lines">True</property>
<signal name="button-press-event" handler="csv_tximp_acct_match_view_clicked_cb" swapped="no"/>
<child internal-child="selection">
<object class="GtkTreeSelection"/>
<object class="GtkTreeSelection" id="treeview-selection3"/>
</child>
<child>
<object class="GtkTreeViewColumn" id="treeviewcolumn1">

View File

@ -641,7 +641,7 @@
<property name="can_focus">True</property>
<property name="rules_hint">True</property>
<child internal-child="selection">
<object class="GtkTreeSelection"/>
<object class="GtkTreeSelection" id="treeview-selection1"/>
</child>
</object>
</child>
@ -676,7 +676,7 @@
<property name="can_focus">True</property>
<property name="rules_hint">True</property>
<child internal-child="selection">
<object class="GtkTreeSelection"/>
<object class="GtkTreeSelection" id="treeview-selection2"/>
</child>
</object>
</child>
@ -1103,7 +1103,7 @@
<property name="rules_hint">True</property>
<property name="enable_search">False</property>
<child internal-child="selection">
<object class="GtkTreeSelection"/>
<object class="GtkTreeSelection" id="treeview-selection3"/>
</child>
</object>
</child>

View File

@ -118,6 +118,9 @@ build_acct_tree(AccountPickerDialog *picker)
_("Account ID"), "online-id");
g_object_set_data(G_OBJECT(col), DEFAULT_VISIBLE, GINT_TO_POINTER(1));
// the color background data function is part of the add_property_column
// function which will color the background based on preference setting
gtk_container_add(GTK_CONTAINER(picker->account_tree_sw),
GTK_WIDGET(picker->account_tree));

View File

@ -203,7 +203,6 @@ on_matcher_help_close_clicked (GtkButton *button, gpointer user_data)
gtk_widget_destroy(help_dialog);
}
#if GTK_CHECK_VERSION(3,16,0)
static void
gnc_override_background_color (GtkWidget *widget,
GdkRGBA *rgba)
@ -220,8 +219,6 @@ gnc_override_background_color (GtkWidget *widget,
g_free (col_str);
g_free (widget_css);
}
#endif
void
on_matcher_help_clicked (GtkButton *button, gpointer user_data)
@ -238,28 +235,13 @@ on_matcher_help_clicked (GtkButton *button, gpointer user_data)
gnc_builder_add_from_file (builder, "dialog-import.glade", "matcher_help_dialog");
box = GTK_WIDGET(gtk_builder_get_object (builder, "red"));
#if GTK_CHECK_VERSION(3,16,0)
gnc_override_background_color (box, &info->color_back_red);
#else
gtk_widget_override_background_color(box, GTK_STATE_FLAG_NORMAL,
&info->color_back_red);
#endif
box = GTK_WIDGET(gtk_builder_get_object (builder, "yellow"));
#if GTK_CHECK_VERSION(3,16,0)
gnc_override_background_color (box, &info->color_back_yellow);
#else
gtk_widget_override_background_color(box, GTK_STATE_FLAG_NORMAL,
&info->color_back_yellow);
#endif
box = GTK_WIDGET(gtk_builder_get_object (builder, "green"));
#if GTK_CHECK_VERSION(3,16,0)
gnc_override_background_color (box, &info->color_back_green);
#else
gtk_widget_override_background_color(box, GTK_STATE_FLAG_NORMAL,
&info->color_back_green);
#endif
help_dialog = GTK_WIDGET(gtk_builder_get_object (builder, "matcher_help_dialog"));
gtk_window_set_transient_for(GTK_WINDOW(help_dialog),

View File

@ -54,7 +54,7 @@ static GtkActionEntry gnc_plugin_actions [] =
{
/* Menu Items */
{ "ImportMenuAction", NULL, N_("_Import"), NULL, NULL, NULL },
{ "bi_importAction", NULL, N_("Import Bills & Invoices..."), NULL, N_("Import bills and invoices from a CSV text file"), G_CALLBACK(gnc_plugin_bi_import_cmd_test) },
{ "bi_importAction", "go-previous", N_("Import Bills & Invoices..."), NULL, N_("Import bills and invoices from a CSV text file"), G_CALLBACK(gnc_plugin_bi_import_cmd_test) },
};
static guint gnc_plugin_n_actions = G_N_ELEMENTS(gnc_plugin_actions);

View File

@ -54,7 +54,7 @@ static GtkActionEntry gnc_plugin_actions [] =
{
/* Menu Items */
{ "ImportMenuAction", NULL, N_("I_mport"), NULL, NULL, NULL },
{ "customer_importAction", NULL, N_("Import Customers and Vendors"), NULL, N_("customer_import tooltip"), G_CALLBACK(gnc_plugin_customer_import_cmd_test) },
{ "customer_importAction", "go-previous", N_("Import Customers and Vendors"), NULL, N_("customer_import tooltip"), G_CALLBACK(gnc_plugin_customer_import_cmd_test) },
};
static guint gnc_plugin_n_actions = G_N_ELEMENTS(gnc_plugin_actions);

View File

@ -585,11 +585,7 @@ gnc_header_init (GncHeader *header)
header->cursor_name = NULL;
header->in_resize = FALSE;
header->resize_col = -1;
#if GTK_CHECK_VERSION(3,16,0)
header->resize_cursor = gdk_cursor_new_for_display (gdk_display_get_default (), GDK_SB_H_DOUBLE_ARROW);
#else
header->resize_cursor = gdk_cursor_new (GDK_SB_H_DOUBLE_ARROW);
#endif
header->normal_cursor = NULL;
header->height = 20;
header->width = 400;

View File

@ -527,11 +527,7 @@ gnc_item_edit_new (GnucashSheet *sheet)
/* Create the popup button
It will only be displayed when the cell being edited provides
a popup item (like a calendar or account list) */
#if GTK_CHECK_VERSION(3,14,0)
item_edit->popup_toggle.arrow = gtk_image_new_from_icon_name ("go-down", GTK_ICON_SIZE_BUTTON);
#else
item_edit->popup_toggle.arrow = GTK_WIDGET(gtk_arrow_new(GTK_ARROW_DOWN, GTK_SHADOW_IN));
#endif
item_edit->popup_toggle.tbutton = gtk_toggle_button_new();
gtk_toggle_button_set_mode (
@ -645,11 +641,7 @@ gnc_item_edit_show_popup (GncItemEdit *item_edit)
unblock_toggle_signals (item_edit);
}
#if GTK_CHECK_VERSION(3,14,0)
item_edit->popup_toggle.arrow = gtk_image_new_from_icon_name ("go-up", GTK_ICON_SIZE_BUTTON);
#else
gtk_arrow_set (GTK_ARROW(item_edit->popup_toggle.arrow), GTK_ARROW_UP, GTK_SHADOW_OUT);
#endif
if (item_edit->popup_set_focus)
item_edit->popup_set_focus (item_edit->popup_item,
@ -691,11 +683,8 @@ gnc_item_edit_hide_popup (GncItemEdit *item_edit)
return;
gtk_container_remove (GTK_CONTAINER(item_edit->sheet), item_edit->popup_item);
#if GTK_CHECK_VERSION(3,14,0)
item_edit->popup_toggle.arrow = gtk_image_new_from_icon_name ("go-down", GTK_ICON_SIZE_BUTTON);
#else
gtk_arrow_set (GTK_ARROW(item_edit->popup_toggle.arrow), GTK_ARROW_DOWN, GTK_SHADOW_IN);
#endif
gtk_toggle_button_set_active
(GTK_TOGGLE_BUTTON(item_edit->popup_toggle.tbutton), FALSE);

View File

@ -597,10 +597,6 @@ gnucash_sheet_update_adjustments (GnucashSheet *sheet)
gtk_adjustment_get_page_size (vadj) / sheet->num_visible_blocks);
else
gtk_adjustment_set_step_increment (vadj, 0);
#if !GTK_CHECK_VERSION(3,18,0)
gtk_adjustment_changed(vadj);
#endif
}

View File

@ -1138,17 +1138,17 @@ gnc_plugin_page_report_constr_init(GncPluginPageReport *plugin_page, gint report
G_CALLBACK(gnc_plugin_page_report_exportpdf_cb)
},
{
"EditCutAction", "edit-cut", N_("Cu_t"), NULL,
"EditCutAction", "edit-cut", N_("Cu_t"), "<primary>X",
N_("Cut the current selection and copy it to clipboard"),
NULL
},
{
"EditCopyAction", "edit-copy", N_("_Copy"), NULL,
"EditCopyAction", "edit-copy", N_("_Copy"), "<primary>C",
N_("Copy the current selection to clipboard"),
G_CALLBACK(gnc_plugin_page_report_copy_cb)
},
{
"EditPasteAction", "edit-paste", N_("_Paste"), NULL,
"EditPasteAction", "edit-paste", N_("_Paste"), "<primary>V",
N_("Paste the clipboard content at the cursor position"),
NULL
},