diff --git a/README.md b/README.md
index 7506e7c..4746d2f 100644
--- a/README.md
+++ b/README.md
@@ -7,7 +7,7 @@ SLAM is a new way to share sounds with your friends over the built in communicat
Current features:
- Simple in-game interface.
- Select tracks either by their track number, or tags.
-- Import multiple .mp3 and .wav files at once with the click of a button.
+- Import multiple media files at once with the click of a button (.mp3, .wav, .aac, .wma, .m4a, .mp4, .wmv, .avi, .m4v, and .mov file types).
- Support for multiple games, such as: Counter-Strike: Global Offensive (CS:GO), Counter-Strike: Source (CS:S), and Team Fortress 2 (TF2)
- Create binds to load specific songs.
- Change track volume on the go.
diff --git a/SLAM/App.config b/SLAM/App.config
index 6c1ecb4..36a8624 100644
--- a/SLAM/App.config
+++ b/SLAM/App.config
@@ -11,7 +11,7 @@
- C:\Program Files (x86)\Steam\steamapps\
+
X
@@ -38,7 +38,10 @@
=
- C:\Program Files (x86)\Steam\userdata\
+
+
+
+ True
diff --git a/SLAM/Form1.Designer.vb b/SLAM/Form1.Designer.vb
index 235a2b3..46495b1 100644
--- a/SLAM/Form1.Designer.vb
+++ b/SLAM/Form1.Designer.vb
@@ -32,6 +32,7 @@ Partial Class Form1
Me.TrackCol = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader)
Me.HotKeyCol = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader)
Me.VolumeCol = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader)
+ Me.Trimmed = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader)
Me.TagsCol = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader)
Me.StartButton = New System.Windows.Forms.Button()
Me.ImportDialog = New System.Windows.Forms.OpenFileDialog()
@@ -49,7 +50,6 @@ Partial Class Form1
Me.SetVolumeToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.TrimToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.PlayKeyButton = New System.Windows.Forms.Button()
- Me.Trimmed = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader)
Me.TrackContextMenu.SuspendLayout()
Me.SuspendLayout()
'
@@ -119,6 +119,10 @@ Partial Class Form1
Me.VolumeCol.Text = "Volume"
Me.VolumeCol.Width = 100
'
+ 'Trimmed
+ '
+ Me.Trimmed.Text = "Trimmed"
+ '
'TagsCol
'
Me.TagsCol.Text = "Tags"
@@ -137,7 +141,9 @@ Partial Class Form1
'ImportDialog
'
Me.ImportDialog.FileName = "ImportDialog"
- Me.ImportDialog.Filter = "Audio Files|*.mp3;*.wav"
+ Me.ImportDialog.Filter = "Media files|*.mp3;*.wav;*.aac;*.wma;*.m4a;*.mp4;*.wmv;*.avi;*.m4v;*.mov;|Audio fi" & _
+ "les|*.mp3;*.wav;*.aac;*.wma;*.m4a;|Video files|*.mp4;*.wmv;*.avi;*.m4v;*.mov;|Al" & _
+ "l files|*.*"
Me.ImportDialog.Multiselect = True
'
'ProgressBar1
@@ -233,10 +239,6 @@ Partial Class Form1
Me.PlayKeyButton.Text = "Play key: """"{0}"""" (change)"
Me.PlayKeyButton.UseVisualStyleBackColor = True
'
- 'Trimmed
- '
- Me.Trimmed.Text = "Trimmed"
- '
'Form1
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
diff --git a/SLAM/Form1.vb b/SLAM/Form1.vb
index be72209..08f6ac8 100644
--- a/SLAM/Form1.vb
+++ b/SLAM/Form1.vb
@@ -54,13 +54,7 @@ Public Class Form1
End Sub
Private Sub WaveCreator(File As String, outputFile As String, Game As SourceGame)
- Dim reader As New Object
-
- If Path.GetExtension(File) = ".mp3" Then
- reader = New Mp3FileReader(File)
- ElseIf Path.GetExtension(File) = ".wav" Then
- reader = New WaveFileReader(File)
- End If
+ Dim reader As New MediaFoundationReader(File)
Dim outFormat = New WaveFormat(Game.samplerate, Game.bits, Game.channels)
@@ -215,6 +209,28 @@ Public Class Form1
End Sub
Private Sub StartPoll()
+
+ Dim Game As SourceGame = GetCurrentGame()
+ If Not Game.id = 0 And My.Settings.UserDataEnabled Then 'The CFG's are located in the userdata folder
+ Dim CFGExists As Boolean = False
+ If Directory.Exists(My.Settings.UserdataPath) Then
+ For Each userdir As String In Directory.GetDirectories(My.Settings.UserdataPath)
+ Dim CFGPath As String = Path.Combine(userdir, Game.id.ToString) & "\local\cfg\"
+ If Directory.Exists(CFGPath) Then
+ CFGExists = True
+ Exit For
+ End If
+ Next
+ End If
+ If Not CFGExists Then
+ MessageBox.Show("The set ""UserData"" folder does not seem to be correct! Please choose the correct folder.", "Folder does not exist!", MessageBoxButtons.OK, MessageBoxIcon.Error)
+ If ShowUserDataSelector() Then
+ StartPoll()
+ End If
+ Return
+ End If
+ End If
+
running = True
StartButton.Text = "Stop"
CreateCfgFiles()
@@ -364,45 +380,51 @@ Public Class Form1
Dim GameDir As String = Path.Combine(SteamappsPath, Game.directory)
Dim GameCfg As String = Path.Combine(GameDir, Game.ToCfg) & "slam_relay.cfg"
+ Try
+ Do
+ If PollRelayWorker.CancellationPending Then
+ Exit Do
+ End If
- Do
- If PollRelayWorker.CancellationPending Then
- Exit Do
- End If
+ If Not Game.id = 0 And My.Settings.UserDataEnabled Then
+ GameCfg = UserDataCFG(Game)
+ End If
- If Not String.IsNullOrEmpty(Game.id) Then
- GameCfg = UserDataCFG(Game)
- End If
+ If File.Exists(GameCfg) Then
+ Dim RelayCfg As String
+ Using reader As StreamReader = New StreamReader(GameCfg)
+ RelayCfg = reader.ReadToEnd
+ End Using
- If File.Exists(GameCfg) Then
- Dim RelayCfg As String
- Using reader As StreamReader = New StreamReader(GameCfg)
- RelayCfg = reader.ReadToEnd
- End Using
-
- Dim command As String = recog(RelayCfg, String.Format("bind ""{0}"" ""(.*?)""", My.Settings.RelayKey))
- If Not String.IsNullOrEmpty(command) Then
- 'load audiofile
- If IsNumeric(command) Then
- If LoadTrack(Game, Convert.ToInt32(command) - 1) Then
- PollRelayWorker.ReportProgress(Convert.ToInt32(command) - 1)
+ Dim command As String = recog(RelayCfg, String.Format("bind ""{0}"" ""(.*?)""", My.Settings.RelayKey))
+ If Not String.IsNullOrEmpty(command) Then
+ 'load audiofile
+ If IsNumeric(command) Then
+ If LoadTrack(Game, Convert.ToInt32(command) - 1) Then
+ PollRelayWorker.ReportProgress(Convert.ToInt32(command) - 1)
+ End If
End If
+ File.Delete(GameCfg)
End If
- File.Delete(GameCfg)
End If
- End If
- Thread.Sleep(Game.PollInterval)
- Loop
+ Thread.Sleep(Game.PollInterval)
+ Loop
+ Catch ex As Exception
+ LogError(ex)
+ e.Result = ex
+ End Try
End Sub
Public Function UserDataCFG(Game As SourceGame) As String
- For Each userdir As String In Directory.GetDirectories(My.Settings.UserdataPath)
- Dim CFGPath As String = Path.Combine(userdir, Game.id.ToString) & "\local\cfg\slam_relay.cfg"
- If File.Exists(CFGPath) Then
- Return CFGPath
- End If
- Next
+ If Directory.Exists(My.Settings.UserdataPath) Then
+ For Each userdir As String In Directory.GetDirectories(My.Settings.UserdataPath)
+ Dim CFGPath As String = Path.Combine(userdir, Game.id.ToString) & "\local\cfg\slam_relay.cfg"
+ If File.Exists(CFGPath) Then
+ Return CFGPath
+ End If
+ Next
+ End If
Return vbNullString
End Function
@@ -414,6 +436,10 @@ Public Class Form1
If running Then
StopPoll()
End If
+
+ If Not IsNothing(e.Result) Then 'Result is always an exception
+ MessageBox.Show(e.Result.Message & " See errorlog.txt for more info.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
+ End If
End Sub
Private Sub CreateTags(ByVal Game As SourceGame)
@@ -425,7 +451,7 @@ Public Class Form1
For Each Word In Words
- If Not IsNumeric(Word) And Not Game.blacklist.Contains(Word.ToLower) Then
+ If Not IsNumeric(Word) And Not Game.blacklist.Contains(Word.ToLower) And Word.Length < 32 Then
If NameWords.ContainsKey(Word) Then
NameWords.Remove(Word)
Else
@@ -485,6 +511,12 @@ Public Class Form1
ReloadTracks(GetCurrentGame)
RefreshTrackList()
+ 'This should set the UserData path drive to the same as the drive on the SteamApps path on first run
+ If String.IsNullOrEmpty(My.Settings.UserdataPath) Then
+ My.Settings.UserdataPath = SteamappsPath.Split("\")(0) & "\Program Files (x86)\Steam\userdata\"
+ End If
+
+
My.Settings.SteamAppsFolder = SteamappsPath
My.Settings.Save()
@@ -498,7 +530,7 @@ Public Class Form1
End Sub
- Public Sub ShowFolderSelector()
+ Public Function ShowFolderSelector() As Boolean
Dim ChangeDirDialog As New FolderBrowserDialog
ChangeDirDialog.Description = "Select your steamapps folder:"
ChangeDirDialog.ShowNewFolderButton = False
@@ -506,9 +538,11 @@ Public Class Form1
If ChangeDirDialog.ShowDialog = System.Windows.Forms.DialogResult.OK Then
SteamappsPath = ChangeDirDialog.SelectedPath & "\"
LoadGames()
+ Return True
End If
- End Sub
+ Return False
+ End Function
Private Sub LoadTrackKeys(ByVal Game As SourceGame)
Dim SettingsList As New List(Of SourceGame.track)
@@ -755,7 +789,7 @@ Public Class Form1
Private Sub LogError(ByVal ex As Exception)
If My.Settings.LogError Then
- Using log As StreamWriter = New StreamWriter("log.txt", True)
+ Using log As StreamWriter = New StreamWriter("errorlog.txt", True)
log.WriteLine("--------------------{0}--------------------", DateTime.Now)
log.WriteLine(ex.ToString)
End Using
@@ -792,6 +826,19 @@ Public Class Form1
End Sub
+ Public Function ShowUserDataSelector() As Boolean
+ Dim ChangeDirDialog As New FolderBrowserDialog
+ ChangeDirDialog.Description = "Select your userdata folder:"
+ ChangeDirDialog.ShowNewFolderButton = False
+
+ If ChangeDirDialog.ShowDialog = System.Windows.Forms.DialogResult.OK Then
+ My.Settings.UserdataPath = ChangeDirDialog.SelectedPath & "\"
+ Return True
+ End If
+
+ Return False
+ End Function
+
Private Sub Form1_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing
If running Then
StopPoll()
diff --git a/SLAM/My Project/AssemblyInfo.vb b/SLAM/My Project/AssemblyInfo.vb
index 6c7f4c9..718ba92 100644
--- a/SLAM/My Project/AssemblyInfo.vb
+++ b/SLAM/My Project/AssemblyInfo.vb
@@ -12,7 +12,7 @@ Imports System.Runtime.InteropServices
-
+
@@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices
' by using the '*' as shown below:
'
-
-
+
+
diff --git a/SLAM/My Project/Settings.Designer.vb b/SLAM/My Project/Settings.Designer.vb
index 17632bd..f824af8 100644
--- a/SLAM/My Project/Settings.Designer.vb
+++ b/SLAM/My Project/Settings.Designer.vb
@@ -56,7 +56,7 @@ Namespace My
_
+ Global.System.Configuration.DefaultSettingValueAttribute("")> _
Public Property SteamAppsFolder() As String
Get
Return CType(Me("SteamAppsFolder"),String)
@@ -164,7 +164,7 @@ Namespace My
_
+ Global.System.Configuration.DefaultSettingValueAttribute("")> _
Public Property UserdataPath() As String
Get
Return CType(Me("UserdataPath"),String)
@@ -173,6 +173,18 @@ Namespace My
Me("UserdataPath") = value
End Set
End Property
+
+ _
+ Public Property UserDataEnabled() As Boolean
+ Get
+ Return CType(Me("UserDataEnabled"), Boolean)
+ End Get
+ Set(value As Boolean)
+ Me("UserDataEnabled") = value
+ End Set
+ End Property
End Class
End Namespace
diff --git a/SLAM/My Project/Settings.settings b/SLAM/My Project/Settings.settings
index aa3ab4b..c072639 100644
--- a/SLAM/My Project/Settings.settings
+++ b/SLAM/My Project/Settings.settings
@@ -3,7 +3,7 @@
- C:\Program Files (x86)\Steam\steamapps\
+
X
@@ -30,7 +30,10 @@
=
- C:\Program Files (x86)\Steam\userdata\
+
+
+
+ True
\ No newline at end of file
diff --git a/SLAM/SettingsForm.Designer.vb b/SLAM/SettingsForm.Designer.vb
index cc69419..425bf78 100644
--- a/SLAM/SettingsForm.Designer.vb
+++ b/SLAM/SettingsForm.Designer.vb
@@ -26,30 +26,31 @@ Partial Class SettingsForm
Me.ToolStripStatusLabel1 = New System.Windows.Forms.ToolStripStatusLabel()
Me.VersionLabel = New System.Windows.Forms.ToolStripStatusLabel()
Me.TabPage1 = New System.Windows.Forms.TabPage()
+ Me.GroupBox4 = New System.Windows.Forms.GroupBox()
+ Me.ChangeDataDirButton = New System.Windows.Forms.Button()
+ Me.UserDataDir = New System.Windows.Forms.TextBox()
Me.GroupBox3 = New System.Windows.Forms.GroupBox()
Me.ChangeRelayButton = New System.Windows.Forms.Button()
+ Me.GroupBox1 = New System.Windows.Forms.GroupBox()
+ Me.ChangeDirButton = New System.Windows.Forms.Button()
+ Me.DirText = New System.Windows.Forms.TextBox()
Me.GroupBox2 = New System.Windows.Forms.GroupBox()
Me.ConTagsCheckBox = New System.Windows.Forms.CheckBox()
Me.StartEnabledCheckBox = New System.Windows.Forms.CheckBox()
Me.LogCheckBox = New System.Windows.Forms.CheckBox()
Me.HintCheckBox = New System.Windows.Forms.CheckBox()
Me.UpdateCheckBox = New System.Windows.Forms.CheckBox()
- Me.GroupBox1 = New System.Windows.Forms.GroupBox()
- Me.ChangeDirButton = New System.Windows.Forms.Button()
- Me.DirText = New System.Windows.Forms.TextBox()
Me.TabControl1 = New System.Windows.Forms.TabControl()
Me.TabPage2 = New System.Windows.Forms.TabPage()
- Me.GroupBox4 = New System.Windows.Forms.GroupBox()
- Me.Button1 = New System.Windows.Forms.Button()
- Me.UserDataDir = New System.Windows.Forms.TextBox()
+ Me.UserDataCheckBox = New System.Windows.Forms.CheckBox()
Me.StatusStrip1.SuspendLayout()
Me.TabPage1.SuspendLayout()
+ Me.GroupBox4.SuspendLayout()
Me.GroupBox3.SuspendLayout()
- Me.GroupBox2.SuspendLayout()
Me.GroupBox1.SuspendLayout()
+ Me.GroupBox2.SuspendLayout()
Me.TabControl1.SuspendLayout()
Me.TabPage2.SuspendLayout()
- Me.GroupBox4.SuspendLayout()
Me.SuspendLayout()
'
'StatusStrip1
@@ -87,6 +88,35 @@ Partial Class SettingsForm
Me.TabPage1.Text = "General"
Me.TabPage1.UseVisualStyleBackColor = True
'
+ 'GroupBox4
+ '
+ Me.GroupBox4.Controls.Add(Me.UserDataCheckBox)
+ Me.GroupBox4.Controls.Add(Me.ChangeDataDirButton)
+ Me.GroupBox4.Controls.Add(Me.UserDataDir)
+ Me.GroupBox4.Location = New System.Drawing.Point(8, 147)
+ Me.GroupBox4.Name = "GroupBox4"
+ Me.GroupBox4.Size = New System.Drawing.Size(260, 75)
+ Me.GroupBox4.TabIndex = 2
+ Me.GroupBox4.TabStop = False
+ Me.GroupBox4.Text = "UserData Directory"
+ '
+ 'ChangeDataDirButton
+ '
+ Me.ChangeDataDirButton.Location = New System.Drawing.Point(179, 45)
+ Me.ChangeDataDirButton.Name = "ChangeDataDirButton"
+ Me.ChangeDataDirButton.Size = New System.Drawing.Size(75, 23)
+ Me.ChangeDataDirButton.TabIndex = 1
+ Me.ChangeDataDirButton.Text = "Change"
+ Me.ChangeDataDirButton.UseVisualStyleBackColor = True
+ '
+ 'UserDataDir
+ '
+ Me.UserDataDir.Location = New System.Drawing.Point(6, 19)
+ Me.UserDataDir.Name = "UserDataDir"
+ Me.UserDataDir.ReadOnly = True
+ Me.UserDataDir.Size = New System.Drawing.Size(248, 20)
+ Me.UserDataDir.TabIndex = 0
+ '
'GroupBox3
'
Me.GroupBox3.Controls.Add(Me.ChangeRelayButton)
@@ -106,6 +136,34 @@ Partial Class SettingsForm
Me.ChangeRelayButton.Text = "Relay key: """"{0}"""" (change)"
Me.ChangeRelayButton.UseVisualStyleBackColor = True
'
+ 'GroupBox1
+ '
+ Me.GroupBox1.Controls.Add(Me.ChangeDirButton)
+ Me.GroupBox1.Controls.Add(Me.DirText)
+ Me.GroupBox1.Location = New System.Drawing.Point(8, 8)
+ Me.GroupBox1.Name = "GroupBox1"
+ Me.GroupBox1.Size = New System.Drawing.Size(260, 75)
+ Me.GroupBox1.TabIndex = 0
+ Me.GroupBox1.TabStop = False
+ Me.GroupBox1.Text = "SteamApps Directory"
+ '
+ 'ChangeDirButton
+ '
+ Me.ChangeDirButton.Location = New System.Drawing.Point(179, 45)
+ Me.ChangeDirButton.Name = "ChangeDirButton"
+ Me.ChangeDirButton.Size = New System.Drawing.Size(75, 23)
+ Me.ChangeDirButton.TabIndex = 1
+ Me.ChangeDirButton.Text = "Change"
+ Me.ChangeDirButton.UseVisualStyleBackColor = True
+ '
+ 'DirText
+ '
+ Me.DirText.Location = New System.Drawing.Point(6, 19)
+ Me.DirText.Name = "DirText"
+ Me.DirText.ReadOnly = True
+ Me.DirText.Size = New System.Drawing.Size(248, 20)
+ Me.DirText.TabIndex = 0
+ '
'GroupBox2
'
Me.GroupBox2.Controls.Add(Me.ConTagsCheckBox)
@@ -170,34 +228,6 @@ Partial Class SettingsForm
Me.UpdateCheckBox.Text = "Check for updates"
Me.UpdateCheckBox.UseVisualStyleBackColor = True
'
- 'GroupBox1
- '
- Me.GroupBox1.Controls.Add(Me.ChangeDirButton)
- Me.GroupBox1.Controls.Add(Me.DirText)
- Me.GroupBox1.Location = New System.Drawing.Point(8, 8)
- Me.GroupBox1.Name = "GroupBox1"
- Me.GroupBox1.Size = New System.Drawing.Size(260, 75)
- Me.GroupBox1.TabIndex = 0
- Me.GroupBox1.TabStop = False
- Me.GroupBox1.Text = "SteamApps Directory"
- '
- 'ChangeDirButton
- '
- Me.ChangeDirButton.Location = New System.Drawing.Point(179, 45)
- Me.ChangeDirButton.Name = "ChangeDirButton"
- Me.ChangeDirButton.Size = New System.Drawing.Size(75, 23)
- Me.ChangeDirButton.TabIndex = 1
- Me.ChangeDirButton.Text = "Change"
- Me.ChangeDirButton.UseVisualStyleBackColor = True
- '
- 'DirText
- '
- Me.DirText.Location = New System.Drawing.Point(6, 19)
- Me.DirText.Name = "DirText"
- Me.DirText.ReadOnly = True
- Me.DirText.Size = New System.Drawing.Size(248, 20)
- Me.DirText.TabIndex = 0
- '
'TabControl1
'
Me.TabControl1.Controls.Add(Me.TabPage1)
@@ -220,33 +250,15 @@ Partial Class SettingsForm
Me.TabPage2.Text = "Misc."
Me.TabPage2.UseVisualStyleBackColor = True
'
- 'GroupBox4
+ 'UserDataCheckBox
'
- Me.GroupBox4.Controls.Add(Me.Button1)
- Me.GroupBox4.Controls.Add(Me.UserDataDir)
- Me.GroupBox4.Location = New System.Drawing.Point(8, 147)
- Me.GroupBox4.Name = "GroupBox4"
- Me.GroupBox4.Size = New System.Drawing.Size(260, 75)
- Me.GroupBox4.TabIndex = 2
- Me.GroupBox4.TabStop = False
- Me.GroupBox4.Text = "UserData Directory"
- '
- 'Button1
- '
- Me.Button1.Location = New System.Drawing.Point(179, 45)
- Me.Button1.Name = "Button1"
- Me.Button1.Size = New System.Drawing.Size(75, 23)
- Me.Button1.TabIndex = 1
- Me.Button1.Text = "Change"
- Me.Button1.UseVisualStyleBackColor = True
- '
- 'UserDataDir
- '
- Me.UserDataDir.Location = New System.Drawing.Point(6, 19)
- Me.UserDataDir.Name = "UserDataDir"
- Me.UserDataDir.ReadOnly = True
- Me.UserDataDir.Size = New System.Drawing.Size(248, 20)
- Me.UserDataDir.TabIndex = 0
+ Me.UserDataCheckBox.AutoSize = True
+ Me.UserDataCheckBox.Location = New System.Drawing.Point(6, 49)
+ Me.UserDataCheckBox.Name = "UserDataCheckBox"
+ Me.UserDataCheckBox.Size = New System.Drawing.Size(65, 17)
+ Me.UserDataCheckBox.TabIndex = 2
+ Me.UserDataCheckBox.Text = "Enabled"
+ Me.UserDataCheckBox.UseVisualStyleBackColor = True
'
'SettingsForm
'
@@ -262,15 +274,15 @@ Partial Class SettingsForm
Me.StatusStrip1.ResumeLayout(False)
Me.StatusStrip1.PerformLayout()
Me.TabPage1.ResumeLayout(False)
+ Me.GroupBox4.ResumeLayout(False)
+ Me.GroupBox4.PerformLayout()
Me.GroupBox3.ResumeLayout(False)
- Me.GroupBox2.ResumeLayout(False)
- Me.GroupBox2.PerformLayout()
Me.GroupBox1.ResumeLayout(False)
Me.GroupBox1.PerformLayout()
+ Me.GroupBox2.ResumeLayout(False)
+ Me.GroupBox2.PerformLayout()
Me.TabControl1.ResumeLayout(False)
Me.TabPage2.ResumeLayout(False)
- Me.GroupBox4.ResumeLayout(False)
- Me.GroupBox4.PerformLayout()
Me.ResumeLayout(False)
Me.PerformLayout()
@@ -292,7 +304,8 @@ Partial Class SettingsForm
Friend WithEvents GroupBox3 As System.Windows.Forms.GroupBox
Friend WithEvents ChangeRelayButton As System.Windows.Forms.Button
Friend WithEvents GroupBox4 As System.Windows.Forms.GroupBox
- Friend WithEvents Button1 As System.Windows.Forms.Button
+ Friend WithEvents ChangeDataDirButton As System.Windows.Forms.Button
Friend WithEvents UserDataDir As System.Windows.Forms.TextBox
Friend WithEvents TabPage2 As System.Windows.Forms.TabPage
+ Friend WithEvents UserDataCheckBox As System.Windows.Forms.CheckBox
End Class
diff --git a/SLAM/SettingsForm.vb b/SLAM/SettingsForm.vb
index 8764c74..16b5ced 100644
--- a/SLAM/SettingsForm.vb
+++ b/SLAM/SettingsForm.vb
@@ -9,6 +9,7 @@
LogCheckBox.Checked = My.Settings.LogError
StartEnabledCheckBox.Checked = My.Settings.StartEnabled
ConTagsCheckBox.Checked = My.Settings.WriteTags
+ UserDataCheckBox.Checked = My.Settings.UserDataEnabled
ChangeRelayButton.Text = String.Format("Relay key: ""{0}"" (change)", My.Settings.RelayKey)
End Sub
@@ -51,14 +52,13 @@
End If
End Sub
- Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
- Dim ChangeDirDialog As New FolderBrowserDialog
- ChangeDirDialog.Description = "Select your userdata folder:"
- ChangeDirDialog.ShowNewFolderButton = False
-
- If ChangeDirDialog.ShowDialog = System.Windows.Forms.DialogResult.OK Then
- My.Settings.UserdataPath = ChangeDirDialog.SelectedPath & "\"
+ Private Sub ChangeDataDirButton_Click(sender As Object, e As EventArgs) Handles ChangeDataDirButton.Click
+ Form1.ShowUserDataSelector()
UserDataDir.Text = My.Settings.UserdataPath
- End If
+ End Sub
+
+ Private Sub UserDataCheckBox_CheckedChanged(sender As Object, e As EventArgs) Handles UserDataCheckBox.CheckedChanged
+ My.Settings.UserDataEnabled = UserDataCheckBox.Checked
+ My.Settings.Save()
End Sub
End Class
\ No newline at end of file