From 2628149ab9a178b13d1c56f75515ef27bc4f5115 Mon Sep 17 00:00:00 2001 From: Ben Date: Sat, 6 Jun 2015 17:07:07 +0100 Subject: [PATCH] Added About window --- Filtration/App.xaml.cs | 3 +- Filtration/Extensions/HyperlinkExtensions.cs | 39 ++++++++++ Filtration/Filtration.csproj | 10 +++ Filtration/Resources/Icons/about_icon.png | Bin 0 -> 211 bytes Filtration/Resources/logo.png | Bin 0 -> 9514 bytes Filtration/ViewModels/MainWindowViewModel.cs | 12 +++- Filtration/Views/AboutWindow.xaml | 71 +++++++++++++++++++ Filtration/Views/AboutWindow.xaml.cs | 20 ++++++ Filtration/Views/IconsDictionary.xaml | 1 + Filtration/Views/LootFilterScriptView.xaml | 6 +- Filtration/Views/MainWindow.xaml | 3 + 11 files changed, 160 insertions(+), 5 deletions(-) create mode 100644 Filtration/Extensions/HyperlinkExtensions.cs create mode 100644 Filtration/Resources/Icons/about_icon.png create mode 100644 Filtration/Resources/logo.png create mode 100644 Filtration/Views/AboutWindow.xaml create mode 100644 Filtration/Views/AboutWindow.xaml.cs diff --git a/Filtration/App.xaml.cs b/Filtration/App.xaml.cs index ead2fca..2c37286 100644 --- a/Filtration/App.xaml.cs +++ b/Filtration/App.xaml.cs @@ -1,5 +1,4 @@ -using System; -using System.Linq; +using System.Linq; using System.Windows; using Castle.MicroKernel.ModelBuilder.Inspectors; using Castle.Windsor; diff --git a/Filtration/Extensions/HyperlinkExtensions.cs b/Filtration/Extensions/HyperlinkExtensions.cs new file mode 100644 index 0000000..b7b9a38 --- /dev/null +++ b/Filtration/Extensions/HyperlinkExtensions.cs @@ -0,0 +1,39 @@ +// Taken from http://stackoverflow.com/a/11433814/4153185 +using System.Diagnostics; +using System.Windows; +using System.Windows.Documents; +using System.Windows.Navigation; + +namespace Filtration.Extensions +{ + public static class HyperlinkExtensions + { + public static bool GetIsExternal(DependencyObject obj) + { + return (bool)obj.GetValue(IsExternalProperty); + } + + public static void SetIsExternal(DependencyObject obj, bool value) + { + obj.SetValue(IsExternalProperty, value); + } + public static readonly DependencyProperty IsExternalProperty = + DependencyProperty.RegisterAttached("IsExternal", typeof(bool), typeof(HyperlinkExtensions), new UIPropertyMetadata(false, OnIsExternalChanged)); + + private static void OnIsExternalChanged(object sender, DependencyPropertyChangedEventArgs args) + { + var hyperlink = sender as Hyperlink; + + if ((bool)args.NewValue) + hyperlink.RequestNavigate += Hyperlink_RequestNavigate; + else + hyperlink.RequestNavigate -= Hyperlink_RequestNavigate; + } + + private static void Hyperlink_RequestNavigate(object sender, RequestNavigateEventArgs e) + { + Process.Start(new ProcessStartInfo(e.Uri.AbsoluteUri)); + e.Handled = true; + } + } +} diff --git a/Filtration/Filtration.csproj b/Filtration/Filtration.csproj index e532b05..c85fc20 100644 --- a/Filtration/Filtration.csproj +++ b/Filtration/Filtration.csproj @@ -99,6 +99,7 @@ + @@ -162,6 +163,9 @@ LootFilterSectionView.xaml + + AboutWindow.xaml + @@ -220,6 +224,10 @@ Designer MSBuild:Compile + + Designer + MSBuild:Compile + @@ -257,6 +265,7 @@ PreserveNewest + @@ -272,6 +281,7 @@ + Always diff --git a/Filtration/Resources/Icons/about_icon.png b/Filtration/Resources/Icons/about_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3ef509a5bf83b33a2f7a5b5d8343c31b1ee2c9f4 GIT binary patch literal 211 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9F5he4R}c>anMpkS+~ zi(^Pd+}25sTt^jnT&kzcJ1V_v%k&@apQBx;=dx>QWV&-}@l1NLr{#rF%~6Sd{VEoX zrBx=9AGY^p8YnE?5_fRD%(-_p;tI3ZUfU%l@aTcFbi=9bkueT(bGI;X7%jM^_(_Xt z!dWH<6~<#Zo46vM^0@py@p#V9m)Z*b#n0;hvUhB*T;(U9$hmx_#W4?{gBUzr{an^L HB{Ts55(Q1v literal 0 HcmV?d00001 diff --git a/Filtration/Resources/logo.png b/Filtration/Resources/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..9454b879744ea614164c0c4fdd338a235b48d5d9 GIT binary patch literal 9514 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

ds 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 IM6N<$f _scriptViewModels; public MainWindowViewModel(ILootFilterScriptViewModelFactory lootFilterScriptViewModelFactory, - ILootFilterPersistenceService persistenceService, ILootFilterScriptTranslator lootFilterScriptTranslator) + ILootFilterPersistenceService persistenceService, + ILootFilterScriptTranslator lootFilterScriptTranslator) { _lootFilterScriptViewModelFactory = lootFilterScriptViewModelFactory; _persistenceService = persistenceService; @@ -37,6 +39,7 @@ namespace Filtration.ViewModels _scriptViewModels = new ObservableCollection(); + OpenAboutWindowCommand = new RelayCommand(OnOpenAboutWindowCommand); OpenScriptCommand = new RelayCommand(OnOpenScriptCommand); SaveScriptCommand = new RelayCommand(OnSaveScriptCommand, () => CurrentScriptViewModel != null); SaveScriptAsCommand = new RelayCommand(OnSaveScriptAsCommand, () => CurrentScriptViewModel != null); @@ -59,6 +62,7 @@ namespace Filtration.ViewModels public RelayCommand CopyScriptCommand { get; private set; } public RelayCommand NewScriptCommand { get; private set; } public RelayCommand CloseScriptCommand { get; private set; } + public RelayCommand OpenAboutWindowCommand { get; private set; } public ObservableCollection ScriptViewModels { @@ -88,6 +92,12 @@ namespace Filtration.ViewModels } } + private void OnOpenAboutWindowCommand() + { + var aboutWindow = new AboutWindow(); + aboutWindow.ShowDialog(); + } + private void OnOpenScriptCommand() { var openFileDialog = new OpenFileDialog diff --git a/Filtration/Views/AboutWindow.xaml b/Filtration/Views/AboutWindow.xaml new file mode 100644 index 0000000..0386340 --- /dev/null +++ b/Filtration/Views/AboutWindow.xaml @@ -0,0 +1,71 @@ + + + + + + + + + + + + + + + + + + + + + + Filtration + Version 0.1 + Copyright © 2015 + Created by Ben Wallis + + http://ben-wallis.github.io/Filtration/ + + + + + As you may be able to tell from the MSPaint logo that I have expertly applied a lens flare to, I am not an artist. If you'd like to create a swanky logo for Filtration please + get in touch via e-mail or IRC. + + + + Contact + IRC: irc.freenode.net #filtration + E-mail: ben-wallis@users.noreply.github.com + In-Game: AtomYcX + + + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + + + + diff --git a/Filtration/Views/AboutWindow.xaml.cs b/Filtration/Views/AboutWindow.xaml.cs new file mode 100644 index 0000000..800b608 --- /dev/null +++ b/Filtration/Views/AboutWindow.xaml.cs @@ -0,0 +1,20 @@ +using System.Windows; + +namespace Filtration.Views +{ + public partial class AboutWindow + { + public AboutWindow() + { + InitializeComponent(); + } + + private void AboutWindow_OnLoaded(object sender, RoutedEventArgs e) + { + var curApp = Application.Current; + var mainWindow = curApp.MainWindow; + Left = mainWindow.Left + (mainWindow.Width - ActualWidth) / 2; + Top = mainWindow.Top + (mainWindow.Height - ActualHeight) / 2; + } + } +} diff --git a/Filtration/Views/IconsDictionary.xaml b/Filtration/Views/IconsDictionary.xaml index fc094af..35dcba0 100644 --- a/Filtration/Views/IconsDictionary.xaml +++ b/Filtration/Views/IconsDictionary.xaml @@ -15,4 +15,5 @@ + \ No newline at end of file diff --git a/Filtration/Views/LootFilterScriptView.xaml b/Filtration/Views/LootFilterScriptView.xaml index 544e26e..1d70de3 100644 --- a/Filtration/Views/LootFilterScriptView.xaml +++ b/Filtration/Views/LootFilterScriptView.xaml @@ -32,7 +32,8 @@ - + + @@ -44,7 +45,8 @@ - + + diff --git a/Filtration/Views/MainWindow.xaml b/Filtration/Views/MainWindow.xaml index 3726bce..0217603 100644 --- a/Filtration/Views/MainWindow.xaml +++ b/Filtration/Views/MainWindow.xaml @@ -27,6 +27,9 @@ + + +