Skip to content

Commit 282b72c

Browse files
Merge pull request #132 from nullinside-development-group/feat/qol
Feat/qol
2 parents b2216dd + 036ad8a commit 282b72c

File tree

9 files changed

+51
-32
lines changed

9 files changed

+51
-32
lines changed

src/Nullinside.TwitchStreamingTools/App.axaml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
<Application xmlns="https://github.com/avaloniaui"
22
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
33
x:Class="Nullinside.TwitchStreamingTools.App"
4-
xmlns:twitchStreamingTools="clr-namespace:Nullinside.TwitchStreamingTools"
54
xmlns:twitchStreamingTools1="clr-namespace:Nullinside.TwitchStreamingTools"
65
RequestedThemeVariant="Dark">
76
<!-- "Default" ThemeVariant follows system theme variant. "Dark" or "Light" are other available options. -->

src/Nullinside.TwitchStreamingTools/Controls/Keybind.axaml

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,20 @@
33
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
44
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
55
xmlns:viewModels="clr-namespace:Nullinside.TwitchStreamingTools.Controls.ViewModels"
6+
xmlns:controls="clr-namespace:Nullinside.TwitchStreamingTools.Controls"
67
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
78
x:Class="Nullinside.TwitchStreamingTools.Controls.Keybind"
89
x:DataType="viewModels:KeybindViewModel">
910
<StackPanel>
10-
<Button Content="{Binding Keybind}" Command="{Binding ListenForKeystroke}" />
11+
<Button IsVisible="{Binding !Listening}"
12+
Content="{Binding Keybind, TargetNullValue='[None]'}"
13+
Command="{Binding ListenForKeystroke}"
14+
ToolTip.Tip="ESC to unset" />
15+
<StackPanel IsVisible="{Binding Listening}"
16+
Orientation="Horizontal">
17+
<controls:Loading Width="25"
18+
Height="25" />
19+
<Label>Press a key...</Label>
20+
</StackPanel>
1121
</StackPanel>
1222
</UserControl>

src/Nullinside.TwitchStreamingTools/Controls/ViewModels/KeybindViewModel.cs

Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
using System.Reactive;
22

3+
using Nullinside.TwitchStreamingTools.Models;
34
using Nullinside.TwitchStreamingTools.Services;
45
using Nullinside.TwitchStreamingTools.ViewModels;
56

@@ -19,7 +20,12 @@ public class KeybindViewModel : ViewModelBase {
1920
/// <summary>
2021
/// The keybind, if set.
2122
/// </summary>
22-
private Nullinside.TwitchStreamingTools.Controls.ViewModels.Keybind? _keybind;
23+
private Keybind? _keybind;
24+
25+
/// <summary>
26+
/// True if listening for keystrokes, false otherwise.
27+
/// </summary>
28+
private bool _listening;
2329

2430
/// <summary>
2531
/// Initializes a new instance of the <see cref="KeybindViewModel" /> class.
@@ -33,11 +39,19 @@ public KeybindViewModel(IGlobalKeyPressService service) {
3339
/// <summary>
3440
/// The keybind.
3541
/// </summary>
36-
public Nullinside.TwitchStreamingTools.Controls.ViewModels.Keybind? Keybind {
42+
public Keybind? Keybind {
3743
get => _keybind;
3844
set => this.RaiseAndSetIfChanged(ref _keybind, value);
3945
}
4046

47+
/// <summary>
48+
/// True if listening for keystrokes, false otherwise.
49+
/// </summary>
50+
public bool Listening {
51+
get => _listening;
52+
set => this.RaiseAndSetIfChanged(ref _listening, value);
53+
}
54+
4155
/// <summary>
4256
/// Listens for keystrokes.
4357
/// </summary>
@@ -47,6 +61,7 @@ public Nullinside.TwitchStreamingTools.Controls.ViewModels.Keybind? Keybind {
4761
/// Starts listening for keystrokes.
4862
/// </summary>
4963
private void StartListenKeystroke() {
64+
Listening = true;
5065
_service.OnKeystroke -= OnKeystroke;
5166
_service.OnKeystroke += OnKeystroke;
5267
}
@@ -55,12 +70,13 @@ private void StartListenKeystroke() {
5570
/// Called whenever a keystroke is pressed.
5671
/// </summary>
5772
/// <param name="keybind">The key that was press.</param>
58-
private void OnKeystroke(Nullinside.TwitchStreamingTools.Controls.ViewModels.Keybind keybind) {
73+
private void OnKeystroke(Keybind keybind) {
5974
if (_service.IsModifier(keybind.Key)) {
6075
return;
6176
}
6277

63-
Keybind = keybind;
78+
Keybind = keybind.Key == Keys.Escape ? null : keybind;
6479
_service.OnKeystroke -= OnKeystroke;
80+
Listening = false;
6581
}
6682
}

src/Nullinside.TwitchStreamingTools/Nullinside.TwitchStreamingTools.csproj

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@
1515
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
1616
<AssemblyName>Nullinside.TwitchStreamingTools</AssemblyName>
1717
<RootNamespace>Nullinside.TwitchStreamingTools</RootNamespace>
18-
<Company />
19-
<Product />
18+
<Company/>
19+
<Product/>
2020
</PropertyGroup>
2121
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
2222
<DocumentationFile>bin\Debug\TwitchStreamingTools.xml</DocumentationFile>
@@ -53,22 +53,22 @@
5353
</ItemGroup>
5454

5555
<ItemGroup>
56-
<PackageReference Include="Avalonia" Version="11.3.6" />
57-
<PackageReference Include="Avalonia.Desktop" Version="11.3.6" />
58-
<PackageReference Include="Avalonia.Themes.Fluent" Version="11.3.6" />
59-
<PackageReference Include="Avalonia.Fonts.Inter" Version="11.3.6" />
56+
<PackageReference Include="Avalonia" Version="11.3.6"/>
57+
<PackageReference Include="Avalonia.Desktop" Version="11.3.6"/>
58+
<PackageReference Include="Avalonia.Themes.Fluent" Version="11.3.6"/>
59+
<PackageReference Include="Avalonia.Fonts.Inter" Version="11.3.6"/>
6060
<!--Condition below is needed to remove Avalonia.Diagnostics package from build output in Release configuration.-->
61-
<PackageReference Condition="'$(Configuration)' == 'Debug'" Include="Avalonia.Diagnostics" Version="11.3.6" />
62-
<PackageReference Include="Avalonia.ReactiveUI" Version="11.3.6" />
61+
<PackageReference Condition="'$(Configuration)' == 'Debug'" Include="Avalonia.Diagnostics" Version="11.3.6"/>
62+
<PackageReference Include="Avalonia.ReactiveUI" Version="11.3.6"/>
6363
<PackageReference Include="DynamicData" Version="9.4.1"/>
64-
<PackageReference Include="log4net" Version="3.2.0" />
65-
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="9.0.9" />
64+
<PackageReference Include="log4net" Version="3.2.0"/>
65+
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="9.0.9"/>
6666
<PackageReference Include="NAudio.Wasapi" Version="2.2.1"/>
6767
<PackageReference Include="NAudio.WinMM" Version="2.2.1"/>
6868
<PackageReference Include="PInvoke.User32" Version="0.7.124"/>
69-
<PackageReference Include="System.Speech" Version="9.0.9" />
70-
<PackageReference Include="Xaml.Behaviors.Avalonia" Version="11.3.6.4" />
71-
<PackageReference Include="Xaml.Behaviors.Interactivity" Version="11.3.6.4" />
69+
<PackageReference Include="System.Speech" Version="9.0.9"/>
70+
<PackageReference Include="Xaml.Behaviors.Avalonia" Version="11.3.6.4"/>
71+
<PackageReference Include="Xaml.Behaviors.Interactivity" Version="11.3.6.4"/>
7272
</ItemGroup>
7373

7474
<ItemGroup>

src/Nullinside.TwitchStreamingTools/Views/MainWindow.axaml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
33
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
44
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
5-
xmlns:controls="clr-namespace:Nullinside.TwitchStreamingTools.Controls"
65
xmlns:viewModels="clr-namespace:Nullinside.TwitchStreamingTools.ViewModels"
76
xmlns:controls1="clr-namespace:Nullinside.TwitchStreamingTools.Controls"
87
xmlns:m="clr-namespace:Nullinside.TwitchStreamingTools.Models"

src/Nullinside.TwitchStreamingTools/Views/NewVersionWindow.axaml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
33
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
44
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
5-
xmlns:controls="clr-namespace:Nullinside.TwitchStreamingTools.Controls"
65
xmlns:viewModels="clr-namespace:Nullinside.TwitchStreamingTools.ViewModels"
76
xmlns:controls1="clr-namespace:Nullinside.TwitchStreamingTools.Controls"
87
x:Name="Window"

src/Nullinside.TwitchStreamingTools/Views/Pages/AccountView.axaml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
33
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
44
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
5-
xmlns:controls="clr-namespace:Nullinside.TwitchStreamingTools.Controls"
65
xmlns:pages="clr-namespace:Nullinside.TwitchStreamingTools.ViewModels.Pages"
76
xmlns:controls1="clr-namespace:Nullinside.TwitchStreamingTools.Controls"
87
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"

src/Nullinside.TwitchStreamingTools/Views/Pages/SettingsView/SettingsView.axaml

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@
22
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
33
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
44
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
5-
xmlns:settingsView="clr-namespace:Nullinside.TwitchStreamingTools.Views.Pages.SettingsView"
6-
xmlns:controls="clr-namespace:Nullinside.TwitchStreamingTools.Controls"
75
xmlns:pages1="clr-namespace:Nullinside.TwitchStreamingTools.ViewModels.Pages.SettingsView"
86
xmlns:controls1="clr-namespace:Nullinside.TwitchStreamingTools.Controls"
97
xmlns:settingsView1="clr-namespace:Nullinside.TwitchStreamingTools.Views.Pages.SettingsView"
@@ -41,17 +39,17 @@
4139
Skip TTS Button:
4240
</Label>
4341
<controls1:Keybind Grid.Row="0"
44-
Grid.Column="1"
45-
DataContext="{Binding SkipTtsKeyBinding}" />
42+
Grid.Column="1"
43+
DataContext="{Binding SkipTtsKeyBinding}" />
4644
<Label Grid.Row="1"
4745
Grid.Column="0"
4846
HorizontalAlignment="Right"
4947
VerticalAlignment="Center">
5048
Skip All TTS Button:
5149
</Label>
5250
<controls1:Keybind Grid.Row="1"
53-
Grid.Column="1"
54-
DataContext="{Binding SkipAllTtsKeyBinding}" />
51+
Grid.Column="1"
52+
DataContext="{Binding SkipAllTtsKeyBinding}" />
5553
<Label Grid.Row="2"
5654
Grid.Column="0"
5755
HorizontalAlignment="Right"
@@ -230,7 +228,7 @@
230228
<Grid Grid.Row="8"
231229
Grid.Column="1">
232230
<settingsView1:TtsSkipUsernamesControl Margin="0,0,5,0"
233-
DataContext="{Binding TtsSkipUsernamesViewModel}" />
231+
DataContext="{Binding TtsSkipUsernamesViewModel}" />
234232
</Grid>
235233
<Label Grid.Row="9"
236234
Grid.Column="0"
@@ -242,7 +240,7 @@
242240
<Grid Grid.Row="9"
243241
Grid.Column="1">
244242
<settingsView1:TtsPhoneticWordsControl Margin="0,0,5,0"
245-
DataContext="{Binding TtsPhoneticWordsViewModel}" />
243+
DataContext="{Binding TtsPhoneticWordsViewModel}" />
246244
</Grid>
247245
</Grid>
248246
</ScrollViewer>

src/Nullinside.TwitchStreamingTools/Views/Pages/SettingsView/TtsSkipUsernamesControl.axaml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
33
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
44
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
5-
xmlns:controls="clr-namespace:Nullinside.TwitchStreamingTools.Controls"
65
xmlns:settingView="clr-namespace:Nullinside.TwitchStreamingTools.ViewModels.Pages.SettingsView"
76
xmlns:controls1="clr-namespace:Nullinside.TwitchStreamingTools.Controls"
87
mc:Ignorable="d" d:DesignWidth="300" d:DesignHeight="300"
@@ -24,6 +23,6 @@
2423
<TextBox Grid.Row="0" Grid.Column="0" Text="{Binding UserToAdd}" />
2524
<Button Grid.Row="0" Grid.Column="1" Margin="5,0,0,0" Command="{Binding AddUser}">Add User</Button>
2625
<controls1:TwoListView Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="2" MaxHeight="200"
27-
DataContext="{Binding TwoListViewModel}" />
26+
DataContext="{Binding TwoListViewModel}" />
2827
</Grid>
2928
</UserControl>

0 commit comments

Comments
 (0)