diff --git a/CloudlogCAT.sln b/CloudlogCAT.sln
index 9e5a016..0e9e513 100644
--- a/CloudlogCAT.sln
+++ b/CloudlogCAT.sln
@@ -1,7 +1,7 @@
Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 15
-VisualStudioVersion = 15.0.28010.2019
+# Visual Studio Version 17
+VisualStudioVersion = 17.4.33213.308
MinimumVisualStudioVersion = 10.0.40219.1
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "CloudlogCAT", "OmniRig_VB_DEMO\CloudlogCAT.vbproj", "{ADCB9205-EB9A-4E96-B32F-1590B1784786}"
EndProject
diff --git a/OmniRig_VB_DEMO/AboutBox1.Designer.vb b/OmniRig_VB_DEMO/AboutBox1.Designer.vb
index 2b0b026..4becefd 100644
--- a/OmniRig_VB_DEMO/AboutBox1.Designer.vb
+++ b/OmniRig_VB_DEMO/AboutBox1.Designer.vb
@@ -26,12 +26,12 @@ Partial Class AboutBox1
Private Sub InitializeComponent()
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(AboutBox1))
Me.TableLayoutPanel = New System.Windows.Forms.TableLayoutPanel()
- Me.PictureBox1 = New System.Windows.Forms.PictureBox()
- Me.OKButton = New System.Windows.Forms.Button()
- Me.LabelCompanyName = New System.Windows.Forms.Label()
- Me.LabelCopyright = New System.Windows.Forms.Label()
- Me.LabelVersion = New System.Windows.Forms.Label()
Me.LabelProductName = New System.Windows.Forms.Label()
+ Me.LabelVersion = New System.Windows.Forms.Label()
+ Me.LabelCopyright = New System.Windows.Forms.Label()
+ Me.LabelCompanyName = New System.Windows.Forms.Label()
+ Me.OKButton = New System.Windows.Forms.Button()
+ Me.PictureBox1 = New System.Windows.Forms.PictureBox()
Me.TableLayoutPanel.SuspendLayout()
CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout()
@@ -59,37 +59,29 @@ Partial Class AboutBox1
Me.TableLayoutPanel.Size = New System.Drawing.Size(457, 355)
Me.TableLayoutPanel.TabIndex = 0
'
- 'PictureBox1
- '
- Me.PictureBox1.Image = CType(resources.GetObject("PictureBox1.Image"), System.Drawing.Image)
- Me.PictureBox1.Location = New System.Drawing.Point(3, 143)
- Me.PictureBox1.Name = "PictureBox1"
- Me.PictureBox1.Size = New System.Drawing.Size(444, 171)
- Me.PictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage
- Me.PictureBox1.TabIndex = 1
- Me.PictureBox1.TabStop = False
- '
- 'OKButton
+ 'LabelProductName
'
- Me.OKButton.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
- Me.OKButton.DialogResult = System.Windows.Forms.DialogResult.Cancel
- Me.OKButton.Location = New System.Drawing.Point(379, 329)
- Me.OKButton.Name = "OKButton"
- Me.OKButton.Size = New System.Drawing.Size(75, 23)
- Me.OKButton.TabIndex = 0
- Me.OKButton.Text = "&OK"
+ Me.LabelProductName.Dock = System.Windows.Forms.DockStyle.Fill
+ Me.LabelProductName.Location = New System.Drawing.Point(6, 0)
+ Me.LabelProductName.Margin = New System.Windows.Forms.Padding(6, 0, 3, 0)
+ Me.LabelProductName.MaximumSize = New System.Drawing.Size(0, 17)
+ Me.LabelProductName.Name = "LabelProductName"
+ Me.LabelProductName.Size = New System.Drawing.Size(448, 17)
+ Me.LabelProductName.TabIndex = 0
+ Me.LabelProductName.Text = "Product Name"
+ Me.LabelProductName.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
'
- 'LabelCompanyName
+ 'LabelVersion
'
- Me.LabelCompanyName.Dock = System.Windows.Forms.DockStyle.Fill
- Me.LabelCompanyName.Location = New System.Drawing.Point(6, 105)
- Me.LabelCompanyName.Margin = New System.Windows.Forms.Padding(6, 0, 3, 0)
- Me.LabelCompanyName.MaximumSize = New System.Drawing.Size(0, 17)
- Me.LabelCompanyName.Name = "LabelCompanyName"
- Me.LabelCompanyName.Size = New System.Drawing.Size(448, 17)
- Me.LabelCompanyName.TabIndex = 0
- Me.LabelCompanyName.Text = "Company Name"
- Me.LabelCompanyName.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
+ Me.LabelVersion.Dock = System.Windows.Forms.DockStyle.Fill
+ Me.LabelVersion.Location = New System.Drawing.Point(6, 35)
+ Me.LabelVersion.Margin = New System.Windows.Forms.Padding(6, 0, 3, 0)
+ Me.LabelVersion.MaximumSize = New System.Drawing.Size(0, 17)
+ Me.LabelVersion.Name = "LabelVersion"
+ Me.LabelVersion.Size = New System.Drawing.Size(448, 17)
+ Me.LabelVersion.TabIndex = 0
+ Me.LabelVersion.Text = "Version"
+ Me.LabelVersion.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
'
'LabelCopyright
'
@@ -103,29 +95,37 @@ Partial Class AboutBox1
Me.LabelCopyright.Text = "Copyright"
Me.LabelCopyright.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
'
- 'LabelVersion
+ 'LabelCompanyName
'
- Me.LabelVersion.Dock = System.Windows.Forms.DockStyle.Fill
- Me.LabelVersion.Location = New System.Drawing.Point(6, 35)
- Me.LabelVersion.Margin = New System.Windows.Forms.Padding(6, 0, 3, 0)
- Me.LabelVersion.MaximumSize = New System.Drawing.Size(0, 17)
- Me.LabelVersion.Name = "LabelVersion"
- Me.LabelVersion.Size = New System.Drawing.Size(448, 17)
- Me.LabelVersion.TabIndex = 0
- Me.LabelVersion.Text = "Version"
- Me.LabelVersion.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
+ Me.LabelCompanyName.Dock = System.Windows.Forms.DockStyle.Fill
+ Me.LabelCompanyName.Location = New System.Drawing.Point(6, 105)
+ Me.LabelCompanyName.Margin = New System.Windows.Forms.Padding(6, 0, 3, 0)
+ Me.LabelCompanyName.MaximumSize = New System.Drawing.Size(0, 17)
+ Me.LabelCompanyName.Name = "LabelCompanyName"
+ Me.LabelCompanyName.Size = New System.Drawing.Size(448, 17)
+ Me.LabelCompanyName.TabIndex = 0
+ Me.LabelCompanyName.Text = "Company Name"
+ Me.LabelCompanyName.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
'
- 'LabelProductName
+ 'OKButton
'
- Me.LabelProductName.Dock = System.Windows.Forms.DockStyle.Fill
- Me.LabelProductName.Location = New System.Drawing.Point(6, 0)
- Me.LabelProductName.Margin = New System.Windows.Forms.Padding(6, 0, 3, 0)
- Me.LabelProductName.MaximumSize = New System.Drawing.Size(0, 17)
- Me.LabelProductName.Name = "LabelProductName"
- Me.LabelProductName.Size = New System.Drawing.Size(448, 17)
- Me.LabelProductName.TabIndex = 0
- Me.LabelProductName.Text = "Product Name"
- Me.LabelProductName.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
+ Me.OKButton.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
+ Me.OKButton.DialogResult = System.Windows.Forms.DialogResult.Cancel
+ Me.OKButton.Location = New System.Drawing.Point(379, 329)
+ Me.OKButton.Name = "OKButton"
+ Me.OKButton.Size = New System.Drawing.Size(75, 23)
+ Me.OKButton.TabIndex = 0
+ Me.OKButton.Text = "&OK"
+ '
+ 'PictureBox1
+ '
+ Me.PictureBox1.Image = CType(resources.GetObject("PictureBox1.Image"), System.Drawing.Image)
+ Me.PictureBox1.Location = New System.Drawing.Point(3, 143)
+ Me.PictureBox1.Name = "PictureBox1"
+ Me.PictureBox1.Size = New System.Drawing.Size(444, 171)
+ Me.PictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage
+ Me.PictureBox1.TabIndex = 1
+ Me.PictureBox1.TabStop = False
'
'AboutBox1
'
diff --git a/OmniRig_VB_DEMO/App.config b/OmniRig_VB_DEMO/App.config
index 5ba32f6..c5c646a 100644
--- a/OmniRig_VB_DEMO/App.config
+++ b/OmniRig_VB_DEMO/App.config
@@ -1,12 +1,12 @@
-
+
-
-
+
+
-
+
@@ -25,6 +25,9 @@
+
+
+
-
\ No newline at end of file
+
diff --git a/OmniRig_VB_DEMO/CloudlogCAT.vbproj b/OmniRig_VB_DEMO/CloudlogCAT.vbproj
index b87d188..85da36b 100644
--- a/OmniRig_VB_DEMO/CloudlogCAT.vbproj
+++ b/OmniRig_VB_DEMO/CloudlogCAT.vbproj
@@ -11,10 +11,11 @@
CloudlogCAT
512
WindowsForms
- v4.5.2
+ v4.8
true
false
- CloudlogCAT\
+
+ CloudlogCAT Publish\
true
Disk
false
@@ -29,13 +30,8 @@
CloudlogCAT
Magicbug
Cloudlog
-<<<<<<< HEAD
- 6
- 1.0.0.%2a
-=======
- 4
- 1.3.0.%2a
->>>>>>> e221a03032e5c6a6f33ade8747dc3b7de93a3a4e
+ 1
+ 1.3.1.%2a
false
true
true
@@ -65,7 +61,7 @@
On
- Binary
+ Text
Off
@@ -127,6 +123,7 @@
Form
+
Form
@@ -150,6 +147,7 @@
True
Application.myapp
+ True
True
@@ -215,7 +213,7 @@
False
- Microsoft .NET Framework 4.5.2 %28x86 and x64%29
+ Microsoft .NET Framework 4.5.2 %28x86 und x64%29
true
diff --git a/OmniRig_VB_DEMO/CloudlogTarget.vb b/OmniRig_VB_DEMO/CloudlogTarget.vb
new file mode 100644
index 0000000..eac1514
--- /dev/null
+++ b/OmniRig_VB_DEMO/CloudlogTarget.vb
@@ -0,0 +1,115 @@
+Imports CloudlogCAT.My
+Imports Microsoft.VisualBasic
+Imports System.ComponentModel
+Imports System.IO
+Imports System.Runtime.Serialization
+Imports System.Runtime.Serialization.Formatters.Binary
+
+
+Public Class CloudlogTarget
+
+ Private _name As String ' The name of this target, this is only visible in the error messages and in settings window
+ Private _radioName As String ' the String which is displayed in Cloudlog, Appended by 1 or 2 depending on the RIG Radio Button Setting
+ Private _url As String
+ Private _key As String
+ Private _active As Boolean ' Determines weather CloudlogCAT should push to this variable
+
+ ' Empty construcor, initializes the object with basic Names, sets it to not be active
+ Public Sub New()
+ _name = "Target"
+ _radioName = "OmniRig"
+ _active = False
+ _url = ""
+ _key = ""
+ End Sub
+
+ ' Complete Constructor
+ Public Sub New(ByVal name As String, ByVal radioName As String, ByVal url As String, ByVal key As String, ByVal active As Boolean)
+ _name = name
+ _radioName = radioName
+ _url = url
+ _key = key
+ _active = active
+ End Sub
+
+
+ ' A shared function which allows to serialize an ArrayList Object of CloudlogTargets objects into a string
+ ' This is needed as the settings functions only allows to store basic datatypes
+ ' Argument: ArrayList
+ ' Returns: String
+ Public Shared Function toSettingsString(ByVal list As ArrayList) As String
+ Dim serialized As String
+ Dim formatter As New BinaryFormatter()
+ Using memoryStream As New MemoryStream()
+ formatter.Serialize(memoryStream, list)
+ serialized = Convert.ToBase64String(memoryStream.ToArray())
+ End Using
+ Return serialized
+ End Function
+
+ ' A shared function which allows to deserialize a string into an ArrayList Object of CloudlogTarget objects into a string
+ ' This is needed as the settings functions only allows to store basic datatypes
+ ' Argument: ArrayList
+ ' Returns: String
+ Public Shared Function fromSettingsString(ByVal str As String) As ArrayList
+ Dim formatter As New BinaryFormatter()
+ Dim retrievedTargets As ArrayList
+ Using memoryStream As New MemoryStream(Convert.FromBase64String(str))
+ retrievedTargets = DirectCast(formatter.Deserialize(memoryStream), ArrayList)
+ End Using
+ Return retrievedTargets
+ End Function
+
+
+ ' Setter and Getter Functions
+
+ Public Property name() As String
+ Get
+ Return _name
+ End Get
+ Set(ByVal value As String)
+ _name = value
+ End Set
+ End Property
+
+
+ Public Property radioName() As String
+ Get
+ Return _radioName
+ End Get
+ Set(ByVal value As String)
+ _radioName = value
+ End Set
+ End Property
+
+
+ Public Property url() As String
+ Get
+ Return _url
+ End Get
+ Set(ByVal value As String)
+ _url = value
+ End Set
+ End Property
+
+
+ Public Property key() As String
+ Get
+ Return _key
+ End Get
+ Set(ByVal value As String)
+ _key = value
+ End Set
+ End Property
+
+
+ Public Property active() As Boolean
+ Get
+ Return _active
+ End Get
+ Set(ByVal value As Boolean)
+ _active = value
+ End Set
+ End Property
+
+End Class
diff --git a/OmniRig_VB_DEMO/Form1.vb b/OmniRig_VB_DEMO/Form1.vb
index 69577a3..e3df36c 100644
--- a/OmniRig_VB_DEMO/Form1.vb
+++ b/OmniRig_VB_DEMO/Form1.vb
@@ -1,4 +1,11 @@
-Public Class Form1
+Imports System.Diagnostics.Contracts
+Imports System.Runtime
+Imports CloudlogCAT.My
+
+Public Class Form1
+ ' List of Cloudlog Targets
+ Dim targets As ArrayList
+ Dim targetsStr As String ' Strore the settings string to detect changes
'OmniRig events WithEvents
Dim WithEvents OmniRigEngine As OmniRig.OmniRigX
Dim Rig As OmniRig.RigX
@@ -48,6 +55,16 @@
Const ST_NOTRESPONDING = &H3
Const ST_ONLINE = &H4
+ Public Sub loadSettings()
+ ' only do the deserialization if something has changed, a hint of better performance
+ If Not String.Equals(My.Settings.MultiCloudlog, Me.targetsStr) Then
+ ' do the deserialization
+ Me.targets = CloudlogTarget.fromSettingsString(My.Settings.MultiCloudlog)
+ Me.targetsStr = My.Settings.MultiCloudlog
+ End If
+ End Sub
+
+
'Form LOAD events
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load
@@ -60,6 +77,33 @@
TransverterOffsetToolStripMenuItem.Checked = True
End If
+ ' Check weather we need to adjust the settings
+ If String.Equals(My.Settings.MultiCloudlog, "") Then
+ ' There are no Multi Cloudlog Entrys, create one
+
+ Dim target As New CloudlogTarget() ' Initializes the new object with defaults sting and sets it as not active
+
+ ' There are Settings strored in the URL and API, transport them (leagacy reasons!)
+ If Not String.Equals(My.Settings.CloudlogURL, "") Then
+ target.url = My.Settings.CloudlogURL
+ target.key = My.Settings.CloudlogAPIKey
+ target.active = True
+ Console.WriteLine(My.Settings.CloudlogURL)
+ End If
+
+ ' Store the targets as a list, and save it
+ Dim targets As New ArrayList()
+ targets.Add(target)
+ Me.targets = targets
+ My.Settings.MultiCloudlog = CloudlogTarget.toSettingsString(targets)
+ Me.targetsStr = My.Settings.MultiCloudlog ' set the string to compoare against changes
+ My.Settings.Save()
+ Else
+ Me.targetsStr = "" ' force a load of objects
+ loadSettings() ' deserialize the string
+ End If
+
+
StartOmniRig()
End Sub
@@ -106,7 +150,6 @@
Label3.Text = Rig.Freq 'Rig.GetRxFrequency
End If
->>>>>>> e221a03032e5c6a6f33ade8747dc3b7de93a3a4e
Select Case Rig.Mode
Case PM_CW_L
Label6.Text = "CW"
@@ -129,34 +172,64 @@
End Select
'Connect to Cloudlog API and sync frequency
- If My.Settings.CloudlogURL IsNot Nothing Then
- Try
- Using client As New Net.WebClient
- System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12
+ loadSettings() ' surely there is a better way to update the settings... but it works!
+
+
+ Dim allOK As Boolean
+ Dim anyTarget As Boolean
+ allOK = True ' If any of the targets fail, we need to know
+ anyTarget = False ' Additional flag, if any target is supposed to be active
+
+ Dim timestamp As String = DateTime.UtcNow.ToString("yyyy/MM/dd HH:mm:ss")
+
+
+ For Each target As CloudlogTarget In targets
+ ' upload each to target, if requested and possible
+ If target.active And Not String.Equals(target.url, "") Then
+ anyTarget = True
+ Try
+ Using client As New Net.WebClient
+ System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12
+
+ Dim RadioName As String = ""
+
+ ' The radio name will be populated my the target object
+ If RadioButton1.Checked Then
+ RadioName = "1"
+ Else
+ RadioName = "2"
+ End If
+
+
+ ' build string
+ Dim myString As String = "{""radio"": """ + target.radioName + " " + RadioName + """, ""frequency"": """ + newfreq.ToString + """, ""mode"": """ + Label6.Text + """, ""timestamp"": """ + timestamp + """, ""key"": """ + target.key + """}"
+
+ Try
+ Dim responsebytes = client.UploadString(target.url + "/index.php/api/radio", myString)
+ Catch ex As Exception
+ If allOK = True Then ' only display error for the first entry, maybe room for improvement
+ ToolStripStatusLabel1.Text = "Cloudlog Synced for " + target.name + ": Failed, check URL/API"
+ allOK = False
+ End If
+ End Try
+ End Using
+ Catch ex As System.Net.WebException
+ If allOK = True Then
+ ToolStripStatusLabel1.Text = "Cloudlog Synced for " + target.name + " Failed"
+ allOK = False
+ End If
+ End Try
- Dim RadioName As String = ""
+ End If
+ Next
- If RadioButton1.Checked Then
- RadioName = "OmniRig 1"
- Else
- RadioName = "OmniRig 2"
- End If
-
- Dim timestamp as String = DateTime.UtcNow.ToString("yyyy/MM/dd HH:mm:ss")
-
- Dim myString As String = "{""radio"": """ + RadioName + """, ""frequency"": """ + newfreq.ToString + """, ""mode"": """ + Label6.Text + """, ""timestamp"": """ + timestamp + """, ""key"": """ + My.Settings.CloudlogAPIKey + """}"
-
- Try
- Dim responsebytes = client.UploadString(My.Settings.CloudlogURL + "/index.php/api/radio", myString)
- ToolStripStatusLabel1.Text = "Cloudlog Synced: " + timestamp
- Catch ex As Exception
- ToolStripStatusLabel1.Text = "Cloudlog Synced: Failed, check URL/API"
- End Try
- End Using
- Catch ex As System.Net.WebException
- ToolStripStatusLabel1.Text = "Cloudlog Synced: Failed"
- End Try
+
+ If Not anyTarget Then ' haven't even tried, display an error
+ ToolStripStatusLabel1.Text = "Cloudlog Synced: Failed, no target active"
+ ElseIf allOK Then
+ ToolStripStatusLabel1.Text = "Cloudlog Synced: " + timestamp ' all targets uploaded sucessfully!
End If
+
End Sub
'Procedures
diff --git a/OmniRig_VB_DEMO/Form2.Designer.vb b/OmniRig_VB_DEMO/Form2.Designer.vb
index 90bef96..6d4d5bb 100644
--- a/OmniRig_VB_DEMO/Form2.Designer.vb
+++ b/OmniRig_VB_DEMO/Form2.Designer.vb
@@ -23,62 +23,146 @@ Partial Class CloudlogSettingsForm
_
Private Sub InitializeComponent()
Me.Label1 = New System.Windows.Forms.Label()
- Me.TextBox1 = New System.Windows.Forms.TextBox()
- Me.Button1 = New System.Windows.Forms.Button()
+ Me.URLBox = New System.Windows.Forms.TextBox()
+ Me.SaveBut = New System.Windows.Forms.Button()
Me.Label2 = New System.Windows.Forms.Label()
- Me.TextBox2 = New System.Windows.Forms.TextBox()
+ Me.KeyBox = New System.Windows.Forms.TextBox()
+ Me.NameBox = New System.Windows.Forms.TextBox()
+ Me.radioNameBox = New System.Windows.Forms.TextBox()
+ Me.TargetList = New System.Windows.Forms.ListBox()
+ Me.ActiveBox = New System.Windows.Forms.CheckBox()
+ Me.AddBut = New System.Windows.Forms.Button()
+ Me.SubBut = New System.Windows.Forms.Button()
+ Me.Label3 = New System.Windows.Forms.Label()
+ Me.Label4 = New System.Windows.Forms.Label()
Me.SuspendLayout()
'
'Label1
'
Me.Label1.AutoSize = True
- Me.Label1.Location = New System.Drawing.Point(13, 13)
+ Me.Label1.Location = New System.Drawing.Point(140, 65)
Me.Label1.Name = "Label1"
Me.Label1.Size = New System.Drawing.Size(131, 13)
Me.Label1.TabIndex = 0
Me.Label1.Text = "Cloudlog Website Address"
'
- 'TextBox1
+ 'URLBox
'
- Me.TextBox1.Location = New System.Drawing.Point(151, 13)
- Me.TextBox1.Name = "TextBox1"
- Me.TextBox1.Size = New System.Drawing.Size(206, 20)
- Me.TextBox1.TabIndex = 1
+ Me.URLBox.Location = New System.Drawing.Point(277, 62)
+ Me.URLBox.Name = "URLBox"
+ Me.URLBox.Size = New System.Drawing.Size(206, 20)
+ Me.URLBox.TabIndex = 6
'
- 'Button1
+ 'SaveBut
'
- Me.Button1.Location = New System.Drawing.Point(253, 72)
- Me.Button1.Name = "Button1"
- Me.Button1.Size = New System.Drawing.Size(104, 23)
- Me.Button1.TabIndex = 2
- Me.Button1.Text = "Save"
- Me.Button1.UseVisualStyleBackColor = True
+ Me.SaveBut.Location = New System.Drawing.Point(379, 112)
+ Me.SaveBut.Name = "SaveBut"
+ Me.SaveBut.Size = New System.Drawing.Size(104, 23)
+ Me.SaveBut.TabIndex = 9
+ Me.SaveBut.Text = "Save"
+ Me.SaveBut.UseVisualStyleBackColor = True
'
'Label2
'
Me.Label2.AutoSize = True
- Me.Label2.Location = New System.Drawing.Point(13, 46)
+ Me.Label2.Location = New System.Drawing.Point(182, 90)
Me.Label2.Name = "Label2"
Me.Label2.Size = New System.Drawing.Size(89, 13)
Me.Label2.TabIndex = 3
Me.Label2.Text = "Cloudlog API Key"
'
- 'TextBox2
+ 'KeyBox
'
- Me.TextBox2.Location = New System.Drawing.Point(151, 46)
- Me.TextBox2.Name = "TextBox2"
- Me.TextBox2.Size = New System.Drawing.Size(206, 20)
- Me.TextBox2.TabIndex = 4
+ Me.KeyBox.Location = New System.Drawing.Point(277, 87)
+ Me.KeyBox.Name = "KeyBox"
+ Me.KeyBox.Size = New System.Drawing.Size(206, 20)
+ Me.KeyBox.TabIndex = 7
+ '
+ 'NameBox
+ '
+ Me.NameBox.Location = New System.Drawing.Point(277, 12)
+ Me.NameBox.Name = "NameBox"
+ Me.NameBox.Size = New System.Drawing.Size(206, 20)
+ Me.NameBox.TabIndex = 4
+ '
+ 'radioNameBox
+ '
+ Me.radioNameBox.Location = New System.Drawing.Point(277, 37)
+ Me.radioNameBox.Name = "radioNameBox"
+ Me.radioNameBox.Size = New System.Drawing.Size(206, 20)
+ Me.radioNameBox.TabIndex = 5
+ '
+ 'TargetList
+ '
+ Me.TargetList.FormattingEnabled = True
+ Me.TargetList.Location = New System.Drawing.Point(12, 12)
+ Me.TargetList.Name = "TargetList"
+ Me.TargetList.Size = New System.Drawing.Size(120, 95)
+ Me.TargetList.TabIndex = 1
+ '
+ 'ActiveBox
+ '
+ Me.ActiveBox.AutoSize = True
+ Me.ActiveBox.Location = New System.Drawing.Point(277, 116)
+ Me.ActiveBox.Name = "ActiveBox"
+ Me.ActiveBox.Size = New System.Drawing.Size(56, 17)
+ Me.ActiveBox.TabIndex = 8
+ Me.ActiveBox.Text = "Active"
+ Me.ActiveBox.UseVisualStyleBackColor = True
+ '
+ 'AddBut
+ '
+ Me.AddBut.Location = New System.Drawing.Point(12, 112)
+ Me.AddBut.Name = "AddBut"
+ Me.AddBut.Size = New System.Drawing.Size(37, 23)
+ Me.AddBut.TabIndex = 2
+ Me.AddBut.Text = "➕"
+ Me.AddBut.UseVisualStyleBackColor = True
+ '
+ 'SubBut
+ '
+ Me.SubBut.Location = New System.Drawing.Point(95, 112)
+ Me.SubBut.Name = "SubBut"
+ Me.SubBut.Size = New System.Drawing.Size(37, 23)
+ Me.SubBut.TabIndex = 3
+ Me.SubBut.Text = "➖"
+ Me.SubBut.UseVisualStyleBackColor = True
+ '
+ 'Label3
+ '
+ Me.Label3.AutoSize = True
+ Me.Label3.Location = New System.Drawing.Point(150, 40)
+ Me.Label3.Name = "Label3"
+ Me.Label3.Size = New System.Drawing.Size(121, 13)
+ Me.Label3.TabIndex = 11
+ Me.Label3.Text = "Radio Name in Cloudlog"
+ '
+ 'Label4
+ '
+ Me.Label4.AutoSize = True
+ Me.Label4.Location = New System.Drawing.Point(244, 15)
+ Me.Label4.Name = "Label4"
+ Me.Label4.Size = New System.Drawing.Size(27, 13)
+ Me.Label4.TabIndex = 12
+ Me.Label4.Text = "Title"
'
'CloudlogSettingsForm
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
- Me.ClientSize = New System.Drawing.Size(381, 102)
- Me.Controls.Add(Me.TextBox2)
+ Me.ClientSize = New System.Drawing.Size(506, 162)
+ Me.Controls.Add(Me.Label4)
+ Me.Controls.Add(Me.Label3)
+ Me.Controls.Add(Me.SubBut)
+ Me.Controls.Add(Me.AddBut)
+ Me.Controls.Add(Me.ActiveBox)
+ Me.Controls.Add(Me.TargetList)
+ Me.Controls.Add(Me.radioNameBox)
+ Me.Controls.Add(Me.NameBox)
+ Me.Controls.Add(Me.KeyBox)
Me.Controls.Add(Me.Label2)
- Me.Controls.Add(Me.Button1)
- Me.Controls.Add(Me.TextBox1)
+ Me.Controls.Add(Me.SaveBut)
+ Me.Controls.Add(Me.URLBox)
Me.Controls.Add(Me.Label1)
Me.MaximizeBox = False
Me.MinimizeBox = False
@@ -91,8 +175,16 @@ Partial Class CloudlogSettingsForm
End Sub
Friend WithEvents Label1 As Label
- Friend WithEvents TextBox1 As TextBox
- Friend WithEvents Button1 As Button
+ Friend WithEvents URLBox As TextBox
+ Friend WithEvents SaveBut As Button
Friend WithEvents Label2 As Label
- Friend WithEvents TextBox2 As TextBox
+ Friend WithEvents KeyBox As TextBox
+ Friend WithEvents NameBox As TextBox
+ Friend WithEvents radioNameBox As TextBox
+ Friend WithEvents TargetList As ListBox
+ Friend WithEvents ActiveBox As CheckBox
+ Friend WithEvents AddBut As Button
+ Friend WithEvents SubBut As Button
+ Friend WithEvents Label3 As Label
+ Friend WithEvents Label4 As Label
End Class
diff --git a/OmniRig_VB_DEMO/Form2.vb b/OmniRig_VB_DEMO/Form2.vb
index 8fe00b5..c616f79 100644
--- a/OmniRig_VB_DEMO/Form2.vb
+++ b/OmniRig_VB_DEMO/Form2.vb
@@ -1,12 +1,123 @@
Public Class CloudlogSettingsForm
- Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
- My.Settings.CloudlogURL = TextBox1.Text
- My.Settings.CloudlogAPIKey = TextBox2.Text
- Me.Close()
+ Dim targets As ArrayList
+ Private Sub SaveBut_Click(sender As Object, e As EventArgs) Handles SaveBut.Click
+ Dim target As CloudlogTarget
+ target = getValues() ' Get the target to be added
+
+
+ ' Basic sanity check, an empty name will result in empty but existing list entries
+ If String.Equals(target.name, "") Or String.Equals(target.url, "") Then
+ MsgBox("Neither Name nor URL May be Empty!")
+ Return
+ End If
+
+ ' it is possible to click select without selecting anything in the list
+ ' Just add a new entry i
+ If TargetList.SelectedIndex = -1 Then
+ targets.Add(getValues) ' add new
+ Else
+ targets(TargetList.SelectedIndex) = getValues() ' Override
+ End If
+
+ ' Store the list as a string
+ My.Settings.MultiCloudlog = CloudlogTarget.toSettingsString(targets)
+ My.Settings.Save()
+ ' update gui
+ populateList()
End Sub
Private Sub CloudlogSettingsForm_Load(sender As Object, e As EventArgs) Handles MyBase.Load
- TextBox1.Text = My.Settings.CloudlogURL
- TextBox2.Text = My.Settings.CloudlogAPIKey
+ ' Get current settings and override the local object
+ targets = CloudlogTarget.fromSettingsString(My.Settings.MultiCloudlog)
+ ' Update the gui
+ populateList()
+ ' Select the first entry and populate the values into the textboxes
+ TargetList.SetSelected(0, True)
+ populateValues(0)
+
+ End Sub
+
+ Private Sub TargetList_SelectedIndexChanged(sender As Object, e As EventArgs) Handles TargetList.SelectedIndexChanged
+ ' Ignore the un-select event
+ If TargetList.SelectedIndex >= 0 Then
+ ' update gui
+ populateValues(TargetList.SelectedIndex)
+ End If
+ End Sub
+ Private Sub populateList()
+ Dim selected As Integer
+
+ ' We will clear the list, so stroe the currently selected item
+ selected = TargetList.SelectedIndex
+ ' clear list and populate the values
+ TargetList.Items.Clear()
+ For Each target As CloudlogTarget In targets
+ TargetList.Items.Add(target.name)
+ Next
+
+ ' reselect the item, if neccesary
+ If 0 <= selected And selected < targets.Count Then
+ TargetList.SetSelected(selected, True)
+ populateValues(selected)
+ End If
+
+ End Sub
+
+ ' Puts the values from the list into the textboxes
+ Private Sub populateValues(ByVal index As Integer)
+ Dim target As CloudlogTarget
+ target = targets(index)
+
+ NameBox.Text = target.name
+ radioNameBox.Text = target.radioName
+ URLBox.Text = target.url
+ KeyBox.Text = target.key
+ ActiveBox.Checked = target.active
+
+ End Sub
+
+ Private Function getValues() As CloudlogTarget
+ Dim target As New CloudlogTarget()
+ ' Create a new target object, remove trailling and leading spaces
+ target.name = NameBox.Text.Trim()
+ target.radioName = radioNameBox.Text.Trim()
+ target.url = URLBox.Text.Trim()
+ ' the url may not end with a /
+ While target.url.EndsWith("/")
+ target.url = target.url.Substring(0, target.url.Length - 1)
+ End While
+ target.key = KeyBox.Text.Trim()
+ target.active = ActiveBox.Checked
+ Return target
+ End Function
+
+ Private Sub AddBut_Click(sender As Object, e As EventArgs) Handles AddBut.Click
+ Dim target As New CloudlogTarget()
+ ' Create a new basic Target, the name is increased to the count number
+ target.name = target.name & " " & (targets.Count + 1)
+ targets.Add(target)
+ ' put it in the list
+ populateList()
+ ' this new entry is neither selected nor saved, this is on purpose. The use needs to make changes to make saving worth it
+ End Sub
+
+ Private Sub SubBut_Click(sender As Object, e As EventArgs) Handles SubBut.Click
+ Dim index As Integer
+ index = TargetList.SelectedIndex
+ ' Check weather anything is selected, and do not delete the last entry
+ If index > -1 And targets.Count > 1 Then
+ ' flush gui
+ NameBox.Text = ""
+ radioNameBox.Text = ""
+ URLBox.Text = ""
+ KeyBox.Text = ""
+ ActiveBox.Checked = False
+ ' remove and update gui
+ targets.RemoveAt(index)
+ populateList()
+ ' save
+ My.Settings.MultiCloudlog = CloudlogTarget.toSettingsString(targets)
+ My.Settings.Save()
+ End If
End Sub
End Class
\ No newline at end of file
diff --git a/OmniRig_VB_DEMO/My Project/AssemblyInfo.vb b/OmniRig_VB_DEMO/My Project/AssemblyInfo.vb
index ac48209..1bed16b 100644
--- a/OmniRig_VB_DEMO/My Project/AssemblyInfo.vb
+++ b/OmniRig_VB_DEMO/My Project/AssemblyInfo.vb
@@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices
' 既定値にすることができます:
'
-
-
+
+
diff --git a/OmniRig_VB_DEMO/My Project/Resources.Designer.vb b/OmniRig_VB_DEMO/My Project/Resources.Designer.vb
index ada3222..ad09a96 100644
--- a/OmniRig_VB_DEMO/My Project/Resources.Designer.vb
+++ b/OmniRig_VB_DEMO/My Project/Resources.Designer.vb
@@ -1,10 +1,10 @@
'------------------------------------------------------------------------------
'
-' This code was generated by a tool.
-' Runtime Version:4.0.30319.42000
+' Dieser Code wurde von einem Tool generiert.
+' Laufzeitversion:4.0.30319.42000
'
-' Changes to this file may cause incorrect behavior and will be lost if
-' the code is regenerated.
+' Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
+' der Code erneut generiert wird.
'
'------------------------------------------------------------------------------
@@ -15,14 +15,14 @@ Imports System
Namespace My.Resources
- 'This class was auto-generated by the StronglyTypedResourceBuilder
- 'class via a tool like ResGen or Visual Studio.
- 'To add or remove a member, edit your .ResX file then rerun ResGen
- 'with the /str option, or rebuild your VS project.
+ 'Diese Klasse wurde von der StronglyTypedResourceBuilder automatisch generiert
+ '-Klasse über ein Tool wie ResGen oder Visual Studio automatisch generiert.
+ 'Um einen Member hinzuzufügen oder zu entfernen, bearbeiten Sie die .ResX-Datei und führen dann ResGen
+ 'mit der /str-Option erneut aus, oder Sie erstellen Ihr VS-Projekt neu.
'''
- ''' A strongly-typed resource class, for looking up localized strings, etc.
+ ''' Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw.
'''
- _
@@ -33,7 +33,7 @@ Namespace My.Resources
Private resourceCulture As Global.System.Globalization.CultureInfo
'''
- ''' Returns the cached ResourceManager instance used by this class.
+ ''' Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird.
'''
_
Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager
@@ -47,8 +47,8 @@ Namespace My.Resources
End Property
'''
- ''' Overrides the current thread's CurrentUICulture property for all
- ''' resource lookups using this strongly typed resource class.
+ ''' Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle
+ ''' Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden.
'''
_
Friend Property Culture() As Global.System.Globalization.CultureInfo
diff --git a/OmniRig_VB_DEMO/My Project/Settings.Designer.vb b/OmniRig_VB_DEMO/My Project/Settings.Designer.vb
index c8f8ac9..1b4992f 100644
--- a/OmniRig_VB_DEMO/My Project/Settings.Designer.vb
+++ b/OmniRig_VB_DEMO/My Project/Settings.Designer.vb
@@ -1,10 +1,10 @@
'------------------------------------------------------------------------------
'
-' This code was generated by a tool.
-' Runtime Version:4.0.30319.42000
+' Dieser Code wurde von einem Tool generiert.
+' Laufzeitversion:4.0.30319.42000
'
-' Changes to this file may cause incorrect behavior and will be lost if
-' the code is regenerated.
+' Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
+' der Code erneut generiert wird.
'
'------------------------------------------------------------------------------
@@ -15,14 +15,14 @@ Option Explicit On
Namespace My
_
Partial Friend NotInheritable Class MySettings
Inherits Global.System.Configuration.ApplicationSettingsBase
Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings()),MySettings)
-#Region "My.Settings Auto-Save Functionality"
+#Region "Automatische My.Settings-Speicherfunktion"
#If _MyType = "WindowsForms" Then
Private Shared addedHandler As Boolean
@@ -113,6 +113,18 @@ Namespace My
Me("TransverterOffsetType") = value
End Set
End Property
+
+ _
+ Public Property MultiCloudlog() As String
+ Get
+ Return CType(Me("MultiCloudlog"),String)
+ End Get
+ Set
+ Me("MultiCloudlog") = value
+ End Set
+ End Property
End Class
End Namespace
diff --git a/OmniRig_VB_DEMO/My Project/Settings.settings b/OmniRig_VB_DEMO/My Project/Settings.settings
index 94b4265..0f8f09c 100644
--- a/OmniRig_VB_DEMO/My Project/Settings.settings
+++ b/OmniRig_VB_DEMO/My Project/Settings.settings
@@ -17,5 +17,8 @@
+
+
+
\ No newline at end of file
diff --git a/OmniRig_VB_DEMO/My Project/app.manifest b/OmniRig_VB_DEMO/My Project/app.manifest
index 5485cad..c654d83 100644
--- a/OmniRig_VB_DEMO/My Project/app.manifest
+++ b/OmniRig_VB_DEMO/My Project/app.manifest
@@ -19,8 +19,8 @@
-
+
diff --git a/OmniRig_VB_DEMO/bin/Debug/CloudlogCAT.exe b/OmniRig_VB_DEMO/bin/Debug/CloudlogCAT.exe
index 0e084ea..81cd0df 100644
Binary files a/OmniRig_VB_DEMO/bin/Debug/CloudlogCAT.exe and b/OmniRig_VB_DEMO/bin/Debug/CloudlogCAT.exe differ
diff --git a/OmniRig_VB_DEMO/bin/Debug/CloudlogCAT.exe.config b/OmniRig_VB_DEMO/bin/Debug/CloudlogCAT.exe.config
index 5ba32f6..c5c646a 100644
--- a/OmniRig_VB_DEMO/bin/Debug/CloudlogCAT.exe.config
+++ b/OmniRig_VB_DEMO/bin/Debug/CloudlogCAT.exe.config
@@ -1,12 +1,12 @@
-
+
-
-
+
+
-
+
@@ -25,6 +25,9 @@
+
+
+
-
\ No newline at end of file
+
diff --git a/OmniRig_VB_DEMO/bin/Debug/CloudlogCAT.pdb b/OmniRig_VB_DEMO/bin/Debug/CloudlogCAT.pdb
index c95172d..7e717e5 100644
Binary files a/OmniRig_VB_DEMO/bin/Debug/CloudlogCAT.pdb and b/OmniRig_VB_DEMO/bin/Debug/CloudlogCAT.pdb differ
diff --git a/OmniRig_VB_DEMO/obj/Debug/.NETFramework,Version=v4.8.AssemblyAttributes.vb b/OmniRig_VB_DEMO/obj/Debug/.NETFramework,Version=v4.8.AssemblyAttributes.vb
new file mode 100644
index 0000000..e7dcac5
--- /dev/null
+++ b/OmniRig_VB_DEMO/obj/Debug/.NETFramework,Version=v4.8.AssemblyAttributes.vb
@@ -0,0 +1,7 @@
+'
+ Option Strict Off
+ Option Explicit On
+
+ Imports System
+ Imports System.Reflection
+
diff --git a/OmniRig_VB_DEMO/obj/Debug/CloudlogCAT.application b/OmniRig_VB_DEMO/obj/Debug/CloudlogCAT.application
index e2301c9..5c426e0 100644
--- a/OmniRig_VB_DEMO/obj/Debug/CloudlogCAT.application
+++ b/OmniRig_VB_DEMO/obj/Debug/CloudlogCAT.application
@@ -1,20 +1,20 @@
-
+
-
+
-
+
- lJZaO8tSPCCvJvWpfK2iargf1grFLkGJE4oCWnwbRAg=
+ Wm27OLRYJllPC9KaIhDe3L4ijNSYWhYfHRvB/bGOxIQ=
diff --git a/OmniRig_VB_DEMO/obj/Debug/CloudlogCAT.exe b/OmniRig_VB_DEMO/obj/Debug/CloudlogCAT.exe
index 2dfc8e2..81cd0df 100644
Binary files a/OmniRig_VB_DEMO/obj/Debug/CloudlogCAT.exe and b/OmniRig_VB_DEMO/obj/Debug/CloudlogCAT.exe differ
diff --git a/OmniRig_VB_DEMO/obj/Debug/CloudlogCAT.exe.manifest b/OmniRig_VB_DEMO/obj/Debug/CloudlogCAT.exe.manifest
index 657295d..e20f773 100644
--- a/OmniRig_VB_DEMO/obj/Debug/CloudlogCAT.exe.manifest
+++ b/OmniRig_VB_DEMO/obj/Debug/CloudlogCAT.exe.manifest
@@ -1,10 +1,10 @@
-
+
-
+
@@ -43,14 +43,14 @@
-
-
+
+
- C75VVJvxDVVyVYjWlaF+wx4DsFOs+CIrPk+W7yPLOcA=
+ fBODrOq8A3BzOd3uOsbtNogvtoGtgGuUPVoEMEpaQGA=
@@ -63,13 +63,13 @@
t+YkUar7BQkecv0WXeIzZ08zzmX/bITAX+l62kmzD80=
-
+
- 97ZF9x7UU/TAdsnUobeoZsDDrKK7sWqUT1DYfsGujMQ=
+ /8FbyePycsNgpmVYrq2FhGBGxoEicAxWMxLfqR3CTAc=
diff --git a/OmniRig_VB_DEMO/obj/Debug/CloudlogCAT.pdb b/OmniRig_VB_DEMO/obj/Debug/CloudlogCAT.pdb
index a075b75..7e717e5 100644
Binary files a/OmniRig_VB_DEMO/obj/Debug/CloudlogCAT.pdb and b/OmniRig_VB_DEMO/obj/Debug/CloudlogCAT.pdb differ
diff --git a/OmniRig_VB_DEMO/obj/Debug/CloudlogCAT.vbproj.AssemblyReference.cache b/OmniRig_VB_DEMO/obj/Debug/CloudlogCAT.vbproj.AssemblyReference.cache
new file mode 100644
index 0000000..45a6ab9
Binary files /dev/null and b/OmniRig_VB_DEMO/obj/Debug/CloudlogCAT.vbproj.AssemblyReference.cache differ
diff --git a/OmniRig_VB_DEMO/obj/Debug/CloudlogCAT.vbproj.CoreCompileInputs.cache b/OmniRig_VB_DEMO/obj/Debug/CloudlogCAT.vbproj.CoreCompileInputs.cache
index 5b48b12..fb9e1f4 100644
--- a/OmniRig_VB_DEMO/obj/Debug/CloudlogCAT.vbproj.CoreCompileInputs.cache
+++ b/OmniRig_VB_DEMO/obj/Debug/CloudlogCAT.vbproj.CoreCompileInputs.cache
@@ -1 +1 @@
-a52852b2fe3aa3058580960897b7baca1d5a2ac0
+d2e72992a80824992db47477ea132e762bcb885c
diff --git a/OmniRig_VB_DEMO/obj/Debug/CloudlogCAT.vbproj.FileListAbsolute.txt b/OmniRig_VB_DEMO/obj/Debug/CloudlogCAT.vbproj.FileListAbsolute.txt
index 6c81cd1..b0fa5ff 100644
--- a/OmniRig_VB_DEMO/obj/Debug/CloudlogCAT.vbproj.FileListAbsolute.txt
+++ b/OmniRig_VB_DEMO/obj/Debug/CloudlogCAT.vbproj.FileListAbsolute.txt
@@ -41,3 +41,26 @@ C:\Users\peter\OneDrive\Documents\GitHub\CloudlogCAT\OmniRig_VB_DEMO\bin\Debug\C
C:\Users\peter\OneDrive\Documents\GitHub\CloudlogCAT\OmniRig_VB_DEMO\obj\Debug\CloudlogCAT.exe.manifest
C:\Users\peter\OneDrive\Documents\GitHub\CloudlogCAT\OmniRig_VB_DEMO\obj\Debug\CloudlogCAT.application
C:\Users\peter\OneDrive\Documents\GitHub\CloudlogCAT\OmniRig_VB_DEMO\obj\Debug\CloudlogCAT.Form3.resources
+C:\Users\FHoch\Documents\Projekte\CloudlogCAT\OmniRig_VB_DEMO\obj\Debug\CloudlogCAT.vbproj.AssemblyReference.cache
+C:\Users\FHoch\Documents\Projekte\CloudlogCAT\OmniRig_VB_DEMO\obj\Debug\CloudlogCAT.vbproj.SuggestedBindingRedirects.cache
+C:\Users\FHoch\Documents\Projekte\CloudlogCAT\OmniRig_VB_DEMO\obj\Debug\Interop.OmniRig.dll
+C:\Users\FHoch\Documents\Projekte\CloudlogCAT\OmniRig_VB_DEMO\obj\Debug\CloudlogCAT.vbproj.ResolveComReference.cache
+C:\Users\FHoch\Documents\Projekte\CloudlogCAT\OmniRig_VB_DEMO\obj\Debug\CloudlogCAT.AboutBox1.resources
+C:\Users\FHoch\Documents\Projekte\CloudlogCAT\OmniRig_VB_DEMO\obj\Debug\CloudlogCAT.Form1.resources
+C:\Users\FHoch\Documents\Projekte\CloudlogCAT\OmniRig_VB_DEMO\obj\Debug\CloudlogCAT.CloudlogSettingsForm.resources
+C:\Users\FHoch\Documents\Projekte\CloudlogCAT\OmniRig_VB_DEMO\obj\Debug\CloudlogCAT.Form3.resources
+C:\Users\FHoch\Documents\Projekte\CloudlogCAT\OmniRig_VB_DEMO\obj\Debug\CloudlogCAT.Resources.resources
+C:\Users\FHoch\Documents\Projekte\CloudlogCAT\OmniRig_VB_DEMO\obj\Debug\CloudlogCAT.vbproj.GenerateResource.cache
+C:\Users\FHoch\Documents\Projekte\CloudlogCAT\OmniRig_VB_DEMO\obj\Debug\CloudlogCAT.vbproj.CoreCompileInputs.cache
+C:\Users\FHoch\Documents\Projekte\CloudlogCAT\OmniRig_VB_DEMO\obj\Debug\CloudlogCAT.exe
+C:\Users\FHoch\Documents\Projekte\CloudlogCAT\OmniRig_VB_DEMO\obj\Debug\CloudlogCAT.xml
+C:\Users\FHoch\Documents\Projekte\CloudlogCAT\OmniRig_VB_DEMO\obj\Debug\CloudlogCAT.pdb
+C:\Users\FHoch\Documents\Projekte\CloudlogCAT\OmniRig_VB_DEMO\bin\Debug\CloudlogCAT.exe.config
+C:\Users\FHoch\Documents\Projekte\CloudlogCAT\OmniRig_VB_DEMO\bin\Debug\CloudlogCAT.exe.manifest
+C:\Users\FHoch\Documents\Projekte\CloudlogCAT\OmniRig_VB_DEMO\bin\Debug\CloudlogCAT.application
+C:\Users\FHoch\Documents\Projekte\CloudlogCAT\OmniRig_VB_DEMO\bin\Debug\CloudlogCAT.exe
+C:\Users\FHoch\Documents\Projekte\CloudlogCAT\OmniRig_VB_DEMO\bin\Debug\CloudlogCAT.pdb
+C:\Users\FHoch\Documents\Projekte\CloudlogCAT\OmniRig_VB_DEMO\bin\Debug\CloudlogCAT.xml
+C:\Users\FHoch\Documents\Projekte\CloudlogCAT\OmniRig_VB_DEMO\obj\Debug\CloudlogCAT.TrustInfo.xml
+C:\Users\FHoch\Documents\Projekte\CloudlogCAT\OmniRig_VB_DEMO\obj\Debug\CloudlogCAT.exe.manifest
+C:\Users\FHoch\Documents\Projekte\CloudlogCAT\OmniRig_VB_DEMO\obj\Debug\CloudlogCAT.application
diff --git a/OmniRig_VB_DEMO/obj/Debug/CloudlogCAT.vbproj.GenerateResource.cache b/OmniRig_VB_DEMO/obj/Debug/CloudlogCAT.vbproj.GenerateResource.cache
index 171a5e1..1020dfd 100644
Binary files a/OmniRig_VB_DEMO/obj/Debug/CloudlogCAT.vbproj.GenerateResource.cache and b/OmniRig_VB_DEMO/obj/Debug/CloudlogCAT.vbproj.GenerateResource.cache differ
diff --git a/OmniRig_VB_DEMO/obj/Debug/CloudlogCAT.vbproj.ResolveComReference.cache b/OmniRig_VB_DEMO/obj/Debug/CloudlogCAT.vbproj.ResolveComReference.cache
index a850ce3..6653e36 100644
Binary files a/OmniRig_VB_DEMO/obj/Debug/CloudlogCAT.vbproj.ResolveComReference.cache and b/OmniRig_VB_DEMO/obj/Debug/CloudlogCAT.vbproj.ResolveComReference.cache differ
diff --git a/OmniRig_VB_DEMO/obj/Debug/CloudlogCAT.vbproj.SuggestedBindingRedirects.cache b/OmniRig_VB_DEMO/obj/Debug/CloudlogCAT.vbproj.SuggestedBindingRedirects.cache
new file mode 100644
index 0000000..e69de29
diff --git a/OmniRig_VB_DEMO/obj/Debug/DesignTimeResolveAssemblyReferences.cache b/OmniRig_VB_DEMO/obj/Debug/DesignTimeResolveAssemblyReferences.cache
index 5144866..a534034 100644
Binary files a/OmniRig_VB_DEMO/obj/Debug/DesignTimeResolveAssemblyReferences.cache and b/OmniRig_VB_DEMO/obj/Debug/DesignTimeResolveAssemblyReferences.cache differ
diff --git a/OmniRig_VB_DEMO/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/OmniRig_VB_DEMO/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache
index 3835009..abf3282 100644
Binary files a/OmniRig_VB_DEMO/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache and b/OmniRig_VB_DEMO/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache differ
diff --git a/OmniRig_VB_DEMO/obj/Debug/Interop.OmniRig.dll b/OmniRig_VB_DEMO/obj/Debug/Interop.OmniRig.dll
index 84d6a14..9054f3e 100644
Binary files a/OmniRig_VB_DEMO/obj/Debug/Interop.OmniRig.dll and b/OmniRig_VB_DEMO/obj/Debug/Interop.OmniRig.dll differ
diff --git a/OmniRig_VB_DEMO/obj/Debug/TempPE/My Project.Resources.Designer.vb.dll b/OmniRig_VB_DEMO/obj/Debug/TempPE/My Project.Resources.Designer.vb.dll
index b7a5548..bedc9b9 100644
Binary files a/OmniRig_VB_DEMO/obj/Debug/TempPE/My Project.Resources.Designer.vb.dll and b/OmniRig_VB_DEMO/obj/Debug/TempPE/My Project.Resources.Designer.vb.dll differ