summaryrefslogtreecommitdiff
path: root/cocoa
diff options
context:
space:
mode:
authorVincent Sanders <vince@netsurf-browser.org>2014-01-15 19:37:05 +0000
committerVincent Sanders <vince@netsurf-browser.org>2014-01-15 19:37:05 +0000
commitbd065d4a434755e67642a071e255cba596de8d1e (patch)
tree343a4343ace1c38f3ab67b3a9405a629fbbaa117 /cocoa
parent68eaec5cb4208ee80e7c0610361405fd01fc1b69 (diff)
downloadnetsurf-bd065d4a434755e67642a071e255cba596de8d1e.tar.gz
netsurf-bd065d4a434755e67642a071e255cba596de8d1e.tar.bz2
split browser gui operations up
Diffstat (limited to 'cocoa')
-rw-r--r--cocoa/NetsurfApp.m10
-rw-r--r--cocoa/gui.h6
-rw-r--r--cocoa/gui.m23
3 files changed, 26 insertions, 13 deletions
diff --git a/cocoa/NetsurfApp.m b/cocoa/NetsurfApp.m
index a64c99376..62f684ddc 100644
--- a/cocoa/NetsurfApp.m
+++ b/cocoa/NetsurfApp.m
@@ -183,6 +183,12 @@ int main( int argc, char **argv )
{
nsurl *url;
nserror error;
+ struct gui_table cocoa_gui_table = {
+ .browser = cocoa_browser_table,
+ .window = cocoa_window_table,
+ .clipboard = cocoa_clipboard_table,
+ .download = cocoa_download_table,
+ };
cocoa_autorelease();
@@ -203,9 +209,7 @@ int main( int argc, char **argv )
nsoption_commandline(&argc, argv, NULL);
/* common initialisation */
- cocoa_gui_table->download = cocoa_gui_download_table;
-
- error = netsurf_init(messages, cocoa_gui_table);
+ error = netsurf_init(messages, &cocoa_gui_table);
if (error != NSERROR_OK) {
die("NetSurf failed to initialise");
}
diff --git a/cocoa/gui.h b/cocoa/gui.h
index 6ceefa848..757140030 100644
--- a/cocoa/gui.h
+++ b/cocoa/gui.h
@@ -18,6 +18,10 @@
#import <Cocoa/Cocoa.h>
+extern struct gui_window_table *cocoa_window_table;
+extern struct gui_clipboard_table *cocoa_clipboard_table;
+extern struct gui_browser_table *cocoa_browser_table;
+
extern NSString * const kCookiesFileOption;
extern NSString * const kURLsFileOption;
extern NSString * const kHotlistFileOption;
@@ -27,5 +31,3 @@ extern NSString * const kAlwaysCancelDownload;
extern NSString * const kAlwaysCloseMultipleTabs;
void cocoa_autorelease( void );
-
-extern struct gui_table *cocoa_gui_table;
diff --git a/cocoa/gui.m b/cocoa/gui.m
index 2c3680994..c2cadfe5a 100644
--- a/cocoa/gui.m
+++ b/cocoa/gui.m
@@ -282,7 +282,7 @@ void gui_401login_open(nsurl *url, const char *realm,
}
-static struct gui_window_table cocoa_window_table = {
+static struct gui_window_table window_table = {
.create = gui_window_create,
.destroy = gui_window_destroy,
.redraw = gui_window_redraw_window,
@@ -304,18 +304,25 @@ static struct gui_window_table cocoa_window_table = {
.stop_throbber = gui_window_stop_throbber,
};
-static struct gui_table gui_table = {
+struct gui_window_table *cocoa_window_table = &window_table;
+
+
+static struct gui_clipboard_table clipboard_table = {
+ .get_clipboard = gui_get_clipboard,
+ .set_clipboard = gui_set_clipboard,
+};
+
+struct gui_clipboard_table *cocoa_clipboard_table = &clipboard_table;
+
+
+static struct gui_browser_table browser_table = {
.poll = gui_poll,
.get_resource_url = gui_get_resource_url,
.launch_url = gui_launch_url,
.create_form_select_menu = gui_create_form_select_menu,
.cert_verify = gui_cert_verify,
-
- .get_clipboard = gui_get_clipboard,
- .set_clipboard = gui_set_clipboard,
-
- .window = &cocoa_window_table,
};
-struct gui_table *cocoa_gui_table = &gui_table;
+struct gui_browser_table *cocoa_browser_table = &browser_table;
+