@@ -165,8 +165,20 @@ public MainWindow()
165
165
mnuAllToolsView . Click += ToolsLayout ;
166
166
mnuDebugView . Click += DebugLayout ;
167
167
mnuPlayView . Click += PlayLayout ;
168
- mnuRepo . Click += OpenRepository ;
169
- mnuZXHelp . Click += OpenZXHelp ;
168
+
169
+ mnuDocumentation_Book . Click += MnuDocumentation_Book_Click ;
170
+ mnuDocumentation_Boriel . Click += MnuDocumentation_Boriel_Click ;
171
+ mnuDocumentation_Libro . Click += MnuDocumentation_Libro_Click ;
172
+ mnuDownload_Boriel . Click += MnuDownload_Boriel_Click ;
173
+ mnuDownload_ZXBS . Click += MnuDownload_ZXBS_Click ;
174
+ mnuGitHub_Boriel . Click += MnuGitHub_Boriel_Click ;
175
+ mnuGitHub_ZXBS . Click += MnuGitHub_ZXBS_Click ;
176
+ mnuSocial_Forum . Click += MnuSocial_Forum_Click ;
177
+ mnuSocial_TelegramEN . Click += MnuSocial_TelegramEN_Click ;
178
+ mnuSocial_TelegramES . Click += MnuSocial_TelegramES_Click ;
179
+ mnuSocial_Discord . Click += MnuSocial_Discord_Click ;
180
+ mnuReportBug . Click += MnuReportBug_Click ;
181
+
170
182
mnuAbout . Click += OpenAbout ;
171
183
#endregion
172
184
@@ -290,6 +302,7 @@ public MainWindow()
290
302
ZXLayoutPersister . RestoreLayout ( grdMain , dockLeft , dockRight , dockBottom , new [ ] { _playerDock } ) ;
291
303
}
292
304
305
+
293
306
private void OpenAbout ( object ? sender , RoutedEventArgs e )
294
307
{
295
308
ZXAboutDialog zXAboutDialog = new ZXAboutDialog ( ) ;
@@ -660,7 +673,7 @@ private async void OpenLastProject(object? sender, Avalonia.Interactivity.Routed
660
673
661
674
if ( ! FileInfo . ProjectLoaded && string . IsNullOrEmpty ( ZXOptions . Current . LastProjectPath ) == false )
662
675
{
663
-
676
+
664
677
ZXProjectManager . OpenProject ( ZXOptions . Current . LastProjectPath ) ;
665
678
666
679
Cleanup ( ) ;
@@ -673,7 +686,7 @@ private async void OpenLastProject(object? sender, Avalonia.Interactivity.Routed
673
686
FileInfo . FileSystemObjectSelected = false ;
674
687
EmulatorInfo . CanRun = true ;
675
688
EmulatorInfo . CanDebug = true ;
676
-
689
+
677
690
}
678
691
}
679
692
@@ -1481,7 +1494,7 @@ private async void BuildAndRun(object? sender, Avalonia.Interactivity.RoutedEven
1481
1494
process . StartInfo . WorkingDirectory = project . ProjectPath ;
1482
1495
process . StartInfo . UseShellExecute = true ;
1483
1496
process . StartInfo . CreateNoWindow = false ;
1484
- outLog . Writer . WriteLine ( process . StartInfo . FileName + " " + process . StartInfo . Arguments ) ;
1497
+ outLog . Writer . WriteLine ( process . StartInfo . FileName + " " + process . StartInfo . Arguments ) ;
1485
1498
process . Start ( ) ;
1486
1499
process . WaitForExit ( ) ;
1487
1500
}
@@ -1507,10 +1520,11 @@ private async void BuildAndRun(object? sender, Avalonia.Interactivity.RoutedEven
1507
1520
errorMsg = "There is no valid emulator configured for Next. Please configure an emulator (CSpect or ZEsarUX) from the Tools -> Options menu." ;
1508
1521
break ;
1509
1522
}
1510
- } catch ( Exception ex )
1523
+ }
1524
+ catch ( Exception ex )
1511
1525
{
1512
1526
errorMsg = "Error executing emulator" ;
1513
- }
1527
+ }
1514
1528
}
1515
1529
1516
1530
Dispatcher . UIThread . InvokeAsync ( async ( ) =>
@@ -2361,6 +2375,85 @@ private async void Next_PaletteBuilder(object? sender, Avalonia.Interactivity.Ro
2361
2375
}
2362
2376
2363
2377
#endregion
2378
+
2379
+
2380
+
2381
+ #region Help menu
2382
+
2383
+
2384
+ private void MnuSocial_Discord_Click ( object ? sender , RoutedEventArgs e )
2385
+ {
2386
+ OpenUrl ( "https://discord.com/channels/556228195767156758/745427274123444224" ) ;
2387
+ }
2388
+
2389
+
2390
+ private void MnuSocial_TelegramES_Click ( object ? sender , RoutedEventArgs e )
2391
+ {
2392
+
2393
+ OpenUrl ( "https://t.me/+dSbWL8z8ol1lMjA0" ) ;
2394
+ }
2395
+
2396
+
2397
+ private void MnuSocial_TelegramEN_Click ( object ? sender , RoutedEventArgs e )
2398
+ {
2399
+ OpenUrl ( "https://t.me/+ag4E7W05dvRkZmZk" ) ;
2400
+ }
2401
+
2402
+
2403
+ private void MnuSocial_Forum_Click ( object ? sender , RoutedEventArgs e )
2404
+ {
2405
+ OpenUrl ( "https://www.boriel.com/forum/index.php" ) ;
2406
+ }
2407
+
2408
+
2409
+ private void MnuGitHub_ZXBS_Click ( object ? sender , RoutedEventArgs e )
2410
+ {
2411
+ OpenUrl ( "https://github.com/boriel-basic/ZXBasicStudio" ) ;
2412
+ }
2413
+
2414
+
2415
+ private void MnuGitHub_Boriel_Click ( object ? sender , RoutedEventArgs e )
2416
+ {
2417
+ OpenUrl ( "https://github.com/boriel-basic/zxbasic" ) ;
2418
+ }
2419
+
2420
+
2421
+ private void MnuDownload_ZXBS_Click ( object ? sender , RoutedEventArgs e )
2422
+ {
2423
+ OpenUrl ( "https://github.com/boriel-basic/ZXBasicStudio/releases" ) ;
2424
+ }
2425
+
2426
+
2427
+ private void MnuDownload_Boriel_Click ( object ? sender , RoutedEventArgs e )
2428
+ {
2429
+ OpenUrl ( "https://zxbasic.readthedocs.io/en/latest/archive/" ) ;
2430
+ }
2431
+
2432
+
2433
+ private void MnuDocumentation_Libro_Click ( object ? sender , RoutedEventArgs e )
2434
+ {
2435
+ OpenUrl ( "https://www.amazon.es/Boriel-Basic-para-ZX-Spectrum/dp/B0CQD65FXZ" ) ;
2436
+ }
2437
+
2438
+ private void MnuDocumentation_Boriel_Click ( object ? sender , RoutedEventArgs e )
2439
+ {
2440
+ OpenUrl ( "https://zxbasic.readthedocs.io/en/latest/" ) ;
2441
+ }
2442
+
2443
+ private void MnuDocumentation_Book_Click ( object ? sender , RoutedEventArgs e )
2444
+ {
2445
+ OpenUrl ( "https://www.amazon.co.uk/dp/B0DBF4BHXY" ) ;
2446
+ }
2447
+
2448
+
2449
+ private void MnuReportBug_Click ( object ? sender , RoutedEventArgs e )
2450
+ {
2451
+ OpenUrl ( "https://github.com/boriel-basic/ZXBasicStudio/issues" ) ;
2452
+ }
2453
+
2454
+
2455
+ #endregion
2456
+
2364
2457
}
2365
2458
2366
2459
public enum PreferredSourceType
0 commit comments