frmCategoryEdit umbenannt in frmSettings Weitere (erfolglose) Tests, um die richtige Zeitzone bei Google-Kalender-Terminen zu hinterlegen
49 lines
2.3 KiB
VB.net
49 lines
2.3 KiB
VB.net
Public Class frmSettings
|
|
|
|
Private Sub frmCategoryEdit_Load(sender As Object, e As EventArgs) Handles MyBase.Load
|
|
prepare()
|
|
fill()
|
|
|
|
tcMain.SelectedTabPageIndex = 0
|
|
End Sub
|
|
|
|
Private Sub prepare()
|
|
grd.DataSource = General.Settings.Categories
|
|
With grdv
|
|
.PopulateColumns()
|
|
.Columns(NameOf(Category.Key)).OptionsColumn.AllowEdit = False
|
|
.Columns(NameOf(Category.Key)).Caption = "Kürzel"
|
|
.Columns(NameOf(Category.Text)).Caption = "Bezeichnung"
|
|
.Columns(NameOf(Category.Color)).Caption = "Farbe"
|
|
.Columns(NameOf(Category.Exclude)).Caption = "Auf Kalender ausschließen"
|
|
End With
|
|
|
|
cboDefaultTimezone.DataBindings.Add(New Binding("EditValue", General.Settings, NameOf(General.Settings.DefaultTimezoneId)))
|
|
End Sub
|
|
|
|
Private Sub fill()
|
|
For Each z As TimeZoneInfo In TimeZoneInfo.GetSystemTimeZones().OrderBy(Function(tz) tz.DisplayName)
|
|
cboDefaultTimezone.Properties.Items.Add(z.DisplayName, z.Id, -1)
|
|
' Console.WriteLine(z.Id)
|
|
Next
|
|
End Sub
|
|
|
|
Private Sub btnSave_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles btnSave.ItemClick
|
|
GridFunctions.EndGridEdit(grdv)
|
|
EndControlEdit(ActiveControl)
|
|
|
|
General.Settings.Save()
|
|
DialogResult = DialogResult.OK
|
|
End Sub
|
|
|
|
|
|
Public Shared Sub EndControlEdit(ActiveCtrl As Control)
|
|
'Dieser Sub ist nötig, da DevExpress-Controls ihre Daten erst durch verlieren des Fokus oder durch DoValidate() zurück ins DataSet schreiben.
|
|
'Hat ein DevExpress-Control noch Fokus und es wird auf einen Button geklickt, der keinen Fokus bekommt (z.B. RibbonControl-Buttons), werden die Änderungen aus diesem Feld nicht ins Dataset zurückgeschrieben und somit auch nicht beim Speichern als Änderungen erkannt
|
|
While TypeOf ActiveCtrl Is IContainerControl
|
|
ActiveCtrl = CType(ActiveCtrl, IContainerControl).ActiveControl
|
|
End While
|
|
If TypeOf ActiveCtrl Is DevExpress.XtraEditors.TextBoxMaskBox Then ActiveCtrl = ActiveCtrl.Parent
|
|
If TypeOf ActiveCtrl Is DevExpress.XtraEditors.BaseEdit Then CType(ActiveCtrl, DevExpress.XtraEditors.BaseEdit).DoValidate()
|
|
End Sub
|
|
End Class |