Replace Panel in app menu with individual panels

So users will see "Bookmarks" and "History" and hopefully
that's more discoverable than "Sidepanel".
This commit is contained in:
Christian Dywan 2012-07-05 20:34:09 +02:00
parent 21b643c825
commit d319d40416
2 changed files with 23 additions and 5 deletions

View file

@ -199,7 +199,8 @@ _midori_browser_set_toolbar_style (MidoriBrowser* browser,
GtkWidget* GtkWidget*
midori_panel_construct_menu_item (MidoriPanel* panel, midori_panel_construct_menu_item (MidoriPanel* panel,
MidoriViewable* viewable); MidoriViewable* viewable,
gboolean popup);
static void static void
midori_browser_settings_notify (MidoriWebSettings* web_settings, midori_browser_settings_notify (MidoriWebSettings* web_settings,
@ -3008,7 +3009,7 @@ _action_tools_populate_popup (GtkAction* action,
j = 0; j = 0;
while ((widget = midori_panel_get_nth_page (panel, j++))) 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); gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem);
} }
continue; continue;
@ -3158,7 +3159,7 @@ _action_compact_menu_populate_popup (GtkAction* action,
{ "BookmarksExport"}, { "BookmarksExport"},
{ NULL }, { NULL },
{ "Fullscreen" }, { "Fullscreen" },
{ "Panel" }, { "p" },
{ "-" }, { "-" },
#endif #endif
{ NULL }, { NULL },
@ -3213,6 +3214,21 @@ _action_compact_menu_populate_popup (GtkAction* action,
g_signal_emit (browser, signals[POPULATE_TOOL_MENU], 0, menu); g_signal_emit (browser, signals[POPULATE_TOOL_MENU], 0, menu);
continue; 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 ( menuitem = sokoke_action_create_popup_menu_item (
_action_by_name (browser, actions[i].name)); _action_by_name (browser, actions[i].name));
} }

View file

@ -489,13 +489,15 @@ midori_panel_set_right_aligned (MidoriPanel* panel,
/* Private function, used by MidoriBrowser */ /* Private function, used by MidoriBrowser */
/* static */ GtkWidget* /* static */ GtkWidget*
midori_panel_construct_menu_item (MidoriPanel* panel, midori_panel_construct_menu_item (MidoriPanel* panel,
MidoriViewable* viewable) MidoriViewable* viewable,
gboolean popup)
{ {
GtkAction* action; GtkAction* action;
GtkWidget* menuitem; GtkWidget* menuitem;
action = g_object_get_data (G_OBJECT (viewable), "midori-panel-action"); 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); g_object_set_data (G_OBJECT (menuitem), "page", viewable);
if (gtk_widget_get_visible (GTK_WIDGET (viewable))) if (gtk_widget_get_visible (GTK_WIDGET (viewable)))