[file-roller] define the add and extract dialogs options with a .ui file
- From: Paolo Bacchilega <paobac src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [file-roller] define the add and extract dialogs options with a .ui file
- Date: Thu, 9 Aug 2012 06:56:53 +0000 (UTC)
commit 39926e592b23757de3dfefe1abd3832b3daaee33
Author: Paolo Bacchilega <paobac src gnome org>
Date: Tue Aug 7 10:43:10 2012 +0200
define the add and extract dialogs options with a .ui file
po/POTFILES.in | 2 +
src/dlg-add-folder.c | 196 ++++++++++------------------------
src/dlg-extract.c | 209 ++++++++----------------------------
src/file-roller.gresource.xml | 2 +
src/ui/Makefile.am | 2 +
src/ui/add-dialog-options.ui | 222 ++++++++++++++++++++++++++++++++++++++
src/ui/extract-dialog-options.ui | 215 ++++++++++++++++++++++++++++++++++++
7 files changed, 542 insertions(+), 306 deletions(-)
---
diff --git a/po/POTFILES.in b/po/POTFILES.in
index 1d4395a..46f4764 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -123,12 +123,14 @@ src/rar-utils.c
src/rar-utils.h
src/test-server.c
src/typedefs.h
+[type: gettext/glade]src/ui/add-dialog-options.ui
[type: gettext/glade]src/ui/add-options.ui
[type: gettext/glade]src/ui/app-menu.ui
[type: gettext/glade]src/ui/batch-add-files.ui
[type: gettext/glade]src/ui/batch-password.ui
[type: gettext/glade]src/ui/delete.ui
[type: gettext/glade]src/ui/error-dialog.ui
+[type: gettext/glade]src/ui/extract-dialog-options.ui
src/ui.h
[type: gettext/glade]src/ui/menus-toolbars.ui
[type: gettext/glade]src/ui/message-dialog.ui
diff --git a/src/dlg-add-folder.c b/src/dlg-add-folder.c
index f8b7e44..fdc16b6 100644
--- a/src/dlg-add-folder.c
+++ b/src/dlg-add-folder.c
@@ -35,27 +35,23 @@
#include "preferences.h"
+#define GET_WIDGET(x) (_gtk_builder_get_widget (data->builder, (x)))
+
+
typedef struct {
- FrWindow *window;
- GSettings *settings;
- GtkWidget *dialog;
- GtkWidget *add_if_newer_checkbutton;
- GtkWidget *exclude_symlinks;
- GtkWidget *include_files_checkbutton;
- GtkWidget *include_files_entry;
- GtkWidget *include_files_label;
- GtkWidget *exclude_files_entry;
- GtkWidget *exclude_files_label;
- GtkWidget *exclude_folders_entry;
- GtkWidget *exclude_folders_label;
- char *last_options;
+ FrWindow *window;
+ GSettings *settings;
+ GtkWidget *dialog;
+ GtkBuilder *builder;
+ char *last_options;
} DialogData;
static void
-open_file_destroy_cb (GtkWidget *widget,
- DialogData *data)
+file_selector_destroy_cb (GtkWidget *widget,
+ DialogData *data)
{
+ g_object_unref (data->builder);
g_object_unref (data->settings);
g_free (data->last_options);
g_free (data);
@@ -84,9 +80,9 @@ static void dlg_add_folder_save_last_options (DialogData *data);
static int
-file_sel_response_cb (GtkWidget *widget,
- int response,
- DialogData *data)
+file_selector_response_cb (GtkWidget *widget,
+ int response,
+ DialogData *data)
{
GtkFileChooser *file_sel = GTK_FILE_CHOOSER (widget);
FrWindow *window = data->window;
@@ -130,18 +126,18 @@ file_sel_response_cb (GtkWidget *widget,
return FALSE;
}
- update = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (data->add_if_newer_checkbutton));
- follow_links = ! gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (data->exclude_symlinks));
+ update = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("update_checkbutton")));
+ follow_links = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("follow_links_checkbutton")));
- include_files = gtk_entry_get_text (GTK_ENTRY (data->include_files_entry));
+ include_files = gtk_entry_get_text (GTK_ENTRY (GET_WIDGET ("include_files_entry")));
if (utf8_only_spaces (include_files))
include_files = "*";
- exclude_files = gtk_entry_get_text (GTK_ENTRY (data->exclude_files_entry));
+ exclude_files = gtk_entry_get_text (GTK_ENTRY (GET_WIDGET ("exclude_files_entry")));
if (utf8_only_spaces (exclude_files))
exclude_files = NULL;
- exclude_folders = gtk_entry_get_text (GTK_ENTRY (data->exclude_folders_entry));
+ exclude_folders = gtk_entry_get_text (GTK_ENTRY (GET_WIDGET ("exclude_folders_entry")));
if (utf8_only_spaces (exclude_folders))
exclude_folders = NULL;
@@ -180,50 +176,28 @@ void
add_folder_cb (GtkWidget *widget,
void *callback_data)
{
- GtkWidget *file_sel;
- DialogData *data;
- GtkWidget *options_button;
- GtkWidget *options_menu;
- GtkWidget *menu_item;
- GtkWidget *main_box;
- GtkWidget *vbox;
- GtkWidget *table;
+ DialogData *data;
+ GtkWidget *options_button;
+ GtkWidget *options_menu;
+ GtkWidget *menu_item;
data = g_new0 (DialogData, 1);
data->settings = g_settings_new (FILE_ROLLER_SCHEMA_ADD);
data->window = callback_data;
- data->dialog = file_sel =
- gtk_file_chooser_dialog_new (_("Add a Folder"),
- GTK_WINDOW (data->window),
- GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER,
- NULL, NULL);
-
+ data->dialog = gtk_file_chooser_dialog_new (_("Add a Folder"),
+ GTK_WINDOW (data->window),
+ GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER,
+ NULL,
+ NULL);
gtk_window_set_default_size (GTK_WINDOW (data->dialog), 530, 510);
+ gtk_file_chooser_set_select_multiple (GTK_FILE_CHOOSER (data->dialog), FALSE);
+ gtk_file_chooser_set_local_only (GTK_FILE_CHOOSER (data->dialog), FALSE);
+ gtk_dialog_set_default_response (GTK_DIALOG (data->dialog), GTK_RESPONSE_OK);
- gtk_file_chooser_set_select_multiple (GTK_FILE_CHOOSER (file_sel), FALSE);
- gtk_file_chooser_set_local_only (GTK_FILE_CHOOSER (file_sel), FALSE);
- gtk_dialog_set_default_response (GTK_DIALOG (file_sel), GTK_RESPONSE_OK);
-
- data->add_if_newer_checkbutton = gtk_check_button_new_with_mnemonic (_("Add only if _newer"));
- data->exclude_symlinks = gtk_check_button_new_with_mnemonic (_("Exclude folders that are symbolic lin_ks"));
-
- data->include_files_entry = gtk_entry_new ();
- gtk_widget_set_tooltip_text (data->include_files_entry, _("example: *.o; *.bak"));
- data->include_files_label = gtk_label_new_with_mnemonic (_("Include _files:"));
- gtk_misc_set_alignment (GTK_MISC (data->include_files_label), 0.0, 0.5);
- gtk_label_set_mnemonic_widget (GTK_LABEL (data->include_files_label), data->include_files_entry);
-
- data->exclude_files_entry = gtk_entry_new ();
- gtk_widget_set_tooltip_text (data->exclude_files_entry, _("example: *.o; *.bak"));
- data->exclude_files_label = gtk_label_new_with_mnemonic (_("E_xclude files:"));
- gtk_misc_set_alignment (GTK_MISC (data->exclude_files_label), 0.0, 0.5);
- gtk_label_set_mnemonic_widget (GTK_LABEL (data->exclude_files_label), data->exclude_files_entry);
-
- data->exclude_folders_entry = gtk_entry_new ();
- gtk_widget_set_tooltip_text (data->exclude_folders_entry, _("example: *.o; *.bak"));
- data->exclude_folders_label = gtk_label_new_with_mnemonic (_("_Exclude folders:"));
- gtk_misc_set_alignment (GTK_MISC (data->exclude_folders_label), 0.0, 0.5);
- gtk_label_set_mnemonic_widget (GTK_LABEL (data->exclude_folders_label), data->exclude_folders_entry);
+ data->builder = _gtk_builder_new_from_resource ("add-dialog-options.ui");
+ if (data->builder == NULL)
+ return;
+ gtk_file_chooser_set_extra_widget (GTK_FILE_CHOOSER (data->dialog), GET_WIDGET ("extra_widget"));
/* options menu button */
@@ -256,67 +230,7 @@ add_folder_cb (GtkWidget *widget,
g_signal_connect (menu_item, "activate", G_CALLBACK (clear_options_activate_cb), data);
gtk_menu_shell_append (GTK_MENU_SHELL (options_menu), menu_item);
- /**/
-
- main_box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 20);
- gtk_container_set_border_width (GTK_CONTAINER (main_box), 0);
- gtk_file_chooser_set_extra_widget (GTK_FILE_CHOOSER (file_sel), main_box);
-
- vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6);
- gtk_container_set_border_width (GTK_CONTAINER (vbox), 0);
- gtk_box_pack_start (GTK_BOX (main_box), vbox, TRUE, TRUE, 0);
-
- gtk_box_pack_start (GTK_BOX (vbox), data->add_if_newer_checkbutton, TRUE, TRUE, 0);
- gtk_box_pack_start (GTK_BOX (vbox), data->exclude_symlinks, TRUE, TRUE, 0);
-
- table = gtk_table_new (2, 4, FALSE);
- gtk_table_set_row_spacings (GTK_TABLE (table), 6);
- gtk_table_set_col_spacings (GTK_TABLE (table), 6);
- gtk_box_pack_start (GTK_BOX (vbox), table,
- TRUE, TRUE, 0);
-
- gtk_table_attach (GTK_TABLE (table),
- data->include_files_label,
- 0, 1,
- 0, 1,
- GTK_FILL, 0,
- 0, 0);
- gtk_table_attach (GTK_TABLE (table),
- data->include_files_entry,
- 1, 4,
- 0, 1,
- GTK_FILL|GTK_EXPAND, 0,
- 0, 0);
- gtk_table_attach (GTK_TABLE (table),
- data->exclude_files_label,
- 0, 1,
- 1, 2,
- GTK_FILL, 0,
- 0, 0);
- gtk_table_attach (GTK_TABLE (table),
- data->exclude_files_entry,
- 1, 2,
- 1, 2,
- GTK_FILL|GTK_EXPAND, 0,
- 0, 0);
- gtk_table_attach (GTK_TABLE (table),
- data->exclude_folders_label,
- 2, 3,
- 1, 2,
- GTK_FILL, 0,
- 0, 0);
- gtk_table_attach (GTK_TABLE (table),
- data->exclude_folders_entry,
- 3, 4,
- 1, 2,
- GTK_FILL|GTK_EXPAND, 0,
- 0, 0);
-
- /**/
-
- vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5);
- gtk_container_set_border_width (GTK_CONTAINER (vbox), 0);
- gtk_box_pack_start (GTK_BOX (main_box), vbox, FALSE, FALSE, 0);
+ /* add the buttons */
gtk_box_pack_start (GTK_BOX (gtk_dialog_get_action_area (GTK_DIALOG (data->dialog))),
options_button,
@@ -330,25 +244,23 @@ add_folder_cb (GtkWidget *widget,
FR_STOCK_ADD_FOLDER,
GTK_RESPONSE_OK);
- gtk_widget_show_all (main_box);
-
/* set data */
dlg_add_folder_load_last_options (data);
/* signals */
- g_signal_connect (G_OBJECT (file_sel),
+ g_signal_connect (G_OBJECT (data->dialog),
"destroy",
- G_CALLBACK (open_file_destroy_cb),
+ G_CALLBACK (file_selector_destroy_cb),
data);
- g_signal_connect (G_OBJECT (file_sel),
+ g_signal_connect (G_OBJECT (data->dialog),
"response",
- G_CALLBACK (file_sel_response_cb),
+ G_CALLBACK (file_selector_response_cb),
data);
- gtk_window_set_modal (GTK_WINDOW (file_sel), TRUE);
- gtk_widget_show (file_sel);
+ gtk_window_set_modal (GTK_WINDOW (data->dialog), TRUE);
+ gtk_widget_show (data->dialog);
}
@@ -382,14 +294,16 @@ sync_widgets_with_options (DialogData *data,
else
gtk_file_chooser_set_current_folder_file (GTK_FILE_CHOOSER (data->dialog), directory, NULL);
- if (include_files != NULL)
- gtk_entry_set_text (GTK_ENTRY (data->include_files_entry), include_files);
+ if ((include_files == NULL) || (include_files[0] == '\0'))
+ include_files = "*";
+ gtk_entry_set_text (GTK_ENTRY (GET_WIDGET ("include_files_entry")), include_files);
+
if (exclude_files != NULL)
- gtk_entry_set_text (GTK_ENTRY (data->exclude_files_entry), exclude_files);
+ gtk_entry_set_text (GTK_ENTRY (GET_WIDGET ("exclude_files_entry")), exclude_files);
if (exclude_folders != NULL)
- gtk_entry_set_text (GTK_ENTRY (data->exclude_folders_entry), exclude_folders);
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (data->add_if_newer_checkbutton), update);
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (data->exclude_symlinks), no_symlinks);
+ gtk_entry_set_text (GTK_ENTRY (GET_WIDGET ("exclude_folders_entry")), exclude_folders);
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("update_checkbutton")), update);
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("follow_links_checkbutton")), ! no_symlinks);
}
@@ -540,18 +454,18 @@ get_options_from_widgets (DialogData *data,
{
*base_dir = gtk_file_chooser_get_current_folder_uri (GTK_FILE_CHOOSER (data->dialog));
*filename = gtk_file_chooser_get_uri (GTK_FILE_CHOOSER (data->dialog));
- *update = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (data->add_if_newer_checkbutton));
- *no_symlinks = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (data->exclude_symlinks));
+ *update = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("update_checkbutton")));
+ *no_symlinks = ! gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("follow_links_checkbutton")));
- *include_files = gtk_entry_get_text (GTK_ENTRY (data->include_files_entry));
+ *include_files = gtk_entry_get_text (GTK_ENTRY (GET_WIDGET ("include_files_entry")));
if (utf8_only_spaces (*include_files))
*include_files = "";
- *exclude_files = gtk_entry_get_text (GTK_ENTRY (data->exclude_files_entry));
+ *exclude_files = gtk_entry_get_text (GTK_ENTRY (GET_WIDGET ("exclude_files_entry")));
if (utf8_only_spaces (*exclude_files))
*exclude_files = "";
- *exclude_folders = gtk_entry_get_text (GTK_ENTRY (data->exclude_folders_entry));
+ *exclude_folders = gtk_entry_get_text (GTK_ENTRY (GET_WIDGET ("exclude_folders_entry")));
if (utf8_only_spaces (*exclude_folders))
*exclude_folders = "";
}
diff --git a/src/dlg-extract.c b/src/dlg-extract.c
index 4946b94..0a33b02 100644
--- a/src/dlg-extract.c
+++ b/src/dlg-extract.c
@@ -32,35 +32,29 @@
#include "dlg-extract.h"
+#define GET_WIDGET(x) (_gtk_builder_get_widget (data->builder, (x)))
+
+
typedef struct {
FrWindow *window;
GSettings *settings;
GList *selected_files;
char *base_dir_for_selection;
-
GtkWidget *dialog;
-
- GtkWidget *e_main_vbox;
- GtkWidget *e_all_radiobutton;
- GtkWidget *e_selected_radiobutton;
- GtkWidget *e_files_radiobutton;
- GtkWidget *e_files_entry;
- GtkWidget *e_recreate_dir_checkbutton;
- GtkWidget *e_overwrite_checkbutton;
- GtkWidget *e_not_newer_checkbutton;
-
+ GtkBuilder *builder;
gboolean extract_clicked;
} DialogData;
/* called when the main dialog is closed. */
static void
-destroy_cb (GtkWidget *widget,
- DialogData *data)
+file_selector_destroy_cb (GtkWidget *widget,
+ DialogData *data)
{
if (! data->extract_clicked)
fr_window_stop_batch (data->window);
+ g_object_unref (data->builder);
_g_string_list_free (data->selected_files);
g_free (data->base_dir_for_selection);
g_object_unref (data->settings);
@@ -186,15 +180,15 @@ extract_cb (GtkWidget *w,
fr_window_set_extract_default_dir (window, destination, TRUE);
- skip_newer = ! gtk_toggle_button_get_inconsistent (GTK_TOGGLE_BUTTON (data->e_not_newer_checkbutton)) && gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (data->e_not_newer_checkbutton));
- junk_paths = ! gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (data->e_recreate_dir_checkbutton));
+ skip_newer = ! gtk_toggle_button_get_inconsistent (GTK_TOGGLE_BUTTON (GET_WIDGET ("keep_newer_checkbutton"))) && gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("keep_newer_checkbutton")));
+ junk_paths = ! gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("keep_structure_checkbutton")));
- if (! gtk_toggle_button_get_inconsistent (GTK_TOGGLE_BUTTON (data->e_not_newer_checkbutton)))
+ if (! gtk_toggle_button_get_inconsistent (GTK_TOGGLE_BUTTON (GET_WIDGET ("keep_newer_checkbutton"))))
g_settings_set_boolean (data->settings, PREF_EXTRACT_SKIP_NEWER, skip_newer);
g_settings_set_boolean (data->settings, PREF_EXTRACT_RECREATE_FOLDERS, ! junk_paths);
- selected_files = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (data->e_selected_radiobutton));
- pattern_files = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (data->e_files_radiobutton));
+ selected_files = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("selected_files_radiobutton")));
+ pattern_files = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("file_pattern_radiobutton")));
/* create the file list. */
@@ -207,7 +201,7 @@ extract_cb (GtkWidget *w,
else if (pattern_files) {
const char *pattern;
- pattern = gtk_entry_get_text (GTK_ENTRY (data->e_files_entry));
+ pattern = gtk_entry_get_text (GTK_ENTRY (GET_WIDGET ("file_pattern_entry")));
file_list = fr_window_get_file_list_pattern (window, pattern);
if (file_list == NULL) {
gtk_widget_destroy (data->dialog);
@@ -247,7 +241,7 @@ extract_cb (GtkWidget *w,
static int
-file_sel_response_cb (GtkWidget *widget,
+file_selector_response_cb (GtkWidget *widget,
int response,
DialogData *data)
{
@@ -267,125 +261,8 @@ static void
files_entry_changed_cb (GtkWidget *widget,
DialogData *data)
{
- if (! gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (data->e_files_radiobutton)))
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (data->e_files_radiobutton), TRUE);
-}
-
-
-static void
-set_bold_label (GtkWidget *label,
- const char *label_txt)
-{
- char *bold_label;
-
- bold_label = g_strconcat ("<b>", label_txt, "</b>", NULL);
- gtk_label_set_markup (GTK_LABEL (label), bold_label);
- g_free (bold_label);
-}
-
-
-static GtkWidget *
-create_extra_widget (DialogData *data)
-{
- GtkWidget *vbox1;
- GtkWidget *hbox28;
- GtkWidget *vbox19;
- GtkWidget *e_files_label;
- GtkWidget *hbox29;
- GtkWidget *label47;
- GtkWidget *table1;
- GSList *e_files_radiobutton_group = NULL;
- GtkWidget *vbox20;
- GtkWidget *e_actions_label;
- GtkWidget *hbox30;
- GtkWidget *label48;
- GtkWidget *vbox15;
-
- vbox1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6);
- gtk_container_set_border_width (GTK_CONTAINER (vbox1), 0);
-
- hbox28 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12);
- gtk_box_pack_start (GTK_BOX (vbox1), hbox28, TRUE, TRUE, 0);
-
- vbox19 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6);
- gtk_box_pack_start (GTK_BOX (hbox28), vbox19, TRUE, TRUE, 0);
-
- e_files_label = gtk_label_new ("");
- set_bold_label (e_files_label, _("Extract"));
- gtk_box_pack_start (GTK_BOX (vbox19), e_files_label, FALSE, FALSE, 0);
- gtk_label_set_justify (GTK_LABEL (e_files_label), GTK_JUSTIFY_LEFT);
- gtk_misc_set_alignment (GTK_MISC (e_files_label), 0, 0.5);
-
- hbox29 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
- gtk_box_pack_start (GTK_BOX (vbox19), hbox29, TRUE, TRUE, 0);
-
- label47 = gtk_label_new (" ");
- gtk_box_pack_start (GTK_BOX (hbox29), label47, FALSE, FALSE, 0);
- gtk_label_set_justify (GTK_LABEL (label47), GTK_JUSTIFY_LEFT);
-
- table1 = gtk_table_new (3, 2, FALSE);
- gtk_box_pack_start (GTK_BOX (hbox29), table1, TRUE, TRUE, 0);
- gtk_table_set_row_spacings (GTK_TABLE (table1), 6);
- gtk_table_set_col_spacings (GTK_TABLE (table1), 6);
-
- data->e_files_radiobutton = gtk_radio_button_new_with_mnemonic (NULL, _("_Files:"));
- gtk_table_attach (GTK_TABLE (table1), data->e_files_radiobutton, 0, 1, 2, 3,
- (GtkAttachOptions) (GTK_FILL),
- (GtkAttachOptions) (0), 0, 0);
- gtk_radio_button_set_group (GTK_RADIO_BUTTON (data->e_files_radiobutton), e_files_radiobutton_group);
- e_files_radiobutton_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (data->e_files_radiobutton));
-
- data->e_files_entry = gtk_entry_new ();
- gtk_table_attach (GTK_TABLE (table1), data->e_files_entry, 1, 2, 2, 3,
- (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
- (GtkAttachOptions) (0), 0, 0);
- gtk_widget_set_tooltip_text (data->e_files_entry, _("example: *.txt; *.doc"));
- gtk_entry_set_activates_default (GTK_ENTRY (data->e_files_entry), TRUE);
-
- data->e_all_radiobutton = gtk_radio_button_new_with_mnemonic (NULL, _("_All files"));
- gtk_table_attach (GTK_TABLE (table1), data->e_all_radiobutton, 0, 2, 0, 1,
- (GtkAttachOptions) (GTK_FILL),
- (GtkAttachOptions) (0), 0, 0);
- gtk_radio_button_set_group (GTK_RADIO_BUTTON (data->e_all_radiobutton), e_files_radiobutton_group);
- e_files_radiobutton_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (data->e_all_radiobutton));
-
- data->e_selected_radiobutton = gtk_radio_button_new_with_mnemonic (NULL, _("_Selected files"));
- gtk_table_attach (GTK_TABLE (table1), data->e_selected_radiobutton, 0, 2, 1, 2,
- (GtkAttachOptions) (GTK_FILL),
- (GtkAttachOptions) (0), 0, 0);
- gtk_radio_button_set_group (GTK_RADIO_BUTTON (data->e_selected_radiobutton), e_files_radiobutton_group);
- e_files_radiobutton_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (data->e_selected_radiobutton));
-
- vbox20 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6);
- gtk_box_pack_start (GTK_BOX (hbox28), vbox20, TRUE, TRUE, 0);
-
- e_actions_label = gtk_label_new ("");
- set_bold_label (e_actions_label, _("Actions"));
- gtk_box_pack_start (GTK_BOX (vbox20), e_actions_label, FALSE, FALSE, 0);
- gtk_label_set_use_markup (GTK_LABEL (e_actions_label), TRUE);
- gtk_label_set_justify (GTK_LABEL (e_actions_label), GTK_JUSTIFY_LEFT);
- gtk_misc_set_alignment (GTK_MISC (e_actions_label), 0, 0.5);
-
- hbox30 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
- gtk_box_pack_start (GTK_BOX (vbox20), hbox30, TRUE, TRUE, 0);
-
- label48 = gtk_label_new (" ");
- gtk_box_pack_start (GTK_BOX (hbox30), label48, FALSE, FALSE, 0);
- gtk_label_set_justify (GTK_LABEL (label48), GTK_JUSTIFY_LEFT);
-
- vbox15 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6);
- gtk_box_pack_start (GTK_BOX (hbox30), vbox15, TRUE, TRUE, 0);
-
- data->e_recreate_dir_checkbutton = gtk_check_button_new_with_mnemonic (_("_Keep directory structure"));
- gtk_box_pack_start (GTK_BOX (vbox15), data->e_recreate_dir_checkbutton, FALSE, FALSE, 0);
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (data->e_recreate_dir_checkbutton), TRUE);
-
- data->e_not_newer_checkbutton = gtk_check_button_new_with_mnemonic (_("Do not e_xtract older files"));
- gtk_box_pack_start (GTK_BOX (vbox15), data->e_not_newer_checkbutton, FALSE, FALSE, 0);
-
- gtk_widget_show_all (vbox1);
-
- return vbox1;
+ if (! gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("file_pattern_radiobutton"))))
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("file_pattern_radiobutton")), TRUE);
}
@@ -395,7 +272,6 @@ dlg_extract__common (FrWindow *window,
char *base_dir_for_selection)
{
DialogData *data;
- GtkWidget *file_sel;
data = g_new0 (DialogData, 1);
data->settings = g_settings_new (FILE_ROLLER_SCHEMA_EXTRACT);
@@ -404,54 +280,57 @@ dlg_extract__common (FrWindow *window,
data->base_dir_for_selection = base_dir_for_selection;
data->extract_clicked = FALSE;
- data->dialog = file_sel =
- gtk_file_chooser_dialog_new (_("Extract"),
- GTK_WINDOW (data->window),
- GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER,
- GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
- FR_STOCK_EXTRACT, GTK_RESPONSE_OK,
- NULL);
+ data->dialog = gtk_file_chooser_dialog_new (_("Extract"),
+ GTK_WINDOW (data->window),
+ GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER,
+ GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
+ FR_STOCK_EXTRACT, GTK_RESPONSE_OK,
+ NULL);
- gtk_window_set_default_size (GTK_WINDOW (file_sel), 530, 510);
- gtk_file_chooser_set_select_multiple (GTK_FILE_CHOOSER (file_sel), FALSE);
- gtk_file_chooser_set_local_only (GTK_FILE_CHOOSER (file_sel), FALSE);
- gtk_file_chooser_set_create_folders (GTK_FILE_CHOOSER (file_sel), TRUE);
- gtk_file_chooser_set_extra_widget (GTK_FILE_CHOOSER (file_sel), create_extra_widget (data));
- gtk_dialog_set_default_response (GTK_DIALOG (file_sel), GTK_RESPONSE_OK);
+ gtk_window_set_default_size (GTK_WINDOW (data->dialog), 530, 510);
+ gtk_file_chooser_set_select_multiple (GTK_FILE_CHOOSER (data->dialog), FALSE);
+ gtk_file_chooser_set_local_only (GTK_FILE_CHOOSER (data->dialog), FALSE);
+ gtk_file_chooser_set_create_folders (GTK_FILE_CHOOSER (data->dialog), TRUE);
+ gtk_dialog_set_default_response (GTK_DIALOG (data->dialog), GTK_RESPONSE_OK);
+
+ data->builder = _gtk_builder_new_from_resource ("extract-dialog-options.ui");
+ if (data->builder == NULL)
+ return;
+ gtk_file_chooser_set_extra_widget (GTK_FILE_CHOOSER (data->dialog), GET_WIDGET ("extra_widget"));
/* Set widgets data. */
- gtk_file_chooser_set_current_folder_file (GTK_FILE_CHOOSER (file_sel), fr_window_get_extract_default_dir (window), NULL);
+ gtk_file_chooser_set_current_folder_file (GTK_FILE_CHOOSER (data->dialog), fr_window_get_extract_default_dir (window), NULL);
if (data->selected_files != NULL)
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (data->e_selected_radiobutton), TRUE);
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("selected_files_radiobutton")), TRUE);
else {
- gtk_widget_set_sensitive (data->e_selected_radiobutton, FALSE);
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (data->e_all_radiobutton), TRUE);
+ gtk_widget_set_sensitive (GET_WIDGET ("selected_files_radiobutton"), FALSE);
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("all_files_radiobutton")), TRUE);
}
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (data->e_not_newer_checkbutton), g_settings_get_boolean (data->settings, PREF_EXTRACT_SKIP_NEWER));
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (data->e_recreate_dir_checkbutton), g_settings_get_boolean (data->settings, PREF_EXTRACT_RECREATE_FOLDERS));
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("keep_newer_checkbutton")), g_settings_get_boolean (data->settings, PREF_EXTRACT_SKIP_NEWER));
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("keep_structure_checkbutton")), g_settings_get_boolean (data->settings, PREF_EXTRACT_RECREATE_FOLDERS));
/* Set the signals handlers. */
g_signal_connect (G_OBJECT (data->dialog),
"destroy",
- G_CALLBACK (destroy_cb),
+ G_CALLBACK (file_selector_destroy_cb),
data);
- g_signal_connect (G_OBJECT (file_sel),
+ g_signal_connect (G_OBJECT (data->dialog),
"response",
- G_CALLBACK (file_sel_response_cb),
+ G_CALLBACK (file_selector_response_cb),
data);
- g_signal_connect (G_OBJECT (data->e_files_entry),
+ g_signal_connect (G_OBJECT (GET_WIDGET ("file_pattern_entry")),
"changed",
G_CALLBACK (files_entry_changed_cb),
data);
/* Run dialog. */
- gtk_window_set_modal (GTK_WINDOW (file_sel),TRUE);
- gtk_widget_show (file_sel);
+ gtk_window_set_modal (GTK_WINDOW (data->dialog),TRUE);
+ gtk_widget_show (data->dialog);
}
diff --git a/src/file-roller.gresource.xml b/src/file-roller.gresource.xml
index 54b76a2..6873efb 100644
--- a/src/file-roller.gresource.xml
+++ b/src/file-roller.gresource.xml
@@ -1,12 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<gresources>
<gresource prefix="/org/gnome/FileRoller">
+ <file compressed="true">ui/add-dialog-options.ui</file>
<file compressed="true">ui/add-options.ui</file>
<file compressed="true">ui/app-menu.ui</file>
<file compressed="true">ui/batch-add-files.ui</file>
<file compressed="true">ui/batch-password.ui</file>
<file compressed="true">ui/delete.ui</file>
<file compressed="true">ui/error-dialog.ui</file>
+ <file compressed="true">ui/extract-dialog-options.ui</file>
<file compressed="true">ui/menus-toolbars.ui</file>
<file compressed="true">ui/message-dialog.ui</file>
<file compressed="true">ui/new-archive-dialog-options.ui</file>
diff --git a/src/ui/Makefile.am b/src/ui/Makefile.am
index 8bb0ca7..c1693bd 100644
--- a/src/ui/Makefile.am
+++ b/src/ui/Makefile.am
@@ -1,10 +1,12 @@
EXTRA_DIST = \
+ add-dialog-options.ui \
add-options.ui \
app-menu.ui \
batch-add-files.ui \
batch-password.ui \
delete.ui \
error-dialog.ui \
+ extract-dialog-options.ui \
menus-toolbars.ui \
message-dialog.ui \
new-archive-dialog-options.ui \
diff --git a/src/ui/add-dialog-options.ui b/src/ui/add-dialog-options.ui
new file mode 100644
index 0000000..719b42f
--- /dev/null
+++ b/src/ui/add-dialog-options.ui
@@ -0,0 +1,222 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+ <!-- interface-requires gtk+ 3.0 -->
+ <object class="GtkBox" id="extra_widget">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="spacing">12</property>
+ <child>
+ <object class="GtkBox" id="box2">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">6</property>
+ <child>
+ <object class="GtkLabel" id="label1">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">Filters</property>
+ <attributes>
+ <attribute name="weight" value="bold"/>
+ </attributes>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkGrid" id="grid2">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="margin_left">12</property>
+ <property name="row_spacing">6</property>
+ <property name="column_spacing">6</property>
+ <child>
+ <object class="GtkLabel" id="label3">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">Include _files:</property>
+ <property name="use_underline">True</property>
+ <property name="mnemonic_widget">include_files_entry</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="label4">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">E_xclude files:</property>
+ <property name="use_underline">True</property>
+ <property name="mnemonic_widget">exclude_files_entry</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">1</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="label5">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">_Exclude folders:</property>
+ <property name="use_underline">True</property>
+ <property name="mnemonic_widget">exclude_folders_entry</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">2</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkEntry" id="include_files_entry">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="tooltip_text" translatable="yes">example: *.o; *.bak</property>
+ <property name="invisible_char">â</property>
+ <property name="width_chars">30</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkEntry" id="exclude_files_entry">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="tooltip_text" translatable="yes">example: *.o; *.bak</property>
+ <property name="invisible_char">â</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">1</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkEntry" id="exclude_folders_entry">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="tooltip_text" translatable="yes">example: *.o; *.bak</property>
+ <property name="invisible_char">â</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">2</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkBox" id="box5">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">6</property>
+ <child>
+ <object class="GtkLabel" id="label2">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">Actions</property>
+ <attributes>
+ <attribute name="weight" value="bold"/>
+ </attributes>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkBox" id="box6">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="margin_left">12</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">6</property>
+ <child>
+ <object class="GtkCheckButton" id="update_checkbutton">
+ <property name="label" translatable="yes">Add only if _newer</property>
+ <property name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_action_appearance">False</property>
+ <property name="use_underline">True</property>
+ <property name="xalign">0</property>
+ <property name="draw_indicator">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="follow_links_checkbutton">
+ <property name="label" translatable="yes">_Follow symbolic links</property>
+ <property name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_action_appearance">False</property>
+ <property name="use_underline">True</property>
+ <property name="xalign">0</property>
+ <property name="draw_indicator">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+</interface>
diff --git a/src/ui/extract-dialog-options.ui b/src/ui/extract-dialog-options.ui
new file mode 100644
index 0000000..0f6acf7
--- /dev/null
+++ b/src/ui/extract-dialog-options.ui
@@ -0,0 +1,215 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+ <!-- interface-requires gtk+ 3.0 -->
+ <object class="GtkBox" id="extra_widget">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="spacing">12</property>
+ <child>
+ <object class="GtkBox" id="box2">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">6</property>
+ <child>
+ <object class="GtkLabel" id="label1">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">Extract</property>
+ <attributes>
+ <attribute name="weight" value="bold"/>
+ </attributes>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkBox" id="box3">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="margin_left">12</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">6</property>
+ <child>
+ <object class="GtkRadioButton" id="all_files_radiobutton">
+ <property name="label" translatable="yes">_All files</property>
+ <property name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_action_appearance">False</property>
+ <property name="use_underline">True</property>
+ <property name="xalign">0</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkRadioButton" id="selected_files_radiobutton">
+ <property name="label" translatable="yes">_Selected files</property>
+ <property name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_action_appearance">False</property>
+ <property name="use_underline">True</property>
+ <property name="xalign">0</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ <property name="group">all_files_radiobutton</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkBox" id="box4">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="spacing">6</property>
+ <child>
+ <object class="GtkRadioButton" id="file_pattern_radiobutton">
+ <property name="label" translatable="yes">_Files:</property>
+ <property name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_action_appearance">False</property>
+ <property name="use_underline">True</property>
+ <property name="xalign">0</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ <property name="group">all_files_radiobutton</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkEntry" id="file_pattern_entry">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="tooltip_text" translatable="yes">example: *.o; *.bak</property>
+ <property name="invisible_char">â</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkBox" id="box5">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">6</property>
+ <child>
+ <object class="GtkLabel" id="label2">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">Actions</property>
+ <attributes>
+ <attribute name="weight" value="bold"/>
+ </attributes>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkBox" id="box6">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="margin_left">12</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">6</property>
+ <child>
+ <object class="GtkCheckButton" id="keep_structure_checkbutton">
+ <property name="label" translatable="yes">_Keep directory structure</property>
+ <property name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_action_appearance">False</property>
+ <property name="use_underline">True</property>
+ <property name="xalign">0</property>
+ <property name="draw_indicator">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="keep_newer_checkbutton">
+ <property name="label" translatable="yes">Do not _overwrite newer files</property>
+ <property name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_action_appearance">False</property>
+ <property name="use_underline">True</property>
+ <property name="xalign">0</property>
+ <property name="draw_indicator">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+</interface>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]