Skip to content
This repository has been archived by the owner on Sep 15, 2021. It is now read-only.

Commit

Permalink
AutoScan, AutoRebuild config, Random button, bug fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
Gabisonfire committed Oct 7, 2016
1 parent 2e073d8 commit 290d35b
Show file tree
Hide file tree
Showing 10 changed files with 245 additions and 39 deletions.
11 changes: 8 additions & 3 deletions LauncherWindow.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,14 @@
</ContextMenu>
</tb:TaskbarIcon.ContextMenu>
</tb:TaskbarIcon>
<ScrollViewer x:Name="MyScrollViewer" HorizontalScrollBarVisibility="Disabled" VerticalScrollBarVisibility="Hidden">
<WrapPanel x:Name="spMain" HorizontalAlignment="Center" Margin="94,93,0,0" VerticalAlignment="Center" Width="100" Height="100" ScrollViewer.VerticalScrollBarVisibility="Auto"/>
</ScrollViewer>
<DockPanel x:Name="MainDockPanel" HorizontalAlignment="Center" Margin="0" VerticalAlignment="Center" ScrollViewer.VerticalScrollBarVisibility="Hidden">
<StackPanel x:Name="bottomPanel" DockPanel.Dock="Bottom" Orientation="Horizontal" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="0,0,0,5"/>
<ScrollViewer x:Name="scrollViewMain" HorizontalScrollBarVisibility="Disabled" VerticalScrollBarVisibility="Hidden">
<WrapPanel x:Name="spMain" HorizontalAlignment="Center" Margin="94,93,0,0" VerticalAlignment="Center" ScrollViewer.VerticalScrollBarVisibility="Auto"/>
</ScrollViewer>

</DockPanel>

</Grid>


Expand Down
58 changes: 58 additions & 0 deletions LauncherWindow.xaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -68,11 +68,13 @@ private void Toggle(object sender, NHotkey.HotkeyEventArgs e)
if (WindowState == WindowState.Minimized)
{
WindowState = WindowState.Maximized;
this.Show();
return;
}
if (WindowState == WindowState.Maximized)
{
WindowState = WindowState.Minimized;
this.Hide();
return;
}
e.Handled = true;
Expand All @@ -99,6 +101,8 @@ private void fmLauncher_Initialized(object sender, EventArgs e)
Loading.Show();

// Set main panel margins and stack panel's size. Double.NaN sets it to auto.
MainDockPanel.Height = resolution.Height;
MainDockPanel.Width = resolution.Width;
spMain.Width = Double.NaN;
spMain.Height = Double.NaN;
spMain.Margin = new Thickness(MainWindow.panelMargin[0], MainWindow.panelMargin[1], MainWindow.panelMargin[2], MainWindow.panelMargin[3]);
Expand All @@ -124,6 +128,7 @@ private void fmLauncher_Initialized(object sender, EventArgs e)
private void IconTray_TrayMouseDoubleClick(object sender, RoutedEventArgs e)
{
this.WindowState = WindowState.Maximized;
this.Show();
this.Focus();
}

Expand Down Expand Up @@ -223,6 +228,58 @@ private void GenerateIcons()
sp.Children.Add(lbl);
spMain.Children.Add(sp);
}
if (!MainWindow.hideRandomIcon)
{
MakeRandomIcon();
}
}

// Create "Random" button outside of WrapPanel
private void MakeRandomIcon()
{
double iconSize = Double.Parse(io.GetSetting("Main", "icon_size"));
HolderImage randomIcon = new HolderImage();
BitmapImage randomIconSource = new BitmapImage();
randomIconSource.BeginInit();
randomIconSource.UriSource = new Uri("dice.png", UriKind.Relative);
randomIconSource.CacheOption = BitmapCacheOption.OnLoad;
randomIconSource.EndInit();
randomIcon.Source = randomIconSource;

// Create the events handlers
randomIcon.MouseEnter += (sender, eventArgs) => { Glow(randomIcon, true); };
randomIcon.MouseLeave += (sender, eventArgs) => { Glow(randomIcon, false); };
randomIcon.MouseLeftButtonDown += (sender, eventArgs) => { ButtonEffectDown(randomIcon); };
Random random = new Random();
randomIcon.MouseLeftButtonUp += (sender, eventArgs) => { LaunchGame(io.gamesList[random.Next(0,io.gamesList.Count -1)]); };
randomIcon.VerticalAlignment = VerticalAlignment.Center;
randomIcon.HorizontalAlignment = System.Windows.HorizontalAlignment.Left;
randomIcon.Height = iconSize / 2;
randomIcon.Width = iconSize / 2;
bottomPanel.Height = iconSize;

// Create a label and stack panel
TextBlock lbl = new TextBlock();
lbl.Text = "Random";
lbl.HorizontalAlignment = System.Windows.HorizontalAlignment.Center;
lbl.TextAlignment = TextAlignment.Center;
lbl.TextTrimming = TextTrimming.CharacterEllipsis;
lbl.Height = Double.NaN; // auto
lbl.Width = Double.NaN; // auto
lbl.FontFamily = MainWindow.lblTemplate.FontFamily;
lbl.FontSize = MainWindow.lblTemplate.FontSize;
lbl.FontStyle = MainWindow.lblTemplate.FontStyle;
lbl.FontWeight = MainWindow.lblTemplate.FontWeight;
lbl.Padding = new Thickness(0, MainWindow.labelPaddingTop, 0, 0);
lbl.Foreground = MainWindow.lblTemplate.Foreground;
lbl.Effect = new System.Windows.Media.Effects.DropShadowEffect();
StackPanel sp = new StackPanel();
sp.Width = Double.NaN;
sp.Height = Double.NaN;
sp.HorizontalAlignment = System.Windows.HorizontalAlignment.Center;
sp.Children.Add(randomIcon);
sp.Children.Add(lbl);
bottomPanel.Children.Add(sp);
}

// Remove icon visually, add to hiddenlist
Expand Down Expand Up @@ -310,6 +367,7 @@ private void LaunchGame(Game game)
{
Process.Start(game.url);
WindowState = WindowState.Minimized;
Hide();
}

private void Quit()
Expand Down
24 changes: 13 additions & 11 deletions MainWindow.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
mc:Ignorable="d"
Title="Settings" Height="475.682" Width="718.808" ResizeMode="NoResize" Initialized="fmSettings_Initialized" ShowInTaskbar="False" Background="#FFDADADA" WindowStartupLocation="CenterScreen" Closing="fmSettings_Closing" Icon="/Resources/icon.ico">
<Grid RenderTransformOrigin="0.514,0.515">
<Button x:Name="btBrowseLibrary" Content="Add Steam library" HorizontalAlignment="Left" Margin="10,128,0,0" VerticalAlignment="Top" Width="217" Click="btBrowseLibrary_Click"/>
<Button x:Name="btBrowseLibrary" Content="Add Steam library" HorizontalAlignment="Left" Margin="132,128,0,0" VerticalAlignment="Top" Width="116" Click="btBrowseLibrary_Click"/>
<ListBox x:Name="lbSteamLibraries" HorizontalAlignment="Left" Height="94" Margin="10,29,0,0" VerticalAlignment="Top" Width="344"/>
<Button x:Name="btLauncher" Content="Launch" HorizontalAlignment="Left" Margin="372,405,0,0" VerticalAlignment="Top" Width="318" Click="btLauncher_Click"/>
<Label x:Name="label" Content="Steam Libraries" HorizontalAlignment="Left" Margin="10,3,0,0" VerticalAlignment="Top" RenderTransformOrigin="-0.239,-0.018"/>
Expand All @@ -21,15 +21,15 @@
</StackPanel>
</GroupBox>
<Label x:Name="label1" Content="Panel Margins" HorizontalAlignment="Left" Margin="48,226,0,0" VerticalAlignment="Top" ToolTip="Margins all around the icon's ensemble"/>
<TextBox x:Name="tbPanelMarginTop" HorizontalAlignment="Left" Height="23" Margin="80,199,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="31" PreviewTextInput="tbPanelMargin_PreviewTextInput" MaxLines="5" Text="0" TextAlignment="Center" VerticalContentAlignment="Center"/>
<TextBox x:Name="tbPanelMarginRight" HorizontalAlignment="Left" Height="23" Margin="132,230,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="31" PreviewTextInput="tbPanelMargin_PreviewTextInput" MaxLines="5" Text="0" TextAlignment="Center" VerticalContentAlignment="Center"/>
<TextBox x:Name="tbPanelMarginLeft" HorizontalAlignment="Left" Height="23" Margin="17,230,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="31" PreviewTextInput="tbPanelMargin_PreviewTextInput" MaxLines="5" Text="0" TextAlignment="Center" VerticalContentAlignment="Center"/>
<TextBox x:Name="tbPanelMarginBottom" HorizontalAlignment="Left" Height="23" Margin="80,258,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="31" PreviewTextInput="tbPanelMargin_PreviewTextInput" MaxLines="5" Text="0" TextAlignment="Center" VerticalContentAlignment="Center"/>
<TextBox x:Name="tbPanelMarginTop" HorizontalAlignment="Left" Height="23" Margin="80,199,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="31" PreviewTextInput="tbPanelMargin_PreviewTextInput" MaxLines="5" Text="0" TextAlignment="Center" VerticalContentAlignment="Center" TextChanged="SaveSpacingMargins"/>
<TextBox x:Name="tbPanelMarginRight" HorizontalAlignment="Left" Height="23" Margin="132,230,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="31" PreviewTextInput="tbPanelMargin_PreviewTextInput" MaxLines="5" Text="0" TextAlignment="Center" VerticalContentAlignment="Center" TextChanged="SaveSpacingMargins"/>
<TextBox x:Name="tbPanelMarginLeft" HorizontalAlignment="Left" Height="23" Margin="17,230,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="31" PreviewTextInput="tbPanelMargin_PreviewTextInput" MaxLines="5" Text="0" TextAlignment="Center" VerticalContentAlignment="Center" TextChanged="SaveSpacingMargins"/>
<TextBox x:Name="tbPanelMarginBottom" HorizontalAlignment="Left" Height="23" Margin="80,258,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="31" PreviewTextInput="tbPanelMargin_PreviewTextInput" MaxLines="5" Text="0" TextAlignment="Center" VerticalContentAlignment="Center" TextChanged="SaveSpacingMargins"/>
<Label x:Name="label1_Copy" Content="Icons Spacing" HorizontalAlignment="Left" Margin="227,227,0,0" VerticalAlignment="Top" ToolTip="The spacing between the icons"/>
<TextBox x:Name="tbIconSpacingTop" HorizontalAlignment="Left" Height="23" Margin="253,199,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="31" PreviewTextInput="tbPanelMargin_PreviewTextInput" MaxLines="5" Text="0" TextAlignment="Center" VerticalContentAlignment="Center"/>
<TextBox x:Name="tbIconSpacingRight" HorizontalAlignment="Left" Height="23" Margin="311,231,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="31" PreviewTextInput="tbPanelMargin_PreviewTextInput" MaxLines="5" Text="0" TextAlignment="Center" VerticalContentAlignment="Center"/>
<TextBox x:Name="tbIconSpacingLeft" HorizontalAlignment="Left" Height="23" Margin="196,230,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="31" PreviewTextInput="tbPanelMargin_PreviewTextInput" MaxLines="5" Text="0" TextAlignment="Center" VerticalContentAlignment="Center"/>
<TextBox x:Name="tbIconSpacingBottom" HorizontalAlignment="Left" Height="23" Margin="253,258,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="31" PreviewTextInput="tbPanelMargin_PreviewTextInput" MaxLines="5" Text="0" TextAlignment="Center" VerticalContentAlignment="Center"/>
<TextBox x:Name="tbIconSpacingTop" HorizontalAlignment="Left" Height="23" Margin="253,199,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="31" PreviewTextInput="tbPanelMargin_PreviewTextInput" MaxLines="5" Text="0" TextAlignment="Center" VerticalContentAlignment="Center" TextChanged="SaveSpacingMargins"/>
<TextBox x:Name="tbIconSpacingRight" HorizontalAlignment="Left" Height="23" Margin="311,231,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="31" PreviewTextInput="tbPanelMargin_PreviewTextInput" MaxLines="5" Text="0" TextAlignment="Center" VerticalContentAlignment="Center" TextChanged="SaveSpacingMargins"/>
<TextBox x:Name="tbIconSpacingLeft" HorizontalAlignment="Left" Height="23" Margin="196,230,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="31" PreviewTextInput="tbPanelMargin_PreviewTextInput" MaxLines="5" Text="0" TextAlignment="Center" VerticalContentAlignment="Center" TextChanged="SaveSpacingMargins"/>
<TextBox x:Name="tbIconSpacingBottom" HorizontalAlignment="Left" Height="23" Margin="253,258,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="31" PreviewTextInput="tbPanelMargin_PreviewTextInput" MaxLines="5" Text="0" TextAlignment="Center" VerticalContentAlignment="Center" TextChanged="SaveSpacingMargins"/>
<Button x:Name="btFont" Content="Change Font" HorizontalAlignment="Left" Margin="65,159,0,0" VerticalAlignment="Top" Width="90" Click="btFont_Click"/>
<TextBox x:Name="tbBackground" HorizontalAlignment="Left" Height="23" Margin="372,173,0,0" VerticalAlignment="Top" Width="237" MaxLines="1" IsReadOnly="True" VerticalContentAlignment="Center"/>
<Slider x:Name="slOpacity" HorizontalAlignment="Left" Margin="372,227,0,0" VerticalAlignment="Top" Width="280" Maximum="100" ValueChanged="slOpacity_ValueChanged"/>
Expand All @@ -42,11 +42,12 @@
<Label x:Name="label4" Content="Shortcut" HorizontalAlignment="Left" Margin="529,116,0,0" VerticalAlignment="Top"/>
<TextBox x:Name="tbModifier" HorizontalAlignment="Left" Height="23" Margin="432,119,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="92" IsReadOnly="True" PreviewKeyDown="tbModifier_PreviewKeyDown" TextAlignment="Center" VerticalContentAlignment="Center"/>
<Label x:Name="label5" Content="Modifier" HorizontalAlignment="Left" Margin="372,116,0,0" VerticalAlignment="Top"/>
<GroupBox x:Name="groupBox1" Header="Options" HorizontalAlignment="Left" Margin="505,15,0,0" VerticalAlignment="Top" Height="71" Width="184">
<GroupBox x:Name="groupBox1" Header="Options" HorizontalAlignment="Left" Margin="505,15,0,0" VerticalAlignment="Top" Height="82" Width="184">
<StackPanel HorizontalAlignment="Left" VerticalAlignment="Top" Width="165">
<CheckBox x:Name="cbSkipSettings" Content="Don't show settings page" HorizontalAlignment="Left" VerticalAlignment="Top" Width="159" ToolTip="Hide this page on run"/>
<CheckBox x:Name="cbRunOnStartup" Content="Run when Windows starts" HorizontalAlignment="Left" VerticalAlignment="Top" Width="159" Click="cbRunOnStartup_Click"/>
<CheckBox x:Name="cbDownloadIcons" Content="Download missing icons" HorizontalAlignment="Left" VerticalAlignment="Top" Width="159" Click="cbDownloadIcons_Click"/>
<CheckBox x:Name="cbHideRandom" Content="Hide &quot;Random&quot; icon" HorizontalAlignment="Left" VerticalAlignment="Top" Width="159" Click="cbHideRandom_Click"/>
</StackPanel>
</GroupBox>
<Label x:Name="label6" Content="Font Color" HorizontalAlignment="Left" Margin="161,153,0,0" VerticalAlignment="Top" Height="33" VerticalContentAlignment="Center"/>
Expand All @@ -55,6 +56,7 @@
<Button x:Name="btAddHidden" Content="Remove Selected" HorizontalAlignment="Left" Margin="209,325,0,0" VerticalAlignment="Top" Width="145" Click="btAddHidden_Click"/>
<Label x:Name="label8" Content="Hidden Apps" HorizontalAlignment="Left" Margin="10,297,0,0" VerticalAlignment="Top"/>
<Label x:Name="lblName" Content="Make a selection" HorizontalAlignment="Left" Margin="209,362,0,0" VerticalAlignment="Top" Width="145" Height="63"/>
<Button x:Name="btRemoveLibrary" Content="Remove Selected" HorizontalAlignment="Left" Margin="235,127,0,0" VerticalAlignment="Top" Width="119" Click="btRemoveLibrary_Click"/>
<Button x:Name="btRemoveLibrary" Content="Remove Selected" HorizontalAlignment="Left" Margin="253,127,0,0" VerticalAlignment="Top" Width="101" Click="btRemoveLibrary_Click"/>
<Button x:Name="btScanLibraries" Content="Scan Libraries" HorizontalAlignment="Left" Margin="10,128,0,0" VerticalAlignment="Top" Width="117" Click="btScanLibraries_Click"/>
</Grid>
</Window>
Loading

0 comments on commit 290d35b

Please sign in to comment.