diff options
| author | rbuj <[email protected]> | 2020-02-02 15:39:06 +0100 | 
|---|---|---|
| committer | raveit65 <[email protected]> | 2020-02-08 02:05:24 +0100 | 
| commit | b72ab7ec2283018dd4fcce9c545b68f435126e22 (patch) | |
| tree | 17c4637c7215905997d2a9ba30013914c9baa0b0 /src | |
| parent | b6fb2ef7ec53f8e5234e2e5e1a864300c16e704c (diff) | |
| download | engrampa-b72ab7ec2283018dd4fcce9c545b68f435126e22.tar.bz2 engrampa-b72ab7ec2283018dd4fcce9c545b68f435126e22.tar.xz | |
dlg-extract: GtkFileChooserDialog instead of set extra widget
Diffstat (limited to 'src')
| -rw-r--r-- | src/dlg-extract.c | 54 | ||||
| -rw-r--r-- | src/engrampa.gresource.xml | 2 | ||||
| -rw-r--r-- | src/ui/Makefile.am | 2 | ||||
| -rw-r--r-- | src/ui/dlg-extract.ui | 327 | ||||
| -rw-r--r-- | src/ui/extract-dialog-options.ui | 223 | 
5 files changed, 341 insertions, 267 deletions
| diff --git a/src/dlg-extract.c b/src/dlg-extract.c index e23e585..e5b53f3 100644 --- a/src/dlg-extract.c +++ b/src/dlg-extract.c @@ -295,34 +295,16 @@ dlg_extract__common (FrWindow *window,  	DialogData *data;  	data = g_new0 (DialogData, 1); +	if ((data->builder = _gtk_builder_new_from_resource ("dlg-extract.ui")) == NULL) { +		g_free (data); +		return; +	}  	data->settings = g_settings_new (ENGRAMPA_SCHEMA_EXTRACT);  	data->window = window;  	data->selected_files = selected_files;  	data->base_dir_for_selection = base_dir_for_selection;  	data->extract_clicked = FALSE; - -	data->dialog = gtk_file_chooser_dialog_new (_("Extract"), -	                                            GTK_WINDOW (data->window), -	                                            GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER, -	                                            "gtk-cancel", GTK_RESPONSE_CANCEL, -	                                            FR_STOCK_EXTRACT, GTK_RESPONSE_OK, -	                                            "gtk-help", GTK_RESPONSE_HELP, -	                                            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); - -	data->builder = _gtk_builder_new_from_resource ("extract-dialog-options.ui"); -	if (data->builder == NULL) { -		g_object_unref (data->settings); -		gtk_widget_destroy (data->dialog); -		g_free (data); -		return; -	} -	gtk_file_chooser_set_extra_widget (GTK_FILE_CHOOSER (data->dialog), GET_WIDGET ("extra_widget")); +	data->dialog = GET_WIDGET ("dialog_extract");  	/* Set widgets data. */ @@ -347,25 +329,13 @@ dlg_extract__common (FrWindow *window,  	/* Set the signals handlers. */ -	g_signal_connect (G_OBJECT (data->dialog), -			  "destroy", -			  G_CALLBACK (destroy_cb), -			  data); - -	g_signal_connect (G_OBJECT (data->dialog), -			  "response", -			  G_CALLBACK (file_sel_response_cb), -			  data); - -	g_signal_connect (G_OBJECT (GET_WIDGET ("overwrite_checkbutton")), -			  "toggled", -			  G_CALLBACK (overwrite_toggled_cb), -			  data); - -	g_signal_connect (G_OBJECT (GET_WIDGET ("file_pattern_entry")), -			  "changed", -			  G_CALLBACK (files_entry_changed_cb), -			  data); +	gtk_builder_add_callback_symbols (data->builder, +	                                  "on_dialog_extract_destroy", G_CALLBACK (destroy_cb), +	                                  "on_dialog_extract_response", G_CALLBACK (file_sel_response_cb), +	                                  "on_overwrite_checkbutton_toggled", G_CALLBACK (overwrite_toggled_cb), +	                                  "on_file_pattern_entry_changed", G_CALLBACK (files_entry_changed_cb), +	                                  NULL); +	gtk_builder_connect_signals (data->builder, data);  	/* Run dialog. */ diff --git a/src/engrampa.gresource.xml b/src/engrampa.gresource.xml index a3da9d0..1060005 100644 --- a/src/engrampa.gresource.xml +++ b/src/engrampa.gresource.xml @@ -6,8 +6,8 @@      <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/dlg-extract.ui</file>      <file compressed="true">ui/engrampa.about</file> -    <file compressed="true">ui/extract-dialog-options.ui</file>      <file compressed="true">ui/menus-toolbars.ui</file>      <file compressed="true">ui/new.ui</file>      <file compressed="true">ui/password.ui</file> diff --git a/src/ui/Makefile.am b/src/ui/Makefile.am index 516483d..a1efbc4 100644 --- a/src/ui/Makefile.am +++ b/src/ui/Makefile.am @@ -4,8 +4,8 @@ EXTRA_DIST = 			\  	batch-add-files.ui	\  	batch-password.ui	\  	delete.ui		\ +	dlg-extract.ui		\  	engrampa.about		\ -	extract-dialog-options.ui \  	menus-toolbars.ui	\  	new.ui			\  	password.ui		\ diff --git a/src/ui/dlg-extract.ui b/src/ui/dlg-extract.ui new file mode 100644 index 0000000..3a44384 --- /dev/null +++ b/src/ui/dlg-extract.ui @@ -0,0 +1,327 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- Generated with glade 3.22.1 --> +<interface> +  <requires lib="gtk+" version="3.22"/> +  <object class="GtkImage" id="image1"> +    <property name="visible">True</property> +    <property name="can_focus">False</property> +    <property name="icon_name">help-browser</property> +  </object> +  <object class="GtkImage" id="image2"> +    <property name="visible">True</property> +    <property name="can_focus">False</property> +    <property name="icon_name">process-stop</property> +  </object> +  <object class="GtkImage" id="image3"> +    <property name="visible">True</property> +    <property name="can_focus">False</property> +    <property name="icon_name">extract-archive</property> +  </object> +  <object class="GtkFileChooserDialog" id="dialog_extract"> +    <property name="can_focus">False</property> +    <property name="title" translatable="yes">Extract</property> +    <property name="type_hint">dialog</property> +    <property name="action">select-folder</property> +    <property name="local_only">False</property> +    <signal name="destroy" handler="on_dialog_extract_destroy" swapped="no"/> +    <signal name="response" handler="on_dialog_extract_response" swapped="no"/> +    <child> +      <placeholder/> +    </child> +    <child internal-child="vbox"> +      <object class="GtkBox"> +        <property name="can_focus">False</property> +        <property name="orientation">vertical</property> +        <child internal-child="action_area"> +          <object class="GtkButtonBox"> +            <property name="can_focus">False</property> +            <property name="layout_style">end</property> +            <child> +              <object class="GtkButton" id="button2"> +                <property name="label" translatable="yes">_Help</property> +                <property name="visible">True</property> +                <property name="can_focus">True</property> +                <property name="receives_default">True</property> +                <property name="image">image1</property> +                <property name="use_underline">True</property> +              </object> +              <packing> +                <property name="expand">True</property> +                <property name="fill">True</property> +                <property name="position">0</property> +              </packing> +            </child> +            <child> +              <object class="GtkButton" id="button1"> +                <property name="label" translatable="yes">_Cancel</property> +                <property name="visible">True</property> +                <property name="can_focus">True</property> +                <property name="receives_default">True</property> +                <property name="image">image2</property> +                <property name="use_underline">True</property> +              </object> +              <packing> +                <property name="expand">True</property> +                <property name="fill">True</property> +                <property name="position">1</property> +              </packing> +            </child> +            <child> +              <object class="GtkButton" id="button3"> +                <property name="label" translatable="yes">_Extract</property> +                <property name="visible">True</property> +                <property name="can_focus">True</property> +                <property name="can_default">True</property> +                <property name="has_default">True</property> +                <property name="receives_default">True</property> +                <property name="image">image3</property> +                <property name="use_underline">True</property> +              </object> +              <packing> +                <property name="expand">True</property> +                <property name="fill">True</property> +                <property name="position">2</property> +              </packing> +            </child> +          </object> +          <packing> +            <property name="expand">False</property> +            <property name="fill">False</property> +            <property name="position">0</property> +          </packing> +        </child> +        <child> +          <object class="GtkBox" id="extra_widget"> +            <property name="visible">True</property> +            <property name="can_focus">False</property> +            <property name="margin_left">6</property> +            <property name="margin_right">6</property> +            <property name="margin_top">6</property> +            <property name="margin_bottom">6</property> +            <property name="spacing">6</property> +            <child> +              <object class="GtkFrame"> +                <property name="visible">True</property> +                <property name="can_focus">False</property> +                <property name="label_xalign">0</property> +                <property name="shadow_type">none</property> +                <child> +                  <object class="GtkAlignment"> +                    <property name="visible">True</property> +                    <property name="can_focus">False</property> +                    <property name="left_padding">12</property> +                    <child> +                      <object class="GtkBox" id="box3"> +                        <property name="visible">True</property> +                        <property name="can_focus">False</property> +                        <property name="margin_top">6</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="visible">True</property> +                            <property name="can_focus">True</property> +                            <property name="receives_default">False</property> +                            <property name="halign">start</property> +                            <property name="use_underline">True</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="visible">True</property> +                            <property name="can_focus">True</property> +                            <property name="receives_default">False</property> +                            <property name="halign">start</property> +                            <property name="use_underline">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="visible">True</property> +                                <property name="can_focus">True</property> +                                <property name="receives_default">False</property> +                                <property name="halign">start</property> +                                <property name="use_underline">True</property> +                                <property name="draw_indicator">True</property> +                                <property name="group">all_files_radiobutton</property> +                                <accessibility> +                                  <relation type="label-for" target="file_pattern_entry"/> +                                </accessibility> +                              </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: *.txt; *.doc</property> +                                <property name="invisible_char">●</property> +                                <signal name="changed" handler="on_file_pattern_entry_changed" swapped="no"/> +                                <accessibility> +                                  <relation type="labelled-by" target="file_pattern_radiobutton"/> +                                </accessibility> +                              </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> +                    </child> +                  </object> +                </child> +                <child type="label"> +                  <object class="GtkLabel"> +                    <property name="visible">True</property> +                    <property name="can_focus">False</property> +                    <property name="label" translatable="yes">Extract</property> +                    <attributes> +                      <attribute name="weight" value="bold"/> +                    </attributes> +                  </object> +                </child> +              </object> +              <packing> +                <property name="expand">False</property> +                <property name="fill">True</property> +                <property name="position">0</property> +              </packing> +            </child> +            <child> +              <object class="GtkFrame"> +                <property name="visible">True</property> +                <property name="can_focus">False</property> +                <property name="label_xalign">0</property> +                <property name="shadow_type">none</property> +                <child> +                  <object class="GtkAlignment"> +                    <property name="visible">True</property> +                    <property name="can_focus">False</property> +                    <property name="left_padding">12</property> +                    <child> +                      <object class="GtkBox" id="box6"> +                        <property name="visible">True</property> +                        <property name="can_focus">False</property> +                        <property name="margin_top">6</property> +                        <property name="orientation">vertical</property> +                        <property name="spacing">6</property> +                        <child> +                          <object class="GtkCheckButton" id="recreate_dir_checkbutton"> +                            <property name="label" translatable="yes">Re-crea_te folders</property> +                            <property name="visible">True</property> +                            <property name="can_focus">True</property> +                            <property name="receives_default">False</property> +                            <property name="halign">start</property> +                            <property name="use_underline">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="GtkCheckButton" id="overwrite_checkbutton"> +                            <property name="label" translatable="yes">Over_write existing files</property> +                            <property name="visible">True</property> +                            <property name="can_focus">True</property> +                            <property name="receives_default">False</property> +                            <property name="halign">start</property> +                            <property name="use_underline">True</property> +                            <property name="draw_indicator">True</property> +                            <signal name="toggled" handler="on_overwrite_checkbutton_toggled" swapped="no"/> +                          </object> +                          <packing> +                            <property name="expand">False</property> +                            <property name="fill">True</property> +                            <property name="position">1</property> +                          </packing> +                        </child> +                        <child> +                          <object class="GtkCheckButton" id="not_newer_checkbutton"> +                            <property name="label" translatable="yes">Do not e_xtract older files</property> +                            <property name="visible">True</property> +                            <property name="can_focus">True</property> +                            <property name="receives_default">False</property> +                            <property name="halign">start</property> +                            <property name="use_underline">True</property> +                            <property name="draw_indicator">True</property> +                          </object> +                          <packing> +                            <property name="expand">False</property> +                            <property name="fill">True</property> +                            <property name="position">2</property> +                          </packing> +                        </child> +                      </object> +                    </child> +                  </object> +                </child> +                <child type="label"> +                  <object class="GtkLabel"> +                    <property name="visible">True</property> +                    <property name="can_focus">False</property> +                    <property name="label" translatable="yes">Actions</property> +                    <attributes> +                      <attribute name="weight" value="bold"/> +                    </attributes> +                  </object> +                </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">False</property> +            <property name="fill">True</property> +            <property name="position">2</property> +          </packing> +        </child> +      </object> +    </child> +    <action-widgets> +      <action-widget response="-11">button2</action-widget> +      <action-widget response="-6">button1</action-widget> +      <action-widget response="-5">button3</action-widget> +    </action-widgets> +  </object> +</interface> diff --git a/src/ui/extract-dialog-options.ui b/src/ui/extract-dialog-options.ui deleted file mode 100644 index 36a5014..0000000 --- a/src/ui/extract-dialog-options.ui +++ /dev/null @@ -1,223 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- Generated with glade 3.22.1 --> -<interface> -  <requires lib="gtk+" version="3.22"/> -  <object class="GtkBox" id="extra_widget"> -    <property name="visible">True</property> -    <property name="can_focus">False</property> -    <property name="border_width">10</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="label" translatable="yes" context="Action">Extract</property> -            <property name="xalign">0</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="visible">True</property> -                <property name="can_focus">True</property> -                <property name="receives_default">False</property> -                <property name="halign">start</property> -                <property name="use_underline">True</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="visible">True</property> -                <property name="can_focus">True</property> -                <property name="receives_default">False</property> -                <property name="halign">start</property> -                <property name="use_underline">True</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="visible">True</property> -                    <property name="can_focus">True</property> -                    <property name="receives_default">False</property> -                    <property name="halign">start</property> -                    <property name="use_underline">True</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: *.txt; *.doc</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="label" translatable="yes">Actions</property> -            <property name="xalign">0</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="recreate_dir_checkbutton"> -                <property name="label" translatable="yes">Re-crea_te folders</property> -                <property name="visible">True</property> -                <property name="can_focus">True</property> -                <property name="receives_default">False</property> -                <property name="halign">start</property> -                <property name="use_underline">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="GtkCheckButton" id="not_newer_checkbutton"> -                <property name="label" translatable="yes">Do not e_xtract older files</property> -                <property name="visible">True</property> -                <property name="can_focus">True</property> -                <property name="receives_default">False</property> -                <property name="halign">start</property> -                <property name="use_underline">True</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> -            <child> -              <object class="GtkCheckButton" id="overwrite_checkbutton"> -                <property name="label" translatable="yes">Over_write existing files</property> -                <property name="visible">True</property> -                <property name="can_focus">True</property> -                <property name="receives_default">False</property> -                <property name="halign">start</property> -                <property name="use_underline">True</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> | 
