@@ -165,8 +165,20 @@ public MainWindow()
165165 mnuAllToolsView . Click += ToolsLayout ;
166166 mnuDebugView . Click += DebugLayout ;
167167 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+
170182 mnuAbout . Click += OpenAbout ;
171183 #endregion
172184
@@ -290,6 +302,7 @@ public MainWindow()
290302 ZXLayoutPersister . RestoreLayout ( grdMain , dockLeft , dockRight , dockBottom , new [ ] { _playerDock } ) ;
291303 }
292304
305+
293306 private void OpenAbout ( object ? sender , RoutedEventArgs e )
294307 {
295308 ZXAboutDialog zXAboutDialog = new ZXAboutDialog ( ) ;
@@ -660,7 +673,7 @@ private async void OpenLastProject(object? sender, Avalonia.Interactivity.Routed
660673
661674 if ( ! FileInfo . ProjectLoaded && string . IsNullOrEmpty ( ZXOptions . Current . LastProjectPath ) == false )
662675 {
663-
676+
664677 ZXProjectManager . OpenProject ( ZXOptions . Current . LastProjectPath ) ;
665678
666679 Cleanup ( ) ;
@@ -673,7 +686,7 @@ private async void OpenLastProject(object? sender, Avalonia.Interactivity.Routed
673686 FileInfo . FileSystemObjectSelected = false ;
674687 EmulatorInfo . CanRun = true ;
675688 EmulatorInfo . CanDebug = true ;
676-
689+
677690 }
678691 }
679692
@@ -1481,7 +1494,7 @@ private async void BuildAndRun(object? sender, Avalonia.Interactivity.RoutedEven
14811494 process . StartInfo . WorkingDirectory = project . ProjectPath ;
14821495 process . StartInfo . UseShellExecute = true ;
14831496 process . StartInfo . CreateNoWindow = false ;
1484- outLog . Writer . WriteLine ( process . StartInfo . FileName + " " + process . StartInfo . Arguments ) ;
1497+ outLog . Writer . WriteLine ( process . StartInfo . FileName + " " + process . StartInfo . Arguments ) ;
14851498 process . Start ( ) ;
14861499 process . WaitForExit ( ) ;
14871500 }
@@ -1507,10 +1520,11 @@ private async void BuildAndRun(object? sender, Avalonia.Interactivity.RoutedEven
15071520 errorMsg = "There is no valid emulator configured for Next. Please configure an emulator (CSpect or ZEsarUX) from the Tools -> Options menu." ;
15081521 break ;
15091522 }
1510- } catch ( Exception ex )
1523+ }
1524+ catch ( Exception ex )
15111525 {
15121526 errorMsg = "Error executing emulator" ;
1513- }
1527+ }
15141528 }
15151529
15161530 Dispatcher . UIThread . InvokeAsync ( async ( ) =>
@@ -2361,6 +2375,85 @@ private async void Next_PaletteBuilder(object? sender, Avalonia.Interactivity.Ro
23612375 }
23622376
23632377 #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+
23642457 }
23652458
23662459 public enum PreferredSourceType
0 commit comments