[gnumeric] Some changes to the paste-special dialog in prep for feature addition
- From: Andreas J. Guelzow <guelzow src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [gnumeric] Some changes to the paste-special dialog in prep for feature addition
- Date: Thu, 17 Dec 2009 17:50:14 +0000 (UTC)
commit b45529b83a19d8289452be6a77ca8971aec4ae9e
Author: Andreas J. Guelzow <aguelzow pyrshep ca>
Date: Thu Dec 17 10:49:11 2009 -0700
Some changes to the paste-special dialog in prep for feature addition
2009-12-17 Andreas J. Guelzow <aguelzow pyrshep ca>
* POTFILES.skip: added src/dialogs/paste-special.glade
2009-12-17 Andreas J. Guelzow <aguelzow pyrshep ca>
* POTFILES.in: added src/dialogs/paste-special.glade
2009-12-17 Andreas J. Guelzow <aguelzow pyrshep ca>
* Makefile.am: add paste-special.glade
* dialog-paste-special.c: rewrite completely
* help.h: add GNUMERIC_HELP_LINK_PASTE_SPECIAL
* paste-special.glade: new
po-functions/ChangeLog | 4 +
po-functions/POTFILES.skip | 1 +
po/ChangeLog | 4 +
po/POTFILES.in | 1 +
src/dialogs/ChangeLog | 7 +
src/dialogs/Makefile.am | 1 +
src/dialogs/dialog-paste-special.c | 354 ++++++++++++++++---------------
src/dialogs/help.h | 3 +
src/dialogs/paste-special.glade | 405 ++++++++++++++++++++++++++++++++++++
9 files changed, 611 insertions(+), 169 deletions(-)
---
diff --git a/po-functions/ChangeLog b/po-functions/ChangeLog
index 58444b0..3064dff 100644
--- a/po-functions/ChangeLog
+++ b/po-functions/ChangeLog
@@ -1,3 +1,7 @@
+2009-12-17 Andreas J. Guelzow <aguelzow pyrshep ca>
+
+ * POTFILES.skip: added src/dialogs/paste-special.glade
+
2009-12-15 Morten Welinder <terra gnome org>
* Release 1.9.17
diff --git a/po-functions/POTFILES.skip b/po-functions/POTFILES.skip
index 6a28373..dc2bfd2 100644
--- a/po-functions/POTFILES.skip
+++ b/po-functions/POTFILES.skip
@@ -112,6 +112,7 @@ src/dialogs/merge.glade
src/dialogs/moving-averages.glade
src/dialogs/normality-tests.glade
src/dialogs/paste-names.glade
+src/dialogs/paste-special.glade
src/dialogs/plugin-manager.glade
src/dialogs/preferences.glade
src/dialogs/print.glade
diff --git a/po/ChangeLog b/po/ChangeLog
index 2558bdb..0bc5c23 100644
--- a/po/ChangeLog
+++ b/po/ChangeLog
@@ -1,3 +1,7 @@
+2009-12-17 Andreas J. Guelzow <aguelzow pyrshep ca>
+
+ * POTFILES.in: added src/dialogs/paste-special.glade
+
2009-12-15 Morten Welinder <terra gnome org>
* Release 1.9.17
diff --git a/po/POTFILES.in b/po/POTFILES.in
index 9c7da09..f5c8b57 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -236,6 +236,7 @@ src/dialogs/merge.glade
src/dialogs/moving-averages.glade
src/dialogs/normality-tests.glade
src/dialogs/paste-names.glade
+src/dialogs/paste-special.glade
src/dialogs/plugin-manager.glade
src/dialogs/preferences.glade
src/dialogs/print.glade
diff --git a/src/dialogs/ChangeLog b/src/dialogs/ChangeLog
index d6ad528..07c5dce 100644
--- a/src/dialogs/ChangeLog
+++ b/src/dialogs/ChangeLog
@@ -1,3 +1,10 @@
+2009-12-17 Andreas J. Guelzow <aguelzow pyrshep ca>
+
+ * Makefile.am: add paste-special.glade
+ * dialog-paste-special.c: rewrite completely
+ * help.h: add GNUMERIC_HELP_LINK_PASTE_SPECIAL
+ * paste-special.glade: new
+
2009-12-15 Morten Welinder <terra gnome org>
* Release 1.9.17
diff --git a/src/dialogs/Makefile.am b/src/dialogs/Makefile.am
index 43c44b0..7f24ecc 100644
--- a/src/dialogs/Makefile.am
+++ b/src/dialogs/Makefile.am
@@ -140,6 +140,7 @@ glade_DATA = \
sign-test.glade \
sign-test-two.glade \
paste-names.glade \
+ paste-special.glade \
plugin-manager.glade \
preferences.glade \
rank.glade \
diff --git a/src/dialogs/dialog-paste-special.c b/src/dialogs/dialog-paste-special.c
index 67503a5..bc5aade 100644
--- a/src/dialogs/dialog-paste-special.c
+++ b/src/dialogs/dialog-paste-special.c
@@ -24,6 +24,7 @@
#include <glib/gi18n-lib.h>
#include <gnumeric.h>
#include "dialogs.h"
+#include "help.h"
#include <wbc-gtk.h>
#include <gui-util.h>
@@ -33,223 +34,238 @@
#include <gtk/gtk.h>
-typedef struct {
- WBCGtk *wbcg;
- GtkDialog *dialog;
- GtkWidget *op_frame;
- struct {
- GtkWidget *btn;
- gboolean val;
- } transpose, skip_blanks;
- GSList *type_group, *op_group;
- int type, op;
-} PasteSpecialState;
-
-#define BUTTON_PASTE_LINK 0
-
-#define GNM_PASTE_SPECIAL_KEY "gnm-paste-special"
-
+static char const * const paste_type_group[] = {
+ "paste-type-all",
+ "paste-type-content",
+ "paste-type-as-value",
+ "paste-type-formats",
+ "paste-type-comments",
+ NULL
+};
static struct {
- char const *name;
- gboolean allows_operations;
-} const paste_types [] = {
- /* xgettext : The accelerators for All, Content, As Value, Formats,
- * Comments, None, Add, Subtract, Multiply, Divide, Transpose,
- * Skip Blanks, Paste Link, Cancel, Ok are all on the same page
- * try to keep them from conflicting */
- { N_("_All"), TRUE },
- { N_("Cont_ent"), TRUE },
- { N_("As _Value"), TRUE },
- { N_("_Formats"), FALSE },
- { N_("Co_mments"), FALSE },
- { NULL, FALSE }
+ gboolean permit_cell_ops;
+ int paste_enum;
+} paste_type_group_props[] = {
+ {TRUE, PASTE_ALL_TYPES},
+ {TRUE, PASTE_CONTENTS},
+ {TRUE, PASTE_AS_VALUES},
+ {FALSE, PASTE_FORMATS},
+ {FALSE, PASTE_COMMENTS},
};
-
-static const char * const paste_ops[] = {
- N_("_None"),
- N_("A_dd"),
- N_("_Subtract"),
- N_("M_ultiply"),
- N_("D_ivide"),
+static char const * const cell_operation_group[] = {
+ "cell-operation-none",
+ "cell-operation-add",
+ "cell-operation-subtract",
+ "cell-operation-multiply",
+ "cell-operation-divide",
NULL
};
+static struct {
+ int paste_enum;
+} cell_operation_props[] = {
+ {0},
+ {PASTE_OPER_ADD},
+ {PASTE_OPER_SUB},
+ {PASTE_OPER_MULT},
+ {PASTE_OPER_DIV},
+};
+static char const * const region_operation_group[] = {
+ "region-operation-none",
+ "region-operation-transpose",
+ NULL
+};
+static struct {
+ int paste_enum;
+} region_operation_props[] = {
+ {0},
+ {PASTE_TRANSPOSE},
+};
+
+typedef struct {
+ GladeXML *gui;
+ GtkWidget *dialog;
+ GtkWidget *ok_button;
+ GtkWidget *cancel_button;
+ GtkWidget *link_button;
+ GtkWidget *help_button;
+ char const *help_link;
+ Sheet *sheet;
+ SheetView *sv;
+ Workbook *wb;
+ WBCGtk *wbcg;
+} PasteSpecialState;
+
+#define GNM_PASTE_SPECIAL_KEY "gnm-paste-special"
/* The "Paste Link" button should be grayed-out, unless type "All" is
- selected, operation "None" is selected, and "Transpose" and "Skip
- Blanks" are not selected. */
+ selected, cell operation "None" is selected,
+ region operation "None" is selected, and "Skip
+ Blanks" is not selected. */
static void
paste_link_set_sensitive (PasteSpecialState *state)
{
gboolean sensitive =
- (gtk_radio_group_get_selected (state->type_group) == 0) &&
- (gtk_radio_group_get_selected (state->op_group) == 0) &&
- !gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (state->transpose.btn)) &&
- !gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (state->skip_blanks.btn));
+ (!gtk_toggle_button_get_active
+ (GTK_TOGGLE_BUTTON (glade_xml_get_widget (state->gui,"skip-blanks")))
+ && 0 == gnumeric_glade_group_value (state->gui, paste_type_group)
+ && 0 == gnumeric_glade_group_value (state->gui, cell_operation_group)
+ && 0 == gnumeric_glade_group_value (state->gui, region_operation_group));
+ gtk_widget_set_sensitive (state->link_button, sensitive);
+}
- gtk_dialog_set_response_sensitive (state->dialog,
- BUTTON_PASTE_LINK, sensitive);
+static void
+cb_destroy (PasteSpecialState *state)
+{
+ if (state->gui != NULL)
+ g_object_unref (G_OBJECT (state->gui));
+ wbcg_edit_finish (state->wbcg, WBC_EDIT_REJECT, NULL);
+ g_free (state);
}
static void
-cb_type_toggle (G_GNUC_UNUSED GtkWidget *ignored,
- PasteSpecialState *state)
+dialog_paste_special_type_toggled_cb (GtkWidget *button, PasteSpecialState *state)
{
- state->type = gtk_radio_group_get_selected (state->type_group);
- gtk_widget_set_sensitive (state->op_frame,
- paste_types [state->type].allows_operations);
- paste_link_set_sensitive (state);
+ if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (button))) {
+ int i = gnumeric_glade_group_value (state->gui, paste_type_group);
+ char const * const *group;
+ gboolean permit_cell_ops = paste_type_group_props[i].permit_cell_ops;
+
+ for (group = cell_operation_group; *group != NULL; group++)
+ gtk_widget_set_sensitive (glade_xml_get_widget (state->gui,*group),
+ permit_cell_ops);
+ paste_link_set_sensitive (state);
+ }
}
static void
-cb_op_toggle (G_GNUC_UNUSED GtkWidget *ignored,
- PasteSpecialState *state)
+dialog_paste_special_cell_op_toggled_cb (GtkWidget *button, PasteSpecialState *state)
{
- state->op = gtk_radio_group_get_selected (state->op_group);
- paste_link_set_sensitive (state);
+ if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (button))) {
+ paste_link_set_sensitive (state);
+ }
}
static void
-cb_transpose (GtkWidget *widget, PasteSpecialState *state)
+dialog_paste_special_region_op_toggled_cb (GtkWidget *button, PasteSpecialState *state)
{
- state->transpose.val = GTK_TOGGLE_BUTTON (widget)->active;
- paste_link_set_sensitive (state);
+ if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (button))) {
+ paste_link_set_sensitive (state);
+ }
}
static void
-cb_skip_blanks (GtkWidget *widget, PasteSpecialState *state)
+dialog_paste_special_skip_blanks_toggled_cb (GtkWidget *button, PasteSpecialState *state)
{
- state->skip_blanks.val = GTK_TOGGLE_BUTTON (widget)->active;
- paste_link_set_sensitive (state);
+ paste_link_set_sensitive (state);
}
static void
-cb_paste_special_response (GtkWidget *dialog,
- gint response_id, PasteSpecialState *state)
+cb_tool_cancel_clicked (G_GNUC_UNUSED GtkWidget *button,
+ PasteSpecialState *state)
{
- int result = 0;
- if (response_id == GTK_RESPONSE_HELP)
- return;
- if (response_id == GTK_RESPONSE_OK) {
- switch (state->type) {
- case 0: result = PASTE_ALL_TYPES; break;
- case 1: result = PASTE_CONTENTS; break;
- case 2: result = PASTE_AS_VALUES; break;
- case 3: result = PASTE_FORMATS; break;
- case 4: result = PASTE_COMMENTS; break;
- }
-
- if (paste_types [state->type].allows_operations) {
- switch (state->op) {
- case 1 : result |= PASTE_OPER_ADD; break;
- case 2 : result |= PASTE_OPER_SUB; break;
- case 3 : result |= PASTE_OPER_MULT; break;
- case 4 : result |= PASTE_OPER_DIV; break;
- }
- }
- if (state->transpose.val)
- result |= PASTE_TRANSPOSE;
- if (state->skip_blanks.val)
- result |= PASTE_SKIP_BLANKS;
- } else if (response_id == BUTTON_PASTE_LINK)
- result = PASTE_LINK;
-
- if (result != 0) {
- WorkbookControl *wbc = WORKBOOK_CONTROL (state->wbcg);
- SheetView *sv = wb_control_cur_sheet_view (wbc);
- cmd_paste_to_selection (wbc, sv, result);
+ gtk_widget_destroy (state->dialog);
+ return;
+}
+
+static void
+cb_tool_ok_clicked (G_GNUC_UNUSED GtkWidget *button,
+ PasteSpecialState *state)
+{
+ int result;
+ int paste_type = gnumeric_glade_group_value (state->gui, paste_type_group);
+ int region_op_type = gnumeric_glade_group_value (state->gui, region_operation_group);
+
+ result = paste_type_group_props[paste_type].paste_enum
+ | region_operation_props[region_op_type].paste_enum;
+
+ if (paste_type_group_props[paste_type].permit_cell_ops) {
+ int cell_op_type = gnumeric_glade_group_value (state->gui, cell_operation_group);
+ result |= cell_operation_props[cell_op_type].paste_enum;
}
- gtk_object_destroy (GTK_OBJECT (dialog));
+
+ if (gtk_toggle_button_get_active
+ (GTK_TOGGLE_BUTTON (glade_xml_get_widget (state->gui,"skip-blanks"))))
+ result |= PASTE_SKIP_BLANKS;
+
+ cmd_paste_to_selection (WORKBOOK_CONTROL (state->wbcg), state->sv, result);
+ gtk_widget_destroy (state->dialog);
+ return;
+}
+
+static void
+cb_tool_paste_link_clicked (G_GNUC_UNUSED GtkWidget *button,
+ PasteSpecialState *state)
+{
+ cmd_paste_to_selection (WORKBOOK_CONTROL (state->wbcg), state->sv, PASTE_LINK);
+ gtk_widget_destroy (state->dialog);
+ return;
}
void
dialog_paste_special (WBCGtk *wbcg)
{
PasteSpecialState *state;
- GtkWidget *tmp, *hbox, *vbox, *f1, *f1v, *op_box, *first_button = NULL;
- int i;
+ GladeXML *gui;
+ char const * const *group;
if (gnumeric_dialog_raise_if_exists (wbcg, GNM_PASTE_SPECIAL_KEY))
return;
+ gui = gnm_glade_xml_new (GO_CMD_CONTEXT (wbcg),
+ "paste-special.glade", NULL, NULL);
+ if (gui == NULL)
+ return;
- tmp = gtk_dialog_new_with_buttons (_("Paste Special"),
- wbcg_toplevel (wbcg),
- GTK_DIALOG_DESTROY_WITH_PARENT,
- _("Paste _Link"), BUTTON_PASTE_LINK,
- GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
- GTK_STOCK_OK, GTK_RESPONSE_OK,
- NULL);
state = g_new0 (PasteSpecialState, 1);
state->wbcg = wbcg;
- state->dialog = GTK_DIALOG (tmp);
- gtk_dialog_set_default_response (state->dialog, GTK_RESPONSE_OK);
-
- f1 = gtk_frame_new (_("Paste type"));
- f1v = gtk_vbox_new (TRUE, 0);
- gtk_container_add (GTK_CONTAINER (f1), f1v);
-
- state->op_frame = gtk_frame_new (_("Operation"));
- op_box = gtk_vbox_new (TRUE, 0);
- gtk_container_add (GTK_CONTAINER (state->op_frame), op_box);
-
- state->type = 0;
- state->type_group = NULL;
- for (i = 0; paste_types[i].name; i++){
- GtkWidget *r = gtk_radio_button_new_with_mnemonic (state->type_group,
- _(paste_types[i].name));
- state->type_group = GTK_RADIO_BUTTON (r)->group;
- g_signal_connect (G_OBJECT (r),
- "toggled",
- G_CALLBACK (cb_type_toggle), state);
- gtk_box_pack_start (GTK_BOX (f1v), r, TRUE, TRUE, 0);
- if (i == 0)
- first_button = r;
- }
-
- state->op = 0;
- state->op_group = NULL;
- for (i = 0; paste_ops[i]; i++){
- GtkWidget *r = gtk_radio_button_new_with_mnemonic (state->op_group,
- _(paste_ops[i]));
- state->op_group = GTK_RADIO_BUTTON (r)->group;
- g_signal_connect (G_OBJECT (r),
- "toggled",
- G_CALLBACK (cb_op_toggle), state);
- gtk_box_pack_start (GTK_BOX (op_box), r, TRUE, TRUE, 0);
- }
+ state->gui = gui;
+ state->dialog = glade_xml_get_widget (state->gui, "paste-special");
+ state->sheet = wbcg_cur_sheet (wbcg);
+ state->sv = wb_control_cur_sheet_view (WORKBOOK_CONTROL (wbcg));
- hbox = gtk_hbox_new (TRUE, 0);
+ g_return_if_fail (state->dialog != NULL);
- state->transpose.btn = gtk_check_button_new_with_mnemonic (_("_Transpose"));
- g_signal_connect (G_OBJECT (state->transpose.btn),
- "toggled",
- G_CALLBACK (cb_transpose), state);
- gtk_box_pack_start (GTK_BOX (hbox), state->transpose.btn, TRUE, TRUE, 0);
+ state->link_button = glade_xml_get_widget (state->gui,"paste-link_button");
+ g_signal_connect (G_OBJECT (state->link_button),
+ "clicked",
+ G_CALLBACK (cb_tool_paste_link_clicked), state);
+ state->help_button = glade_xml_get_widget (state->gui, "help_button");
+ gnumeric_init_help_button (state->help_button, GNUMERIC_HELP_LINK_PASTE_SPECIAL);
+ state->cancel_button = glade_xml_get_widget (state->gui, "cancel_button");
+ g_signal_connect (G_OBJECT (state->cancel_button),
+ "clicked",
+ G_CALLBACK (cb_tool_cancel_clicked), state);
+ state->ok_button = glade_xml_get_widget (state->gui, "ok_button");
+ g_signal_connect (G_OBJECT (state->ok_button),
+ "clicked",
+ G_CALLBACK (cb_tool_ok_clicked), state);
+
- state->skip_blanks.btn = gtk_check_button_new_with_mnemonic (_("Skip _Blanks"));
- g_signal_connect (G_OBJECT (state->skip_blanks.btn),
- "toggled",
- G_CALLBACK (cb_skip_blanks), state);
- gtk_box_pack_start (GTK_BOX (hbox), state->skip_blanks.btn, TRUE, TRUE, 0);
+ for (group = paste_type_group; *group != NULL; group++)
+ g_signal_connect_after (glade_xml_get_widget (state->gui,*group),
+ "toggled",
+ G_CALLBACK (dialog_paste_special_type_toggled_cb), state);
+ for (group = cell_operation_group; *group != NULL; group++)
+ g_signal_connect_after (glade_xml_get_widget (state->gui,*group),
+ "toggled",
+ G_CALLBACK (dialog_paste_special_cell_op_toggled_cb), state);
+ for (group = region_operation_group; *group != NULL; group++)
+ g_signal_connect_after (glade_xml_get_widget (state->gui,*group),
+ "toggled",
+ G_CALLBACK (dialog_paste_special_region_op_toggled_cb), state);
+ g_signal_connect_after (glade_xml_get_widget (state->gui, "skip-blanks"),
+ "toggled",
+ G_CALLBACK (dialog_paste_special_skip_blanks_toggled_cb), state);
+ paste_link_set_sensitive (state);
- vbox = gtk_vbox_new (FALSE, 0);
- gtk_box_pack_start (GTK_BOX (vbox), f1, TRUE, TRUE, 0);
- gtk_box_pack_start (GTK_BOX (vbox), state->op_frame, TRUE, TRUE, 0);
- gtk_box_pack_start (GTK_BOX (vbox), hbox, TRUE, TRUE, 0);
+ gnm_dialog_setup_destroy_handlers (GTK_DIALOG (state->dialog), wbcg,
+ GNM_DIALOG_DESTROY_SHEET_REMOVED);
- gtk_box_pack_start (GTK_BOX (state->dialog->vbox), vbox, TRUE, TRUE, 0);
- gtk_widget_show_all (vbox);
- gtk_widget_grab_focus (first_button);
+ gnumeric_keyed_dialog (wbcg, GTK_WINDOW (state->dialog),
+ GNM_PASTE_SPECIAL_KEY);
- gnm_dialog_setup_destroy_handlers (GTK_DIALOG (state->dialog),
- state->wbcg,
- GNM_DIALOG_DESTROY_CURRENT_SHEET_REMOVED);
-
- /* a candidate for merging into attach guru */
- g_signal_connect (G_OBJECT (state->dialog), "response",
- G_CALLBACK (cb_paste_special_response), state);
+ wbc_gtk_attach_guru (state->wbcg, state->dialog);
g_object_set_data_full (G_OBJECT (state->dialog),
- "state", state, (GDestroyNotify) g_free);
- go_gtk_nonmodal_dialog (wbcg_toplevel (state->wbcg),
- GTK_WINDOW (state->dialog));
- wbc_gtk_attach_guru (state->wbcg, GTK_WIDGET (state->dialog));
- gtk_widget_show_all (GTK_WIDGET (state->dialog));
+ "state", state,
+ (GDestroyNotify) cb_destroy);
+
+ gtk_widget_show (state->dialog);
}
diff --git a/src/dialogs/help.h b/src/dialogs/help.h
index f7005c8..949f929 100644
--- a/src/dialogs/help.h
+++ b/src/dialogs/help.h
@@ -189,4 +189,7 @@
/* dialog-doc-metadata.c */
#define GNUMERIC_HELP_LINK_METADATA ""
+/* dialog-paste-special.c */
+#define GNUMERIC_HELP_LINK_PASTE_SPECIAL ""
+
#endif /* GNUMERIC_HELP_H */
diff --git a/src/dialogs/paste-special.glade b/src/dialogs/paste-special.glade
new file mode 100644
index 0000000..ba1d2cf
--- /dev/null
+++ b/src/dialogs/paste-special.glade
@@ -0,0 +1,405 @@
+<?xml version="1.0"?>
+<glade-interface>
+ <!-- interface-requires gtk+ 2.6 -->
+ <!-- interface-naming-policy toplevel-contextual -->
+ <widget class="GtkDialog" id="paste-special">
+ <property name="border_width">5</property>
+ <property name="title" translatable="yes">Paste Special</property>
+ <property name="type_hint">dialog</property>
+ <property name="has_separator">False</property>
+ <child internal-child="vbox">
+ <widget class="GtkVBox" id="dialog-vbox1">
+ <property name="visible">True</property>
+ <property name="spacing">2</property>
+ <child>
+ <widget class="GtkTable" id="table1">
+ <property name="visible">True</property>
+ <property name="n_rows">2</property>
+ <property name="n_columns">3</property>
+ <property name="column_spacing">5</property>
+ <property name="row_spacing">5</property>
+ <child>
+ <widget class="GtkFrame" id="frame1">
+ <property name="visible">True</property>
+ <property name="label_xalign">0</property>
+ <property name="shadow_type">out</property>
+ <child>
+ <widget class="GtkAlignment" id="alignment1">
+ <property name="visible">True</property>
+ <property name="left_padding">12</property>
+ <child>
+ <widget class="GtkVBox" id="vbox1">
+ <property name="visible">True</property>
+ <child>
+ <widget class="GtkRadioButton" id="paste-type-all">
+ <property name="label" translatable="yes">_All</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_underline">True</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ </widget>
+ <packing>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkRadioButton" id="paste-type-content">
+ <property name="label" translatable="yes">Cont_ent</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_underline">True</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ <property name="group">paste-type-all</property>
+ </widget>
+ <packing>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkRadioButton" id="paste-type-as-value">
+ <property name="label" translatable="yes">As _Value</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_underline">True</property>
+ <property name="draw_indicator">True</property>
+ <property name="group">paste-type-all</property>
+ </widget>
+ <packing>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkRadioButton" id="paste-type-formats">
+ <property name="label" translatable="yes">_Formats</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_underline">True</property>
+ <property name="draw_indicator">True</property>
+ <property name="group">paste-type-all</property>
+ </widget>
+ <packing>
+ <property name="position">3</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkRadioButton" id="paste-type-comments">
+ <property name="label" translatable="yes">Co_mments</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_underline">True</property>
+ <property name="draw_indicator">True</property>
+ <property name="group">paste-type-all</property>
+ </widget>
+ <packing>
+ <property name="position">4</property>
+ </packing>
+ </child>
+ </widget>
+ </child>
+ </widget>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="Paste-Type">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes"><b>Paste type</b></property>
+ <property name="use_markup">True</property>
+ </widget>
+ <packing>
+ <property name="type">label_item</property>
+ </packing>
+ </child>
+ </widget>
+ </child>
+ <child>
+ <widget class="GtkFrame" id="frame2">
+ <property name="visible">True</property>
+ <property name="label_xalign">0</property>
+ <property name="shadow_type">out</property>
+ <child>
+ <widget class="GtkAlignment" id="alignment2">
+ <property name="visible">True</property>
+ <property name="left_padding">12</property>
+ <child>
+ <widget class="GtkVBox" id="vbox2">
+ <property name="visible">True</property>
+ <child>
+ <widget class="GtkRadioButton" id="region-operation-none">
+ <property name="label" translatable="yes">None</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_underline">True</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ </widget>
+ <packing>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkRadioButton" id="region-operation-transpose">
+ <property name="label" translatable="yes">_Transpose</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_underline">True</property>
+ <property name="draw_indicator">True</property>
+ <property name="group">region-operation-none</property>
+ </widget>
+ <packing>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkRadioButton" id="region-operation-flip-h">
+ <property name="label" translatable="yes">Flip Hori_zontally</property>
+ <property name="visible">True</property>
+ <property name="sensitive">False</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_underline">True</property>
+ <property name="draw_indicator">True</property>
+ <property name="group">region-operation-none</property>
+ </widget>
+ <packing>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkRadioButton" id="region-operation-transpose2">
+ <property name="label" translatable="yes">Fli_p Vertically</property>
+ <property name="visible">True</property>
+ <property name="sensitive">False</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_underline">True</property>
+ <property name="draw_indicator">True</property>
+ <property name="group">region-operation-none</property>
+ </widget>
+ <packing>
+ <property name="position">3</property>
+ </packing>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ </widget>
+ </child>
+ </widget>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="label2">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes"><b>Region operation</b></property>
+ <property name="use_markup">True</property>
+ </widget>
+ <packing>
+ <property name="type">label_item</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="right_attach">3</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkCheckButton" id="skip-blanks">
+ <property name="label" translatable="yes">Skip _Blanks</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_underline">True</property>
+ <property name="draw_indicator">True</property>
+ </widget>
+ <packing>
+ <property name="right_attach">3</property>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkFrame" id="frame3">
+ <property name="visible">True</property>
+ <property name="label_xalign">0</property>
+ <property name="shadow_type">out</property>
+ <child>
+ <widget class="GtkAlignment" id="alignment3">
+ <property name="visible">True</property>
+ <property name="left_padding">12</property>
+ <child>
+ <widget class="GtkVBox" id="vbox3">
+ <property name="visible">True</property>
+ <child>
+ <widget class="GtkRadioButton" id="cell-operation-none">
+ <property name="label" translatable="yes">_None</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_underline">True</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ </widget>
+ <packing>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkRadioButton" id="cell-operation-add">
+ <property name="label" translatable="yes">A_dd</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_underline">True</property>
+ <property name="draw_indicator">True</property>
+ <property name="group">cell-operation-none</property>
+ </widget>
+ <packing>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkRadioButton" id="cell-operation-subtract">
+ <property name="label" translatable="yes">_Subtract</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_underline">True</property>
+ <property name="draw_indicator">True</property>
+ <property name="group">cell-operation-none</property>
+ </widget>
+ <packing>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkRadioButton" id="cell-operation-multiply">
+ <property name="label" translatable="yes">M_ultiply</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_underline">True</property>
+ <property name="draw_indicator">True</property>
+ <property name="group">cell-operation-none</property>
+ </widget>
+ <packing>
+ <property name="position">3</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkRadioButton" id="cell-operation-divide">
+ <property name="label" translatable="yes">D_ivide</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_underline">True</property>
+ <property name="draw_indicator">True</property>
+ <property name="group">cell-operation-none</property>
+ </widget>
+ <packing>
+ <property name="position">4</property>
+ </packing>
+ </child>
+ </widget>
+ </child>
+ </widget>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="label3">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes"><b>Cell operation</b></property>
+ <property name="use_markup">True</property>
+ </widget>
+ <packing>
+ <property name="type">label_item</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child internal-child="action_area">
+ <widget class="GtkHButtonBox" id="dialog-action_area1">
+ <property name="visible">True</property>
+ <property name="layout_style">end</property>
+ <child>
+ <widget class="GtkButton" id="help_button">
+ <property name="label">gtk-help</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_stock">True</property>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkButton" id="paste-link_button">
+ <property name="label" translatable="yes">Paste _Link</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_underline">True</property>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkButton" id="cancel_button">
+ <property name="label">gtk-cancel</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_stock">True</property>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkButton" id="ok_button">
+ <property name="label">gtk-ok</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_stock">True</property>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">3</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="pack_type">end</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ </widget>
+ </child>
+ </widget>
+</glade-interface>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]