Skip to content

Commit 1bc4faa

Browse files
Revamp Help, Advanced tabs & Update context menu
1 parent 232c4ee commit 1bc4faa

File tree

4 files changed

+189
-32
lines changed

4 files changed

+189
-32
lines changed

RadialActions/App.xaml.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
using System.Diagnostics;
22
using System.IO;
3+
using System.Runtime.InteropServices;
34
using System.Windows;
45
using Microsoft.Win32;
56

@@ -25,7 +26,8 @@ protected override void OnStartup(StartupEventArgs e)
2526
.WriteTo.Debug()
2627
.CreateLogger();
2728

28-
Log.Information($"Starting Radial Actions");
29+
Log.Information($"Starting Radial Actions {FileVersionInfo.GetVersionInfo(MainFileInfo.FullName).FileVersion}");
30+
Log.Information($"Runtime: {RuntimeInformation.FrameworkDescription} {RuntimeInformation.ProcessArchitecture}");
2931
}
3032

3133
/// <summary>

RadialActions/MainWindow.xaml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
</MenuItem.Icon>
2828
</MenuItem>
2929

30-
<MenuItem Header="_Configure actions"
30+
<MenuItem Header="_Actions"
3131
Command="{Binding OpenSettingsWindowCommand}"
3232
CommandParameter="1">
3333
<MenuItem.Icon>
@@ -36,20 +36,20 @@
3636
</MenuItem.Icon>
3737
</MenuItem>
3838

39-
<MenuItem Header="_Help and shortcuts"
39+
<MenuItem Header="Ad_vanced"
4040
Command="{Binding OpenSettingsWindowCommand}"
4141
CommandParameter="2">
4242
<MenuItem.Icon>
43-
<TextBlock Text="&#xE897;"
44-
FontFamily="Segoe MDL2 Assets" />
43+
<TextBlock Text="&#xE9CE;"
44+
FontFamily="Segoe MDL2 Assets"/>
4545
</MenuItem.Icon>
4646
</MenuItem>
4747

48-
<MenuItem Header="_Advanced"
48+
<MenuItem Header="_Help"
4949
Command="{Binding OpenSettingsWindowCommand}"
5050
CommandParameter="3">
5151
<MenuItem.Icon>
52-
<TextBlock Text="&#xE9CE;"
52+
<TextBlock Text="&#xE897;"
5353
FontFamily="Segoe MDL2 Assets" />
5454
</MenuItem.Icon>
5555
</MenuItem>

RadialActions/SettingsWindow.xaml

Lines changed: 172 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,19 @@
3232
BasedOn="{StaticResource {x:Type Hyperlink}}">
3333
<Setter Property="TextDecorations" Value="None" />
3434
</Style>
35+
36+
<Style x:Key="ProjectTitleTextBlock"
37+
TargetType="TextBlock"
38+
BasedOn="{StaticResource {x:Type TextBlock}}">
39+
<Setter Property="FontWeight" Value="SemiBold" />
40+
<Setter Property="FontSize" Value="18" />
41+
</Style>
42+
43+
<Style x:Key="ProjectDescriptionTextBlock"
44+
TargetType="TextBlock"
45+
BasedOn="{StaticResource {x:Type TextBlock}}">
46+
<Setter Property="TextWrapping" Value="Wrap" />
47+
</Style>
3548
</Window.Resources>
3649
<Grid>
3750
<TabControl Padding="12,12,12,0"
@@ -309,7 +322,7 @@
309322
</Grid>
310323
</TabItem>
311324

312-
<TabItem Header="_Advanced">
325+
<TabItem Header="Ad_vanced">
313326
<ScrollViewer VerticalScrollBarVisibility="Auto">
314327
<StackPanel Margin="0">
315328
<GroupBox Header="Tools">
@@ -321,19 +334,81 @@
321334
Command="{Binding OpenSettingsFileCommand}"
322335
Margin="0,0,0,8"
323336
IsEnabled="{x:Static p:Settings.CanBeSaved}" />
324-
<Button Content="Check for Updates"
325-
Command="{Binding CheckForUpdatesCommand}" />
326337
</StackPanel>
327338
</GroupBox>
339+
340+
<GroupBox Header="App Info"
341+
Margin="0,12,0,0">
342+
<Grid Margin="8">
343+
<Grid.ColumnDefinitions>
344+
<ColumnDefinition Width="Auto" />
345+
<ColumnDefinition Width="12" />
346+
<ColumnDefinition Width="*" />
347+
</Grid.ColumnDefinitions>
348+
<Grid.RowDefinitions>
349+
<RowDefinition Height="Auto" />
350+
<RowDefinition Height="Auto" />
351+
<RowDefinition Height="Auto" />
352+
<RowDefinition Height="Auto" />
353+
<RowDefinition Height="Auto" />
354+
</Grid.RowDefinitions>
355+
<TextBlock Grid.Row="0" Grid.Column="0"
356+
FontWeight="SemiBold"
357+
Text="File Version" />
358+
<TextBlock Grid.Row="0" Grid.Column="2"
359+
Text="{Binding FileVersion}" />
360+
<TextBlock Grid.Row="1" Grid.Column="0"
361+
FontWeight="SemiBold"
362+
Text="Architecture" />
363+
<TextBlock Grid.Row="1" Grid.Column="2"
364+
Text="{Binding Architecture}" />
365+
<TextBlock Grid.Row="2" Grid.Column="0"
366+
FontWeight="SemiBold"
367+
Text="Runtime" />
368+
<TextBlock Grid.Row="2" Grid.Column="2"
369+
Text="{Binding RuntimeDescription}" />
370+
<TextBlock Grid.Row="3" Grid.Column="0"
371+
FontWeight="SemiBold"
372+
Text="OS" />
373+
<TextBlock Grid.Row="3" Grid.Column="2"
374+
Text="{Binding OsDescription}" />
375+
<TextBlock Grid.Row="4" Grid.Column="0"
376+
FontWeight="SemiBold"
377+
Text="Executable" />
378+
<TextBlock Grid.Row="4" Grid.Column="2"
379+
Text="{Binding ExecutablePath}"
380+
TextWrapping="Wrap" />
381+
</Grid>
382+
</GroupBox>
328383
</StackPanel>
329384
</ScrollViewer>
330385
</TabItem>
331386

332387
<TabItem Header="_Help">
333388
<ScrollViewer VerticalScrollBarVisibility="Auto">
334-
<StackPanel Margin="0">
389+
<Grid Margin="0"
390+
MinHeight="{Binding RelativeSource={RelativeSource AncestorType=ScrollViewer}, Path=ViewportHeight}">
391+
<Grid.RowDefinitions>
392+
<RowDefinition Height="Auto" />
393+
<RowDefinition Height="*" />
394+
<RowDefinition Height="Auto" />
395+
<RowDefinition Height="*" />
396+
<RowDefinition Height="Auto" />
397+
<RowDefinition Height="*" />
398+
<RowDefinition Height="Auto" />
399+
</Grid.RowDefinitions>
400+
401+
<StackPanel Grid.Row="0">
402+
<TextBlock Text="Radial Actions"
403+
FontSize="24"
404+
FontWeight="SemiBold" />
405+
<TextBlock Margin="0,4,0,0"
406+
Text="Summon a radial launcher for your everyday shortcuts."
407+
TextWrapping="Wrap" />
408+
</StackPanel>
409+
335410
<GroupBox Header="Quick Start"
336-
Margin="0,0,0,12">
411+
Grid.Row="2">
337412
<StackPanel Margin="8">
338413
<TextBlock Margin="0,0,0,4"
339414
TextWrapping="Wrap">
@@ -358,32 +433,111 @@
358433
</StackPanel>
359434
</GroupBox>
360435

361-
<GroupBox Header="Links"
362-
Margin="0,0,0,12">
436+
<GroupBox Header="Support"
437+
Grid.Row="4">
363438
<StackPanel Margin="8">
364-
<TextBlock Margin="0,0,0,4"
365-
TextWrapping="Wrap">
439+
<TextBlock Margin="0,0,12,8">
366440
<Hyperlink NavigateUri="https://github.com/danielchalmers/RadialActions"
367-
RequestNavigate="Hyperlink_RequestNavigate">
368-
📦 GitHub Repository
441+
RequestNavigate="Hyperlink_RequestNavigate">
442+
📦 View on GitHub
369443
</Hyperlink>
370444
</TextBlock>
371-
<TextBlock Margin="0,0,0,4"
372-
TextWrapping="Wrap">
445+
<TextBlock Margin="0,0,12,8">
446+
<Hyperlink NavigateUri="https://github.com/danielchalmers/RadialActions/issues"
447+
RequestNavigate="Hyperlink_RequestNavigate">
448+
🐛 Report a Bug
449+
</Hyperlink>
450+
</TextBlock>
451+
<TextBlock Margin="0,0,12,8">
373452
<Hyperlink NavigateUri="https://github.com/danielchalmers/RadialActions/releases"
374-
RequestNavigate="Hyperlink_RequestNavigate">
453+
RequestNavigate="Hyperlink_RequestNavigate">
375454
🚀 Check for Updates
376455
</Hyperlink>
377456
</TextBlock>
378-
<TextBlock TextWrapping="Wrap">
379-
<Hyperlink NavigateUri="https://github.com/danielchalmers/RadialActions/issues"
457+
</StackPanel>
458+
</GroupBox>
459+
460+
<GroupBox Header="More from the Author"
461+
Grid.Row="6">
462+
<StackPanel Margin="8">
463+
<UniformGrid Columns="3"
464+
Margin="0,4,0,0">
465+
<StackPanel Margin="0,0,12,12">
466+
<TextBlock Style="{StaticResource ProjectTitleTextBlock}">
467+
<Hyperlink NavigateUri="https://github.com/danielchalmers/JournalApp"
468+
RequestNavigate="Hyperlink_RequestNavigate">
469+
Good Diary
470+
</Hyperlink>
471+
</TextBlock>
472+
<TextBlock Margin="0,4,0,8"
473+
Style="{StaticResource ProjectDescriptionTextBlock}"
474+
Text="Track your daily activities and moods on Android." />
475+
</StackPanel>
476+
<StackPanel Margin="0,0,12,12">
477+
<TextBlock Style="{StaticResource ProjectTitleTextBlock}">
478+
<Hyperlink NavigateUri="https://github.com/danielchalmers/DesktopClock"
479+
RequestNavigate="Hyperlink_RequestNavigate">
480+
DesktopClock
481+
</Hyperlink>
482+
</TextBlock>
483+
<TextBlock Margin="0,4,0,8"
484+
Style="{StaticResource ProjectDescriptionTextBlock}"
485+
Text="A digital clock for your desktop." />
486+
</StackPanel>
487+
<StackPanel Margin="0,0,12,12">
488+
<TextBlock Style="{StaticResource ProjectTitleTextBlock}">
489+
<Hyperlink NavigateUri="https://github.com/danielchalmers/SentryReplay"
490+
RequestNavigate="Hyperlink_RequestNavigate">
491+
SentryReplay
492+
</Hyperlink>
493+
</TextBlock>
494+
<TextBlock Margin="0,4,0,8"
495+
Style="{StaticResource ProjectDescriptionTextBlock}"
496+
Text="Review Tesla dashcam clips on Windows." />
497+
</StackPanel>
498+
<StackPanel Margin="0,0,12,12">
499+
<TextBlock Style="{StaticResource ProjectTitleTextBlock}">
500+
<Hyperlink NavigateUri="https://github.com/danielchalmers/SteamAccountSwitcher"
501+
RequestNavigate="Hyperlink_RequestNavigate">
502+
SteamAccountSwitcher
503+
</Hyperlink>
504+
</TextBlock>
505+
<TextBlock Margin="0,4,0,8"
506+
Style="{StaticResource ProjectDescriptionTextBlock}"
507+
Text="Swap Steam accounts from the system tray." />
508+
</StackPanel>
509+
<StackPanel Margin="0,0,12,12">
510+
<TextBlock Style="{StaticResource ProjectTitleTextBlock}">
511+
<Hyperlink NavigateUri="https://github.com/danielchalmers/Network-Monitor"
512+
RequestNavigate="Hyperlink_RequestNavigate">
513+
Network Monitor
514+
</Hyperlink>
515+
</TextBlock>
516+
<TextBlock Margin="0,4,0,8"
517+
Style="{StaticResource ProjectDescriptionTextBlock}"
518+
Text="Live latency and bandwidth in a desktop widget." />
519+
</StackPanel>
520+
<StackPanel Margin="0,0,12,12">
521+
<TextBlock Style="{StaticResource ProjectTitleTextBlock}">
522+
<Hyperlink NavigateUri="https://github.com/danielchalmers/Teichos"
523+
RequestNavigate="Hyperlink_RequestNavigate">
524+
Teichos
525+
</Hyperlink>
526+
</TextBlock>
527+
<TextBlock Margin="0,4,0,8"
528+
Style="{StaticResource ProjectDescriptionTextBlock}"
529+
Text="Stay focused with URL blocking and schedules." />
530+
</StackPanel>
531+
</UniformGrid>
532+
<TextBlock Margin="0,0,0,8">
533+
<Hyperlink NavigateUri="https://github.com/danielchalmers"
380534
RequestNavigate="Hyperlink_RequestNavigate">
381-
🐛 Report a Bug / Request a Feature
535+
View all projects on GitHub
382536
</Hyperlink>
383537
</TextBlock>
384538
</StackPanel>
385539
</GroupBox>
386-
</StackPanel>
540+
</Grid>
387541
</ScrollViewer>
388542
</TabItem>
389543
</TabControl>

RadialActions/SettingsWindow.xaml.cs

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
using System.ComponentModel;
22
using System.Diagnostics;
33
using System.IO;
4+
using System.Reflection;
5+
using System.Runtime.InteropServices;
46
using System.Windows;
57
using System.Windows.Controls;
68
using System.Windows.Input;
@@ -46,6 +48,7 @@ private void SaveSettings()
4648

4749
private void Hyperlink_RequestNavigate(object sender, RequestNavigateEventArgs e)
4850
{
51+
Log.Information("Opening link from Settings/Help: {Url}", e.Uri.AbsoluteUri);
4952
Process.Start(new ProcessStartInfo(e.Uri.AbsoluteUri) { UseShellExecute = true });
5053
e.Handled = true;
5154
}
@@ -97,7 +100,6 @@ public partial class SettingsWindowViewModel : ObservableObject
97100
{
98101
public const string CustomKeyActionId = "__custom__";
99102
private const string LegacyDefaultIcon = "⭐";
100-
private const string UpdatesUrl = "https://github.com/danielchalmers/RadialActions/releases";
101103

102104
private static readonly KeyActionDefinition CustomKeyActionOption =
103105
new(CustomKeyActionId, "Custom Shortcut...", "⌨️", 0);
@@ -115,6 +117,11 @@ public partial class SettingsWindowViewModel : ObservableObject
115117
private int _selectedActionIndex = -1;
116118

117119
public Settings Settings { get; }
120+
public string FileVersion { get; } = FileVersionInfo.GetVersionInfo(App.MainFileInfo.FullName)?.FileVersion ?? "Unknown";
121+
public string Architecture { get; } = RuntimeInformation.ProcessArchitecture.ToString();
122+
public string RuntimeDescription { get; } = RuntimeInformation.FrameworkDescription;
123+
public string OsDescription { get; } = RuntimeInformation.OSDescription;
124+
public string ExecutablePath { get; } = App.MainFileInfo.FullName;
118125

119126
/// <summary>
120127
/// Available action types for the dropdown.
@@ -387,11 +394,6 @@ public void OpenSettingsFile()
387394
}
388395
}
389396

390-
[RelayCommand]
391-
public void CheckForUpdates()
392-
{
393-
Process.Start(new ProcessStartInfo(UpdatesUrl) { UseShellExecute = true });
394-
}
395397

396398
partial void OnSelectedActionChanged(PieAction oldValue, PieAction newValue)
397399
{
@@ -577,4 +579,3 @@ private static bool ShouldApplyDefault(string currentValue, string defaultValue,
577579

578580
private readonly record struct ShellDefaults(string Name, string Icon, string WorkingDirectory);
579581
}
580-

0 commit comments

Comments
 (0)