214 lines
9.0 KiB
VB.net
214 lines
9.0 KiB
VB.net
Option Explicit On
|
|
Imports System.IO
|
|
|
|
Public Class Main
|
|
'Deklariere Public Variables
|
|
Public pub_aPhotos(0) As String 'Array mit den Photo Pfaden
|
|
Public pub_sPath As String 'String mit dem Arbeits Verzeichnis
|
|
Public pub_nPhotoIndex As Long = 0 'IndexNR des pub_aPhotos Arrays
|
|
Public pub_bChangeTagg As Boolean = False 'Wenn ein Tagg geänderd wird:= True bis SaveTagg()
|
|
Public pub_aConfigForm(0) As Object 'Array mit FormConfiguration
|
|
|
|
'###################################################################################################################
|
|
'############### Main ##############################################################################################
|
|
'###################################################################################################################
|
|
|
|
Private Sub Main_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
|
|
'Initial
|
|
LoadConfigForm()
|
|
|
|
End Sub 'Main_Load
|
|
|
|
Private Sub Form1_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing
|
|
SaveTagg()
|
|
SaveConfigForm()
|
|
End Sub 'Form1_Closing
|
|
|
|
|
|
'###################################################################################################################
|
|
'############### Form1_Function-Tasks ##############################################################################
|
|
'###################################################################################################################
|
|
|
|
'###################################################################################################################
|
|
'############### Form1_Sub-Tasks ###################################################################################
|
|
'###################################################################################################################
|
|
Private Sub Clear()
|
|
tb_Bild_Time.Clear()
|
|
tb_Bild_Title.Clear()
|
|
tb_Place_Addresse.Clear()
|
|
tb_Place_GPS.Clear()
|
|
rtb_Bild_Description.Clear()
|
|
rtb_Place_Description.Clear()
|
|
ReDim pub_aPhotos(0)
|
|
pub_aPhotos(0) = Nothing
|
|
pub_nPhotoIndex = 0
|
|
End Sub
|
|
|
|
Private Sub LoadConfigForm()
|
|
'pub_aConfigForm()
|
|
' <--- IN Work
|
|
'pub_sPath = INI:last_Path
|
|
End Sub 'LoadConfigForm
|
|
|
|
Private Sub SaveConfigForm()
|
|
'pub_aConfigForm()
|
|
' <--- IN Work
|
|
'INI:last_Path = pub_sPath
|
|
'INI:Auto_Save =
|
|
End Sub 'SaveConfigForm
|
|
|
|
Private Sub Reload()
|
|
SaveTaggByEvent()
|
|
pub_aPhotos = Modul_SB_PictureTagger.DirReadPhotos(pub_sPath)
|
|
LoadTaggedIMG()
|
|
End Sub 'Reload
|
|
|
|
Private Sub SaveTagg()
|
|
|
|
Dim ID As String = pub_aPhotos(pub_nPhotoIndex)
|
|
Dim iTaggedIMG As New TaggedIMG
|
|
If ID <> "" Then 'Später wird die ID der DB übergeben
|
|
|
|
iTaggedIMG = Modul_SB_PictureTagger.LoadPicture(ID)
|
|
Label7.Text = iTaggedIMG.Path
|
|
|
|
'TextBox sichern
|
|
If tb_Bild_Time.Text <> Nothing Then iTaggedIMG.Time = tb_Bild_Time.Text
|
|
If tb_Place_Addresse.Text <> Nothing Then iTaggedIMG.Ort.Adresse = tb_Place_Addresse.Text
|
|
If tb_Place_GPS.Text <> Nothing Then iTaggedIMG.Ort.GPS = tb_Place_GPS.Text
|
|
If rtb_Bild_Description.Text <> Nothing Then iTaggedIMG.Description = rtb_Bild_Description.Text
|
|
If rtb_Place_Description.Text <> Nothing Then iTaggedIMG.Ort.Description = rtb_Place_Description.Text
|
|
|
|
'Erstelle Marks
|
|
'Lese Marks
|
|
|
|
End If
|
|
|
|
|
|
|
|
'Call The Save Methode from Modul_SB-PictureTagger
|
|
'Modul_SB_PictureTagger.Save_Taggs(pub_iTaggedIMG, IO.Path.GetDirectoryName(pub_sPath))
|
|
pub_bChangeTagg = False
|
|
End Sub 'SaveTagg
|
|
|
|
Private Sub SaveTaggByEvent()
|
|
If pub_bChangeTagg Then
|
|
If cb_AutoSave.Checked Then
|
|
SaveTagg()
|
|
ElseIf MessageBox.Show("Do you want to save changes?", "SB-PictureTagger", MessageBoxButtons.YesNo) = DialogResult.Yes Then
|
|
SaveTagg()
|
|
Else
|
|
pub_bChangeTagg = False
|
|
End If
|
|
End If
|
|
End Sub 'SaveTaggByEvent
|
|
|
|
Private Sub LoadTaggedIMG()
|
|
Dim ID As String = pub_aPhotos(pub_nPhotoIndex)
|
|
Dim iTaggedIMG As New TaggedIMG
|
|
If ID <> "" Then 'Später wird die ID der DB übergeben
|
|
|
|
SaveTaggByEvent()
|
|
|
|
iTaggedIMG = Modul_SB_PictureTagger.LoadPicture(ID)
|
|
Label7.Text = iTaggedIMG.Path
|
|
'Befülle PictureBox
|
|
PictureBox1.Image = iTaggedIMG.Image
|
|
|
|
'Textvelder Lehren
|
|
Clear()
|
|
|
|
'Befülle TextBox
|
|
tb_Bild_Time.Text = iTaggedIMG.Time
|
|
tb_Bild_Title.Text = iTaggedIMG.Title
|
|
tb_Place_Addresse.Text = iTaggedIMG.Ort.Adresse
|
|
tb_Place_GPS.Text = iTaggedIMG.Ort.GPS
|
|
rtb_Bild_Description.Text = iTaggedIMG.Description
|
|
rtb_Place_Description.Text = iTaggedIMG.Ort.Description
|
|
|
|
'End Sub
|
|
|
|
'Erstelle Marks
|
|
|
|
End If
|
|
End Sub 'LoadTaggedIMG
|
|
|
|
'###################################################################################################################
|
|
'############### Buton Events: Click ###############################################################################
|
|
'###################################################################################################################
|
|
|
|
|
|
Private Sub b_exit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles b_exit.Click
|
|
' Programm Beenden
|
|
Me.Close()
|
|
End Sub
|
|
|
|
Private Sub b_loaddir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles b_loaddir.Click
|
|
'Laden eines zu Taggenden Bilder-Verzeichnis
|
|
pub_sPath = Modul_Tools.FolderBrowserDialog()
|
|
Reload()
|
|
End Sub
|
|
|
|
Private Sub b_reloaddir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles b_reloaddir.Click
|
|
Reload()
|
|
End Sub
|
|
|
|
Private Sub b_save_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles b_save.Click
|
|
If pub_bChangeTagg = True Then
|
|
SaveTagg()
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub b_next_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles b_next.Click
|
|
If pub_nPhotoIndex <= (UBound(pub_aPhotos) - 1) Then
|
|
pub_nPhotoIndex += 1
|
|
LoadTaggedIMG()
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub b_last_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles b_last.Click
|
|
If pub_nPhotoIndex > 0 Then
|
|
pub_nPhotoIndex = pub_nPhotoIndex - 1
|
|
LoadTaggedIMG()
|
|
End If
|
|
End Sub
|
|
|
|
|
|
'###################################################################################################################
|
|
'############### TextBox: TextCanched ##############################################################################
|
|
'###################################################################################################################
|
|
Private Sub rtb_Bild_Description_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles rtb_Bild_Description.TextChanged
|
|
pub_bChangeTagg = True
|
|
End Sub
|
|
|
|
Private Sub rtb_Place_Description_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles rtb_Place_Description.TextChanged
|
|
pub_bChangeTagg = True
|
|
End Sub
|
|
|
|
Private Sub tb_Bild_Time_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles tb_Bild_Time.TextChanged
|
|
pub_bChangeTagg = True
|
|
End Sub
|
|
|
|
Private Sub tb_Bild_Title_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles tb_Bild_Title.TextChanged
|
|
pub_bChangeTagg = True
|
|
End Sub
|
|
|
|
Private Sub tb_Place_Addresse_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles tb_Place_Addresse.TextChanged
|
|
pub_bChangeTagg = True
|
|
End Sub
|
|
|
|
Private Sub tb_Place_GPS_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles tb_Place_GPS.TextChanged
|
|
pub_bChangeTagg = True
|
|
End Sub
|
|
|
|
|
|
'###################################################################################################################
|
|
'############### CheckBox Events: CheckStateChanged ################################################################
|
|
'###################################################################################################################
|
|
|
|
Private Sub cb_marks_visible_CheckStateChanged(ByVal sender As Object, ByVal e As System.EventArgs)
|
|
'Wenn cb_marks_visible=true then ZeichneMarks() ELSE VerstekeMarks()
|
|
End Sub
|
|
|
|
End Class
|