Skip to content

Commit

Permalink
Added the ability to lock the window position
Browse files Browse the repository at this point in the history
A Quit menu item appears when the window is locked
  • Loading branch information
spiliot committed Nov 9, 2016
1 parent c007084 commit 252f4fc
Show file tree
Hide file tree
Showing 6 changed files with 36 additions and 0 deletions.
3 changes: 3 additions & 0 deletions JeehellRMP/App.config
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,9 @@
<setting name="WindowLeft" serializeAs="String">
<value>NaN</value>
</setting>
<setting name="IsWindowLocked" serializeAs="String">
<value>False</value>
</setting>
</JeehellRMP.Properties.Settings>
</userSettings>
</configuration>
12 changes: 12 additions & 0 deletions JeehellRMP/App.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,23 @@
<Setter Property="Width" Value="{Binding Source={x:Static properties:Settings.Default}, Path=WindowWidth, Mode=TwoWay}" />
<Setter Property="MinHeight" Value="125" />
<Style.Triggers>
<DataTrigger Binding="{Binding Source={x:Static properties:Settings.Default}, Path=IsWindowLocked}" Value="True">
<Setter Property="WindowStyle" Value="None" />
<Setter Property="ResizeMode" Value="NoResize" />
</DataTrigger>
<DataTrigger Binding="{Binding Source={x:Static properties:Settings.Default}, Path=IsBackgroundColorJeehell}" Value="True">
<Setter Property="Background" Value="#FF8DAEBD" />
</DataTrigger>
</Style.Triggers>
</Style>
<Style TargetType="{x:Type MenuItem}" x:Key="MenuQuitStyle">
<Setter Property="Visibility" Value="Collapsed"/>
<Style.Triggers>
<DataTrigger Binding="{Binding Source={x:Static properties:Settings.Default}, Path=IsWindowLocked}" Value="True">
<Setter Property="Visibility" Value="Visible"/>
</DataTrigger>
</Style.Triggers>
</Style>
<Style TargetType="{x:Type Viewbox}" x:Key="ContainerStyle">
<Setter Property="RenderTransformOrigin" Value="0.5, 0.5"/>
<Setter Property="Stretch" Value="Fill"/>
Expand Down
2 changes: 2 additions & 0 deletions JeehellRMP/MainWindow.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,12 @@
<MenuItem Header="Always on Top" IsCheckable="True" IsChecked="{Binding Source={x:Static properties:Settings.Default}, Path=IsWindowOnTop}"/>
<MenuItem Header="Rotate Clockwise" Tag="CW" Click="MenuItem_Rotate_Click"/>
<MenuItem Header="Rotate Counterclockwise" Tag="CCW" Click="MenuItem_Rotate_Click"/>
<MenuItem Header="Lock Position" IsCheckable="True" IsChecked="{Binding Source={x:Static properties:Settings.Default}, Path=IsWindowLocked}"/>
<MenuItem Header="Keep proportions" IsCheckable="True" IsChecked="{Binding Source={x:Static properties:Settings.Default}, Path=IsKeepProportionsSet}"/>
<MenuItem Header="Jeehell colors" IsCheckable="True" IsChecked="{Binding Source={x:Static properties:Settings.Default}, Path=IsBackgroundColorJeehell}"/>
<MenuItem Header="Save Settings" Click="MenuItem_Save_Click"/>
<MenuItem Header="Reset Settings" Click="MenuItem_Reset_Click"/>
<MenuItem Header="Quit" Click="MenuItem_Quit_Click" Style="{DynamicResource MenuQuitStyle}"/>
</ContextMenu>
</Window.Resources>
<Viewbox Name="ContainerViewbox" Style="{DynamicResource ContainerStyle}">
Expand Down
4 changes: 4 additions & 0 deletions JeehellRMP/MainWindow.xaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -146,5 +146,9 @@ private void MenuItem_Reset_Click(object sender, RoutedEventArgs e)
Properties.Settings.Default.Reload();
}

private void MenuItem_Quit_Click(object sender, RoutedEventArgs e)
{
Application.Current.MainWindow.Close();
}
}
}
12 changes: 12 additions & 0 deletions JeehellRMP/Properties/Settings.Designer.cs

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 3 additions & 0 deletions JeehellRMP/Properties/Settings.settings
Original file line number Diff line number Diff line change
Expand Up @@ -26,5 +26,8 @@
<Setting Name="WindowLeft" Type="System.Double" Scope="User">
<Value Profile="(Default)">NaN</Value>
</Setting>
<Setting Name="IsWindowLocked" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>
</Settings>
</SettingsFile>

0 comments on commit 252f4fc

Please sign in to comment.