[Xfce4-commits] <midori:master> Make KatzeArrayAction::activate-item-alt fully autonomous

Christian Dywan noreply at xfce.org
Fri Sep 17 22:48:01 CEST 2010


Updating branch refs/heads/master
         to b66902ef7ab41d50a08890df24021554d645683a (commit)
       from dd585da0b086824259a9aef7ee91cf9b0e17e7af (commit)

commit b66902ef7ab41d50a08890df24021554d645683a
Author: Christian Dywan <christian at twotoasts.de>
Date:   Thu Sep 16 21:18:14 2010 +0200

    Make KatzeArrayAction::activate-item-alt fully autonomous
    
    Implementing the signal and returning TRUE makes it unneeded
    to implement activate-item as well now.

 katze/katze-arrayaction.c |   35 +++++++++++++++++-------
 midori/midori-browser.c   |   65 +++++++++++++++++---------------------------
 2 files changed, 50 insertions(+), 50 deletions(-)

diff --git a/katze/katze-arrayaction.c b/katze/katze-arrayaction.c
index c031a24..47fc08e 100644
--- a/katze/katze-arrayaction.c
+++ b/katze/katze-arrayaction.c
@@ -133,6 +133,15 @@ katze_array_action_class_init (KatzeArrayActionClass* class)
                                        G_TYPE_BOOLEAN, 2,
                                        GTK_TYPE_MENU_SHELL, KATZE_TYPE_ITEM);
 
+    /**
+     * KatzeArrayAction::activate-item:
+     * @array: the object on which the signal is emitted
+     * @item: the item being activated
+     *
+     * An item was clicked with the first button.
+     *
+     * Deprecated: 0.2.8: Use "activate-item-alt" instead.
+     **/
     signals[ACTIVATE_ITEM] = g_signal_new ("activate-item",
                                        G_TYPE_FROM_CLASS (class),
                                        (GSignalFlags) (G_SIGNAL_RUN_LAST),
@@ -149,8 +158,7 @@ katze_array_action_class_init (KatzeArrayActionClass* class)
      * @item: the item being activated
      * @button: the mouse button pressed
      *
-     * An item was clicked with a particular button. Use this if you need
-     * to handle middle or right clicks specially.
+     * An item was clicked, with the specified @button.
      *
      * Return value: %TRUE if the event was handled. If %FALSE is returned,
      *               the default "activate-item" signal is emitted.
@@ -287,11 +295,23 @@ katze_array_action_activate (GtkAction* action)
 }
 
 static void
+katze_array_action_activate_item (KatzeArrayAction* action,
+                                  KatzeItem*        item,
+                                  gint              button)
+{
+    gboolean handled = FALSE;
+    g_signal_emit (action, signals[ACTIVATE_ITEM_ALT], 0, item,
+                   button, &handled);
+    if (!handled)
+        g_signal_emit (action, signals[ACTIVATE_ITEM], 0, item);
+}
+
+static void
 katze_array_action_menu_activate_cb  (GtkWidget*        proxy,
                                       KatzeArrayAction* array_action)
 {
     KatzeItem* item = g_object_get_data (G_OBJECT (proxy), "KatzeItem");
-    g_signal_emit (array_action, signals[ACTIVATE_ITEM], 0, item);
+    katze_array_action_activate_item (array_action, item, 1);
 }
 
 static gboolean
@@ -300,13 +320,8 @@ katze_array_action_menu_button_press_cb (GtkWidget*        proxy,
                                          KatzeArrayAction* array_action)
 {
     KatzeItem* item = g_object_get_data (G_OBJECT (proxy), "KatzeItem");
-    gboolean handled;
-
-    g_signal_emit (array_action, signals[ACTIVATE_ITEM_ALT], 0, item,
-        event->button, &handled);
 
-    if (!handled)
-        g_signal_emit (array_action, signals[ACTIVATE_ITEM], 0, item);
+    katze_array_action_activate_item (array_action, item, event->button);
 
     /* we need to block the 'activate' handler which would be called
      * otherwise as well */
@@ -458,7 +473,7 @@ katze_array_action_proxy_clicked_cb (GtkWidget*        proxy,
     array = (KatzeArray*)g_object_get_data (G_OBJECT (proxy), "KatzeArray");
     if (KATZE_IS_ITEM (array) && katze_item_get_uri ((KatzeItem*)array))
     {
-        g_signal_emit (array_action, signals[ACTIVATE_ITEM], 0, array);
+        katze_array_action_activate_item (array_action, KATZE_ITEM (array), 1);
         return;
     }
 
diff --git a/midori/midori-browser.c b/midori/midori-browser.c
index 2edca99..b4db5b1 100644
--- a/midori/midori-browser.c
+++ b/midori/midori-browser.c
@@ -2652,28 +2652,23 @@ midori_browser_menu_item_deselect_cb (GtkWidget*     menuitem,
     _midori_browser_set_statusbar_text (browser, NULL);
 }
 
-static void
-midori_bookmarkbar_activate_item (GtkAction*     action,
-                                  KatzeItem*     item,
-                                  MidoriBrowser* browser)
-{
-    midori_browser_open_bookmark (browser, item);
-}
-
 static gboolean
 midori_bookmarkbar_activate_item_alt (GtkAction*     action,
                                       KatzeItem*     item,
                                       guint          button,
                                       MidoriBrowser* browser)
 {
-    if (button == 2)
+    if (button == 1)
+    {
+        midori_browser_open_bookmark (browser, item);
+    }
+    else 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;
+    return TRUE;
 }
 
 static void
@@ -2703,33 +2698,28 @@ _action_trash_populate_popup (GtkAction*     action,
     gtk_widget_show (menuitem);
 }
 
-static void
-_action_trash_activate_item (GtkAction*     action,
-                             KatzeItem*     item,
-                             MidoriBrowser* browser)
-{
-    guint n = midori_browser_add_item (browser, item);
-    midori_browser_set_current_page (browser, n);
-    katze_array_remove_item (browser->trash, item);
-    _midori_browser_update_actions (browser);
-}
-
 static gboolean
 _action_trash_activate_item_alt (GtkAction*     action,
                                  KatzeItem*     item,
                                  guint          button,
                                  MidoriBrowser* browser)
 {
-    if (button == 2)
+    if (button == 1)
     {
-        gint n = midori_browser_add_uri (browser, katze_item_get_uri (item));
+        guint n = midori_browser_add_item (browser, item);
+        midori_browser_set_current_page (browser, n);
+        katze_array_remove_item (browser->trash, item);
+        _midori_browser_update_actions (browser);
+    }
+    else if (button == 2)
+    {
+        gint n = midori_browser_add_item (browser, item);
         midori_browser_set_current_page_smartly (browser, n);
         katze_array_remove_item (browser->trash, item);
         _midori_browser_update_actions (browser);
-        return TRUE;
     }
 
-    return FALSE;
+    return TRUE;
 }
 
 /* static */ void
@@ -2899,16 +2889,17 @@ _action_window_populate_popup (GtkAction*     action,
 }
 
 static void
-_action_window_activate_item (GtkAction*     action,
-                              KatzeItem*     item,
-                              MidoriBrowser* browser)
+_action_window_activate_item_alt (GtkAction*     action,
+                                  KatzeItem*     item,
+                                  gint           button,
+                                  MidoriBrowser* browser)
 {
-    guint i, n;
-    GtkWidget* view;
+    guint i;
+    guint n = katze_array_get_length (browser->proxy_array);
 
-    n = katze_array_get_length (browser->proxy_array);
     for (i = 0; i < n; i++)
     {
+        GtkWidget* view;
         view = gtk_notebook_get_nth_page (GTK_NOTEBOOK (browser->notebook), i);
         if (midori_view_get_proxy_item (MIDORI_VIEW (view)) == item)
             gtk_notebook_set_current_page (GTK_NOTEBOOK (browser->notebook), i);
@@ -5683,8 +5674,6 @@ midori_browser_init (MidoriBrowser* browser)
     g_object_connect (action,
                       "signal::populate-popup",
                       _action_trash_populate_popup, browser,
-                      "signal::activate-item",
-                      _action_trash_activate_item, browser,
                       "signal::activate-item-alt",
                       _action_trash_activate_item_alt, browser,
                       NULL);
@@ -5701,8 +5690,6 @@ midori_browser_init (MidoriBrowser* browser)
     g_object_connect (action,
                       "signal::populate-folder",
                       _action_bookmarks_populate_folder, browser,
-                      "signal::activate-item",
-                      midori_bookmarkbar_activate_item, browser,
                       "signal::activate-item-alt",
                       midori_bookmarkbar_activate_item_alt, browser,
                       NULL);
@@ -5718,8 +5705,6 @@ 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);
@@ -5736,8 +5721,8 @@ midori_browser_init (MidoriBrowser* browser)
     g_object_connect (action,
                       "signal::populate-popup",
                       _action_window_populate_popup, browser,
-                      "signal::activate-item",
-                      _action_window_activate_item, browser,
+                      "signal::activate-item-alt",
+                      _action_window_activate_item_alt, browser,
                       NULL);
     gtk_action_group_add_action_with_accel (browser->action_group, action, "");
     g_object_unref (action);



More information about the Xfce4-commits mailing list