From 69789f644ae5f44caa3d6265dd0a6a8bc9b50016 Mon Sep 17 00:00:00 2001
From: Markus Quaritsch <markus.quaritsch@tugraz.at>
Date: Fri, 8 May 2020 08:57:30 +0200
Subject: [PATCH] adding application and window icon, surround relaycommand
 execute with try-catch newly added job entries are selected by default change
 filename of joblist to avoid conflicts with legacy gui

---
 VECTO3GUI/MainWindow.xaml                    |   2 +-
 VECTO3GUI/Model/JobListModel.cs              |   2 +-
 VECTO3GUI/Resources/Icon2.ico                | Bin 0 -> 4286 bytes
 VECTO3GUI/Util/RelayCommand.cs               |   7 ++++++-
 VECTO3GUI/VECTO3GUI.csproj                   |   8 +++++++-
 VECTO3GUI/ViewModel/Impl/JoblistViewModel.cs |   2 ++
 VECTO3GUI/Views/OutputWindow.xaml            |   2 +-
 7 files changed, 18 insertions(+), 5 deletions(-)
 create mode 100644 VECTO3GUI/Resources/Icon2.ico

diff --git a/VECTO3GUI/MainWindow.xaml b/VECTO3GUI/MainWindow.xaml
index 01a895cf10..d32e48dd50 100644
--- a/VECTO3GUI/MainWindow.xaml
+++ b/VECTO3GUI/MainWindow.xaml
@@ -10,7 +10,7 @@
         xmlns:iconPacks="http://metro.mahapps.com/winfx/xaml/iconpacks"
         xmlns:views="clr-namespace:VECTO3GUI.Views"
         mc:Ignorable="d"
-        Title="{Binding Version}" Height="515.36" Width="972.48" WindowStartupLocation="CenterScreen"
+        Title="{Binding Version}" Icon="Resources/Icon2.ico" Height="515.36" Width="972.48" WindowStartupLocation="CenterScreen"
         d:DataContext="{d:DesignInstance Type=impl:MainWindowViewModel, IsDesignTimeCreatable=False}">
 
     <Grid>
diff --git a/VECTO3GUI/Model/JobListModel.cs b/VECTO3GUI/Model/JobListModel.cs
index cd5f825bdb..ebfb93345d 100644
--- a/VECTO3GUI/Model/JobListModel.cs
+++ b/VECTO3GUI/Model/JobListModel.cs
@@ -17,7 +17,7 @@ namespace VECTO3GUI.Model
 	public class JobListModel
 	{
 		private const string ConfigFolderName = "Config";
-		private const string JobListFileName = "JobList.txt";
+		private const string JobListFileName = "JobList.json";
 
 		private string _jobListFilePath = Path.Combine(".", ConfigFolderName, JobListFileName);
 
diff --git a/VECTO3GUI/Resources/Icon2.ico b/VECTO3GUI/Resources/Icon2.ico
new file mode 100644
index 0000000000000000000000000000000000000000..6de7e5cd7ef1e97f70d64cb3eeaa2b7fcc8d604f
GIT binary patch
literal 4286
zcmdUy3s6*57{|{pB$X7Fuz-eAW5`R?VtFTNfHICbR>n9rHCZeOVj)ChW1wNCj;2ix
z&d@{D5JQa+3WsbW1cf^iBuM#)7D$vN-j8MXKKh@#dzY2HGR_FhbeTWr-gD1Azwi6b
zcOFZK0)OuAg#IVTrV*kdgm^-zBF{p!{!W)52;~1Hj^mWtn^&jsJg=N=yTMd6YU`%$
z$W5C!Fw{2<e8pti0RGf3i$95sNcPxvuHh%YNsfV{qr2VX&7I3X4~loK*z?WiH5|t}
zOqT!fbxKL~$wgs_v(5*`xpb{g4?U^9am^R}$;bnR-k?`ye3h6SpmA;jpACw0t<5`=
z9Syr4nD7`N*BhE@<}XY2{T}>5h=*<_?TgvnJJ9V8{)FZse6-I#wd)17MpYl6QE^}k
z&~SLt<7H*FB|&&^JApA!-s-yH_4@Y6T(!ojJ3!+Ewu*|z;PS^uQr}`Z_EFd{Au&L|
zcE#t8EeT0*y$}%R#6n;jrH*y(U%Bb&@2>vcI1lY6A`cZhz0URh?AT3ejbk&|yvQH1
z0b`;1?a=AZo(KQI@g4)}Q|;BN1yL!UCEyQ1f|*ZkfIS$Kj=0?`4|MhYJ7>J}5PbWr
zf{$MEkDcBCHb?m~HW;2+?^b!{LSY!%-#3miP~Pmk?(<6K;(T?iW3R-PN{cuk29AGz
zn6n|t!0MgGD+chzuJCMbWKg`zujt?GyTqrZWCQL8mcQp$^t-lhJ{_}hh=D>kJTx=y
zz#Hj^eJlE>K8mp)U7BoweNOdX6z^FD{?vQrQy*$BS1yc5ezFui-Du|MXKDlLI@j)q
zKG@OIKKEY70DSxX-)36n-Ds}mGi+c(6J}PIR2^S}@9(ER(6b81k1d&4Dcd?)eAaAT
zbR4novt*2Q4?Z2EW~>$4uva{Hxusrhtp?N?b)~gIeWmr1dNiNfUQm8GDlkqZn|J=2
z=`_}|`2ZW}ST#p%^r*!dg^5U>%S0x7GLajpyqKsIZ)Rz#53>x4e%F^l&N8?0c|kF#
z8*od_dMy*aUzg)x?d^YYbD$RQ`|;i?CutlYtcz6QUPbpS4tut!;CNRqWZeudBw;2O
zw%(1i<nscrWE#t#TJp}EAJM;D-Wisrc-7>Te7Ze+gL^&rR`U{U^Sm_fQ{rAJfG-MX
zCjoo`d?7UPG2lne-^i7R_U5O@fPG1(ZyxK=t#x}=Wwo?7t-yYmhju-8h=I`t^Iqu;
zHkFG&`N6V$UfKH3Up_Bqgq`q@b(G6H9=wZKk5?eCo%iLZuQu6fl?&z=Sn%nYL5hJK
zpXS|(vV%*JceOIU({bjo&R3tkSQ>z~w&iuF1M$qrwY^(D9RpMR6$85dSsVAix*a~X
zp-(HHP&XK}C9J5uv&|3R*r4>q94$b-RUVG;u||tAkaEBn1Id4hPuGg7OFu7M{Pq*2
zi2b0+Cz@N5SlD%KYfjPzmSt7oD=-F+?95GDi~2v%j-_pJFSZAt6D7_8IuD#pbHF$c
zkOSs9K>bJF+3d~#zz^RXf~p{9l&Y~09l^Tb4_n1O7Nt!oQ?LMQ-eI(@mfB<dn80`o
z#W^z=cLwKW23#gMeg*@-8RR|_mgpwVf1Irqztol37gl`j4XNdXGnjX0Z->1gjGXiO
z279Lda6Vt=n_ToEr=#jq6;S0-bx~!WsA0X%^7k*@JI9h`Tj_qR_ILA+==4Ko;Ww4o
zuVtNdPi?(ThGC+I3<f=9AO_YzkROEhfiWdm&xl^Hw-Oz53*pvu8Bq2?Jtk>UQk79<
o7_}u_5U2>%Y*9RM0LejMi5*0UPLeGl-47e3MX8-_lwfiF2k>`06aWAK

literal 0
HcmV?d00001

diff --git a/VECTO3GUI/Util/RelayCommand.cs b/VECTO3GUI/Util/RelayCommand.cs
index 108264ef1d..f93026a572 100644
--- a/VECTO3GUI/Util/RelayCommand.cs
+++ b/VECTO3GUI/Util/RelayCommand.cs
@@ -1,5 +1,6 @@
 using System;
 using System.Diagnostics;
+using System.Windows;
 using System.Windows.Input;
 
 namespace VECTO3GUI.Util
@@ -72,7 +73,11 @@ namespace VECTO3GUI.Util
 
 		public void Execute(object parameter)
 		{
-			_execute((T)parameter);
+			try {
+				_execute((T)parameter);
+			} catch (Exception e) {
+				MessageBox.Show(e.Message, "Exception", MessageBoxButton.OK, MessageBoxImage.Error);
+			}
 		}
 
 		#endregion
diff --git a/VECTO3GUI/VECTO3GUI.csproj b/VECTO3GUI/VECTO3GUI.csproj
index cc8bb460cf..9b074022a8 100644
--- a/VECTO3GUI/VECTO3GUI.csproj
+++ b/VECTO3GUI/VECTO3GUI.csproj
@@ -8,7 +8,7 @@
     <OutputType>WinExe</OutputType>
     <AppDesignerFolder>Properties</AppDesignerFolder>
     <RootNamespace>VECTO3GUI</RootNamespace>
-    <AssemblyName>VECTO3GUI</AssemblyName>
+    <AssemblyName>VECTO3</AssemblyName>
     <TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion>
     <FileAlignment>512</FileAlignment>
     <ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
@@ -34,6 +34,9 @@
     <ErrorReport>prompt</ErrorReport>
     <WarningLevel>4</WarningLevel>
   </PropertyGroup>
+  <PropertyGroup>
+    <ApplicationIcon>Resources\Icon2.ico</ApplicationIcon>
+  </PropertyGroup>
   <ItemGroup>
     <Reference Include="Castle.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc, processorArchitecture=MSIL">
       <HintPath>..\packages\Castle.Core.4.2.0\lib\net45\Castle.Core.dll</HintPath>
@@ -632,6 +635,9 @@
   <ItemGroup>
     <Resource Include="Resources\AirdragLoadTestFile.xml" />
   </ItemGroup>
+  <ItemGroup>
+    <Resource Include="Resources\Icon2.ico" />
+  </ItemGroup>
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
   <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
        Other similar extension points exist, see Microsoft.Common.targets.
diff --git a/VECTO3GUI/ViewModel/Impl/JoblistViewModel.cs b/VECTO3GUI/ViewModel/Impl/JoblistViewModel.cs
index d9bfa4d9a8..9b7ca1fc20 100644
--- a/VECTO3GUI/ViewModel/Impl/JoblistViewModel.cs
+++ b/VECTO3GUI/ViewModel/Impl/JoblistViewModel.cs
@@ -335,11 +335,13 @@ namespace VECTO3GUI.ViewModel.Impl
 			{
 				var jobEntry = SerializeHelper.DeserializeToObject<JobEntry>(filePath.First());
 				jobEntry.JobEntryFilePath = filePath.First();
+				jobEntry.Selected = true;
 				_jobs.Add(jobEntry);
 			}
 			else if(IsXmlFile(filePath.First()))
 			{
 				var jobEntry = GetAdditionalJobEntry(filePath.First());
+				jobEntry.Selected = true;
 				_jobs.Add(jobEntry);
 			}
 		}
diff --git a/VECTO3GUI/Views/OutputWindow.xaml b/VECTO3GUI/Views/OutputWindow.xaml
index e81d0b388d..3065955798 100644
--- a/VECTO3GUI/Views/OutputWindow.xaml
+++ b/VECTO3GUI/Views/OutputWindow.xaml
@@ -11,7 +11,7 @@
         xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
         xmlns:helper="clr-namespace:VECTO3GUI.Helper"
         mc:Ignorable="d"
-        Title="{Binding WindowTitle}"  Height="450" Width="800" WindowStartupLocation="CenterScreen" TitleCharacterCasing="Normal" 
+        Title="{Binding WindowTitle}" Icon="../Resources/Icon2.ico" Height="450" Width="800" WindowStartupLocation="CenterScreen" TitleCharacterCasing="Normal" 
         d:DataContext="{d:DesignInstance Type=impl:OutputWindowViewModel, IsDesignTimeCreatable=False}">
 
     <mah:MetroWindow.TitleTemplate>
-- 
GitLab