From 73e4ae3ea6e297bfa22a4c210f218b642b5f5605 Mon Sep 17 00:00:00 2001 From: Marco Cawthorne Date: Sat, 17 Sep 2022 15:14:54 -0700 Subject: [PATCH] add Open... panel in the Browser menu --- frontends/gnustep/AppDelegate.m | 43 ++++++++++++++----- frontends/gnustep/BrowserWindowController.m | 2 +- frontends/gnustep/res/Menu.gorm/data.classes | 4 +- frontends/gnustep/res/Menu.gorm/objects.gorm | Bin 19282 -> 19328 bytes 4 files changed, 37 insertions(+), 12 deletions(-) diff --git a/frontends/gnustep/AppDelegate.m b/frontends/gnustep/AppDelegate.m index a72fd6b87..bd3999ab9 100644 --- a/frontends/gnustep/AppDelegate.m +++ b/frontends/gnustep/AppDelegate.m @@ -298,14 +298,32 @@ static NSMenuItem *menuItemForItem(id item) { } } +-(void) openFileWindow: (id)sender +{ + Website *website; + NSOpenPanel *openPanel = [NSOpenPanel openPanel]; + [openPanel setAllowsMultipleSelection: YES]; + + if ([openPanel runModal] == NSOKButton) { + for (int i = 0; i < [[openPanel URLs] count]; i++) { + Website *website; + NSURL *url = [[openPanel URLs] objectAtIndex: i]; + website = [[Website alloc] initWithName: @"" url: [NSString + stringWithFormat: @"file://%@", [url absoluteString]]]; + [website autorelease]; + [self openWebsite: website]; + } + } +} + - (BOOL) application: (NSApplication *)application openFile: (NSString *)fileName { - NSArray *args; - NSString *path; - NSTask *task; - - [self openDeveloperFileAtPath: fileName]; + Website *website; + website = [[Website alloc] initWithName: @"" url: [NSString + stringWithFormat: @"file://%@", fileName]]; + [website autorelease]; + [self openWebsite: website]; return YES; } @@ -314,31 +332,36 @@ static NSMenuItem *menuItemForItem(id item) { userData: (NSString*)ud error: (NSString**)err { - NSString *url; + NSString *webURL; NSArray *types; NSArray *args; NSString *path; NSTask *task; NSString *pboardString; + Website *website; *err = nil; types = [pb types]; - if (![types containsObject:NSStringPboardType] || !(pboardString = [pb stringForType:NSStringPboardType])) + if (![types containsObject:NSStringPboardType] || + !(pboardString = [pb stringForType:NSStringPboardType])) { *err = NSLocalizedString(@"Error: Pasteboard doesn't contain a string.", @"Pasteboard couldn't give string."); return; } - url = [pb stringForType: NSStringPboardType]; - if (url == nil) + webURL = [pb stringForType: NSStringPboardType]; + if (webURL == nil) { *err = @"No string value supplied on pasteboard"; return; } - [self openDeveloperFileAtPath: url]; + website = [[Website alloc] initWithName: @"" url: webURL]; + [website autorelease]; + [self openWebsite: website]; + return; } diff --git a/frontends/gnustep/BrowserWindowController.m b/frontends/gnustep/BrowserWindowController.m index 7bfb8c57b..e20963e8c 100644 --- a/frontends/gnustep/BrowserWindowController.m +++ b/frontends/gnustep/BrowserWindowController.m @@ -664,7 +664,7 @@ static id newTabTarget; -(void)sharePage: (id)sender { - NSRunAlertPanel(@"Hey!", @"This feature is coming soon.", @"OK", NULL, NULL); + [[[NSApplication sharedApplication] delegate] showHistoryWindow: sender]; } diff --git a/frontends/gnustep/res/Menu.gorm/data.classes b/frontends/gnustep/res/Menu.gorm/data.classes index 6fd3f3b7a..7ea217839 100644 --- a/frontends/gnustep/res/Menu.gorm/data.classes +++ b/frontends/gnustep/res/Menu.gorm/data.classes @@ -7,7 +7,8 @@ "showFindPanel:", "showHistoryWindow:", "showBookmarksWindow:", - "showPreferencesWindow:" + "showPreferencesWindow:", + "openFileWindow:" ); Outlets = ( ); @@ -19,6 +20,7 @@ "didTapNewWindow:", "findNext:", "findPrevious:", + "openFileWindow:", "newFolder:", "newTab:", "reload:", diff --git a/frontends/gnustep/res/Menu.gorm/objects.gorm b/frontends/gnustep/res/Menu.gorm/objects.gorm index 3c44aacef15425a0f37c11dda21186038a37374b..e589a5db0349c50d2013ecae56d8382e8f974363 100644 GIT binary patch literal 19328 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 literal 19282 zcmbtc34B~d8GrMVG;MmM7qxOOcf(O;a|aMe8``GOWZJY8%DG8i+HI5Fu-PIM}=Ipk1o2=^hPD2NA&2Y4&~zxVCFOfoOCT`9jGzwhn)&-b72n3?a* zyqBeIYX;I@e8v zcqzwm+^FkJZtH08+~{?saqT$Ljg~mm+B#MYremGGUWe!Z94&Rq+B$L<&VJNVmPE^( zDZa+mwAY89gd_kSYn)P3>4vYkkBoBR7)yk2j8EbYykHw{1e{{kW8 zC(_`^vS_(83ElD%gSZ6Mq~S?)r##SI?ymJZI|frdvOGH3nGu-KoJz&El8)#Ur@XBr ze<^%3rcke@$jQ+Pr-HTTj45^Gl!+NC_?EMr^wK|HIP-%KK4|4@I7npV)aX>AZ0(D! z_wc*Gk8)acno}8cF7TA&cV|Xm%?x*`Z)^vg)s^2f zqjocL?r?c_j@*eEN{FFE&I7|om|=RrFx_W}s93`5UAS;zu~beblX2nLjGPbcA7$;j z7gfsZ@lsx*%NzJm>UW0vT})pt^LqQCSMJKUL|~V2k1Wn>(ggGVp|>Sl+vV17f00-P(?vi z&HD75Xz%wDvc}{|j^!ydM{EdqYQa;-`pN3?+e0CGO(EwEUQ9(U!3m6>{C9 zd5h!`pgGbsWO1^8t31l&=_-!rv4E!;Jd0SL9wHS(86p>(M4O8vdORR%0nyQ{Z&Kj5 zN$%np=I>s)#AI4r9Mcm4(^4=kV}1It<>fZg+}kT#O}1EZY)=Mk%fWVxY1b;RFNyl? zSd%GL9Me;IrqLu{0m?R3tPkHMn3IZ3a&b^bwj;^gq#85xtpvj=X3*DjVhGlA*9%quRFOF%MT#>+u) zZZS-NA7Kck$Z!)y!4x3Xe=GCnTu4dv4ej`3*<)HCk!8MzIU z@mBe9cB%hdT_(=}!zY+wS}>5NxgF_bf8^mtSJP(AQ zW_|iBwl10Mi?k->`6ktY#ZjFcP+b73&#*py;`gcAQ88X#J;gkEKqj4_Xez2g7qrar;j!Ni6zhXS(9(v zgG(X4`|^B2(6IgUIrgt3Kc5$_j!t*x1p7%X@vd|{nTVx$$7=>{<&FK#-)DMDe!=WN z?XA)7*Me$UC9i>vUu29vWBHF3*P6DCd$cGpu$^GDLte+a^g$i;BU)Wkl^vAVGejR7 z1X&QRsggHf*}2i|CKXNcOYEZD{?<(}=*wEiEBpeaG_s%kiuS8Nn+kVaiCV}Uls&m! zsGGs^Ro17ktfM9BEhgEx615PS8<2esWVf zoPqZm>#DNLJ~Ba5 z8Yq{@M{V4-fUK5}F(h5sar8<9j`rl8YP;n&Y3g zP&U<7$q`UK!x-JI9UGEEwCPhUaan#S$Y)t;c=|RVeJ_&FF+?wygA7MX>@T0UbUun< zG$LQHAgYnxFT%W+7^Cl>b@Y2)*M?$^!=cK{m}Fj(uka+3dw6>l96w=J}S0>N8|C1+sfA$*rHn@JxI?bKj-;Cam z_C;6lIn*DySH@(GiJ?;diErxZ9!v~TiTS)w{@Dhp#d^>z|H2S`S|cqBXf0`%@7WYY z{T1nb8>9}a!g=zq3<+Ho>aZ%jDgS0c)YsEO|91S8z-OoAnd~0&-;4>JlHvE=tohScmK~!VXzDa(-hzY_Ab5<+i z*f3FaWvvpzhN(sfN0e|GV1{Sq8b>uq|%0|K@6ix%$$IRGN4I`S$x}=Y2b`Im6*+U!-HE> zrNo@!3MJ;6D8E8lolN$2#!^b`!~lKy%bhdN-@$Fn6Y`al67x*9VEUtC^e!cGuZ@Iu zy8#J@(J|kmr4b3|DUo|UWP*%BptmcrGph;5G$89vR$>1cydyQi%g5xJ`o;(L2z_Pz%gD zB@SYY9-AOVXh}yl=3X5Mg)}1X=P9w!q6Le#5{ICO!GByehCAHJjDM9TsJN7n7J?=W ztizOu+N`C`kt>y`W=!ZbjHn!_M2&?g3Ze!jY8he%1p^8}spH#5W<=qJdKym+X8U|a zphP2A|9CA*i6#b4kVVKeER=`ZFg57Wpc04KFttdfrAi!bc8c;~0VN_5`eQZ~*wY}I zBW##Dq}v5b9Lbo_T%x7_T_ujPK$K_MHxI-iFUI$qn)lpiteL?vSF|e57WJjL(?Q&Dqg zaxfjq?Zw*XV`0q4!3l#B>nvteV_;xDKG9?!jTt?*ARZ^#F!bO8%*l)~QiBEsD)duq zD(a9vsJTwHVQLV2jN{WLprOn`MH}PW`h%SI7Wo43lqk{3pz!?REbX#Duq2NN%uC%C zOapQZ%eH5MG$M`gSkl9g3DO8L!g{#ghM^~H^6l{0A-v5>^jjdbjKZO(TOf@H z9SZK01%g#li2)kBX-4VicllyFI2aGFqs(#ZWRw^jE*}wTB{m231s|IzF=Xja6H*C= zZ(&GyD$%14La^1MCdz8I+0@h^RZv8HoH0fwQKG>&XYg$!RnQ0A{e+D`BAxJb`$-$7 z7U{HHi8CkY1Z5j4yieIw)FGWNQsOMegr*Z#St>Qpwm@i2yG@C6ERZIo6ZQ?xwLt2z zW}%`wk0GIp1)PF8_R|(6IN?^}e9FlSOccGGpI=Ut_zVN|l3?6h`h}k3f@5AKE;QMK z^@9#mQM6vfknp^e$O#Pliy31i6y+PHrb}!psNnBY;!+!iHj402aG4ELhrB`RWf&8h z6SPw8uf%o>q#ii|gD$r~Xf8vQeT4Xehv_ufEH-Ljz26DAvq7ED)MP zUsd8x3xp13E>q%r7D!Vq#^?D;+-1Sg!41s$K0`t$KR5+L?*|qo*lr&Y$0%{P1%thE zCGMex^FSKLtjwGoxGw3w0;Ju?VLVmn<3@kpdW3FEeC<6o6;37`$S`P}znwd6ggE67=3^LW!S5 zE9oP1{-8dAZ?u#2LA~RQh}9W9^u0D*IU>%X3nhL^@-w)E{5r|c;}Y`ENWPUZKPUMC zT;lgPNInafkbgn)lPv#|4#Gf^d{@c0b?l!!H-UR_ve9oKZkokiNBiE_}ZsG_lX3sf6HN?Q{wN8)hC9O|9t~(#{&9~9P}Y2 z{>e~1$$a|U_Xz<1D+hj3iGMR#uPb0azTXAxKRMVnO8nQ<+3%(BdTpQora8bL5cv5K zu}rxRgY}nU(q5_$A4jCoRaa0DV?bt<>qciebNwK~J9r&uYz%<`Qn@9pP_fPJh3@JKnuI){k$J`Aih_lZgINKU>{$lCQ=kx-yyMJ8=nl3h9LWu5v3_ zXJv4NSn0<2n}ODZ|HS}QPNk*?anotk6f&Al=caRlrgPk!)3lEQ(0m3p@8{-~)EqLJ z&*bKM9LM_Hokd_WMY*#XtZz&X@K+)A0 zp$=b)E4XSt$-}sW{85r0#3kgNsRd*hvJ126bxjwI1$S4%zs&gE2oD+f-5IaH6xM~$ zh|ypVYVZ^{h)@H_Xs{3d+b*o#_R$SwA!7Ld_mA8w(i=z#y%E%4$cTJ1|n zGElkuG1BJP{fXldcE1YuM@hbgbd1V--x z&K*$dGX;5zqk05cc|GUCktE;7@=??tGTJvYnLZtM`5%0PW)Z>A9I(YEEaiVc4Ok0l zK853OG|4M*3EwXv`6XOJUP`J6qugbz%9dZP)be3}t#y}EOUUTNG2BugCQ1B31a#rp z;aUFF3H2)&q>nwUYlF&dBc;!BH`_@*6PM_kBDootkXI5JVU)Y7a5p;$jh0A-)r=mW zw87SOkhE*44V;2D$8j6|+bIfN?&H&-#aim$2>0)JY7H6AIDuR1S(1OrgI7p*9W`9w zS3B;BBwvh67B+_J>N&U(5@&a&*0PRP)iJJHddJF1hutH|qGPi?5L z%H2>nd~rg98KKz7X#Kky3WfIfYl3iWqE@I0(XZSIjXrkrrG(o@FqDgc{iNqGZadL2qV5O1a6E#gGkMy(*DHu^ZX(g*DZY@VaR8N<{4 HKQHw^@m2XR