From 19b7fdfd1713407b8f293609b41e5ccba9414f48 Mon Sep 17 00:00:00 2001 From: yck1509 Date: Mon, 23 Jun 2014 16:34:25 +0800 Subject: [PATCH] Finish GUI! --- ConfuserEx/App.xaml | 1 + ConfuserEx/ConfuserEx.csproj | 14 ++-- ConfuserEx/MainWindow.xaml.cs | 1 + ConfuserEx/Resources/TeamLogo.png | Bin 0 -> 122899 bytes ConfuserEx/Skin.cs | 11 +++ ConfuserEx/Skin.xaml | 36 +++++++++- ConfuserEx/ViewModel/UI/AboutTabVM.cs | 23 +++++++ ConfuserEx/Views.xaml | 1 + ConfuserEx/Views/AboutTabView.xaml | 92 ++++++++++++++++++++++++++ 9 files changed, 173 insertions(+), 6 deletions(-) create mode 100644 ConfuserEx/Resources/TeamLogo.png create mode 100644 ConfuserEx/ViewModel/UI/AboutTabVM.cs create mode 100644 ConfuserEx/Views/AboutTabView.xaml diff --git a/ConfuserEx/App.xaml b/ConfuserEx/App.xaml index 8c66cf0..54c6ccc 100644 --- a/ConfuserEx/App.xaml +++ b/ConfuserEx/App.xaml @@ -12,6 +12,7 @@ + Resources/#FontAwesome diff --git a/ConfuserEx/ConfuserEx.csproj b/ConfuserEx/ConfuserEx.csproj index 96288e2..a28183e 100644 --- a/ConfuserEx/ConfuserEx.csproj +++ b/ConfuserEx/ConfuserEx.csproj @@ -94,6 +94,7 @@ + @@ -137,6 +138,10 @@ MSBuild:Compile Designer + + MSBuild:Compile + Designer + MSBuild:Compile Designer @@ -213,6 +218,9 @@ + + + @@ -228,13 +236,12 @@ --> - - + - + PTL @@ -243,5 +250,4 @@ solveAliasProblem;$(PrepareResourcesDependsOn) - \ No newline at end of file diff --git a/ConfuserEx/MainWindow.xaml.cs b/ConfuserEx/MainWindow.xaml.cs index d3b713e..e714475 100644 --- a/ConfuserEx/MainWindow.xaml.cs +++ b/ConfuserEx/MainWindow.xaml.cs @@ -18,6 +18,7 @@ namespace ConfuserEx { app.Tabs.Add(new ProjectTabVM(app)); app.Tabs.Add(new SettingsTabVM(app)); app.Tabs.Add(new ProtectTabVM(app)); + app.Tabs.Add(new AboutTabVM(app)); DataContext = app; } diff --git a/ConfuserEx/Resources/TeamLogo.png b/ConfuserEx/Resources/TeamLogo.png new file mode 100644 index 0000000000000000000000000000000000000000..c285429de41df35f72e847287ca90cc3b50a21aa GIT binary patch literal 122899 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 T+jm89$#b7~!FSHT@ + + + + \ No newline at end of file diff --git a/ConfuserEx/ViewModel/UI/AboutTabVM.cs b/ConfuserEx/ViewModel/UI/AboutTabVM.cs new file mode 100644 index 0000000..ad99bbb --- /dev/null +++ b/ConfuserEx/ViewModel/UI/AboutTabVM.cs @@ -0,0 +1,23 @@ +using System; +using System.Diagnostics; +using System.Linq; +using System.Windows.Input; +using System.Windows.Media.Imaging; +using GalaSoft.MvvmLight.Command; + +namespace ConfuserEx.ViewModel { + internal class AboutTabVM : TabViewModel { + public AboutTabVM(AppVM app) + : base(app, "About") { + var decoder = new IconBitmapDecoder(new Uri("pack://application:,,,/ConfuserEx.ico"), BitmapCreateOptions.DelayCreation, BitmapCacheOption.OnDemand); + + Icon = decoder.Frames.First(frame => frame.Width == 64); + } + + public ICommand LaunchBrowser { + get { return new RelayCommand(site => Process.Start(site)); } + } + + public BitmapSource Icon { get; private set; } + } +} \ No newline at end of file diff --git a/ConfuserEx/Views.xaml b/ConfuserEx/Views.xaml index ab38891..705425c 100644 --- a/ConfuserEx/Views.xaml +++ b/ConfuserEx/Views.xaml @@ -4,5 +4,6 @@ + \ No newline at end of file diff --git a/ConfuserEx/Views/AboutTabView.xaml b/ConfuserEx/Views/AboutTabView.xaml new file mode 100644 index 0000000..8c719d8 --- /dev/null +++ b/ConfuserEx/Views/AboutTabView.xaml @@ -0,0 +1,92 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file