diff --git a/frontends/gnustep/AppDelegate.h b/frontends/gnustep/AppDelegate.h
index 79e204bdc..7e95284e5 100644
--- a/frontends/gnustep/AppDelegate.h
+++ b/frontends/gnustep/AppDelegate.h
@@ -22,10 +22,12 @@ along with this program. If not, see .
@private
id downloadsWindowController;
id findPanelController;
+id historyWindowController;
}
-(void)showFindPanel: (id)sender;
-(void)showDownloadsWindow: (id)sender;
+-(void)showHistoryWindowController: (id)sender;
-(NSURL*)requestDownloadDestination;
@end
diff --git a/frontends/gnustep/AppDelegate.m b/frontends/gnustep/AppDelegate.m
index a4493e4c1..1eb7d6c2a 100644
--- a/frontends/gnustep/AppDelegate.m
+++ b/frontends/gnustep/AppDelegate.m
@@ -12,6 +12,7 @@
#import "netsurf/browser_window.h"
#import "DownloadsWindowController.h"
#import "FindPanelController.h"
+#import "HistoryWindowController.h"
/**
* Set option defaults for (taken from the cocoa frontend)
@@ -77,6 +78,16 @@ static nserror set_defaults(struct nsoption_s *defaults)
}
}
+-(void)showHistoryWindowController: (id)sender {
+ NSLog(@"Showing history ...");
+ if (!historyWindowController) {
+ historyWindowController = [[HistoryWindowController alloc] init];
+ [historyWindowController loadWindow];
+ } else {
+ [historyWindowController showWindow: self];
+ }
+}
+
-(NSURL*)requestDownloadDestination {
NSSavePanel *savePanel = [NSOpenPanel savePanel];
[savePanel setDirectory: NSHomeDirectory()];
diff --git a/frontends/gnustep/DownloadsWindowController.m b/frontends/gnustep/DownloadsWindowController.m
index 6fb8acad9..e172107f4 100644
--- a/frontends/gnustep/DownloadsWindowController.m
+++ b/frontends/gnustep/DownloadsWindowController.m
@@ -24,6 +24,7 @@
-(void)awakeFromNib {
NSLog(@"Awoke from nib...");
+ [[self window] makeKeyAndOrderFront: self];
[[DownloadManager defaultDownloadManager] setDelegate: self];
}
diff --git a/frontends/gnustep/HistoryWindowController.h b/frontends/gnustep/HistoryWindowController.h
new file mode 100644
index 000000000..9a3b44527
--- /dev/null
+++ b/frontends/gnustep/HistoryWindowController.h
@@ -0,0 +1,7 @@
+#import
+
+@interface HistoryWindowController: NSWindowController {
+ id outlineView;
+}
+
+@end
\ No newline at end of file
diff --git a/frontends/gnustep/HistoryWindowController.m b/frontends/gnustep/HistoryWindowController.m
new file mode 100644
index 000000000..01d1f32bb
--- /dev/null
+++ b/frontends/gnustep/HistoryWindowController.m
@@ -0,0 +1,18 @@
+#import
+#import "HistoryWindowController.h"
+
+@implementation HistoryWindowController
+
+-(id)init {
+ if (self = [super initWithWindowNibName: @"History"]) {
+ // .....
+ }
+ return self;
+}
+
+-(void)awakeFromNib {
+ NSLog(@"Awoke from nib...");
+ [[self window] makeKeyAndOrderFront: self];
+}
+
+@end
\ No newline at end of file
diff --git a/frontends/gnustep/Makefile b/frontends/gnustep/Makefile
index 0958348e6..647d0568f 100644
--- a/frontends/gnustep/Makefile
+++ b/frontends/gnustep/Makefile
@@ -46,6 +46,7 @@ S_FRONTEND := \
NetsurfCallback.m \
ProgressBarCell.m \
FindPanelController.m \
+ HistoryWindowController.m \
tables/misc.m \
tables/bitmap.m \
tables/clipboard.m \
@@ -72,6 +73,7 @@ R_RESOURCES := \
Browser.gorm \
Downloads.gorm \
Find.gorm \
+ History.gorm \
R_RESOURCES := $(addprefix $(FRONTEND_RESOURCES_DIR)/,$(R_RESOURCES))
diff --git a/frontends/gnustep/res/History.gorm/data.classes b/frontends/gnustep/res/History.gorm/data.classes
new file mode 100644
index 000000000..abe309615
--- /dev/null
+++ b/frontends/gnustep/res/History.gorm/data.classes
@@ -0,0 +1,18 @@
+{
+ "## Comment" = "Do NOT change this file, Gorm maintains it";
+ FirstResponder = {
+ Actions = (
+ "search:"
+ );
+ Super = NSObject;
+ };
+ HistoryWindowController = {
+ Actions = (
+ "search:"
+ );
+ Outlets = (
+ outlineView
+ );
+ Super = NSWindowController;
+ };
+}
\ No newline at end of file
diff --git a/frontends/gnustep/res/History.gorm/data.info b/frontends/gnustep/res/History.gorm/data.info
new file mode 100644
index 000000000..c2d6894a6
Binary files /dev/null and b/frontends/gnustep/res/History.gorm/data.info differ
diff --git a/frontends/gnustep/res/History.gorm/objects.gorm b/frontends/gnustep/res/History.gorm/objects.gorm
new file mode 100644
index 000000000..fb3471ab6
Binary files /dev/null and b/frontends/gnustep/res/History.gorm/objects.gorm differ
diff --git a/frontends/gnustep/res/Menu.gorm/data.classes b/frontends/gnustep/res/Menu.gorm/data.classes
index 2b74ba10f..dd6d4ea98 100644
--- a/frontends/gnustep/res/Menu.gorm/data.classes
+++ b/frontends/gnustep/res/Menu.gorm/data.classes
@@ -4,7 +4,8 @@
Actions = (
"didTapNewWindow:",
"showDownloadsWindow:",
- "showFindPanel:"
+ "showFindPanel:",
+ "showHistoryWindowController:"
);
Outlets = (
);
@@ -15,8 +16,9 @@
"didTapNewWindow:",
"findNext:",
"findPrevious:",
- "removeAll:",
+ "showHistoryWindowController:",
"remove:",
+ "removeAll:",
"showAll:",
"showDownloadsWindow:",
"showFindPanel:"
diff --git a/frontends/gnustep/res/Menu.gorm/objects.gorm b/frontends/gnustep/res/Menu.gorm/objects.gorm
index 04bf6ad09..9cb00d2b2 100644
Binary files a/frontends/gnustep/res/Menu.gorm/objects.gorm and b/frontends/gnustep/res/Menu.gorm/objects.gorm differ