From f6c82fd2dd662a39495f26603e97a81039a6e8c5 Mon Sep 17 00:00:00 2001 From: anthony Date: Fri, 4 Dec 2020 20:30:45 +0000 Subject: [PATCH] Add refresh button, hook up back and forward buttons --- frontends/gnustep/BrowserWindowController.h | 6 ++-- frontends/gnustep/BrowserWindowController.m | 28 ++++++++++++++---- .../gnustep/res/Browser.gorm/data.classes | 9 ++++-- .../gnustep/res/Browser.gorm/objects.gorm | Bin 4474 -> 4930 bytes 4 files changed, 32 insertions(+), 11 deletions(-) diff --git a/frontends/gnustep/BrowserWindowController.h b/frontends/gnustep/BrowserWindowController.h index 61d10d195..3564ae739 100644 --- a/frontends/gnustep/BrowserWindowController.h +++ b/frontends/gnustep/BrowserWindowController.h @@ -10,11 +10,13 @@ struct browser_window; struct browser_window *browser; id plotView; id scrollView; + id refreshButton; } -(id)initWithBrowser: (struct browser_window*)aBrowser; --(id)back: (id)sender; --(id)forward: (id)sender; +-(void)back: (id)sender; +-(void)forward: (id)sender; +-(void)stopOrRefresh: (id)sender; // Browser control -(NSSize)getBrowserSize; diff --git a/frontends/gnustep/BrowserWindowController.m b/frontends/gnustep/BrowserWindowController.m index 0d0a1b8bb..9d874ec86 100644 --- a/frontends/gnustep/BrowserWindowController.m +++ b/frontends/gnustep/BrowserWindowController.m @@ -5,6 +5,7 @@ #import "PlotView.h" #import "netsurf/browser_window.h" #import "utils/nsurl.h" +#import "desktop/browser_history.h" @implementation BrowserWindowController @@ -21,14 +22,27 @@ NSLog(@"Browser window loaded"); } --(id)back: (id)sender { +-(void)back: (id)sender { NSLog(@"Browser backward"); - - + if (browser_window_history_back_available(browser)) { + browser_window_history_back(browser, false); + } } --(id)forward: (id)sender { +-(void)forward: (id)sender { NSLog(@"Browser forward"); + if (browser_window_history_forward_available(browser)) { + browser_window_history_forward(browser, false); + } +} + +-(void)stopOrRefresh: (id)sender { + int tag = [sender tag]; + if (tag == 1 && browser_window_stop_available(browser)) { + browser_window_stop(browser); + } else if (browser_window_reload_available(browser)) { + browser_window_reload(browser, true); + } } -(NSSize)getBrowserSize { @@ -60,10 +74,12 @@ } -(void)startThrobber { - + [refreshButton setTitle: @"Stop"]; + [refreshButton setTag: 1]; } -(void)stopThrobber { - + [refreshButton setTitle: @"Refresh"]; + [refreshButton setTag: 0]; } -(void)setNavigationUrl: (NSString*)urlString { [urlBar setStringValue: urlString]; diff --git a/frontends/gnustep/res/Browser.gorm/data.classes b/frontends/gnustep/res/Browser.gorm/data.classes index 45004e7d6..b417d062a 100644 --- a/frontends/gnustep/res/Browser.gorm/data.classes +++ b/frontends/gnustep/res/Browser.gorm/data.classes @@ -4,14 +4,16 @@ Actions = ( "back:", "forward:", - "navigate:" + "navigate:", + "stopOrRefresh:" ); Outlets = ( backButton, forwardButton, urlBar, plotView, - scrollView + scrollView, + refreshButton ); Super = NSWindowController; }; @@ -19,7 +21,8 @@ Actions = ( "back:", "forward:", - "navigate:" + "navigate:", + "stopOrRefresh:" ); Super = NSObject; }; diff --git a/frontends/gnustep/res/Browser.gorm/objects.gorm b/frontends/gnustep/res/Browser.gorm/objects.gorm index 857da67b9c54dbbb42480b6e998bdfb73b57c4f8..8fbe83be40eed5b585efc5d18334ab2fc57c24b1 100644 GIT binary patch delta 1004 zcmZWoOH-_+@m4t&ef(jILa}aI1S)-Y?NEaFd*zbMHOpCi#8`K6L3vSG4^oN@a* z9AZyuY)z6R+3*t!xhIK^?MhO!GxmN5N2)zlbbr$-FV(s{hp9@^n@Lizue!fU(sk%D zoLz!8H2|XtzdAh5xol3&Zr#xN0Ue*$HsUYai@IK;kt_TVoWKW;!IOQ4UG&w6KGVKN zUR*D%70b|XDfWtDms447zNF@OKmK&2T2ES*OoV2<3Qqlv0H<-m*;myF1GwpGsR;#n z3xsjn)h?hH&fqhbzZ!zP4hya$h|Xp&yuEVZ;&5{Nz;`ez!bS2v`riJkiuP; z-!WtC7mLX}h2LFe+c~2VW^vg)ADN@qGwU4Qq4zH?GJ|<*FQ3@c2j@dRNlDG8)>mW2 zLLr;ciYoDv#D^h`f%-sZ!SL}xKCHtcfdn7a;R1m(JfXuy0ujM15g6hT9WD_V5X@x) zVLqV4a;QV{nDb{!T0X1oaY^$CT)~(1?R8g;4xZ)%a1B4#`?pujrv$A2|2<1;KDwep zh8*I;YK_1YkL!>P`K6|Rt7vL5zsD=W(~z^~*(!g5O1Z#zme2ffygxp-5mtfK39Ud_srY zWI_z6*t4(QyG8Vv&@}>4KBhy7bYkF+(6`Ix{BgKzWp-2&IpnPjt(RX|&z9jHH7AAd zeFBp_slx-aF9{E=K6j4F zIT%j!*N)as##k$U;W14oI{T5aE>HFXGp(I1*$ehQsBF5N0ilaN7{NE5sRUTg0g^cS z=}@KEp=?xZyY*9u*&S!I<5UWjK2O zFMnvQa%Gr@SMQBNSLrs9>l-_Zgzx2 mFNj{2{ThJ@v1~$}`ozGY?7NSyTvO1%PaR>`ORHP{MD`C-D%b}A