diff options
author | Alexandru Pandelea <alexandru.pandelea@gmail.com> | 2016-06-29 23:36:53 +0300 |
---|---|---|
committer | Alexandru Pandelea <alexandru.pandelea@gmail.com> | 2016-07-02 14:57:17 +0300 |
commit | aa716710a5058e3604b6386c567e03eb294c8339 (patch) | |
tree | 37660bb63a0df16a9cdf20923592bca8adbcbaea | |
parent | 47afb70b4e55f528caec814fff438ab873fa5537 (diff) | |
download | nautilus-aa716710a5058e3604b6386c567e03eb294c8339.tar.gz |
Use GtkPopoverMenu instead of GtkMenuButton
The GtkMenuButton is now a GtkToggleButton that shows a GtkPopoverMenu
with the same actions that were before in the menu.
https://bugzilla.gnome.org/show_bug.cgi?id=768311
-rw-r--r-- | src/nautilus-batch-rename.c | 31 | ||||
-rw-r--r-- | src/resources/ui/nautilus-batch-rename-dialog.ui | 74 |
2 files changed, 69 insertions, 36 deletions
diff --git a/src/nautilus-batch-rename.c b/src/nautilus-batch-rename.c index e5b2d9920..50cd0db8f 100644 --- a/src/nautilus-batch-rename.c +++ b/src/nautilus-batch-rename.c @@ -52,6 +52,8 @@ struct _NautilusBatchRename GtkWidget *add_button_label; GtkWidget *numbering_order_label; GtkWidget *scrolled_window; + GtkWidget *numbering_order_popover; + GtkWidget *numbering_order_button; GList *listbox_rows; @@ -238,7 +240,7 @@ create_row_for_label (const gchar *new_text, g_object_set_data (G_OBJECT (row), "show-separator", GINT_TO_POINTER (show_separator)); icon = gtk_image_new_from_icon_name ("media-playlist-consecutive-symbolic", - GTK_ICON_SIZE_SMALL_TOOLBAR); + GTK_ICON_SIZE_SMALL_TOOLBAR); box = g_object_new (GTK_TYPE_BOX, "orientation",GTK_ORIENTATION_HORIZONTAL, @@ -451,6 +453,21 @@ add_popover_closed (NautilusBatchRename *dialog) } static void +numbering_order_button_clicked (NautilusBatchRename *dialog) +{ + if (gtk_widget_is_visible (dialog->numbering_order_popover)) + gtk_widget_set_visible (dialog->numbering_order_popover, FALSE); + else + gtk_widget_set_visible (dialog->numbering_order_popover, TRUE); +} + +static void +numbering_order_popover_closed (NautilusBatchRename *dialog) +{ + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (dialog->numbering_order_button), FALSE); +} + +static void nautilus_batch_rename_initialize_actions (NautilusBatchRename *dialog) { GAction *action; @@ -464,14 +481,6 @@ nautilus_batch_rename_initialize_actions (NautilusBatchRename *dialog) gtk_widget_insert_action_group (GTK_WIDGET (dialog), "dialog", G_ACTION_GROUP (dialog->action_group)); - - action = g_action_map_lookup_action (G_ACTION_MAP (dialog->action_group), - "numbering-order-changed-ascending"); - g_simple_action_set_enabled (G_SIMPLE_ACTION (action),TRUE); - - action = g_action_map_lookup_action (G_ACTION_MAP (dialog->action_group), - "numbering-order-changed-descending"); - g_simple_action_set_enabled (G_SIMPLE_ACTION (action),TRUE); } static void @@ -501,6 +510,8 @@ nautilus_batch_rename_class_init (NautilusBatchRenameClass *klass) gtk_widget_class_bind_template_child (widget_class, NautilusBatchRename, add_button_label); gtk_widget_class_bind_template_child (widget_class, NautilusBatchRename, numbering_order_label); gtk_widget_class_bind_template_child (widget_class, NautilusBatchRename, scrolled_window); + gtk_widget_class_bind_template_child (widget_class, NautilusBatchRename, numbering_order_popover); + gtk_widget_class_bind_template_child (widget_class, NautilusBatchRename, numbering_order_button); gtk_widget_class_bind_template_callback (widget_class, file_names_widget_entry_on_changed); gtk_widget_class_bind_template_callback (widget_class, batch_rename_dialog_on_closed); @@ -508,6 +519,8 @@ nautilus_batch_rename_class_init (NautilusBatchRenameClass *klass) gtk_widget_class_bind_template_callback (widget_class, batch_rename_mode_changed); gtk_widget_class_bind_template_callback (widget_class, add_button_clicked); gtk_widget_class_bind_template_callback (widget_class, add_popover_closed); + gtk_widget_class_bind_template_callback (widget_class, numbering_order_button_clicked); + gtk_widget_class_bind_template_callback (widget_class, numbering_order_popover_closed); } GtkWidget* diff --git a/src/resources/ui/nautilus-batch-rename-dialog.ui b/src/resources/ui/nautilus-batch-rename-dialog.ui index 553dd644c..6c1f5291c 100644 --- a/src/resources/ui/nautilus-batch-rename-dialog.ui +++ b/src/resources/ui/nautilus-batch-rename-dialog.ui @@ -148,11 +148,9 @@ </packing> </child> <child> - <object class="GtkMenuButton" id="numbering_order_button"> + <object class="GtkToggleButton" id="numbering_order_button"> <property name="visible">True</property> - <property name="sensitive">True</property> - <property name="use-popover">True</property> - <property name="menu_model">numbering_order_menu</property> + <signal name="toggled" handler="numbering_order_button_clicked" swapped="yes" /> <child> <object class="GtkBox"> <property name="visible">True</property> @@ -306,8 +304,8 @@ </template> <object class="GtkPopover" id="add_popover"> - <property name="relative-to">add_button</property> <property name="position">bottom</property> + <property name="relative-to">add_button</property> <signal name="closed" handler="add_popover_closed" swapped="yes" /> <child> <object class="GtkLabel"> @@ -323,26 +321,48 @@ <property name="visible">True</property> <property name="icon_name">object-select-symbolic</property> </object> - - <menu id="numbering_order_menu"> - <section> - <item> - <attribute name="id">ascending</attribute> - <attribute name="label" translatable="yes">Original name (Ascending) </attribute> - <attribute name="action">dialog.numbering-order-changed-ascending</attribute> - </item> - <item> - <attribute name="label" translatable="yes">Original name (Descending)</attribute> - <attribute name="action">dialog.numbering-order-changed-descending</attribute> - </item> - <item> - <attribute name="label" translatable="yes">First Modified</attribute> - <attribute name="action">dialog.numbering-order-changed-first-modified</attribute> - </item> - <item> - <attribute name="label" translatable="yes">Last Modified</attribute> - <attribute name="action">dialog.numbering-order-changed-last-modified</attribute> - </item> - </section> - </menu> + <object class="GtkPopoverMenu" id="numbering_order_popover"> + <property name="relative-to">numbering_order_button</property> + <property name="position">bottom</property> + <signal name="closed" handler="numbering_order_popover_closed" swapped="yes" /> + <child> + <object class="GtkBox"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="orientation">vertical</property> + <child> + <object class="GtkModelButton" id="original_ascending"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="text" translatable="yes">Original name (Ascending) </property> + <property name="action-name">dialog.numbering-order-changed-ascending</property> + </object> + </child> + <child> + <object class="GtkModelButton" id="original_descending"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="text" translatable="yes">Original name (Descending) </property> + <property name="action-name">dialog.numbering-order-changed-descending</property> + </object> + </child> + <child> + <object class="GtkModelButton" id="first_modified"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="text" translatable="yes">First Modified</property> + <property name="action-name">dialog.numbering-order-changed-first-modified</property> + </object> + </child> + <child> + <object class="GtkModelButton" id="last_modified"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="text" translatable="yes">Last Modified</property> + <property name="action-name">dialog.numbering-order-changed-last-modified</property> + </object> + </child> + </object> + </child> + </object> </interface>
\ No newline at end of file |