summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBastien Nocera <hadess@hadess.net>2022-02-09 19:28:45 +0100
committerBastien Nocera <hadess@hadess.net>2022-02-10 11:51:19 +0100
commit9ecf099363f4b713332554476b8bd0d384824b52 (patch)
treeedc80f4a8a17cc11338ce984217eb48d9702154f
parent50ab054d0ec3be04a8b0d7319fc86878f9728da9 (diff)
downloadtotem-9ecf099363f4b713332554476b8bd0d384824b52.tar.gz
main: Move fullscreen toolbar to GtkBuilder
-rw-r--r--data/totem.ui17
-rw-r--r--src/totem-interface.c3
-rw-r--r--src/totem-object.c20
3 files changed, 24 insertions, 16 deletions
diff --git a/data/totem.ui b/data/totem.ui
index 69b3f5261..d076cea3d 100644
--- a/data/totem.ui
+++ b/data/totem.ui
@@ -195,6 +195,23 @@
<property name="halign">fill</property>
<property name="valign">fill</property>
<child>
+ <object class="TotemMainToolbar" id="fullscreen_header">
+ <property name="visible">False</property>
+ <property name="show-search-button">False</property>
+ <property name="show-select-button">False</property>
+ <property name="show-back-button">True</property>
+ <property name="opacity">0.86</property>
+ <property name="halign">fill</property>
+ <property name="hexpand">True</property>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">0</property>
+ <property name="width">3</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
<object class="GtkSpinner" id="spinner">
<property name="visible">False</property>
<property name="vexpand">True</property>
diff --git a/src/totem-interface.c b/src/totem-interface.c
index dbc1cf899..32399d0b8 100644
--- a/src/totem-interface.c
+++ b/src/totem-interface.c
@@ -242,12 +242,13 @@ totem_interface_create_header_button (GtkWidget *header,
gtk_style_context_add_class (context, "image-button");
g_object_set (G_OBJECT (button), "valign", GTK_ALIGN_CENTER, NULL);
if (GTK_IS_MENU_BUTTON (button))
- g_object_set (G_OBJECT (button), "use-popover", TRUE, NULL);
+ g_object_set (G_OBJECT (button), "use-popover", TRUE, NULL);
if (pack_type == GTK_PACK_END)
gtk_header_bar_pack_end (GTK_HEADER_BAR (header), button);
else
gtk_header_bar_pack_start (GTK_HEADER_BAR (header), button);
+ gtk_widget_show_all (button);
return button;
}
diff --git a/src/totem-object.c b/src/totem-object.c
index f42fd5c62..c80717ce5 100644
--- a/src/totem-object.c
+++ b/src/totem-object.c
@@ -4035,7 +4035,6 @@ totem_callback_connect (TotemObject *totem)
NULL);
menu = (GMenuModel *) gtk_builder_get_object (totem->xml, "appmenu");
gtk_menu_button_set_menu_model (GTK_MENU_BUTTON (item), menu);
- gtk_widget_show (item);
/* Player menu */
item = totem->gear_button = totem_interface_create_header_button (totem->header,
@@ -4047,6 +4046,8 @@ totem_callback_connect (TotemObject *totem)
popover = gtk_menu_button_get_popover (GTK_MENU_BUTTON (item));
g_signal_connect (G_OBJECT (item), "toggled",
G_CALLBACK (popup_menu_shown_cb), totem);
+ gtk_widget_hide (item);
+ gtk_widget_set_no_show_all (item, TRUE);
/* Add button */
item = totem->add_button = totem_interface_create_header_button (totem->header,
@@ -4055,7 +4056,6 @@ totem_callback_connect (TotemObject *totem)
GTK_PACK_START);
menu = (GMenuModel *) gtk_builder_get_object (totem->xml, "addmenu");
gtk_menu_button_set_menu_model (GTK_MENU_BUTTON (item), menu);
- gtk_widget_show (item);
g_signal_connect (G_OBJECT (totem->header), "notify::search-mode",
G_CALLBACK (update_add_button_visibility), totem);
@@ -4068,6 +4068,8 @@ totem_callback_connect (TotemObject *totem)
"view-fullscreen-symbolic",
GTK_PACK_END);
gtk_actionable_set_action_name (GTK_ACTIONABLE (item), "app.fullscreen");
+ gtk_widget_hide (item);
+ gtk_widget_set_no_show_all (item, TRUE);
/* Connect the keys */
gtk_widget_add_events (totem->win, GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK);
@@ -4170,12 +4172,7 @@ add_fullscreen_toolbar (TotemObject *totem,
GtkWidget *item;
GMenuModel *menu;
- totem->fullscreen_header = g_object_new (TOTEM_TYPE_MAIN_TOOLBAR,
- "show-search-button", FALSE,
- "show-select-button", FALSE,
- "show-back-button", TRUE,
- "opacity", OVERLAY_OPACITY,
- NULL);
+ totem->fullscreen_header = GTK_WIDGET (gtk_builder_get_object (totem->xml, "fullscreen_header"));
g_object_bind_property (totem->header, "title",
totem->fullscreen_header, "title", 0);
g_object_bind_property (totem->header, "subtitle",
@@ -4202,13 +4199,6 @@ add_fullscreen_toolbar (TotemObject *totem,
g_signal_connect (G_OBJECT (item), "toggled",
G_CALLBACK (popup_menu_shown_cb), totem);
totem->fullscreen_gear_button = item;
-
- gtk_grid_attach (GTK_GRID (container), totem->fullscreen_header, 0, 0, 3, 1);
- gtk_widget_set_halign (totem->fullscreen_header, GTK_ALIGN_FILL);
- gtk_widget_set_hexpand (totem->fullscreen_header, TRUE);
- gtk_widget_set_opacity (totem->fullscreen_header, OVERLAY_OPACITY);
- gtk_widget_show_all (totem->fullscreen_header);
- gtk_widget_hide (totem->fullscreen_header);
}
void