diff --git a/Wabbajack/App.config b/Wabbajack/App.config index 892c7c30..851d9884 100644 --- a/Wabbajack/App.config +++ b/Wabbajack/App.config @@ -11,4 +11,5 @@ + \ No newline at end of file diff --git a/Wabbajack/App.xaml b/Wabbajack/App.xaml index 9f16f10f..e24a56eb 100644 --- a/Wabbajack/App.xaml +++ b/Wabbajack/App.xaml @@ -4,5 +4,10 @@ xmlns:local="clr-namespace:Wabbajack" StartupUri="MainWindow.xaml"> + + + + + diff --git a/Wabbajack/AppState.cs b/Wabbajack/AppState.cs index 974ddbdf..e79902a0 100644 --- a/Wabbajack/AppState.cs +++ b/Wabbajack/AppState.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using System.Collections.ObjectModel; +using System.ComponentModel; using System.IO; using System.Reflection; using System.Threading; @@ -9,7 +10,7 @@ using Wabbajack.Common; namespace Wabbajack { - internal class AppState + internal class AppState : INotifyPropertyChanged { public class CPUStatus { @@ -22,11 +23,46 @@ namespace Wabbajack private Dispatcher dispatcher; + public event PropertyChangedEventHandler PropertyChanged; + + public void OnPropertyChanged(string name) + { + PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(name)); + } + public ObservableCollection Log { get; } public ObservableCollection Status { get; } - - public String Mode { get; set; } + + private string _mode; + public string Mode + { + get + { + return _mode; + } + set + { + _mode = value; + OnPropertyChanged("Mode"); + } + } + + + private string _modListName; + public string ModListName + { + get + { + return _modListName; + } + set + { + _modListName = value; + OnPropertyChanged("ModListName"); + } + } + private List InternalStatus { get; } public string LogFile { get; private set; } diff --git a/Wabbajack/MainWindow.xaml b/Wabbajack/MainWindow.xaml index e5d91383..38daf8e3 100644 --- a/Wabbajack/MainWindow.xaml +++ b/Wabbajack/MainWindow.xaml @@ -5,18 +5,19 @@ xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:local="clr-namespace:Wabbajack" mc:Ignorable="d" - Title="Wabbajack" Height="600" Width="800"> - + Title="Wabbajack" Height="600" Width="800" + Style="{StaticResource {x:Type Window}}" Icon="square_transparent_icon.ico" WindowStyle="ToolWindow"> + - - - - + + + + @@ -29,7 +30,18 @@ - + + + + + @@ -38,7 +50,7 @@ - + diff --git a/Wabbajack/MainWindow.xaml.cs b/Wabbajack/MainWindow.xaml.cs index cf8a4250..30ad5ab7 100644 --- a/Wabbajack/MainWindow.xaml.cs +++ b/Wabbajack/MainWindow.xaml.cs @@ -28,15 +28,24 @@ namespace Wabbajack InitializeComponent(); var context = new AppState(Dispatcher, "Building"); + this.DataContext = context; + WorkQueue.Init((id, msg, progress) => context.SetProgress(id, msg, progress)); var compiler = new Compiler("c:\\Mod Organizer 2", msg => context.LogMsg(msg)); + + compiler.MO2Profile = "DEV"; //"Basic Graphics and Fixes"; + context.ModListName = compiler.MO2Profile; + context.Mode = "Building"; + + new Thread(() => { compiler.LoadArchives(); - compiler.MO2Profile = "DEV"; //"Basic Graphics and Fixes"; compiler.Compile(); + + compiler.ModList.ToJSON("C:\\tmp\\modpack.json"); var modlist = compiler.ModList; var create = modlist.Directives.OfType().ToList(); @@ -47,7 +56,6 @@ namespace Wabbajack }).Start(); - this.DataContext = context; } } diff --git a/Wabbajack/Wabbajack.csproj b/Wabbajack/Wabbajack.csproj index 6aef1cac..91afa830 100644 --- a/Wabbajack/Wabbajack.csproj +++ b/Wabbajack/Wabbajack.csproj @@ -37,6 +37,9 @@ prompt 4 + + square_transparent_icon.ico + ..\packages\Costura.Fody.4.0.0\lib\net40\Costura.dll @@ -71,6 +74,8 @@ MSBuild:Compile Designer + + MSBuild:Compile Designer @@ -87,6 +92,10 @@ MainWindow.xaml Code + + MSBuild:Compile + Designer + @@ -130,6 +139,12 @@ Wabbajack.Common + + + + + + diff --git a/Wabbajack/packages.config b/Wabbajack/packages.config index fa75f9fb..0adbe702 100644 --- a/Wabbajack/packages.config +++ b/Wabbajack/packages.config @@ -5,4 +5,5 @@ + \ No newline at end of file diff --git a/logos/square.jpg b/logos/square.jpg new file mode 100644 index 00000000..5acb2251 Binary files /dev/null and b/logos/square.jpg differ diff --git a/logos/square_Nxs_icon.ico b/logos/square_Nxs_icon.ico new file mode 100644 index 00000000..d33eff12 Binary files /dev/null and b/logos/square_Nxs_icon.ico differ diff --git a/logos/square_transparent.png b/logos/square_transparent.png new file mode 100644 index 00000000..70a28486 Binary files /dev/null and b/logos/square_transparent.png differ diff --git a/logos/square_transparent_icon.ico b/logos/square_transparent_icon.ico new file mode 100644 index 00000000..d33eff12 Binary files /dev/null and b/logos/square_transparent_icon.ico differ