]> spindle.queued.net Git - midori/commitdiff
Replace Panel in app menu with individual panels
authorChristian Dywan <christian@twotoasts.de>
Thu, 5 Jul 2012 18:34:09 +0000 (20:34 +0200)
committerChristian Dywan <christian@twotoasts.de>
Thu, 5 Jul 2012 18:34:09 +0000 (20:34 +0200)
So users will see "Bookmarks" and "History" and hopefully
that's more discoverable than "Sidepanel".

midori/midori-browser.c
midori/midori-panel.c

index a193407ff72f704b7062209dc8fb6b34e3d0b2dc..7c64822e562b130200c02d3fb847a5819a821c44 100644 (file)
@@ -199,7 +199,8 @@ _midori_browser_set_toolbar_style (MidoriBrowser*     browser,
 
 GtkWidget*
 midori_panel_construct_menu_item (MidoriPanel*    panel,
-                                  MidoriViewable* viewable);
+                                  MidoriViewable* viewable,
+                                  gboolean        popup);
 
 static void
 midori_browser_settings_notify (MidoriWebSettings* web_settings,
@@ -3008,7 +3009,7 @@ _action_tools_populate_popup (GtkAction*     action,
                 j = 0;
                 while ((widget = midori_panel_get_nth_page (panel, j++)))
                 {
-                    menuitem = midori_panel_construct_menu_item (panel, MIDORI_VIEWABLE (widget));
+                    menuitem = midori_panel_construct_menu_item (panel, MIDORI_VIEWABLE (widget), FALSE);
                     gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem);
                 }
                 continue;
@@ -3158,7 +3159,7 @@ _action_compact_menu_populate_popup (GtkAction*     action,
       { "BookmarksExport"},
       { NULL },
       { "Fullscreen" },
-      { "Panel" },
+      { "p" },
       { "-" },
       #endif
       { NULL },
@@ -3213,6 +3214,21 @@ _action_compact_menu_populate_popup (GtkAction*     action,
                 g_signal_emit (browser, signals[POPULATE_TOOL_MENU], 0, menu);
                 continue;
             }
+            else if (actions[i].name[0] == 'p')
+            {
+                MidoriPanel* panel;
+                gsize j;
+                GtkWidget* widget;
+
+                panel = MIDORI_PANEL (browser->panel);
+                j = 0;
+                while ((widget = midori_panel_get_nth_page (panel, j++)))
+                {
+                    menuitem = midori_panel_construct_menu_item (panel, MIDORI_VIEWABLE (widget), TRUE);
+                    gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem);
+                }
+                continue;
+            }
             menuitem = sokoke_action_create_popup_menu_item (
                 _action_by_name (browser, actions[i].name));
         }
index 2c2b12bd13dfe3711343ce7177a82952e3aa74dd..dd10c8fb665f2040a253873d227cd280d4e7376d 100644 (file)
@@ -489,13 +489,15 @@ midori_panel_set_right_aligned (MidoriPanel* panel,
 /* Private function, used by MidoriBrowser */
 /* static */ GtkWidget*
 midori_panel_construct_menu_item (MidoriPanel*    panel,
-                                  MidoriViewable* viewable)
+                                  MidoriViewable* viewable,
+                                  gboolean        popup)
 {
     GtkAction* action;
     GtkWidget* menuitem;
 
     action = g_object_get_data (G_OBJECT (viewable), "midori-panel-action");
-    menuitem = gtk_action_create_menu_item (action);
+    menuitem = popup ? sokoke_action_create_popup_menu_item (action)
+      : gtk_action_create_menu_item (action);
     g_object_set_data (G_OBJECT (menuitem), "page", viewable);
 
     if (gtk_widget_get_visible (GTK_WIDGET (viewable)))