diff --git a/ConfuserEx/App.xaml b/ConfuserEx/App.xaml
index 8c66cf03a..54c6ccc67 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 96288e2fc..a28183e19 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 d3b713e0c..e714475f3 100644
--- a/ConfuserEx/MainWindow.xaml.cs
+++ b/ConfuserEx/MainWindow.xaml.cs
@@ -18,6 +18,7 @@ public MainWindow() {
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 000000000..c285429de
Binary files /dev/null and b/ConfuserEx/Resources/TeamLogo.png differ
diff --git a/ConfuserEx/Skin.cs b/ConfuserEx/Skin.cs
index 8729f0726..ab53eb5c0 100644
--- a/ConfuserEx/Skin.cs
+++ b/ConfuserEx/Skin.cs
@@ -10,6 +10,9 @@ public class Skin {
public static readonly DependencyProperty TabsDisabledProperty =
DependencyProperty.RegisterAttached("TabsDisabled", typeof (bool), typeof (Skin), new UIPropertyMetadata(false));
+
+ public static readonly DependencyProperty FocusOverlayProperty =
+ DependencyProperty.RegisterAttached("FocusOverlay", typeof(bool), typeof(Skin), new UIPropertyMetadata(true));
public static readonly DependencyProperty RTBDocumentProperty =
DependencyProperty.RegisterAttached("RTBDocument", typeof (FlowDocument), typeof (Skin), new FrameworkPropertyMetadata(null, OnRTBDocumentChanged));
@@ -21,6 +24,14 @@ public static string GetEmptyPrompt(DependencyObject obj) {
public static void SetEmptyPrompt(DependencyObject obj, string value) {
obj.SetValue(EmptyPromptProperty, value);
}
+
+ public static bool GetFocusOverlay(DependencyObject obj) {
+ return (bool)obj.GetValue(FocusOverlayProperty);
+ }
+
+ public static void SetFocusOverlay(DependencyObject obj, bool value) {
+ obj.SetValue(FocusOverlayProperty, value);
+ }
public static bool GetTabsDisabled(DependencyObject obj) {
return (bool)obj.GetValue(TabsDisabledProperty);
diff --git a/ConfuserEx/Skin.xaml b/ConfuserEx/Skin.xaml
index 85dc51996..fc9cac7ec 100644
--- a/ConfuserEx/Skin.xaml
+++ b/ConfuserEx/Skin.xaml
@@ -584,6 +584,24 @@
+
+
+
+
\ 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 000000000..ad99bbb4b
--- /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 ab38891f4..705425c01 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 000000000..8c719d802
--- /dev/null
+++ b/ConfuserEx/Views/AboutTabView.xaml
@@ -0,0 +1,92 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file