[epiphany] Add application manager to menu popover
- From: Jan-Michael Brummer <jbrummer src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [epiphany] Add application manager to menu popover
- Date: Thu, 20 Dec 2018 09:51:58 +0000 (UTC)
commit 2ba22d1a92d013e69966e3dfbf6b4baa4020ff05
Author: Jan-Michael Brummer <jan brummer tabos org>
Date: Wed Dec 19 11:50:14 2018 +0100
Add application manager to menu popover
Make application manager more prominent for the user, so he can also uninstall his web apps within the
browser.
Fixes: https://gitlab.gnome.org/GNOME/epiphany/issues/267
src/ephy-header-bar.c | 2 ++
src/ephy-window.c | 2 ++
src/resources/gtk/page-menu-popover.ui | 8 ++++++++
src/window-commands.c | 17 +++++++++++++++++
src/window-commands.h | 3 +++
5 files changed, 32 insertions(+)
---
diff --git a/src/ephy-header-bar.c b/src/ephy-header-bar.c
index 109a2f3e7..f169c0548 100644
--- a/src/ephy-header-bar.c
+++ b/src/ephy-header-bar.c
@@ -215,6 +215,7 @@ ephy_header_bar_constructed (GObject *object)
gtk_widget_destroy (GTK_WIDGET (gtk_builder_get_object (builder, "export-bookmarks-button")));
gtk_widget_destroy (GTK_WIDGET (gtk_builder_get_object (builder, "save-as-application-separator")));
gtk_widget_destroy (GTK_WIDGET (gtk_builder_get_object (builder, "save-as-application-button")));
+ gtk_widget_destroy (GTK_WIDGET (gtk_builder_get_object (builder, "application-manager-button")));
gtk_widget_destroy (GTK_WIDGET (gtk_builder_get_object (builder, "override-text-encoding-separator")));
gtk_widget_destroy (GTK_WIDGET (gtk_builder_get_object (builder, "override-text-encoding-button")));
gtk_widget_destroy (GTK_WIDGET (gtk_builder_get_object (builder, "keyboard-shortcuts-button")));
@@ -222,6 +223,7 @@ ephy_header_bar_constructed (GObject *object)
} else if (ephy_is_running_inside_flatpak ()) {
gtk_widget_destroy (GTK_WIDGET (gtk_builder_get_object (builder, "save-as-application-separator")));
gtk_widget_destroy (GTK_WIDGET (gtk_builder_get_object (builder, "save-as-application-button")));
+ gtk_widget_destroy (GTK_WIDGET (gtk_builder_get_object (builder, "application-manager-button")));
}
gtk_menu_button_set_popover (GTK_MENU_BUTTON (button), page_menu_popover);
g_object_unref (builder);
diff --git a/src/ephy-window.c b/src/ephy-window.c
index 6be54a3d0..0dcc2654b 100644
--- a/src/ephy-window.c
+++ b/src/ephy-window.c
@@ -85,6 +85,7 @@ const struct {
{ "win.open", { "<Primary>O", NULL } },
{ "win.save-as", { "<shift><Primary>S", "<Primary>S", NULL } },
{ "win.save-as-application", { "<shift><Primary>A", NULL } },
+ { "win.open-application-manager", { "<shift><Primary>C", NULL } },
{ "win.undo", { "<Primary>Z", NULL } },
{ "win.redo", { "<shift><Primary>Z", NULL } },
{ "win.copy", { "<Primary>C", NULL } },
@@ -774,6 +775,7 @@ static const GActionEntry window_entries [] =
{ "open", window_cmd_open },
{ "save-as", window_cmd_save_as },
{ "save-as-application", window_cmd_save_as_application },
+ { "open-application-manager", window_cmd_open_application_manager },
{ "undo", window_cmd_undo },
{ "redo", window_cmd_redo },
{ "cut", window_cmd_cut },
diff --git a/src/resources/gtk/page-menu-popover.ui b/src/resources/gtk/page-menu-popover.ui
index da0581f63..28664e133 100644
--- a/src/resources/gtk/page-menu-popover.ui
+++ b/src/resources/gtk/page-menu-popover.ui
@@ -212,6 +212,14 @@
<property name="visible">True</property>
</object>
</child>
+ <child>
+ <object class="GtkModelButton" id="application-manager-button">
+ <property name="can_focus">True</property>
+ <property name="text" translatable="yes">Open Appli_cation Manager</property>
+ <property name="action-name">win.open-application-manager</property>
+ <property name="visible">True</property>
+ </object>
+ </child>
<!-- FRAGILE: These buttons are manually removed for app mode in ephy-header-bar.c. -->
<child>
<object class="GtkSeparator" id="override-text-encoding-separator">
diff --git a/src/window-commands.c b/src/window-commands.c
index a0706a086..4ca50374c 100644
--- a/src/window-commands.c
+++ b/src/window-commands.c
@@ -2519,3 +2519,20 @@ window_cmd_toggle_reader_mode (GSimpleAction *action,
ephy_web_view_toggle_reader_mode (web_view, !active);
}
+
+void
+window_cmd_open_application_manager (GSimpleAction *action,
+ GVariant *parameter,
+ gpointer user_data)
+{
+ EphyWindow *window = EPHY_WINDOW (user_data);
+ EphyEmbed *embed;
+ EphyWebView *web_view;
+
+ embed = ephy_embed_container_get_active_child (EPHY_EMBED_CONTAINER (window));
+ g_assert (embed != NULL);
+
+ web_view = ephy_embed_get_web_view (embed);
+
+ ephy_web_view_load_url (web_view, "about:applications");
+}
diff --git a/src/window-commands.h b/src/window-commands.h
index a961d7418..9a52cb1cd 100644
--- a/src/window-commands.h
+++ b/src/window-commands.h
@@ -206,5 +206,8 @@ void window_cmd_change_show_tab_state (GSimpleAction *action,
void window_cmd_toggle_reader_mode (GSimpleAction *action,
GVariant *parameter,
gpointer user_data);
+void window_cmd_open_application_manager (GSimpleAction *action,
+ GVariant *parameter,
+ gpointer user_data);
G_END_DECLS
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]