From 1745954bab0aecd8022a8bb615d9e2f57c9acf21 Mon Sep 17 00:00:00 2001 From: Krifa75 Date: Wed, 16 Nov 2022 20:50:12 +0100 Subject: main: Move the control buttons to GtkBuilder --- data/totem.ui | 83 +++++++++++++++++++++++++++++++++++++++++++++++++----- 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 @@ + + True + 16 + 16 + media-playback-start-symbolic + 1 + +
@@ -252,18 +260,78 @@ False + - - - - - + + True + center + app.previous-chapter + Previous Chapter/Movie + + + Previous Chapter/Movie + + + + + True + media-skip-backward-symbolic + 1 + + + + + + + + True + center + icon_play + app.play + Play / Pause + + + Play / Pause + + + + + + + + True + center + app.next-chapter + Next Chapter/Movie + + + Next Chapter/Movie + + + + + True + media-skip-forward-symbolic + 1 + + + + + + + + False False - + True @@ -338,6 +406,7 @@ normal center True + gomenu 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", -- cgit v1.2.1