summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gtk/gtk_gui.c18
-rw-r--r--gtk/gtk_gui.h5
-rw-r--r--gtk/gtk_options.c147
-rw-r--r--gtk/gtk_options.h19
-rw-r--r--gtk/gtk_window.c1
-rw-r--r--gtk/netsurf.glade407
-rw-r--r--makefile2
7 files changed, 583 insertions, 16 deletions
diff --git a/gtk/gtk_gui.c b/gtk/gtk_gui.c
index 6b7408c33..164e83dc5 100644
--- a/gtk/gtk_gui.c
+++ b/gtk/gtk_gui.c
@@ -27,6 +27,7 @@
#include "netsurf/desktop/netsurf.h"
#include "netsurf/desktop/options.h"
#include "netsurf/gtk/gtk_gui.h"
+#include "netsurf/gtk/gtk_options.h"
#include "netsurf/render/box.h"
#include "netsurf/render/form.h"
#include "netsurf/render/html.h"
@@ -43,11 +44,12 @@ bool gui_in_multitask = false;
char *default_stylesheet_url;
char *adblock_stylesheet_url;
+char *options_file_location;
+char *glade_file_location;
struct gui_window *search_current_window = 0;
GladeXML *gladeWindows;
-GtkWindow *wndChoices;
/**
* Locate a shared resource file by searching known places in order.
@@ -98,16 +100,24 @@ void gui_init(int argc, char** argv)
char buf[PATH_MAX];
gtk_init(&argc, &argv);
-
- gladeWindows = glade_xml_new("./gtk/netsurf.glade", NULL, NULL);
- wndChoices = glade_xml_get_widget(gladeWindows, "wndChoices");
+
+ /* TODO: make this search for the file using the resource finding
+ * function above
+ */
+ glade_file_location = strdup("./gtk/netsurf.glade");
+
+ glade_init();
+ gladeWindows = glade_xml_new(glade_file_location, NULL, NULL);
glade_xml_signal_autoconnect(gladeWindows);
find_resource(buf, "Choices", "Choices");
LOG(("Using '%s' as Choices file", buf));
+ options_file_location = strdup(buf);
options_read(buf);
+ nsgtk_options_init();
+
if (!option_cookie_file) {
find_resource(buf, "Cookies", "Cookies");
LOG(("Using '%s' as Cookies file", buf));
diff --git a/gtk/gtk_gui.h b/gtk/gtk_gui.h
index 0742d7e54..91c2bb3eb 100644
--- a/gtk/gtk_gui.h
+++ b/gtk/gtk_gui.h
@@ -7,6 +7,9 @@
#include <stdbool.h>
#include <gtk/gtk.h>
+#include <glade/glade.h>
extern bool gui_in_multitask;
-extern GtkWindow *wndChoices;
+extern GladeXML *gladeWindows;
+extern char *options_file_location;
+
diff --git a/gtk/gtk_options.c b/gtk/gtk_options.c
new file mode 100644
index 000000000..86bf5ff54
--- /dev/null
+++ b/gtk/gtk_options.c
@@ -0,0 +1,147 @@
+/*
+ * This file is part of NetSurf, http://netsurf.sourceforge.net/
+ * Licensed under the GNU General Public License,
+ * http://www.opensource.org/licenses/gpl-license
+ * Copyright 2006 Rob Kendrick <rjek@rjek.com>
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <gtk/gtk.h>
+#include <glade/glade.h>
+#include "netsurf/utils/log.h"
+#include "netsurf/desktop/options.h"
+#include "netsurf/gtk/gtk_gui.h"
+#include "netsurf/desktop/options.h"
+#include "netsurf/gtk/gtk_options.h"
+
+GtkWindow *wndChoices;
+
+static GtkWidget *entryHomePageURL,
+ *checkHideAdverts,
+ *checkDisablePopups,
+ *checkDisablePlugins,
+ *spinHistoryAge,
+ *checkHoverURLs,
+ *checkRequestOverwrite,
+ *checkDisplayRecentURLs,
+ *checkSendReferer,
+
+ *comboProxyType,
+ *entryProxyHost,
+ *entryProxyPort,
+ *entryProxyUser,
+ *entryProxyPassword,
+ *spinMaxFetchers,
+ *spinFetchesPerHost,
+ *spinCachedConnections,
+
+ *checkUseCairo,
+ *checkResampleImages,
+ *spinAnimationSpeed,
+ *checkDisableAnimations,
+
+ *fontSansSerif,
+ *fontSerif,
+ *fontMonospace,
+ *fontCursive,
+ *fontFantasy,
+ *comboDefault,
+ *spinDefaultSize,
+ *spinMinimumSize,
+
+ *spinMemoryCacheSize,
+ *spinDiscCacheAge;
+
+#define FIND_WIDGET(x) (x) = glade_xml_get_widget(gladeWindows, #x); if ((x) == NULL) LOG(("Unable to find widget '%s'!", #x))
+
+void nsgtk_options_init(void) {
+ wndChoices = GTK_WINDOW(glade_xml_get_widget(gladeWindows,
+ "wndChoices"));
+
+ /* get widget objects */
+ FIND_WIDGET(entryHomePageURL);
+ FIND_WIDGET(checkHideAdverts);
+ FIND_WIDGET(checkDisablePopups);
+ FIND_WIDGET(checkDisablePlugins);
+ FIND_WIDGET(spinHistoryAge);
+ FIND_WIDGET(checkHoverURLs);
+ FIND_WIDGET(checkRequestOverwrite);
+ FIND_WIDGET(checkDisplayRecentURLs);
+ FIND_WIDGET(checkSendReferer);
+
+ FIND_WIDGET(comboProxyType);
+ FIND_WIDGET(entryProxyHost);
+ FIND_WIDGET(entryProxyPort);
+ FIND_WIDGET(entryProxyUser);
+ FIND_WIDGET(entryProxyPassword);
+ FIND_WIDGET(spinMaxFetchers);
+ FIND_WIDGET(spinFetchesPerHost);
+ FIND_WIDGET(spinCachedConnections);
+
+ FIND_WIDGET(checkUseCairo);
+ FIND_WIDGET(checkResampleImages);
+ FIND_WIDGET(spinAnimationSpeed);
+ FIND_WIDGET(checkDisableAnimations);
+
+ FIND_WIDGET(fontSansSerif);
+ FIND_WIDGET(fontSerif);
+ FIND_WIDGET(fontMonospace);
+ FIND_WIDGET(fontCursive);
+ FIND_WIDGET(fontFantasy);
+ FIND_WIDGET(comboDefault);
+ FIND_WIDGET(spinDefaultSize);
+ FIND_WIDGET(spinMinimumSize);
+
+ FIND_WIDGET(spinMemoryCacheSize);
+ FIND_WIDGET(spinDiscCacheAge);
+
+ /* set the widgets to reflect the current options */
+ nsgtk_options_load();
+}
+
+#define SET_ENTRY(x, y) gtk_entry_set_text(GTK_ENTRY((x)), (y))
+#define SET_SPIN(x, y) gtk_spin_button_set_value((x), (y))
+#define SET_CHECK(x, y) gtk_toggle_button_set_active((x), (y))
+
+void nsgtk_options_load(void) {
+ char *b[20];
+
+ SET_ENTRY(entryHomePageURL, option_homepage_url);
+ SET_CHECK(checkHideAdverts, option_block_ads);
+ /* TODO: rest of "General" tab here */
+ SET_CHECK(checkSendReferer, option_send_referer);
+
+ SET_ENTRY(entryProxyHost, option_http_proxy_host);
+ snprintf(b, 20, "%d", option_http_proxy_port);
+ SET_ENTRY(entryProxyPort, b);
+ SET_ENTRY(entryProxyUser, option_http_proxy_auth_user);
+ SET_ENTRY(entryProxyPassword, option_http_proxy_auth_pass);
+ SET_SPIN(spinMaxFetchers, option_max_fetchers);
+ SET_SPIN(spinFetchesPerHost, option_max_fetchers_per_host);
+ SET_SPIN(spinCachedConnections, option_max_cached_fetch_handles);
+
+ /* TODO: set checkUseCairo and checkReampleImages here */
+ SET_SPIN(spinAnimationSpeed, option_minimum_gif_delay);
+ SET_CHECK(checkDisableAnimations, !option_animate_images);
+
+ /* TODO: set all font name widgets here */
+ SET_SPIN(spinDefaultSize, option_font_size / 10);
+ SET_SPIN(spinMinimumSize, option_font_min_size / 10);
+
+ SET_SPIN(spinMemoryCacheSize, option_memory_cache_size);
+ SET_SPIN(spinDiscCacheAge, option_disc_cache_age);
+}
+
+#define GET_ENTRY(x, y) if ((y)) free((y)); \
+ (y) = strdup(gtk_entry_get_text(GTK_ENTRY((x))))
+
+void nsgtk_options_save(void) {
+ GET_ENTRY(entryHomePageURL, option_homepage_url);
+
+ /* TODO: save the other options */
+
+ options_write(options_file_location);
+}
+
diff --git a/gtk/gtk_options.h b/gtk/gtk_options.h
new file mode 100644
index 000000000..379b32c4b
--- /dev/null
+++ b/gtk/gtk_options.h
@@ -0,0 +1,19 @@
+/*
+ * This file is part of NetSurf, http://netsurf.sourceforge.net/
+ * Licensed under the GNU General Public License,
+ * http://www.opensource.org/licenses/gpl-license
+ * Copyright 2006 Rob Kendrick <rjek@rjek.com>
+ */
+
+#ifndef NETSURF_GTK_OPTIONS_H
+#define NETSURF_GTK_OPTIONS_H
+
+#include <gtk/gtk.h>
+
+extern GtkWindow *wndChoices;
+
+void nsgtk_options_init(void); /** Init options and load window */
+void nsgtk_options_load(void); /** Load current options into window */
+void nsgtk_options_save(void); /** Save options from window */
+
+#endif
diff --git a/gtk/gtk_window.c b/gtk/gtk_window.c
index e42df1c1f..0a263f949 100644
--- a/gtk/gtk_window.c
+++ b/gtk/gtk_window.c
@@ -23,6 +23,7 @@
#include "netsurf/gtk/gtk_gui.h"
#include "netsurf/gtk/gtk_plotters.h"
#include "netsurf/gtk/gtk_window.h"
+#include "netsurf/gtk/gtk_options.h"
#include "netsurf/render/box.h"
#include "netsurf/render/font.h"
#include "netsurf/render/form.h"
diff --git a/gtk/netsurf.glade b/gtk/netsurf.glade
index 64af50db1..9507c50ec 100644
--- a/gtk/netsurf.glade
+++ b/gtk/netsurf.glade
@@ -42,6 +42,7 @@
<property name="focus_on_click">True</property>
<property name="response_id">-6</property>
<signal name="clicked" handler="gtk_widget_hide" object="wndChoices" last_modification_time="Wed, 19 Jul 2006 12:49:23 GMT"/>
+ <signal name="clicked" handler="nsgtk_options_load" last_modification_time="Sun, 23 Jul 2006 18:47:09 GMT"/>
</widget>
</child>
@@ -56,7 +57,7 @@
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property>
<property name="response_id">-10</property>
- <signal name="clicked" handler="nsgtk_choices_apply_clicked" last_modification_time="Wed, 19 Jul 2006 12:48:43 GMT"/>
+ <signal name="clicked" handler="nsgtk_options_save" last_modification_time="Sun, 23 Jul 2006 18:46:37 GMT"/>
<signal name="clicked" handler="gtk_widget_hide" object="wndChoices" last_modification_time="Wed, 19 Jul 2006 12:49:13 GMT"/>
</widget>
</child>
@@ -241,6 +242,7 @@
<child>
<widget class="GtkCheckButton" id="checkDisablePopups">
<property name="visible">True</property>
+ <property name="sensitive">False</property>
<property name="tooltip" translatable="yes">Stop pop-up windows normally containing adverts appearing.</property>
<property name="can_focus">True</property>
<property name="label" translatable="yes">Disable pop-up windows</property>
@@ -261,13 +263,14 @@
<child>
<widget class="GtkCheckButton" id="checkDisablePlugins">
<property name="visible">True</property>
+ <property name="sensitive">False</property>
<property name="tooltip" translatable="yes">Do not allow the embedded of applets and plugins.</property>
<property name="can_focus">True</property>
<property name="label" translatable="yes">Disable plug-ins</property>
<property name="use_underline">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property>
- <property name="active">True</property>
+ <property name="active">False</property>
<property name="inconsistent">False</property>
<property name="draw_indicator">True</property>
</widget>
@@ -374,6 +377,7 @@
<child>
<widget class="GtkSpinButton" id="spinHistoryAge">
<property name="visible">True</property>
+ <property name="sensitive">False</property>
<property name="tooltip" translatable="yes">Visited pages are forgotten after this many days</property>
<property name="can_focus">True</property>
<property name="climb_rate">1</property>
@@ -382,7 +386,7 @@
<property name="update_policy">GTK_UPDATE_ALWAYS</property>
<property name="snap_to_ticks">False</property>
<property name="wrap">False</property>
- <property name="adjustment">1 0 100 1 10 10</property>
+ <property name="adjustment">14 0 100 1 10 10</property>
</widget>
<packing>
<property name="padding">0</property>
@@ -426,13 +430,14 @@
<child>
<widget class="GtkCheckButton" id="checkHoverURLs">
<property name="visible">True</property>
+ <property name="sensitive">False</property>
<property name="tooltip" translatable="yes">Show a tooltip showing the URL of a page in the local history tree.</property>
<property name="can_focus">True</property>
<property name="label" translatable="yes">Hover URLs by pointer in local history</property>
<property name="use_underline">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property>
- <property name="active">True</property>
+ <property name="active">False</property>
<property name="inconsistent">False</property>
<property name="draw_indicator">True</property>
</widget>
@@ -506,13 +511,14 @@
<child>
<widget class="GtkCheckButton" id="checkRequestOverwrite">
<property name="visible">True</property>
+ <property name="sensitive">False</property>
<property name="tooltip" translatable="yes">Ask before overwriting files when downloading.</property>
<property name="can_focus">True</property>
<property name="label" translatable="yes">Request confirmation before overwriting files</property>
<property name="use_underline">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property>
- <property name="active">True</property>
+ <property name="active">False</property>
<property name="inconsistent">False</property>
<property name="draw_indicator">True</property>
</widget>
@@ -526,13 +532,14 @@
<child>
<widget class="GtkCheckButton" id="checkDisplayRecentURLs">
<property name="visible">True</property>
+ <property name="sensitive">False</property>
<property name="tooltip" translatable="yes">Show a drop-down list of recent addresses when typing into the address bar.</property>
<property name="can_focus">True</property>
<property name="label" translatable="yes">Display recently visited URLs as you type</property>
<property name="use_underline">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property>
- <property name="active">True</property>
+ <property name="active">False</property>
<property name="inconsistent">False</property>
<property name="draw_indicator">True</property>
</widget>
@@ -544,7 +551,7 @@
</child>
<child>
- <widget class="GtkCheckButton" id="checkbutton1">
+ <widget class="GtkCheckButton" id="checkSendReferer">
<property name="visible">True</property>
<property name="tooltip" translatable="yes">When requesting items or pages, tell the server what linked to them.</property>
<property name="can_focus">True</property>
@@ -686,6 +693,7 @@
<child>
<widget class="GtkComboBox" id="comboProxyType">
<property name="visible">True</property>
+ <property name="sensitive">False</property>
<property name="items" translatable="yes">None
Simple proxy
Basic authentication
@@ -897,7 +905,7 @@ NTML authentication</property>
</child>
<child>
- <widget class="GtkEntry" id="entry1">
+ <widget class="GtkEntry" id="entryProxyPassword">
<property name="visible">True</property>
<property name="tooltip" translatable="yes">If your proxy server requires authentication, enter your password here.</property>
<property name="can_focus">True</property>
@@ -1227,13 +1235,14 @@ NTML authentication</property>
<child>
<widget class="GtkCheckButton" id="checkUseCairo">
<property name="visible">True</property>
+ <property name="sensitive">False</property>
<property name="tooltip" translatable="yes">Enable the use of Cairo, which provides better looking results at the cost of speed.</property>
<property name="can_focus">True</property>
<property name="label" translatable="yes">Use Cairo for anti-aliased drawing</property>
<property name="use_underline">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property>
- <property name="active">False</property>
+ <property name="active">True</property>
<property name="inconsistent">False</property>
<property name="draw_indicator">True</property>
</widget>
@@ -1247,13 +1256,14 @@ NTML authentication</property>
<child>
<widget class="GtkCheckButton" id="checkResampleImages">
<property name="visible">True</property>
+ <property name="sensitive">False</property>
<property name="tooltip" translatable="yes">Smoothly resize images when zooming in and out.</property>
<property name="can_focus">True</property>
<property name="label" translatable="yes">Resample images when not at natural size</property>
<property name="use_underline">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property>
- <property name="active">False</property>
+ <property name="active">True</property>
<property name="inconsistent">False</property>
<property name="draw_indicator">True</property>
</widget>
@@ -1697,6 +1707,7 @@ NTML authentication</property>
<child>
<widget class="GtkFontButton" id="fontSerif">
<property name="visible">True</property>
+ <property name="sensitive">False</property>
<property name="can_focus">True</property>
<property name="show_style">False</property>
<property name="show_size">False</property>
@@ -1717,6 +1728,7 @@ NTML authentication</property>
<child>
<widget class="GtkFontButton" id="fontMonospace">
<property name="visible">True</property>
+ <property name="sensitive">False</property>
<property name="can_focus">True</property>
<property name="show_style">False</property>
<property name="show_size">False</property>
@@ -1737,6 +1749,7 @@ NTML authentication</property>
<child>
<widget class="GtkFontButton" id="fontCursive">
<property name="visible">True</property>
+ <property name="sensitive">False</property>
<property name="can_focus">True</property>
<property name="show_style">False</property>
<property name="show_size">False</property>
@@ -1757,6 +1770,7 @@ NTML authentication</property>
<child>
<widget class="GtkFontButton" id="fontFantasy">
<property name="visible">True</property>
+ <property name="sensitive">False</property>
<property name="can_focus">True</property>
<property name="show_style">False</property>
<property name="show_size">False</property>
@@ -1777,6 +1791,7 @@ NTML authentication</property>
<child>
<widget class="GtkComboBox" id="comboDefault">
<property name="visible">True</property>
+ <property name="sensitive">False</property>
<property name="items" translatable="yes">Sans-serif
Sans
Monospace
@@ -1798,6 +1813,7 @@ Fantasy</property>
<child>
<widget class="GtkFontButton" id="fontSansSerif">
<property name="visible">True</property>
+ <property name="sensitive">False</property>
<property name="can_focus">True</property>
<property name="show_style">False</property>
<property name="show_size">False</property>
@@ -2398,6 +2414,7 @@ Fantasy</property>
<child>
<widget class="GtkLabel" id="label45">
<property name="visible">True</property>
+ <property name="sensitive">False</property>
<property name="label" translatable="yes">Perform maintainance</property>
<property name="use_underline">True</property>
<property name="use_markup">False</property>
@@ -3237,4 +3254,374 @@ Fantasy</property>
</child>
</widget>
+<widget class="GtkWindow" id="wndBrowser">
+ <property name="title" translatable="yes">NetSurf</property>
+ <property name="type">GTK_WINDOW_TOPLEVEL</property>
+ <property name="window_position">GTK_WIN_POS_CENTER_ALWAYS</property>
+ <property name="modal">False</property>
+ <property name="resizable">True</property>
+ <property name="destroy_with_parent">False</property>
+ <property name="decorated">True</property>
+ <property name="skip_taskbar_hint">False</property>
+ <property name="skip_pager_hint">False</property>
+ <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
+ <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
+ <property name="focus_on_map">True</property>
+ <property name="urgency_hint">False</property>
+
+ <child>
+ <widget class="GtkVBox" id="vbox14">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">0</property>
+
+ <child>
+ <widget class="GtkToolbar" id="toolbar1">
+ <property name="visible">True</property>
+ <property name="orientation">GTK_ORIENTATION_HORIZONTAL</property>
+ <property name="toolbar_style">GTK_TOOLBAR_ICONS</property>
+ <property name="tooltips">True</property>
+ <property name="show_arrow">True</property>
+
+ <child>
+ <widget class="GtkToolButton" id="toolBack">
+ <property name="visible">True</property>
+ <property name="stock_id">gtk-go-back</property>
+ <property name="visible_horizontal">True</property>
+ <property name="visible_vertical">True</property>
+ <property name="is_important">False</property>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="homogeneous">True</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkToolButton" id="toolForward">
+ <property name="visible">True</property>
+ <property name="stock_id">gtk-go-forward</property>
+ <property name="visible_horizontal">True</property>
+ <property name="visible_vertical">True</property>
+ <property name="is_important">False</property>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="homogeneous">True</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkToolButton" id="toolStop">
+ <property name="visible">True</property>
+ <property name="stock_id">gtk-stop</property>
+ <property name="visible_horizontal">True</property>
+ <property name="visible_vertical">True</property>
+ <property name="is_important">False</property>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="homogeneous">True</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkToolButton" id="toolReload">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes"></property>
+ <property name="use_underline">True</property>
+ <property name="stock_id">gtk-refresh</property>
+ <property name="visible_horizontal">True</property>
+ <property name="visible_vertical">True</property>
+ <property name="is_important">False</property>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="homogeneous">True</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkToolButton" id="toolZoomIn">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes"></property>
+ <property name="use_underline">True</property>
+ <property name="stock_id">gtk-zoom-in</property>
+ <property name="visible_horizontal">True</property>
+ <property name="visible_vertical">True</property>
+ <property name="is_important">False</property>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="homogeneous">True</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkToolButton" id="toolZoom100">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes"></property>
+ <property name="use_underline">True</property>
+ <property name="stock_id">gtk-zoom-100</property>
+ <property name="visible_horizontal">True</property>
+ <property name="visible_vertical">True</property>
+ <property name="is_important">False</property>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="homogeneous">True</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkToolButton" id="toolZoomOut">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes"></property>
+ <property name="use_underline">True</property>
+ <property name="stock_id">gtk-zoom-out</property>
+ <property name="visible_horizontal">True</property>
+ <property name="visible_vertical">True</property>
+ <property name="is_important">False</property>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="homogeneous">True</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkToolButton" id="toolHistory">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes"></property>
+ <property name="use_underline">True</property>
+ <property name="stock_id">gtk-open</property>
+ <property name="visible_horizontal">True</property>
+ <property name="visible_vertical">True</property>
+ <property name="is_important">False</property>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="homogeneous">True</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkToolButton" id="toolChoices">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes"></property>
+ <property name="use_underline">True</property>
+ <property name="stock_id">gtk-preferences</property>
+ <property name="visible_horizontal">True</property>
+ <property name="visible_vertical">True</property>
+ <property name="is_important">False</property>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="homogeneous">True</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkToolItem" id="toolitem1">
+ <property name="visible">True</property>
+ <property name="visible_horizontal">True</property>
+ <property name="visible_vertical">True</property>
+ <property name="is_important">False</property>
+
+ <child>
+ <widget class="GtkEntry" id="URLBar">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="editable">True</property>
+ <property name="visibility">True</property>
+ <property name="max_length">0</property>
+ <property name="text" translatable="yes"></property>
+ <property name="has_frame">True</property>
+ <property name="invisible_char">‚óŹ</property>
+ <property name="activates_default">False</property>
+ </widget>
+ </child>
+ </widget>
+ <packing>
+ <property name="expand">True</property>
+ <property name="homogeneous">False</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkToolItem" id="toolitem2">
+ <property name="visible">True</property>
+ <property name="visible_horizontal">True</property>
+ <property name="visible_vertical">True</property>
+ <property name="is_important">False</property>
+
+ <child>
+ <widget class="GtkImage" id="image7">
+ <property name="visible">True</property>
+ <property name="icon_size">2</property>
+ <property name="icon_name">stock_smiley-1</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">3</property>
+ <property name="ypad">0</property>
+ </widget>
+ </child>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="homogeneous">False</property>
+ </packing>
+ </child>
+
+ <child>
+ <placeholder/>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkTable" id="table6">
+ <property name="visible">True</property>
+ <property name="n_rows">2</property>
+ <property name="n_columns">2</property>
+ <property name="homogeneous">False</property>
+ <property name="row_spacing">0</property>
+ <property name="column_spacing">0</property>
+
+ <child>
+ <widget class="GtkVScrollbar" id="vscrollbar1">
+ <property name="visible">True</property>
+ <property name="update_policy">GTK_UPDATE_CONTINUOUS</property>
+ <property name="inverted">False</property>
+ <property name="adjustment">0 0 100 1 10 0</property>
+ </widget>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">0</property>
+ <property name="bottom_attach">1</property>
+ <property name="x_options">fill</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkHPaned" id="hpaned1">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+
+ <child>
+ <widget class="GtkHBox" id="hbox16">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">0</property>
+
+ <child>
+ <widget class="GtkLabel" id="statusBar">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Status bar text goes here</property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ <property name="ellipsize">PANGO_ELLIPSIZE_MIDDLE</property>
+ <property name="width_chars">-1</property>
+ <property name="single_line_mode">False</property>
+ <property name="angle">0</property>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="shrink">True</property>
+ <property name="resize">False</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkHScrollbar" id="hscrollbar1">
+ <property name="visible">True</property>
+ <property name="update_policy">GTK_UPDATE_CONTINUOUS</property>
+ <property name="inverted">False</property>
+ <property name="adjustment">0 0 100 1 10 0</property>
+ </widget>
+ <packing>
+ <property name="shrink">True</property>
+ <property name="resize">True</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">1</property>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
+ <property name="y_options">fill</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkImage" id="image8">
+ <property name="visible">True</property>
+ <property name="icon_size">1</property>
+ <property name="icon_name">gtk-close</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
+ <property name="x_options">fill</property>
+ <property name="y_options">fill</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkViewport" id="viewport1">
+ <property name="visible">True</property>
+ <property name="shadow_type">GTK_SHADOW_NONE</property>
+
+ <child>
+ <widget class="GtkDrawingArea" id="drawingArea">
+ <property name="visible">True</property>
+ </widget>
+ </child>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">1</property>
+ <property name="top_attach">0</property>
+ <property name="bottom_attach">1</property>
+ <property name="x_options">fill</property>
+ <property name="y_options">fill</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+ </widget>
+ </child>
+</widget>
+
</glade-interface>
diff --git a/makefile b/makefile
index a738608d0..08a8524b0 100644
--- a/makefile
+++ b/makefile
@@ -67,7 +67,7 @@ OBJECTS_GTK += filetyped.o # debug/
OBJECTS_GTK += browser.o history_core.o netsurf.o selection.o textinput.o \
version.o gesture_core.o # desktop/
OBJECTS_GTK += font_pango.o gtk_bitmap.o gtk_gui.o \
- gtk_schedule.o gtk_thumbnail.o \
+ gtk_schedule.o gtk_thumbnail.o gtk_options.o \
gtk_plotters.o gtk_treeview.o gtk_window.o # gtk/