mirror of
https://github.com/netsurf-browser/netsurf
synced 2024-12-23 12:36:51 +03:00
add option to set tab position
svn path=/trunk/netsurf/; revision=12896
This commit is contained in:
parent
e3aceb4344
commit
cb27637a41
@ -70,7 +70,6 @@ DECLARE(checkHoverURLs);
|
||||
DECLARE(checkDisplayRecentURLs);
|
||||
DECLARE(comboLanguage);
|
||||
DECLARE(checkSendReferer);
|
||||
DECLARE(checkShowSingleTab);
|
||||
|
||||
DECLARE(comboProxyType);
|
||||
DECLARE(entryProxyHost);
|
||||
@ -103,8 +102,12 @@ DECLARE(spinDiscCacheAge);
|
||||
DECLARE(checkClearDownloads);
|
||||
DECLARE(checkRequestOverwrite);
|
||||
DECLARE(fileChooserDownloads);
|
||||
/* Tabs */
|
||||
DECLARE(checkShowSingleTab);
|
||||
DECLARE(checkFocusNew);
|
||||
DECLARE(checkNewBlank);
|
||||
DECLARE(comboTabPosition);
|
||||
|
||||
DECLARE(checkUrlSearch);
|
||||
DECLARE(comboSearch);
|
||||
DECLARE(combotheme);
|
||||
@ -199,6 +202,8 @@ GtkDialog* nsgtk_options_init(struct browser_window *bw, GtkWindow *parent)
|
||||
|
||||
CONNECT(comboButtonType, "changed");
|
||||
|
||||
CONNECT(comboTabPosition, "changed");
|
||||
|
||||
CONNECT(spinMemoryCacheSize, "value-changed");
|
||||
CONNECT(spinDiscCacheAge, "value-changed");
|
||||
|
||||
@ -396,6 +401,8 @@ void nsgtk_options_load(void)
|
||||
|
||||
SET_COMBO(comboButtonType, option_button_type -1);
|
||||
|
||||
SET_COMBO(comboTabPosition, option_position_tab);
|
||||
|
||||
SET_SPIN(spinMemoryCacheSize, option_memory_cache_size >> 20);
|
||||
SET_SPIN(spinDiscCacheAge, option_disc_cache_age);
|
||||
|
||||
@ -758,6 +765,19 @@ COMBO_CHANGED(comboButtonType, option_button_type)
|
||||
}
|
||||
END_HANDLER
|
||||
|
||||
COMBO_CHANGED(comboTabPosition, option_position_tab)
|
||||
nsgtk_scaffolding *current = scaf_list;
|
||||
option_button_type++;
|
||||
/* value of 0 is reserved for 'unset' */
|
||||
while (current) {
|
||||
nsgtk_scaffolding_reset_offset(current);
|
||||
|
||||
nsgtk_reflow_all_windows();
|
||||
|
||||
current = nsgtk_scaffolding_iterate(current);
|
||||
}
|
||||
END_HANDLER
|
||||
|
||||
SPIN_CHANGED(spinMemoryCacheSize, option_memory_cache_size)
|
||||
option_memory_cache_size <<= 20;
|
||||
END_HANDLER
|
||||
|
@ -37,6 +37,7 @@ extern bool option_new_blank;
|
||||
extern char *option_hotlist_path;
|
||||
extern bool option_source_tab;
|
||||
extern int option_current_theme;
|
||||
extern int option_position_tab;
|
||||
|
||||
#define EXTRA_OPTION_DEFINE \
|
||||
bool option_render_resample = true; \
|
||||
@ -54,7 +55,8 @@ bool option_focus_new = false; \
|
||||
bool option_new_blank = false; \
|
||||
char *option_hotlist_path = NULL; \
|
||||
bool option_source_tab = false;\
|
||||
int option_current_theme = 0;
|
||||
int option_current_theme = 0;\
|
||||
int option_position_tab = 0;
|
||||
|
||||
#define EXTRA_OPTION_TABLE \
|
||||
{ "render_resample", OPTION_BOOL, &option_render_resample }, \
|
||||
@ -72,6 +74,7 @@ int option_current_theme = 0;
|
||||
{ "new_blank", OPTION_BOOL, &option_new_blank}, \
|
||||
{ "hotlist_path", OPTION_STRING, &option_hotlist_path}, \
|
||||
{ "source_tab", OPTION_BOOL, &option_source_tab},\
|
||||
{ "current_theme", OPTION_INTEGER, &option_current_theme}
|
||||
{ "current_theme", OPTION_INTEGER, &option_current_theme}, \
|
||||
{ "position_tab", OPTION_INTEGER, &option_position_tab}
|
||||
|
||||
#endif
|
||||
|
File diff suppressed because it is too large
Load Diff
24
gtk/tabs.c
24
gtk/tabs.c
@ -124,6 +124,29 @@ static void nsgtk_tab_page_changed(GtkNotebook *notebook, gpointer *page,
|
||||
nsgtk_scaffolding_set_top_level(gw);
|
||||
}
|
||||
|
||||
static void
|
||||
nsgtk_tab_orientation(GtkNotebook *notebook)
|
||||
{
|
||||
switch (option_position_tab) {
|
||||
case 0:
|
||||
gtk_notebook_set_tab_pos(notebook, GTK_POS_TOP);
|
||||
break;
|
||||
|
||||
case 1:
|
||||
gtk_notebook_set_tab_pos(notebook, GTK_POS_LEFT);
|
||||
break;
|
||||
|
||||
case 2:
|
||||
gtk_notebook_set_tab_pos(notebook, GTK_POS_RIGHT);
|
||||
break;
|
||||
|
||||
case 3:
|
||||
gtk_notebook_set_tab_pos(notebook, GTK_POS_BOTTOM);
|
||||
break;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
/** callback to alter tab visibility when pages are added or removed */
|
||||
static void
|
||||
nsgtk_tab_visibility_update(GtkNotebook *notebook, GtkWidget *child, guint page)
|
||||
@ -139,6 +162,7 @@ nsgtk_tab_visibility_update(GtkNotebook *notebook, GtkWidget *child, guint page)
|
||||
/* exported interface documented in gtk/tabs.h */
|
||||
void nsgtk_tab_options_changed(GtkNotebook *notebook)
|
||||
{
|
||||
nsgtk_tab_orientation(notebook);
|
||||
nsgtk_tab_visibility_update(notebook, NULL, 0);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user