[Xfce4-commits] <midori:master> Implement activate-item(-alt) for bookmarkbar mouse buttons

Christian Dywan noreply at xfce.org
Mon Jul 19 21:44:05 CEST 2010


Updating branch refs/heads/master
         to f764f25747607ced59403a8da7ef9029d5bbf9a4 (commit)
       from 9a098e2656d681c38180e9f3779433e1100e5905 (commit)

commit f764f25747607ced59403a8da7ef9029d5bbf9a4
Author: Christian Dywan <christian at twotoasts.de>
Date:   Mon Jul 19 21:39:57 2010 +0200

    Implement activate-item(-alt) for bookmarkbar mouse buttons

 midori/midori-browser.c |   50 +++++++++++++++++++++++++++++++----------------
 1 files changed, 33 insertions(+), 17 deletions(-)

diff --git a/midori/midori-browser.c b/midori/midori-browser.c
index 16f25e2..a9359d0 100644
--- a/midori/midori-browser.c
+++ b/midori/midori-browser.c
@@ -2652,6 +2652,30 @@ midori_browser_menu_item_deselect_cb (GtkWidget*     menuitem,
 }
 
 static void
+midori_bookmarkbar_activate_item (GtkAction*     action,
+                                  KatzeItem*     item,
+                                  MidoriBrowser* browser)
+{
+    midori_browser_set_current_uri (browser, katze_item_get_uri (item));
+}
+
+static gboolean
+midori_bookmarkbar_activate_item_alt (GtkAction*     action,
+                                      KatzeItem*     item,
+                                      guint          button,
+                                      MidoriBrowser* browser)
+{
+    if (button == 2)
+    {
+        gint n = midori_browser_add_uri (browser, katze_item_get_uri (item));
+        midori_browser_set_current_page_smartly (browser, n);
+        return TRUE;
+    }
+
+    return FALSE;
+}
+
+static void
 _action_trash_populate_popup (GtkAction*     action,
                               GtkMenu*       menu,
                               MidoriBrowser* browser)
@@ -2697,15 +2721,10 @@ _action_trash_activate_item_alt (GtkAction*     action,
 {
     if (button == 2)
     {
-        gint n;
-
-        n = midori_browser_add_uri (browser, katze_item_get_uri (item));
-
+        gint n = midori_browser_add_uri (browser, katze_item_get_uri (item));
         midori_browser_set_current_page_smartly (browser, n);
-
         katze_array_remove_item (browser->trash, item);
         _midori_browser_update_actions (browser);
-
         return TRUE;
     }
 
@@ -5668,6 +5687,10 @@ midori_browser_init (MidoriBrowser* browser)
     g_object_connect (action,
                       "signal::populate-popup",
                       _action_tools_populate_popup, browser,
+                      "signal::activate-item",
+                      midori_bookmarkbar_activate_item, browser,
+                      "signal::activate-item-alt",
+                      midori_bookmarkbar_activate_item_alt, browser,
                       NULL);
     gtk_action_group_add_action (browser->action_group, action);
     g_object_unref (action);
@@ -6284,17 +6307,12 @@ midori_bookmarkbar_item_button_press_event_cb (GtkWidget*      toolitem,
     item = (KatzeItem*)g_object_get_data (G_OBJECT (toolitem), "KatzeItem");
     if (event->button == 2)
     {
-        if (katze_item_get_uri (item))
+        if (KATZE_ITEM_IS_BOOKMARK (item))
         {
             n = midori_browser_add_uri (browser, katze_item_get_uri (item));
             midori_browser_set_current_page_smartly (browser, n);
-
             return TRUE;
         }
-        else
-        {
-            /* FIXME: This is a folder and we need to popup a menu */
-        }
     }
     else if (event->button == 3)
     {
@@ -6308,12 +6326,10 @@ static void
 midori_bookmarkbar_insert_item (GtkWidget* toolbar,
                                 KatzeItem* item)
 {
-    GtkToolItem* toolitem;
-
     MidoriBrowser* browser = midori_browser_get_for_widget (toolbar);
-
-    toolitem = katze_array_action_create_tool_item_for (
-        KATZE_ARRAY_ACTION (_action_by_name (browser, "Tools")), item);
+    GtkAction* action = _action_by_name (browser, "Tools");
+    GtkToolItem* toolitem = katze_array_action_create_tool_item_for (
+        KATZE_ARRAY_ACTION (action), item);
     g_object_set_data (G_OBJECT (toolitem), "KatzeItem", item);
 
     if (KATZE_IS_ITEM (item))



More information about the Xfce4-commits mailing list