]> spindle.queued.net Git - midori/commitdiff
Open selection in new tab via Control.
authorPrzemek Sitek <el.pescado@gazeta.pl>
Mon, 7 Apr 2008 04:54:02 +0000 (06:54 +0200)
committerChristian Dywan <christian@twotoasts.de>
Mon, 7 Apr 2008 04:54:02 +0000 (06:54 +0200)
src/midori-webview.c

index 224c4cccd843872161126de62e3a902e2d8caf75..d7958c838595b85be890a691d0da1d8391ed1833 100644 (file)
@@ -396,7 +396,7 @@ gtk_widget_button_press_event (MidoriWebView*  web_view,
         if (state & GDK_CONTROL_MASK)
         {
             // FIXME: Reset font multiplier or zoom level
-            return TRUE;
+            return FALSE; // Allow Ctrl + Middle click
         }
         else
         {
@@ -421,11 +421,15 @@ gtk_widget_button_press_event_after (MidoriWebView*  web_view,
 
     if (event->button == 2 && priv->middle_click_goto)
     {
+        GdkModifierType state = (GdkModifierType) event->state;
         GtkClipboard* clipboard = gtk_clipboard_get (GDK_SELECTION_PRIMARY);
         gchar* uri = gtk_clipboard_wait_for_text (clipboard);
         if (uri && strchr (uri, '.') && !strchr (uri, ' '))
         {
-            g_object_set (web_view, "uri", uri, NULL);
+            if (state & GDK_CONTROL_MASK)
+                g_signal_emit (web_view, signals[NEW_TAB], 0, uri);
+            else
+                g_object_set (web_view, "uri", uri, NULL);
             g_free (uri);
             return TRUE;
         }