Add initial UI elements for Expert tab of Settings window

This commit is contained in:
Peter Kirmeier 2022-11-02 21:19:57 +01:00
parent 56912e0927
commit 3ffd9423e0
2 changed files with 61 additions and 46 deletions

View file

@ -103,7 +103,7 @@
<RadioButton x:Name="radioButtonNextToPreviousMenu" GroupName="SubMenuAppearsAt" Content="{u:Translate 'Next to the previous one'}" VerticalContentAlignment="Center" />
<StackPanel Orientation="Horizontal">
<RadioButton x:Name="radioButtonOverlapping" GroupName="SubMenuAppearsAt" Content="{u:Translate 'Overlapping'}" Checked="RadioButtonOverlapping_Checked" Unchecked="RadioButtonOverlapping_Unchecked" VerticalContentAlignment="Center" />
<local:NumericUpDown x:Name="numericUpDownOverlappingOffsetPixels" Width="70" VerticalContentAlignment="Center" Margin="10,0,0,0" />
<local:NumericUpDown x:Name="numericUpDownOverlappingOffsetPixels" Width="70" VerticalContentAlignment="Center" Margin="10,0,0,0" Minimum="0" Maximum="500" Increment="10" />
<Label Content="{u:Translate 'Offset by pixels'}" Padding="5,0,0,0" VerticalAlignment="Center"/>
</StackPanel>
</StackPanel>
@ -215,7 +215,45 @@
<TabItem Header="{u:Translate 'Expert'}">
<ScrollViewer HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto">
<StackPanel>
<Label Content="fill me 5" Background="Red"/>
<GroupBox Header="{u:Translate 'Time until a menu opens'}">
<StackPanel Orientation="Horizontal">
<local:NumericUpDown x:Name="numericUpDownTimeUntilOpens" Width="70" VerticalContentAlignment="Center" Minimum="20" Maximum="1000" Increment="10" />
<Label Content="{u:Translate 'Milliseconds until a menu opens when the mouse is on it'}" Padding="5,0,0,0" VerticalAlignment="Center"/>
</StackPanel>
</GroupBox>
<GroupBox Header="{u:Translate 'Menu stays open'}">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="70" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<CheckBox Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="2" x:Name="checkBoxStayOpenWhenItemClicked" Content="{u:Translate 'If an element was clicked'}"/>
<CheckBox Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="2" x:Name="checkBoxStayOpenWhenFocusLost" Content="{u:Translate 'If the focus is lost and the mouse is still on the menu'}" Checked="CheckBoxStayOpenWhenFocusLost_CheckedChanged" Unchecked="CheckBoxStayOpenWhenFocusLost_CheckedChanged"/>
<local:NumericUpDown Grid.Row="2" Grid.Column="0" x:Name="numericUpDownTimeUntilClose" Minimum="200" Maximum="5000" Increment="10" />
<Label Grid.Row="2" Grid.Column="1" Content="{u:Translate 'Milliseconds until the menu closes if the mouse then leaves the menu'}" Padding="5,0,0,0" VerticalAlignment="Center"/>
<CheckBox Grid.Row="3" Grid.Column="0" Grid.ColumnSpan="2" x:Name="checkBoxStayOpenWhenFocusLostAfterEnterPressed" Content="{u:Translate 'If the focus is lost and the Enter key was pressed'}" Checked="CheckBoxStayOpenWhenFocusLostAfterEnterPressed_CheckedChanged" Unchecked="CheckBoxStayOpenWhenFocusLostAfterEnterPressed_CheckedChanged"/>
<local:NumericUpDown Grid.Row="4" Grid.Column="0" x:Name="numericUpDownTimeUntilClosesAfterEnterPressed" Minimum="20" Maximum="1000" Increment="10" />
<Label Grid.Row="4" Grid.Column="1" Content="{u:Translate 'Milliseconds until the menu closes if the menu is not reactivated'}" Padding="5,0,0,0" VerticalAlignment="Center"/>
</Grid>
</GroupBox>
<GroupBox Header="{u:Translate 'Cache'}">
<StackPanel Orientation="Horizontal">
<local:NumericUpDown x:Name="numericUpDownClearCacheIfMoreThanThisNumberOfItems" Width="70" Minimum="200" Maximum="5000" Increment="1" />
<Label Content="{u:Translate 'Clear cache if more than this number of items'}" Padding="5,0,0,0" VerticalAlignment="Center"/>
</StackPanel>
</GroupBox>
<GroupBox Header="{u:Translate 'Filter menu by file type e.g.: *.exe|*.dll'}">
<TextBox x:Name="textBoxSearchPattern" />
</GroupBox>
<Button Content="{u:Translate 'Default'}" Margin="3" MinWidth="76" Click="ButtonExpertDefault_Click" HorizontalAlignment="Left"/>
</StackPanel>
</ScrollViewer>
</TabItem>

View file

@ -127,19 +127,6 @@ namespace SystemTrayMenu.UserInterface
buttonAddSampleStartMenuFolder.Content = Translator.GetText("Add sample directory 'Start Menu'"); // TODO: Find a way to escape this in XAML
#if TODO
groupBoxStaysOpen.Text = Translator.GetText("Menu stays open");
checkBoxStayOpenWhenItemClicked.Text = Translator.GetText("If an element was clicked");
checkBoxStayOpenWhenFocusLost.Text = Translator.GetText("If the focus is lost and the mouse is still on the menu");
labelTimeUntilCloses.Text = Translator.GetText("Milliseconds until the menu closes if the mouse then leaves the menu");
groupBoxOpenSubmenus.Text = Translator.GetText("Time until a menu opens");
labelTimeUntilOpen.Text = Translator.GetText("Milliseconds until a menu opens when the mouse is on it");
checkBoxStayOpenWhenFocusLostAfterEnterPressed.Text = Translator.GetText("If the focus is lost and the Enter key was pressed");
labelTimeUntilClosesAfterEnterPressed.Text = Translator.GetText("Milliseconds until the menu closes if the menu is not reactivated");
groupBoxCache.Text = Translator.GetText("Cache");
labelClearCacheIfMoreThanThisNumberOfItems.Text = Translator.GetText("Clear cache if more than this number of items");
groupBoxSearchPattern.Text = Translator.GetText("Filter menu by file type e.g.: *.exe|*.dll");
buttonExpertDefault.Text = Translator.GetText("Default");
groupBoxAppearance.Text = Translator.GetText("Appearance");
checkBoxUseIconFromRootFolder.Text = Translator.GetText("Use icon from directory");
checkBoxRoundCorners.Text = Translator.GetText("Round corners");
@ -422,31 +409,21 @@ namespace SystemTrayMenu.UserInterface
checkBoxGenerateShortcutsToDrives.IsChecked = Settings.Default.GenerateShortcutsToDrives;
#if TODO
checkBoxStayOpenWhenItemClicked.Checked = Settings.Default.StaysOpenWhenItemClicked;
checkBoxStayOpenWhenFocusLost.Checked = Settings.Default.StaysOpenWhenFocusLost;
numericUpDownTimeUntilClose.Minimum = 200;
numericUpDownTimeUntilClose.Maximum = 5000;
numericUpDownTimeUntilClose.Increment = 10;
checkBoxStayOpenWhenItemClicked.IsChecked = Settings.Default.StaysOpenWhenItemClicked;
checkBoxStayOpenWhenFocusLost.IsChecked = Settings.Default.StaysOpenWhenFocusLost;
numericUpDownTimeUntilClose.Value = Settings.Default.TimeUntilCloses;
numericUpDownTimeUntilOpens.Minimum = 20;
numericUpDownTimeUntilOpens.Maximum = 1000;
numericUpDownTimeUntilOpens.Increment = 10;
numericUpDownTimeUntilOpens.Value = Settings.Default.TimeUntilOpens;
checkBoxStayOpenWhenFocusLostAfterEnterPressed.Checked = Settings.Default.StaysOpenWhenFocusLostAfterEnterPressed;
checkBoxStayOpenWhenFocusLostAfterEnterPressed.IsChecked = Settings.Default.StaysOpenWhenFocusLostAfterEnterPressed;
numericUpDownTimeUntilClosesAfterEnterPressed.Minimum = 20;
numericUpDownTimeUntilClosesAfterEnterPressed.Maximum = 1000;
numericUpDownTimeUntilClosesAfterEnterPressed.Increment = 10;
numericUpDownTimeUntilClosesAfterEnterPressed.Value = Settings.Default.TimeUntilClosesAfterEnterPressed;
numericUpDownClearCacheIfMoreThanThisNumberOfItems.Value = Settings.Default.ClearCacheIfMoreThanThisNumberOfItems;
textBoxSearchPattern.Text = Settings.Default.SearchPattern;
#if TODO
checkBoxUseIconFromRootFolder.Checked = Settings.Default.UseIconFromRootFolder;
checkBoxRoundCorners.Checked = Settings.Default.RoundCorners;
checkBoxDarkModeAlwaysOn.Checked = Settings.Default.IsDarkModeAlwaysOn;
@ -892,16 +869,16 @@ namespace SystemTrayMenu.UserInterface
Settings.Default.GenerateShortcutsToDrives = checkBoxGenerateShortcutsToDrives.IsChecked ?? false;
#if TODO
Settings.Default.StaysOpenWhenItemClicked = checkBoxStayOpenWhenItemClicked.Checked;
Settings.Default.StaysOpenWhenFocusLost = checkBoxStayOpenWhenFocusLost.Checked;
Settings.Default.TimeUntilCloses = (int)numericUpDownTimeUntilClose.Value;
Settings.Default.TimeUntilOpens = (int)numericUpDownTimeUntilOpens.Value;
Settings.Default.StaysOpenWhenFocusLostAfterEnterPressed = checkBoxStayOpenWhenFocusLostAfterEnterPressed.Checked;
Settings.Default.TimeUntilClosesAfterEnterPressed = (int)numericUpDownTimeUntilClosesAfterEnterPressed.Value;
Settings.Default.ClearCacheIfMoreThanThisNumberOfItems = (int)numericUpDownClearCacheIfMoreThanThisNumberOfItems.Value;
Settings.Default.StaysOpenWhenItemClicked = checkBoxStayOpenWhenItemClicked.IsChecked ?? true;
Settings.Default.StaysOpenWhenFocusLost = checkBoxStayOpenWhenFocusLost.IsChecked ?? true;
Settings.Default.TimeUntilCloses = numericUpDownTimeUntilClose.Value;
Settings.Default.TimeUntilOpens = numericUpDownTimeUntilOpens.Value;
Settings.Default.StaysOpenWhenFocusLostAfterEnterPressed = checkBoxStayOpenWhenFocusLostAfterEnterPressed.IsChecked ?? true;
Settings.Default.TimeUntilClosesAfterEnterPressed = numericUpDownTimeUntilClosesAfterEnterPressed.Value;
Settings.Default.ClearCacheIfMoreThanThisNumberOfItems = numericUpDownClearCacheIfMoreThanThisNumberOfItems.Value;
Settings.Default.SearchPattern = textBoxSearchPattern.Text;
#if TODO
Settings.Default.UseIconFromRootFolder = checkBoxUseIconFromRootFolder.Checked;
Settings.Default.RoundCorners = checkBoxRoundCorners.Checked;
Settings.Default.IsDarkModeAlwaysOn = checkBoxDarkModeAlwaysOn.Checked;
@ -1186,29 +1163,29 @@ namespace SystemTrayMenu.UserInterface
radioButtonSystemSettingsShowHiddenFiles.IsChecked = true;
}
#if TODO
private void CheckBoxStayOpenWhenFocusLost_CheckedChanged(object sender, EventArgs e)
private void CheckBoxStayOpenWhenFocusLost_CheckedChanged(object sender, RoutedEventArgs e)
{
numericUpDownTimeUntilClose.Enabled = checkBoxStayOpenWhenFocusLost.Checked;
numericUpDownTimeUntilClose.IsEnabled = checkBoxStayOpenWhenFocusLost.IsChecked ?? true;
}
private void CheckBoxStayOpenWhenFocusLostAfterEnterPressed_CheckedChanged(object sender, EventArgs e)
private void CheckBoxStayOpenWhenFocusLostAfterEnterPressed_CheckedChanged(object sender, RoutedEventArgs e)
{
numericUpDownTimeUntilClosesAfterEnterPressed.Enabled = checkBoxStayOpenWhenFocusLostAfterEnterPressed.Checked;
numericUpDownTimeUntilClosesAfterEnterPressed.IsEnabled = checkBoxStayOpenWhenFocusLostAfterEnterPressed.IsChecked ?? true;
}
private void ButtonExpertDefault_Click(object sender, EventArgs e)
private void ButtonExpertDefault_Click(object sender, RoutedEventArgs e)
{
checkBoxStayOpenWhenItemClicked.Checked = true;
checkBoxStayOpenWhenFocusLost.Checked = true;
checkBoxStayOpenWhenItemClicked.IsChecked = true;
checkBoxStayOpenWhenFocusLost.IsChecked = true;
numericUpDownTimeUntilClose.Value = 400;
numericUpDownTimeUntilOpens.Value = 100;
checkBoxStayOpenWhenFocusLostAfterEnterPressed.Checked = true;
checkBoxStayOpenWhenFocusLostAfterEnterPressed.IsChecked = true;
numericUpDownTimeUntilClosesAfterEnterPressed.Value = 200;
numericUpDownClearCacheIfMoreThanThisNumberOfItems.Value = 200;
textBoxSearchPattern.Text = string.Empty;
}
#if TODO
private void TextBoxColorsChanged(object sender, EventArgs e)
{
TextBox textBox = (TextBox)sender;