summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2006-02-15 22:18:42 +0000
committerBram Moolenaar <Bram@vim.org>2006-02-15 22:18:42 +0000
commit4c7ed462cb7813730b4f15f9cb09f1b26d097fca (patch)
treecbca54821fdbaeb62a5c92ef875c8b8df54813c3 /src
parente45828b593d8308535b80ef17fe660ead6fab533 (diff)
updated for version 7.0198v7.0198
Diffstat (limited to 'src')
-rw-r--r--src/gui_gtk_x11.c3
-rw-r--r--src/option.c13
-rw-r--r--src/option.h1
-rw-r--r--src/proto/gui.pro1
-rw-r--r--src/proto/window.pro1
-rw-r--r--src/screen.c26
-rw-r--r--src/structs.h12
-rw-r--r--src/syntax.c7
-rw-r--r--src/version.h4
9 files changed, 54 insertions, 14 deletions
diff --git a/src/gui_gtk_x11.c b/src/gui_gtk_x11.c
index 1502e0c1c0..c608f9d4ad 100644
--- a/src/gui_gtk_x11.c
+++ b/src/gui_gtk_x11.c
@@ -3456,6 +3456,9 @@ update_window_manager_hints(void)
* otherwise the hints don't work. */
width = gui_get_base_width();
height = gui_get_base_height();
+# ifdef FEAT_MENU
+ height += tabpageline_height() * gui.char_height;
+# endif
# ifdef HAVE_GTK2
width += get_menu_tool_width();
height += get_menu_tool_height();
diff --git a/src/option.c b/src/option.c
index cca91cc5dd..25ddafbd2a 100644
--- a/src/option.c
+++ b/src/option.c
@@ -2181,6 +2181,13 @@ static struct vimoption
{(char_u *)0L, (char_u *)0L}
#endif
},
+ {"tabline", "tal", P_NUM|P_VI_DEF|P_RALL,
+#ifdef FEAT_WINDOWS
+ (char_u *)&p_tal, PV_NONE,
+#else
+ (char_u *)NULL, PV_NONE,
+#endif
+ {(char_u *)1L, (char_u *)0L}},
{"tabstop", "ts", P_NUM|P_VI_DEF|P_RBUF,
(char_u *)&p_ts, PV_TS,
{(char_u *)8L, (char_u *)0L}},
@@ -7259,6 +7266,12 @@ set_num_option(opt_idx, varp, value, errbuf, errbuflen, opt_flags)
{
last_status(FALSE);
}
+
+ /* (re)set tab page line */
+ else if (pp == &p_tal)
+ {
+ shell_new_rows(); /* recompute window positions and heights */
+ }
#endif
#ifdef FEAT_GUI
diff --git a/src/option.h b/src/option.h
index f1714ae444..d3c01ecd1a 100644
--- a/src/option.h
+++ b/src/option.h
@@ -577,6 +577,7 @@ EXTERN char_u *p_lispwords; /* 'lispwords' */
#endif
#ifdef FEAT_WINDOWS
EXTERN long p_ls; /* 'laststatus' */
+EXTERN long p_tal; /* 'tabline' */
#endif
EXTERN char_u *p_lcs; /* 'listchars' */
diff --git a/src/proto/gui.pro b/src/proto/gui.pro
index d9dea654d8..eacc2ac82d 100644
--- a/src/proto/gui.pro
+++ b/src/proto/gui.pro
@@ -34,6 +34,7 @@ void gui_send_mouse_event __ARGS((int button, int x, int y, int repeated_click,
int gui_xy2colrow __ARGS((int x, int y, int *colp));
void gui_menu_cb __ARGS((vimmenu_T *menu));
void gui_init_which_components __ARGS((char_u *oldval));
+void gui_remove_scrollbars __ARGS((void));
void gui_create_scrollbar __ARGS((scrollbar_T *sb, int type, win_T *wp));
scrollbar_T *gui_find_scrollbar __ARGS((long ident));
void gui_drag_scrollbar __ARGS((scrollbar_T *sb, long value, int still_dragging));
diff --git a/src/proto/window.pro b/src/proto/window.pro
index a1808bc692..0ff745a083 100644
--- a/src/proto/window.pro
+++ b/src/proto/window.pro
@@ -26,6 +26,7 @@ void shell_new_rows __ARGS((void));
void shell_new_columns __ARGS((void));
void win_size_save __ARGS((garray_T *gap));
void win_size_restore __ARGS((garray_T *gap));
+int win_comp_pos __ARGS((void));
void win_setheight __ARGS((int height));
void win_setheight_win __ARGS((int height, win_T *win));
void win_setwidth __ARGS((int width));
diff --git a/src/screen.c b/src/screen.c
index ba5475b0d0..9005efafd9 100644
--- a/src/screen.c
+++ b/src/screen.c
@@ -701,8 +701,14 @@ updateWindow(wp)
if (clip_star.available && clip_isautosel())
clip_update_selection();
#endif
+
win_update(wp);
+
#ifdef FEAT_WINDOWS
+ /* When the screen was cleared redraw the tab pages line. */
+ if (redraw_tabpage)
+ draw_tabpage();
+
if (wp->w_redr_status
# ifdef FEAT_CMDL_INFO
|| p_ru
@@ -7057,6 +7063,9 @@ screenclear2()
win_rest_invalid(firstwin);
redraw_cmdline = TRUE;
+#ifdef FEAT_WINDOWS
+ redraw_tabpage = TRUE;
+#endif
if (must_redraw == CLEAR) /* no need to clear again */
must_redraw = NOT_VALID;
compute_cmdrow();
@@ -8468,11 +8477,14 @@ draw_tabpage()
c = '/';
else
c = '\\';
- screen_putchar(c, 0, col++, attr);
+ if (t_colors < 8)
+ screen_putchar(c, 0, col++, attr);
if (tp->tp_topframe != topframe)
attr = attr_nosel;
+ screen_putchar(' ', 0, col++, attr);
+
if (tp->tp_topframe == topframe)
wp = curwin;
else
@@ -8488,11 +8500,17 @@ draw_tabpage()
len = tabwidth;
screen_puts_len(NameBuff, len, 0, col, attr);
col += len;
+ screen_putchar(' ', 0, col++, attr);
}
- screen_putchar('\\', 0, col++, attr);
- while (col < Columns)
- screen_putchar('_', 0, col++, attr_fill);
+ if (t_colors < 8)
+ {
+ screen_putchar('\\', 0, col++, attr);
+ c = '_';
+ }
+ else
+ c = ' ';
+ screen_fill(0, 1, col, (int)Columns, c, c, attr_fill);
}
#endif
diff --git a/src/structs.h b/src/structs.h
index a743a4f465..893b826f9b 100644
--- a/src/structs.h
+++ b/src/structs.h
@@ -1555,11 +1555,13 @@ typedef struct w_line
typedef struct tabpage_S tabpage_T;
struct tabpage_S
{
- tabpage_T *tp_next; /* next tabpage or NULL */
- frame_T *tp_topframe;
- win_T *tp_curwin; /* current window in this Tab page */
- win_T *tp_firstwin; /* first window in this Tab page */
- win_T *tp_lastwin; /* last window in this Tab page */
+ tabpage_T *tp_next; /* next tabpage or NULL */
+ frame_T *tp_topframe; /* topframe for the windows */
+ win_T *tp_curwin; /* current window in this Tab page */
+ win_T *tp_firstwin; /* first window in this Tab page */
+ win_T *tp_lastwin; /* last window in this Tab page */
+ long tp_old_Rows; /* Rows when Tab page was left */
+ long tp_old_Columns; /* Columns when Tab page was left */
};
/*
diff --git a/src/syntax.c b/src/syntax.c
index 0db3a6e74e..2574f3d476 100644
--- a/src/syntax.c
+++ b/src/syntax.c
@@ -6079,9 +6079,8 @@ static char *(highlight_init_both[]) =
"DiffText term=reverse cterm=bold ctermbg=Red gui=bold guibg=Red",
"PmenuThumb cterm=reverse gui=reverse",
"PmenuSbar ctermbg=Grey guibg=Grey",
- "TabPage term=underline cterm=underline ctermbg=grey gui=underline guibg=grey",
- "TabPageSel term=reverse,bold cterm=reverse,bold gui=reverse,bold",
- "TabPageFill term=underline cterm=underline ctermbg=grey gui=underline guibg=grey",
+ "TabPageSel term=bold cterm=bold gui=bold",
+ "TabPageFill term=reverse cterm=reverse gui=reverse",
NULL
};
@@ -6110,6 +6109,7 @@ static char *(highlight_init_light[]) =
"DiffAdd term=bold ctermbg=LightBlue guibg=LightBlue",
"DiffChange term=bold ctermbg=LightMagenta guibg=LightMagenta",
"DiffDelete term=bold ctermfg=Blue ctermbg=LightCyan gui=bold guifg=Blue guibg=LightCyan",
+ "TabPage term=underline cterm=underline ctermbg=LightGrey gui=underline guibg=LightGrey",
NULL
};
@@ -6138,6 +6138,7 @@ static char *(highlight_init_dark[]) =
"DiffAdd term=bold ctermbg=DarkBlue guibg=DarkBlue",
"DiffChange term=bold ctermbg=DarkMagenta guibg=DarkMagenta",
"DiffDelete term=bold ctermfg=Blue ctermbg=DarkCyan gui=bold guifg=Blue guibg=DarkCyan",
+ "TabPage term=underline cterm=underline ctermbg=DarkGrey gui=underline guibg=DarkGrey",
NULL
};
diff --git a/src/version.h b/src/version.h
index 6ff870f9fa..0f561bc61b 100644
--- a/src/version.h
+++ b/src/version.h
@@ -36,5 +36,5 @@
#define VIM_VERSION_NODOT "vim70aa"
#define VIM_VERSION_SHORT "7.0aa"
#define VIM_VERSION_MEDIUM "7.0aa ALPHA"
-#define VIM_VERSION_LONG "VIM - Vi IMproved 7.0aa ALPHA (2006 Feb 14)"
-#define VIM_VERSION_LONG_DATE "VIM - Vi IMproved 7.0aa ALPHA (2006 Feb 14, compiled "
+#define VIM_VERSION_LONG "VIM - Vi IMproved 7.0aa ALPHA (2006 Feb 15)"
+#define VIM_VERSION_LONG_DATE "VIM - Vi IMproved 7.0aa ALPHA (2006 Feb 15, compiled "