From 7fb8d46b27c337cb526d0b8e4c4d26ca3084acbd Mon Sep 17 00:00:00 2001
From: Michael Krisper <michael.krisper@tugraz.at>
Date: Mon, 8 Aug 2016 15:16:35 +0200
Subject: [PATCH] hvac empty

---
 VECTO/GUI/F_VECTO.vb        |  6 +-----
 VECTO/GUI/F_VEH_AuxDlog.vb  |  9 +++++++--
 VECTO/Input Files/cVECTO.vb | 27 +++++++++++++++++++--------
 VECTO/cDeclaration.vb       |  4 +---
 4 files changed, 28 insertions(+), 18 deletions(-)

diff --git a/VECTO/GUI/F_VECTO.vb b/VECTO/GUI/F_VECTO.vb
index 7c788367bb..f967d65c08 100644
--- a/VECTO/GUI/F_VECTO.vb
+++ b/VECTO/GUI/F_VECTO.vb
@@ -147,11 +147,7 @@ Public Class F_VECTO
 
 			LV0 = New ListViewItem(sKey.AUX.HVAC)
 			LV0.SubItems.Add("HVAC")
-			If Declaration.AuxTechs(tAux.HVAC).Count > 1 Then
-				LV0.SubItems.Add("")
-			Else
-				LV0.SubItems.Add(Declaration.AuxTechs(tAux.HVAC)(0))
-			End If
+			LV0.SubItems.Add("")
 			LvAux.Items.Add(LV0)
 
 			LV0 = New ListViewItem(sKey.AUX.ElecSys)
diff --git a/VECTO/GUI/F_VEH_AuxDlog.vb b/VECTO/GUI/F_VEH_AuxDlog.vb
index 68660e26cd..472c26b9bd 100644
--- a/VECTO/GUI/F_VEH_AuxDlog.vb
+++ b/VECTO/GUI/F_VEH_AuxDlog.vb
@@ -49,7 +49,12 @@ Public Class F_VEH_AuxDlog
 			Case Else 'sKey.AUX.PneumSys
 				CbTech.Items.AddRange(Declaration.AuxTechs(tAux.PneumSys).ToArray())
 		End Select
-		CbTech.SelectedIndex = 0
+		If CbTech.Items.Count > 0 Then
+			CbTech.SelectedIndex = 0
+			PnTech.Enabled = True
+		Else
+			PnTech.Enabled = False
+		End If
 	End Sub
 
 	'Close form. Check if form is complete and valid
@@ -68,7 +73,7 @@ Public Class F_VEH_AuxDlog
 
 			If Cfg.DeclMode Then
 
-				If CbTech.Text = "" Then
+				If CbTech.Items.Count > 0 AndAlso CbTech.Text = "" Then
 					MsgBox("Form is incomplete!", MsgBoxStyle.Critical)
 					e.Cancel = True
 				End If
diff --git a/VECTO/Input Files/cVECTO.vb b/VECTO/Input Files/cVECTO.vb
index 9ec9cd4eac..5fb403f343 100644
--- a/VECTO/Input Files/cVECTO.vb	
+++ b/VECTO/Input Files/cVECTO.vb	
@@ -66,7 +66,6 @@ Public Class cVECTO
 
 	Public SavedInDeclMode As Boolean
 
-
 	Public Class cAuxEntry
 		Public Type As String
 		Public ReadOnly Path As cSubPath
@@ -246,7 +245,8 @@ Public Class cVECTO
 		If Not JSON.ReadFile(sFilePath) Then Return False
 
 		Try
-			If JSON.Content("Header")("FileVersion") > 1 Then
+			Dim fileVersion = JSON.Content("Header")("FileVersion")
+			If fileVersion > 1 Then
 				SavedInDeclMode = JSON.Content("Body")("SavedInDeclMode")
 			Else
 				SavedInDeclMode = Cfg.DeclMode
@@ -297,13 +297,21 @@ Public Class cVECTO
 					auxEntry.Type = dic("Type")
 					auxEntry.Path.Init(MyPath, dic("Path"))
 
-					If Not dic("Technology") Is Nothing Then auxEntry.TechStr = dic("Technology")(0)
-					AuxPaths.Add(auxId, auxEntry)
+					If Not dic("Technology") Is Nothing Then
+						If fileVersion = 2 Then
+							auxEntry.TechStr = dic("Technology")
+						End If
+						If fileVersion = 3 Then
+							auxEntry.TechStr = dic("Technology")(0)
+						End If
+					End If
 
-					AuxDef = True
+					If (auxId = sKey.AUX.HVAC) Then
+						auxEntry.TechStr = ""
+					End If
 
 					If auxId = sKey.AUX.ElecSys Then
-						If auxEntry.TechStr = "Custom Technology List" Then
+						If auxEntry.TechStr = "Custom Technology List" OrElse String.IsNullOrWhiteSpace(auxEntry.TechStr) Then
 							Dim hasTech = False
 
 							If Not dic("TechList") Is Nothing Then
@@ -348,11 +356,14 @@ Public Class cVECTO
 						End Select
 					End If
 
-					If JSON.Content("Header")("FileVersion") = 2 AndAlso auxId = sKey.AUX.PneumSys Then
+					If fileVersion = 2 AndAlso auxId = sKey.AUX.PneumSys Then
 						auxEntry.TechStr = "Medium Supply 1-stage"
 						WorkerMsg(tMsgID.Warn, "Aux: Upgraded Pneumatic System Technology to new format: '" + auxEntry.TechStr + "'",
 								msgSrc)
 					End If
+
+					AuxPaths.Add(auxId, auxEntry)
+					AuxDef = True
 				Next
 			End If
 
@@ -531,7 +542,7 @@ Public Class cVECTO
 
 					line = file.ReadLine
 
-					laDesV.Add(CSng(line(0)) / 3.6)																																	  'km/h => m/s !!!!
+					laDesV.Add(CSng(line(0)) / 3.6)																																						'km/h => m/s !!!!
 					laDesMax.Add(CSng(line(1)))
 					laDesMin.Add(CSng(line(2)))
 
diff --git a/VECTO/cDeclaration.vb b/VECTO/cDeclaration.vb
index 4cefbd89d8..27aea9551f 100644
--- a/VECTO/cDeclaration.vb
+++ b/VECTO/cDeclaration.vb
@@ -496,9 +496,7 @@ Public Class cDeclaration
 			Return False
 		End Try
 
-		at0 = New List(Of String)
-		at0.Add("Default")
-		AuxTechs.Add(tAux.HVAC, at0)
+		AuxTechs.Add(tAux.HVAC, New List(Of String))
 
 		'Aux - Electric System
 		AuxESpower = New Dictionary(Of String, Dictionary(Of tMission, Single))
-- 
GitLab