summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRob Kendrick <rjek@netsurf-browser.org>2006-08-29 00:42:30 +0000
committerRob Kendrick <rjek@netsurf-browser.org>2006-08-29 00:42:30 +0000
commit2fa6c3a7adef734caaed3494e9ac47b1eb9abb7a (patch)
treedfa12717e16497684db1806e39fed3083c1190ca
parent66d0d78be17e0314bbd631d28e1e8983c79f9b1a (diff)
downloadnetsurf-2fa6c3a7adef734caaed3494e9ac47b1eb9abb7a.tar.gz
netsurf-2fa6c3a7adef734caaed3494e9ac47b1eb9abb7a.tar.bz2
Implement user-defined new window placement in nsgtk
svn path=/trunk/netsurf/; revision=2901
-rw-r--r--desktop/options.c2
-rw-r--r--gtk/gtk_window.c36
-rw-r--r--gtk/res/netsurf.glade50
3 files changed, 66 insertions, 22 deletions
diff --git a/desktop/options.c b/desktop/options.c
index a8eef2efa..58c9ef24b 100644
--- a/desktop/options.c
+++ b/desktop/options.c
@@ -107,7 +107,7 @@ int option_window_screen_width = 0;
int option_window_screen_height = 0;
/** default size of status bar vs. h scroll bar */
#ifdef nsgtk
-int option_toolbar_status_width = 5;
+int option_toolbar_status_width = 400;
#else
int option_toolbar_status_width = 6667;
#endif
diff --git a/gtk/gtk_window.c b/gtk/gtk_window.c
index f70bac7e4..55c427a95 100644
--- a/gtk/gtk_window.c
+++ b/gtk/gtk_window.c
@@ -53,6 +53,7 @@ struct gui_window {
GtkMenuItem *stop_menu;
GtkMenuItem *reload_menu;
GtkImage *throbber;
+ GtkPaned *status_pane;
GladeXML *xml;
@@ -147,6 +148,7 @@ MENUPROTO(reload);
MENUPROTO(zoom_in);
MENUPROTO(normal_size);
MENUPROTO(zoom_out);
+MENUPROTO(save_window_size);
/* navigate menu */
MENUPROTO(back);
@@ -176,6 +178,7 @@ static struct menu_events menu_events[] = {
MENUEVENT(zoom_in),
MENUEVENT(normal_size),
MENUEVENT(zoom_out),
+ MENUEVENT(save_window_size),
/* navigate menu */
MENUEVENT(back),
@@ -595,6 +598,21 @@ MENUHANDLER(zoom_out)
return TRUE;
}
+MENUHANDLER(save_window_size)
+{
+ struct gui_window *gw = g;
+
+ option_toolbar_status_width = gtk_paned_get_position(gw->status_pane);
+ gtk_window_get_position(gw->window, &option_window_x, &option_window_y);
+ gtk_window_get_size(gw->window, &option_window_width,
+ &option_window_height);
+
+
+ options_write(options_file_location);
+
+ return TRUE;
+}
+
MENUHANDLER(stop)
{
return nsgtk_window_stop_button_clicked(GTK_WIDGET(widget), g);
@@ -731,6 +749,21 @@ struct gui_window *gui_create_browser_window(struct browser_window *bw,
g->reload_menu = GTK_MENU_ITEM(GET_WIDGET("reload"));
g->throbber = GTK_IMAGE(GET_WIDGET("throbber"));
g->viewport = GTK_VIEWPORT(GET_WIDGET("viewport1"));
+ g->status_pane = GTK_PANED(GET_WIDGET("hpaned1"));
+
+ /* set this window's size and position to what's in the options, or
+ * or some sensible default if they're not set yet.
+ */
+ if (option_window_width > 0) {
+ gtk_window_move(g->window, option_window_x, option_window_y);
+ gtk_window_resize(g->window, option_window_width,
+ option_window_height);
+ } else {
+ gtk_window_set_default_size(g->window, 600, 600);
+ }
+
+ /* set the size of the hpane with status bar and h scrollbar */
+ gtk_paned_set_position(g->status_pane, option_toolbar_status_width);
/* connect our scrollbars to the viewport */
gtk_viewport_set_hadjustment(g->viewport,
@@ -744,9 +777,6 @@ struct gui_window *gui_create_browser_window(struct browser_window *bw,
*/
gtk_tool_item_set_expand(GTK_TOOL_ITEM(GET_WIDGET("toolURLBar")), TRUE);
- /* set the initial size of the browser window */
- gtk_window_set_default_size(g->window, 600, 600);
-
/* set the events we're interested in receiving from the browser's
* drawing area.
*/
diff --git a/gtk/res/netsurf.glade b/gtk/res/netsurf.glade
index 839d2350f..90ed9c357 100644
--- a/gtk/res/netsurf.glade
+++ b/gtk/res/netsurf.glade
@@ -48,7 +48,7 @@
<accelerator key="N" modifiers="GDK_CONTROL_MASK" signal="activate"/>
<child internal-child="image">
- <widget class="GtkImage" id="image382">
+ <widget class="GtkImage" id="image449">
<property name="visible">True</property>
<property name="stock">gtk-new</property>
<property name="icon_size">1</property>
@@ -82,7 +82,7 @@
<accelerator key="F" modifiers="GDK_CONTROL_MASK" signal="activate"/>
<child internal-child="image">
- <widget class="GtkImage" id="image383">
+ <widget class="GtkImage" id="image450">
<property name="visible">True</property>
<property name="stock">gtk-open</property>
<property name="icon_size">1</property>
@@ -104,7 +104,7 @@
<accelerator key="W" modifiers="GDK_CONTROL_MASK | GDK_SHIFT_MASK" signal="activate"/>
<child internal-child="image">
- <widget class="GtkImage" id="image384">
+ <widget class="GtkImage" id="image451">
<property name="visible">True</property>
<property name="stock">gtk-close</property>
<property name="icon_size">1</property>
@@ -133,7 +133,7 @@
<accelerator key="S" modifiers="GDK_CONTROL_MASK" signal="activate"/>
<child internal-child="image">
- <widget class="GtkImage" id="image385">
+ <widget class="GtkImage" id="image452">
<property name="visible">True</property>
<property name="stock">gtk-save-as</property>
<property name="icon_size">1</property>
@@ -203,7 +203,7 @@
<property name="use_underline">True</property>
<child internal-child="image">
- <widget class="GtkImage" id="image386">
+ <widget class="GtkImage" id="image453">
<property name="visible">True</property>
<property name="stock">gtk-print-preview</property>
<property name="icon_size">1</property>
@@ -226,7 +226,7 @@
<accelerator key="P" modifiers="GDK_CONTROL_MASK" signal="activate"/>
<child internal-child="image">
- <widget class="GtkImage" id="image387">
+ <widget class="GtkImage" id="image454">
<property name="visible">True</property>
<property name="stock">gtk-print</property>
<property name="icon_size">1</property>
@@ -350,7 +350,7 @@
<property name="use_underline">True</property>
<child internal-child="image">
- <widget class="GtkImage" id="image388">
+ <widget class="GtkImage" id="image455">
<property name="visible">True</property>
<property name="stock">gtk-preferences</property>
<property name="icon_size">1</property>
@@ -384,7 +384,7 @@
<accelerator key="Escape" modifiers="0" signal="activate"/>
<child internal-child="image">
- <widget class="GtkImage" id="image389">
+ <widget class="GtkImage" id="image456">
<property name="visible">True</property>
<property name="stock">gtk-stop</property>
<property name="icon_size">1</property>
@@ -405,7 +405,7 @@
<accelerator key="F5" modifiers="0" signal="activate"/>
<child internal-child="image">
- <widget class="GtkImage" id="image390">
+ <widget class="GtkImage" id="image457">
<property name="visible">True</property>
<property name="stock">gtk-refresh</property>
<property name="icon_size">1</property>
@@ -433,7 +433,7 @@
<accelerator key="F11" modifiers="0" signal="activate"/>
<child internal-child="image">
- <widget class="GtkImage" id="image391">
+ <widget class="GtkImage" id="image458">
<property name="visible">True</property>
<property name="stock">gtk-zoom-in</property>
<property name="icon_size">1</property>
@@ -455,7 +455,7 @@
<accelerator key="plus" modifiers="GDK_CONTROL_MASK" signal="activate"/>
<child internal-child="image">
- <widget class="GtkImage" id="image392">
+ <widget class="GtkImage" id="image459">
<property name="visible">True</property>
<property name="stock">gtk-zoom-in</property>
<property name="icon_size">1</property>
@@ -476,7 +476,7 @@
<accelerator key="0" modifiers="GDK_CONTROL_MASK" signal="activate"/>
<child internal-child="image">
- <widget class="GtkImage" id="image393">
+ <widget class="GtkImage" id="image460">
<property name="visible">True</property>
<property name="stock">gtk-zoom-100</property>
<property name="icon_size">1</property>
@@ -497,7 +497,7 @@
<accelerator key="minus" modifiers="GDK_CONTROL_MASK" signal="activate"/>
<child internal-child="image">
- <widget class="GtkImage" id="image394">
+ <widget class="GtkImage" id="image461">
<property name="visible">True</property>
<property name="stock">gtk-zoom-out</property>
<property name="icon_size">1</property>
@@ -566,7 +566,7 @@
<property name="sensitive">False</property>
<property name="label" translatable="yes">Menu bar</property>
<property name="use_underline">True</property>
- <property name="active">False</property>
+ <property name="active">True</property>
</widget>
</child>
@@ -613,6 +613,20 @@
</child>
</widget>
</child>
+
+ <child>
+ <widget class="GtkSeparatorMenuItem" id="separator11">
+ <property name="visible">True</property>
+ </widget>
+ </child>
+
+ <child>
+ <widget class="GtkMenuItem" id="save_window_size">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Save window size</property>
+ <property name="use_underline">True</property>
+ </widget>
+ </child>
</widget>
</child>
</widget>
@@ -635,7 +649,7 @@
<accelerator key="Left" modifiers="GDK_MOD1_MASK" signal="activate"/>
<child internal-child="image">
- <widget class="GtkImage" id="image395">
+ <widget class="GtkImage" id="image462">
<property name="visible">True</property>
<property name="stock">gtk-go-back</property>
<property name="icon_size">1</property>
@@ -656,7 +670,7 @@
<accelerator key="Right" modifiers="GDK_MOD1_MASK" signal="activate"/>
<child internal-child="image">
- <widget class="GtkImage" id="image396">
+ <widget class="GtkImage" id="image463">
<property name="visible">True</property>
<property name="stock">gtk-go-forward</property>
<property name="icon_size">1</property>
@@ -677,7 +691,7 @@
<accelerator key="Home" modifiers="GDK_MOD1_MASK" signal="activate"/>
<child internal-child="image">
- <widget class="GtkImage" id="image397">
+ <widget class="GtkImage" id="image464">
<property name="visible">True</property>
<property name="stock">gtk-home</property>
<property name="icon_size">1</property>
@@ -766,7 +780,7 @@
<accelerator key="F1" modifiers="0" signal="activate"/>
<child internal-child="image">
- <widget class="GtkImage" id="image398">
+ <widget class="GtkImage" id="image465">
<property name="visible">True</property>
<property name="stock">gtk-help</property>
<property name="icon_size">1</property>