diff src/normal.c @ 682:f1b013312711

updated for version 7.0205
author vimboss
date Thu, 23 Feb 2006 21:26:58 +0000
parents 9364d114ed8d
children d7e33248b9c8
line wrap: on
line diff
--- a/src/normal.c
+++ b/src/normal.c
@@ -2437,13 +2437,23 @@ do_mouse(oap, c, dir, count, fixindent)
 	    c1 = TabPageIdxs[mouse_col];
 	    if (c1 >= 0)
 	    {
-		/* Go to specified tab page, or next one if not clicking on a
-		 * label. */
-		goto_tabpage(c1);
-
-		/* It's like clicking on the status line of a window. */
-		if (curwin != old_curwin)
+		if ((mod_mask & MOD_MASK_MULTI_CLICK) == MOD_MASK_2CLICK)
+		{
+		    /* double click opens new page */
 		    end_visual_mode();
+		    tabpage_new();
+		    tabpage_move(c1 == 0 ? 9999 : c1 - 1);
+		}
+		else
+		{
+		    /* Go to specified tab page, or next one if not clicking
+		     * on a label. */
+		    goto_tabpage(c1);
+
+		    /* It's like clicking on the status line of a window. */
+		    if (curwin != old_curwin)
+			end_visual_mode();
+		}
 	    }
 	    else if (c1 < 0)
 	    {
@@ -7895,6 +7905,9 @@ nv_g_cmd(cap)
     case 't':
 	goto_tabpage((int)cap->count0);
 	break;
+    case 'T':
+	goto_tabpage(-(int)cap->count1);
+	break;
 #endif
 
     default: