Save toolbar changes via the menu and remove the Toolbar Items entry
This commit is contained in:
parent
60fd9b19d1
commit
0255edba43
2 changed files with 29 additions and 17 deletions
|
@ -1580,13 +1580,36 @@ midori_browser_toolbar_item_button_press_event_cb (GtkWidget* toolitem,
|
||||||
GdkEventButton* event,
|
GdkEventButton* event,
|
||||||
MidoriBrowser* browser);
|
MidoriBrowser* browser);
|
||||||
|
|
||||||
|
static void
|
||||||
|
_midori_browser_save_toolbar_items (MidoriBrowser* browser)
|
||||||
|
{
|
||||||
|
GString* toolbar_items;
|
||||||
|
GList* children;
|
||||||
|
gchar* items;
|
||||||
|
|
||||||
|
toolbar_items = g_string_new (NULL);
|
||||||
|
children = gtk_container_get_children (GTK_CONTAINER (browser->navigationbar));
|
||||||
|
for (; children != NULL; children = g_list_next (children))
|
||||||
|
{
|
||||||
|
GtkAction* action = gtk_widget_get_action (GTK_WIDGET (children->data));
|
||||||
|
if (strcmp (gtk_action_get_name (action), "Fullscreen"))
|
||||||
|
{
|
||||||
|
g_string_append (toolbar_items, gtk_action_get_name (action));
|
||||||
|
g_string_append (toolbar_items, ",");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
items = g_string_free (toolbar_items, FALSE);
|
||||||
|
g_object_set (browser->settings, "toolbar-items", items, NULL);
|
||||||
|
g_free (items);
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
midori_browser_toolbar_add_item_cb (GtkWidget* menuitem,
|
midori_browser_toolbar_add_item_cb (GtkWidget* menuitem,
|
||||||
MidoriBrowser* browser)
|
MidoriBrowser* browser)
|
||||||
{
|
{
|
||||||
GtkWidget* widget = g_object_get_data (G_OBJECT (menuitem), "widget");
|
GtkWidget* widget = g_object_get_data (G_OBJECT (menuitem), "widget");
|
||||||
GtkAction* action = g_object_get_data (G_OBJECT (menuitem), "action");
|
GtkAction* widget_action = g_object_get_data (G_OBJECT (menuitem), "action");
|
||||||
GtkWidget* toolitem = gtk_action_create_tool_item (action);
|
GtkWidget* toolitem = gtk_action_create_tool_item (widget_action);
|
||||||
if (widget)
|
if (widget)
|
||||||
{
|
{
|
||||||
gint i = gtk_toolbar_get_item_index (GTK_TOOLBAR (browser->navigationbar),
|
gint i = gtk_toolbar_get_item_index (GTK_TOOLBAR (browser->navigationbar),
|
||||||
|
@ -1601,7 +1624,7 @@ midori_browser_toolbar_add_item_cb (GtkWidget* menuitem,
|
||||||
"button-press-event",
|
"button-press-event",
|
||||||
G_CALLBACK (midori_browser_toolbar_item_button_press_event_cb),
|
G_CALLBACK (midori_browser_toolbar_item_button_press_event_cb),
|
||||||
browser);
|
browser);
|
||||||
/* FIXME: Save the new list of items */
|
_midori_browser_save_toolbar_items (browser);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -1610,7 +1633,7 @@ midori_browser_toolbar_remove_item_cb (GtkWidget* menuitem,
|
||||||
{
|
{
|
||||||
GtkWidget* widget = g_object_get_data (G_OBJECT (menuitem), "widget");
|
GtkWidget* widget = g_object_get_data (G_OBJECT (menuitem), "widget");
|
||||||
gtk_container_remove (GTK_CONTAINER (browser->navigationbar), widget);
|
gtk_container_remove (GTK_CONTAINER (browser->navigationbar), widget);
|
||||||
/* FIXME: Save the new list of items */
|
_midori_browser_save_toolbar_items (browser);
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
|
@ -1644,7 +1667,7 @@ midori_browser_toolbar_popup_context_menu_cb (GtkWidget* widget,
|
||||||
gtk_widget_is_ancestor (widget, browser->navigationbar))
|
gtk_widget_is_ancestor (widget, browser->navigationbar))
|
||||||
{
|
{
|
||||||
GtkAction* widget_action = gtk_widget_get_action (widget);
|
GtkAction* widget_action = gtk_widget_get_action (widget);
|
||||||
const gchar* actions[] = { "TabNew", "Open", "Print", "Find",
|
const gchar* actions[] = { "TabNew", "Open", "SaveAs", "Print", "Find",
|
||||||
"Preferences", "Window", "Bookmarks", "ReloadStop", "ZoomIn",
|
"Preferences", "Window", "Bookmarks", "ReloadStop", "ZoomIn",
|
||||||
"ZoomOut", "Back", "Forward", "Homepage", "Trash", "Search" };
|
"ZoomOut", "Back", "Forward", "Homepage", "Trash", "Search" };
|
||||||
GtkWidget* submenu;
|
GtkWidget* submenu;
|
||||||
|
|
|
@ -496,21 +496,10 @@ midori_preferences_set_settings (MidoriPreferences* preferences,
|
||||||
/* Page "Interface" */
|
/* Page "Interface" */
|
||||||
PAGE_NEW (GTK_STOCK_CONVERT, _("Interface"));
|
PAGE_NEW (GTK_STOCK_CONVERT, _("Interface"));
|
||||||
FRAME_NEW (_("Navigationbar"));
|
FRAME_NEW (_("Navigationbar"));
|
||||||
TABLE_NEW (3, 2);
|
TABLE_NEW (1, 2);
|
||||||
INDENTED_ADD (katze_property_label (settings, "toolbar-style"), 0, 1, 0, 1);
|
INDENTED_ADD (katze_property_label (settings, "toolbar-style"), 0, 1, 0, 1);
|
||||||
button = katze_property_proxy (settings, "toolbar-style", NULL);
|
button = katze_property_proxy (settings, "toolbar-style", NULL);
|
||||||
FILLED_ADD (button, 1, 2, 0, 1);
|
FILLED_ADD (button, 1, 2, 0, 1);
|
||||||
INDENTED_ADD (katze_property_label (settings, "toolbar-items"), 0, 1, 1, 2);
|
|
||||||
button = katze_property_proxy (settings, "toolbar-items", NULL);
|
|
||||||
FILLED_ADD (button, 1, 2, 1, 2);
|
|
||||||
button = gtk_label_new (NULL);
|
|
||||||
gtk_label_set_markup (GTK_LABEL (button),
|
|
||||||
"<span size='smaller'>"
|
|
||||||
"Separator, TabNew, Open, Print, Find, Location, Preferences, Window, Bookmarks\n"
|
|
||||||
"ReloadStop, ZoomIn, ZoomOut, Back, Forward, Homepage, Search, Trash"
|
|
||||||
"</span>");
|
|
||||||
gtk_label_set_selectable (GTK_LABEL (button), TRUE);
|
|
||||||
FILLED_ADD (button, 0, 2, 2, 3);
|
|
||||||
FRAME_NEW (_("Browsing"));
|
FRAME_NEW (_("Browsing"));
|
||||||
TABLE_NEW (5, 2);
|
TABLE_NEW (5, 2);
|
||||||
label = katze_property_label (settings, "open-new-pages-in");
|
label = katze_property_label (settings, "open-new-pages-in");
|
||||||
|
|
Loading…
Reference in a new issue