]> spindle.queued.net Git - midori/commitdiff
Save toolbar changes via the menu and remove the Toolbar Items entry
authorChristian Dywan <christian@twotoasts.de>
Sun, 18 Jan 2009 03:38:46 +0000 (04:38 +0100)
committerChristian Dywan <christian@twotoasts.de>
Sun, 18 Jan 2009 03:38:46 +0000 (04:38 +0100)
midori/midori-browser.c
midori/midori-preferences.c

index 599057e870a21766ce79549148435e231a317129..b19813cb050ee6729f0c83c03cecce9573b7f27b 100644 (file)
@@ -1580,13 +1580,36 @@ midori_browser_toolbar_item_button_press_event_cb (GtkWidget*      toolitem,
                                                    GdkEventButton* event,
                                                    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
 midori_browser_toolbar_add_item_cb (GtkWidget*     menuitem,
                                     MidoriBrowser* browser)
 {
     GtkWidget* widget = g_object_get_data (G_OBJECT (menuitem), "widget");
-    GtkAction* action = g_object_get_data (G_OBJECT (menuitem), "action");
-    GtkWidget* toolitem = gtk_action_create_tool_item (action);
+    GtkAction* widget_action = g_object_get_data (G_OBJECT (menuitem), "action");
+    GtkWidget* toolitem = gtk_action_create_tool_item (widget_action);
     if (widget)
     {
         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",
                 G_CALLBACK (midori_browser_toolbar_item_button_press_event_cb),
                 browser);
-    /* FIXME: Save the new list of items */
+    _midori_browser_save_toolbar_items (browser);
 }
 
 static void
@@ -1610,7 +1633,7 @@ midori_browser_toolbar_remove_item_cb (GtkWidget*     menuitem,
 {
     GtkWidget* widget = g_object_get_data (G_OBJECT (menuitem), "widget");
     gtk_container_remove (GTK_CONTAINER (browser->navigationbar), widget);
-    /* FIXME: Save the new list of items */
+    _midori_browser_save_toolbar_items (browser);
 }
 
 static gboolean
@@ -1644,7 +1667,7 @@ midori_browser_toolbar_popup_context_menu_cb (GtkWidget*     widget,
         gtk_widget_is_ancestor (widget, browser->navigationbar))
     {
         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",
             "ZoomOut", "Back", "Forward", "Homepage", "Trash", "Search" };
         GtkWidget* submenu;
index 8d85ca96fd9447ee6b676a4092844338464a7c25..d8a389ecfc3c8fb974a94d34d1a92ef0408c0a17 100644 (file)
@@ -496,21 +496,10 @@ midori_preferences_set_settings (MidoriPreferences* preferences,
     /* Page "Interface" */
     PAGE_NEW (GTK_STOCK_CONVERT, _("Interface"));
     FRAME_NEW (_("Navigationbar"));
-    TABLE_NEW (3, 2);
+    TABLE_NEW (1, 2);
     INDENTED_ADD (katze_property_label (settings, "toolbar-style"), 0, 1, 0, 1);
     button = katze_property_proxy (settings, "toolbar-style", NULL);
     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"));
     TABLE_NEW (5, 2);
     label = katze_property_label (settings, "open-new-pages-in");