summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBastien Nocera <hadess@hadess.net>2022-02-10 14:10:52 +0100
committerBastien Nocera <hadess@hadess.net>2022-02-11 18:33:04 +0100
commit33159fc81020aa259f2a41d410f675735676a7f4 (patch)
tree309ccb6cf67bd63e2feb7c5d1c02e32e5135f134
parent252354b8ab99a9e934381714dfae050b3070764f (diff)
downloadtotem-33159fc81020aa259f2a41d410f675735676a7f4.tar.gz
main: Move subtitles and audio tracks to a separate menu
-rw-r--r--data/totem.ui38
-rw-r--r--src/totem-object.c26
-rw-r--r--src/totem-private.h2
3 files changed, 49 insertions, 17 deletions
diff --git a/data/totem.ui b/data/totem.ui
index d076cea3d..c4bd1bf63 100644
--- a/data/totem.ui
+++ b/data/totem.ui
@@ -84,23 +84,7 @@
<attribute name="accel">&lt;Ctrl&gt;G</attribute>
</item>
</section>
- <section>
- <submenu>
- <attribute name="label" translatable="yes">_Languages</attribute>
- <section id="languages-placeholder"/>
- </submenu>
- <submenu>
- <attribute name="label" translatable="yes">S_ubtitles</attribute>
- <section>
- <item>
- <attribute name="label" translatable="yes">_Select Text Subtitles…</attribute>
- <attribute name="action">app.select-subtitle</attribute>
- </item>
- <section id="subtitle-download-placeholder"/>
- <section id="subtitles-placeholder"/>
- </section>
- </submenu>
- </section>
+
<section>
<item>
<attribute name="label" translatable="yes">Prefere_nces</attribute>
@@ -124,6 +108,26 @@
</section>
</menu>
+<menu id="subtitlesmenu">
+ <section>
+ <submenu>
+ <attribute name="label" translatable="yes">_Languages</attribute>
+ <section id="languages-placeholder"/>
+ </submenu>
+ <submenu>
+ <attribute name="label" translatable="yes">S_ubtitles</attribute>
+ <section>
+ <item>
+ <attribute name="label" translatable="yes">_Select Text Subtitles…</attribute>
+ <attribute name="action">app.select-subtitle</attribute>
+ </item>
+ <section id="subtitle-download-placeholder"/>
+ <section id="subtitles-placeholder"/>
+ </section>
+ </submenu>
+ </section>
+</menu>
+
<menu id="gomenu">
<section>
<item>
diff --git a/src/totem-object.c b/src/totem-object.c
index 3ad6de4c8..fc5855447 100644
--- a/src/totem-object.c
+++ b/src/totem-object.c
@@ -512,6 +512,7 @@ totem_object_class_init (TotemObjectClass *klass)
accumulator_first_non_null_wins, NULL,
g_cclosure_marshal_generic,
G_TYPE_STRING, 1, G_TYPE_STRING);
+
}
static void
@@ -1065,6 +1066,7 @@ totem_object_set_main_page (TotemObject *totem,
NULL);
gtk_widget_show (totem->fullscreen_button);
gtk_widget_show (totem->gear_button);
+ gtk_widget_show (totem->subtitles_button);
gtk_widget_hide (totem->add_button);
gtk_widget_hide (totem->main_menu_button);
show_popup (totem);
@@ -1088,6 +1090,7 @@ totem_object_set_main_page (TotemObject *totem,
gtk_widget_show (totem->main_menu_button);
gtk_widget_hide (totem->fullscreen_button);
gtk_widget_hide (totem->gear_button);
+ gtk_widget_hide (totem->subtitles_button);
if (totem_grilo_get_current_page (TOTEM_GRILO (totem->grilo)) == TOTEM_GRILO_PAGE_RECENT)
gtk_widget_show (totem->add_button);
totem_grilo_start (TOTEM_GRILO (totem->grilo));
@@ -4046,6 +4049,19 @@ totem_callback_connect (TotemObject *totem)
gtk_widget_hide (item);
gtk_widget_set_no_show_all (item, TRUE);
+ /* Subtitles menu */
+ item = totem->subtitles_button = totem_interface_create_header_button (totem->header,
+ gtk_menu_button_new (),
+ "media-view-subtitles-symbolic",
+ GTK_PACK_END);
+ menu = (GMenuModel *) gtk_builder_get_object (totem->xml, "subtitlesmenu");
+ gtk_menu_button_set_menu_model (GTK_MENU_BUTTON (item), menu);
+ 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,
gtk_menu_button_new (),
@@ -4193,6 +4209,16 @@ add_fullscreen_toolbar (TotemObject *totem,
g_signal_connect (G_OBJECT (item), "toggled",
G_CALLBACK (popup_menu_shown_cb), totem);
totem->fullscreen_gear_button = item;
+
+ item = totem_interface_create_header_button (totem->fullscreen_header,
+ gtk_menu_button_new (),
+ "media-view-subtitles-symbolic",
+ GTK_PACK_END);
+ menu = (GMenuModel *) gtk_builder_get_object (totem->xml, "subtitlesmenu");
+ gtk_menu_button_set_menu_model (GTK_MENU_BUTTON (item), menu);
+ g_signal_connect (G_OBJECT (item), "toggled",
+ G_CALLBACK (popup_menu_shown_cb), totem);
+ totem->fullscreen_subtitles_button = item;
}
void
diff --git a/src/totem-private.h b/src/totem-private.h
index 6337210dd..bc079a76b 100644
--- a/src/totem-private.h
+++ b/src/totem-private.h
@@ -89,6 +89,7 @@ struct _TotemObject {
GtkWidget *fullscreen_header;
GtkWidget *fullscreen_gear_button;
+ GtkWidget *fullscreen_subtitles_button;
/* Plugins */
GtkWidget *plugins;
@@ -140,6 +141,7 @@ struct _TotemObject {
GtkWidget *gear_button;
GtkWidget *add_button;
GtkWidget *main_menu_button;
+ GtkWidget *subtitles_button;
char *player_title;