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