diff options
author | Krifa75 <yahiaoui.fakhri@gmail.com> | 2022-11-16 20:50:12 +0100 |
---|---|---|
committer | Bastien Nocera <hadess@hadess.net> | 2022-11-23 12:35:50 +0100 |
commit | 1745954bab0aecd8022a8bb615d9e2f57c9acf21 (patch) | |
tree | 7f76957a8353e4f7802ee38455e421c8e1f8ff59 | |
parent | b98e9c78f21f9d9aeef7f2479235708640a588bd (diff) | |
download | totem-1745954bab0aecd8022a8bb615d9e2f57c9acf21.tar.gz |
main: Move the control buttons to GtkBuilder
-rw-r--r-- | data/totem.ui | 83 | ||||
-rw-r--r-- | src/totem-object.c | 50 |
2 files changed, 77 insertions, 56 deletions
diff --git a/data/totem.ui b/data/totem.ui index 7cb93ed9a..328ef8919 100644 --- a/data/totem.ui +++ b/data/totem.ui @@ -4,6 +4,14 @@ <interface> <requires lib="gtk+" version="3.11"/> +<object class="GtkImage" id="icon_play"> + <property name="visible">True</property> + <property name="margin-start">16</property> + <property name="margin-end">16</property> + <property name="icon-name">media-playback-start-symbolic</property> + <property name="icon-size">1</property> +</object> + <menu id="appmenu"> <section id="python-console-placeholder"/> <section> @@ -252,18 +260,78 @@ <property name="can_focus">False</property> <style> <class name="linked"/> - </style> + </style> <child> - <placeholder/> - </child> - </object> - </child> - </object> + <object class="GtkButton"> + <property name="visible">True</property> + <property name="valign">center</property> + <property name="action-name">app.previous-chapter</property> + <property name="tooltip-text" translatable="yes">Previous Chapter/Movie</property> + <child internal-child="accessible"> + <object class="AtkObject"> + <property name="AtkObject::accessible-name" translatable="yes">Previous Chapter/Movie</property> + </object> + </child> + <child> + <object class="GtkImage"> + <property name="visible">True</property> + <property name="icon-name">media-skip-backward-symbolic</property> + <property name="icon-size">1</property> + </object> + </child> + <style> + <class name="image-button"/> + </style> + </object> + </child> + <child> + <object class="GtkButton" id="play_button"> + <property name="visible">True</property> + <property name="valign">center</property> + <property name="image">icon_play</property> + <property name="action-name">app.play</property> + <property name="tooltip-text" translatable="yes">Play / Pause</property> + <child internal-child="accessible"> + <object class="AtkObject"> + <property name="AtkObject::accessible-name" translatable="yes">Play / Pause</property> + </object> + </child> + <style> + <class name="image-button"/> + </style> + </object> + </child> + <child> + <object class="GtkButton"> + <property name="visible">True</property> + <property name="valign">center</property> + <property name="action-name">app.next-chapter</property> + <property name="tooltip-text" translatable="yes">Next Chapter/Movie</property> + <child internal-child="accessible"> + <object class="AtkObject"> + <property name="AtkObject::accessible-name" translatable="yes">Next Chapter/Movie</property> + </object> + </child> + <child> + <object class="GtkImage"> + <property name="visible">True</property> + <property name="icon-name">media-skip-forward-symbolic</property> + <property name="icon-size">1</property> + </object> + </child> + <style> + <class name="image-button"/> + </style> + </object> + </child> + </object> + </child> + </object> <packing> <property name="expand">False</property> <property name="homogeneous">False</property> </packing> - </child> + </child> <child> <object class="GtkToolItem" id="slider_toolbutton"> <property name="visible">True</property> @@ -338,6 +406,7 @@ <property name="relief">normal</property> <property name="valign">center</property> <property name="use-popover">True</property> + <property name="menu-model">gomenu</property> <style> <class name="image-button"/> </style> diff --git a/src/totem-object.c b/src/totem-object.c index 8f0d088ae..02740cdee 100644 --- a/src/totem-object.c +++ b/src/totem-object.c @@ -3907,37 +3907,6 @@ update_add_button_visibility (GObject *gobject, } } -static GtkWidget * -create_control_button (TotemObject *totem, - const gchar *action_name, - const gchar *icon_name, - const gchar *tooltip_text) -{ - GtkWidget *button, *image; - - button = gtk_button_new (); - gtk_actionable_set_action_name (GTK_ACTIONABLE (button), action_name); - image = gtk_image_new_from_icon_name (icon_name, GTK_ICON_SIZE_MENU); - gtk_button_set_image (GTK_BUTTON (button), image); - gtk_widget_set_valign (GTK_WIDGET (button), GTK_ALIGN_CENTER); - gtk_style_context_add_class (gtk_widget_get_style_context (button), "image-button"); - if (g_str_equal (action_name, "app.play")) { - g_object_set (G_OBJECT (image), - "margin-start", 16, - "margin-end", 16, - NULL); - totem->play_button = button; - } - - gtk_button_set_label (GTK_BUTTON (button), NULL); - gtk_widget_set_tooltip_text (button, tooltip_text); - atk_object_set_name (gtk_widget_get_accessible (button), tooltip_text); - - gtk_widget_show_all (button); - - return button; -} - static void totem_callback_connect (TotemObject *totem) { @@ -3956,23 +3925,8 @@ totem_callback_connect (TotemObject *totem) box = GTK_BOX (gtk_builder_get_object (totem->xml, "controls_box")); gtk_widget_insert_action_group (GTK_WIDGET (box), "app", G_ACTION_GROUP (totem)); - /* Previous */ - item = create_control_button (totem, "app.previous-chapter", - "media-skip-backward-symbolic", - _("Previous Chapter/Movie")); - gtk_box_pack_start (box, item, FALSE, FALSE, 0); - /* Play/Pause */ - item = create_control_button (totem, "app.play", - "media-playback-start-symbolic", - _("Play / Pause")); - gtk_box_pack_start (box, item, FALSE, FALSE, 0); - - /* Next */ - item = create_control_button (totem, "app.next-chapter", - "media-skip-forward-symbolic", - _("Next Chapter/Movie")); - gtk_box_pack_start (box, item, FALSE, FALSE, 0); + totem->play_button = GTK_WIDGET (gtk_builder_get_object (totem->xml, "play_button")); /* Seekbar */ g_signal_connect (totem->seek, "button-press-event", @@ -3995,8 +3949,6 @@ totem_callback_connect (TotemObject *totem) /* Go button */ item = GTK_WIDGET (gtk_builder_get_object (totem->xml, "go_button")); - menu = (GMenuModel *) gtk_builder_get_object (totem->xml, "gomenu"); - gtk_menu_button_set_menu_model (GTK_MENU_BUTTON (item), menu); popover = gtk_menu_button_get_popover (GTK_MENU_BUTTON (item)); gtk_widget_set_size_request (GTK_WIDGET (popover), 175, -1); g_signal_connect (G_OBJECT (item), "toggled", |