101 lines
3.2 KiB
VB.net
101 lines
3.2 KiB
VB.net
Imports System.Data.SQLite
|
|
Public Class frmSettings
|
|
|
|
Dim ToAdd As New List(Of String)
|
|
Dim ToDelete As New List(Of String)
|
|
|
|
Private Sub frmSettings_Load(sender As Object, e As EventArgs) Handles MyBase.Load
|
|
LoadSettings()
|
|
End Sub
|
|
|
|
Private Sub LoadSettings()
|
|
txtFavDir.Text = My.Settings.FavDir
|
|
|
|
fillPaths()
|
|
End Sub
|
|
|
|
Private Async Sub fillPaths()
|
|
Dim con = DB.getConnection
|
|
Dim cmd As New SqliteCommand(Nothing, con)
|
|
Dim reader As SQLiteDataReader
|
|
|
|
cmd.CommandText = "SELECT p_path FROM t_paths ORDER BY p_path"
|
|
|
|
Await con.OpenAsync()
|
|
reader = cmd.ExecuteReader
|
|
lstPaths.Items.Clear()
|
|
Do While Await reader.ReadAsync
|
|
lstPaths.Items.Add(CStr(reader("p_path")))
|
|
Loop
|
|
reader.Close()
|
|
con.Close()
|
|
End Sub
|
|
|
|
Private Sub btnPathAdd_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles btnPathAdd.ItemClick
|
|
If FBD.ShowDialog = DialogResult.OK Then
|
|
Dim pfad As String = FBD.SelectedPath
|
|
ToAdd.Add(pfad)
|
|
lstPaths.Items.Add(pfad)
|
|
End If
|
|
End Sub
|
|
|
|
|
|
Private Sub btnSave_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles btnSave.ItemClick
|
|
SaveSettings()
|
|
Me.DialogResult = DialogResult.OK
|
|
End Sub
|
|
|
|
Private Sub SaveSettings()
|
|
'Allgemein speichern
|
|
My.Settings.FavDir = txtFavDir.Text
|
|
My.Settings.Save()
|
|
|
|
|
|
'Pfade speichern
|
|
Dim con = DB.getConnection
|
|
Dim cmd As New SqliteCommand(Nothing, con)
|
|
cmd.Parameters.Add("@path", DbType.String)
|
|
con.OpenAsync()
|
|
|
|
cmd.CommandText = "INSERT INTO t_paths (p_path) VALUES (@path)"
|
|
For Each pfad As String In ToAdd
|
|
cmd.Parameters("@path").Value = pfad
|
|
cmd.ExecuteNonQuery()
|
|
Next
|
|
ToAdd.Clear()
|
|
|
|
cmd.CommandText = "DELETE FROM t_paths WHERE p_path = @path"
|
|
For Each pfad As String In ToDelete
|
|
cmd.Parameters("@path").Value = pfad
|
|
cmd.ExecuteNonQuery()
|
|
Next
|
|
ToDelete.Clear()
|
|
|
|
con.Close()
|
|
End Sub
|
|
|
|
Private Sub btnPathDelete_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles btnPathDelete.ItemClick
|
|
If lstPaths.SelectedItem IsNot Nothing Then
|
|
ToDelete.Add(CStr(lstPaths.SelectedItem))
|
|
lstPaths.Items.Remove(CStr(lstPaths.SelectedItem))
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub frmSettings_FormClosing(sender As Object, e As FormClosingEventArgs) Handles MyBase.FormClosing
|
|
If (ToAdd.Count + ToDelete.Count) > 0 Then
|
|
Dim ds = MessageBox.Show("Möchten Sie die Änderungen speichern?", Me.Text, MessageBoxButtons.YesNo)
|
|
If ds = DialogResult.Yes Then
|
|
SaveSettings()
|
|
Me.DialogResult = DialogResult.OK
|
|
ElseIf ds <> DialogResult.No Then
|
|
e.Cancel = True
|
|
End If
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub btnUSDX_Click(sender As Object, e As EventArgs) Handles btnFavDir.Click
|
|
If FBD.ShowDialog = DialogResult.OK Then
|
|
txtFavDir.Text = FBD.SelectedPath
|
|
End If
|
|
End Sub
|
|
End Class |