DevExpress-Update

frmCategoryEdit umbenannt in frmSettings
Weitere (erfolglose) Tests, um die richtige Zeitzone bei Google-Kalender-Terminen zu hinterlegen
This commit is contained in:
Wombat 2025-01-05 17:48:45 +01:00
parent 41e0bf9512
commit 3fca229f52
17 changed files with 277 additions and 131 deletions

View File

@ -2,6 +2,8 @@
Public Class Settings Public Class Settings
Public Property Categories As List(Of Category) Public Property Categories As List(Of Category)
Public Property DefaultTimezoneId As String
Public Sub New() Public Sub New()
Load() Load()
@ -17,10 +19,17 @@ Public Class Settings
Else Else
Categories = New List(Of Category) Categories = New List(Of Category)
End If End If
If My.Settings.DefaultTimezoneId Is Nothing Then
DefaultTimezoneId = TimeZoneInfo.Local.Id
Else
DefaultTimezoneId = My.Settings.DefaultTimezoneId
End If
End Sub End Sub
Public Sub Save() Public Sub Save()
My.Settings.CategoryList = JsonConvert.SerializeObject(Categories) My.Settings.CategoryList = JsonConvert.SerializeObject(Categories)
My.Settings.DefaultTimezoneId = DefaultTimezoneId
My.Settings.Save() My.Settings.Save()
End Sub End Sub

View File

@ -71,37 +71,37 @@
<OptionInfer>On</OptionInfer> <OptionInfer>On</OptionInfer>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<Reference Include="DevExpress.Drawing.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" /> <Reference Include="DevExpress.Drawing.v24.1, Version=24.1.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.Data.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" /> <Reference Include="DevExpress.Data.v24.1, Version=24.1.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.DataAccess.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" /> <Reference Include="DevExpress.DataAccess.v24.1, Version=24.1.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.DataAccess.v23.2.UI, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" /> <Reference Include="DevExpress.DataAccess.v24.1.UI, Version=24.1.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.DataVisualization.v23.2.Core, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" /> <Reference Include="DevExpress.DataVisualization.v24.1.Core, Version=24.1.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.Dialogs.v23.2.Core, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" /> <Reference Include="DevExpress.Dialogs.v24.1.Core, Version=24.1.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.Office.v23.2.Core, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" /> <Reference Include="DevExpress.Office.v24.1.Core, Version=24.1.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.Printing.v23.2.Core, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" /> <Reference Include="DevExpress.Printing.v24.1.Core, Version=24.1.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.Data.Desktop.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" /> <Reference Include="DevExpress.Data.Desktop.v24.1, Version=24.1.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.RichEdit.v23.2.Core, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" /> <Reference Include="DevExpress.RichEdit.v24.1.Core, Version=24.1.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.Spreadsheet.v23.2.Core, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" /> <Reference Include="DevExpress.Spreadsheet.v24.1.Core, Version=24.1.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.Utils.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" /> <Reference Include="DevExpress.Utils.v24.1, Version=24.1.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.Utils.v23.2.UI, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" /> <Reference Include="DevExpress.Utils.v24.1.UI, Version=24.1.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.XtraBars.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" /> <Reference Include="DevExpress.XtraBars.v24.1, Version=24.1.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.Charts.v23.2.Core, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" /> <Reference Include="DevExpress.Charts.v24.1.Core, Version=24.1.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.XtraCharts.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" /> <Reference Include="DevExpress.XtraCharts.v24.1, Version=24.1.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.XtraDialogs.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" /> <Reference Include="DevExpress.XtraDialogs.v24.1, Version=24.1.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraEditors.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" /> <Reference Include="DevExpress.XtraEditors.v24.1, Version=24.1.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.XtraGrid.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" /> <Reference Include="DevExpress.XtraGrid.v24.1, Version=24.1.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraLayout.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" /> <Reference Include="DevExpress.XtraLayout.v24.1, Version=24.1.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.XtraNavBar.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" /> <Reference Include="DevExpress.XtraNavBar.v24.1, Version=24.1.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.XtraPrinting.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" /> <Reference Include="DevExpress.XtraPrinting.v24.1, Version=24.1.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.XtraRichEdit.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" /> <Reference Include="DevExpress.XtraRichEdit.v24.1, Version=24.1.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.XtraScheduler.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" /> <Reference Include="DevExpress.XtraScheduler.v24.1, Version=24.1.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraScheduler.v23.2.Core.Desktop, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" /> <Reference Include="DevExpress.XtraScheduler.v24.1.Core.Desktop, Version=24.1.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.XtraScheduler.v23.2.Core, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" /> <Reference Include="DevExpress.XtraScheduler.v24.1.Core, Version=24.1.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.XtraScheduler.v23.2.Extensions, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" /> <Reference Include="DevExpress.XtraScheduler.v24.1.Extensions, Version=24.1.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Images.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" /> <Reference Include="DevExpress.Images.v24.1, Version=24.1.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraSpreadsheet.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" /> <Reference Include="DevExpress.XtraSpreadsheet.v24.1, Version=24.1.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraTreeList.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" /> <Reference Include="DevExpress.XtraTreeList.v24.1, Version=24.1.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.XtraTreeMap.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" /> <Reference Include="DevExpress.XtraTreeMap.v24.1, Version=24.1.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL"> <Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\packages\Newtonsoft.Json.13.0.1\lib\net45\Newtonsoft.Json.dll</HintPath> <HintPath>..\packages\Newtonsoft.Json.13.0.1\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference> </Reference>
@ -136,10 +136,10 @@
<Compile Include="Classes\clsGridFunctions.vb" /> <Compile Include="Classes\clsGridFunctions.vb" />
<Compile Include="Classes\clsSettings.vb" /> <Compile Include="Classes\clsSettings.vb" />
<Compile Include="Objects\clsTableHeader.vb" /> <Compile Include="Objects\clsTableHeader.vb" />
<Compile Include="frmCategoryEdit.Designer.vb"> <Compile Include="frmSettings.Designer.vb">
<DependentUpon>frmCategoryEdit.vb</DependentUpon> <DependentUpon>frmSettings.vb</DependentUpon>
</Compile> </Compile>
<Compile Include="frmCategoryEdit.vb"> <Compile Include="frmSettings.vb">
<SubType>Form</SubType> <SubType>Form</SubType>
</Compile> </Compile>
<Compile Include="frmMain.Designer.vb"> <Compile Include="frmMain.Designer.vb">
@ -166,8 +166,8 @@
</Compile> </Compile>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<EmbeddedResource Include="frmCategoryEdit.resx"> <EmbeddedResource Include="frmSettings.resx">
<DependentUpon>frmCategoryEdit.vb</DependentUpon> <DependentUpon>frmSettings.vb</DependentUpon>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="frmMain.resx"> <EmbeddedResource Include="frmMain.resx">
<DependentUpon>frmMain.vb</DependentUpon> <DependentUpon>frmMain.vb</DependentUpon>

View File

@ -71,39 +71,37 @@
<OptionInfer>On</OptionInfer> <OptionInfer>On</OptionInfer>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<Reference Include="DevExpress.Drawing.v22.1, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" /> <Reference Include="DevExpress.Drawing.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.Data.v22.1, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" /> <Reference Include="DevExpress.Data.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.DataAccess.v22.1, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" /> <Reference Include="DevExpress.DataAccess.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.DataAccess.v22.1.UI, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" /> <Reference Include="DevExpress.DataAccess.v23.2.UI, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.DataVisualization.v22.1.Core, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" /> <Reference Include="DevExpress.DataVisualization.v23.2.Core, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.Dialogs.v22.1.Core, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" /> <Reference Include="DevExpress.Dialogs.v23.2.Core, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.Office.v22.1.Core, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" /> <Reference Include="DevExpress.Office.v23.2.Core, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.Printing.v22.1.Core, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" /> <Reference Include="DevExpress.Printing.v23.2.Core, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.Data.Desktop.v22.1, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" /> <Reference Include="DevExpress.Data.Desktop.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.RichEdit.v22.1.Core, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" /> <Reference Include="DevExpress.RichEdit.v23.2.Core, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.Spreadsheet.v22.1.Core, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" /> <Reference Include="DevExpress.Spreadsheet.v23.2.Core, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.Utils.v22.1, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" /> <Reference Include="DevExpress.Utils.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.Utils.v22.1.UI, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" /> <Reference Include="DevExpress.Utils.v23.2.UI, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.XtraBars.v22.1, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" /> <Reference Include="DevExpress.XtraBars.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.Charts.v22.1.Core, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" /> <Reference Include="DevExpress.Charts.v23.2.Core, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.XtraCharts.v22.1, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" /> <Reference Include="DevExpress.XtraCharts.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.XtraDialogs.v22.1, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" /> <Reference Include="DevExpress.XtraDialogs.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraEditors.v22.1, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" /> <Reference Include="DevExpress.XtraEditors.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.XtraGrid.v22.1, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" /> <Reference Include="DevExpress.XtraGrid.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraLayout.v22.1, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" /> <Reference Include="DevExpress.XtraLayout.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.XtraNavBar.v22.1, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" /> <Reference Include="DevExpress.XtraNavBar.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.XtraPrinting.v22.1, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" /> <Reference Include="DevExpress.XtraPrinting.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.XtraRichEdit.v22.1, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" /> <Reference Include="DevExpress.XtraRichEdit.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.XtraScheduler.v22.1, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" /> <Reference Include="DevExpress.XtraScheduler.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraScheduler.v22.1.Core.Desktop, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" /> <Reference Include="DevExpress.XtraScheduler.v23.2.Core.Desktop, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.XtraScheduler.v22.1.Core, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" /> <Reference Include="DevExpress.XtraScheduler.v23.2.Core, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.XtraScheduler.v22.1.Extensions, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" /> <Reference Include="DevExpress.XtraScheduler.v23.2.Extensions, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraSpreadsheet.v22.1, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" /> <Reference Include="DevExpress.Images.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraTreeList.v22.1, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" /> <Reference Include="DevExpress.XtraSpreadsheet.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraTreeMap.v22.1, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" /> <Reference Include="DevExpress.XtraTreeList.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="Microsoft.Office.Interop.Excel, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c, processorArchitecture=MSIL"> <Reference Include="DevExpress.XtraTreeMap.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<EmbedInteropTypes>True</EmbedInteropTypes>
</Reference>
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL"> <Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\packages\Newtonsoft.Json.13.0.1\lib\net45\Newtonsoft.Json.dll</HintPath> <HintPath>..\packages\Newtonsoft.Json.13.0.1\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference> </Reference>
@ -184,7 +182,10 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<None Include="app.config" /> <None Include="app.config" />
<None Include="Feuerwehr 2019.xlsx" /> <None Include="_Docs\2023_Dienstplan_FFWeitefeld.xlsx" />
<None Include="_Docs\2022_Dienstplan_FFWeitefeld_V1.0.xlsx" />
<None Include="_Docs\2024_Dienstplan_FFWeitefeld.xlsx" />
<None Include="_Docs\2019_Dienstplan.xlsx" />
<None Include="My Project\Application.myapp"> <None Include="My Project\Application.myapp">
<Generator>MyApplicationCodeGenerator</Generator> <Generator>MyApplicationCodeGenerator</Generator>
<LastGenOutput>Application.Designer.vb</LastGenOutput> <LastGenOutput>Application.Designer.vb</LastGenOutput>
@ -220,6 +221,35 @@
<ItemGroup> <ItemGroup>
<None Include="Resources\exportfile.svg" /> <None Include="Resources\exportfile.svg" />
</ItemGroup> </ItemGroup>
<ItemGroup>
<COMReference Include="Microsoft.Office.Core">
<Guid>{2DF8D04C-5BFA-101B-BDE5-00AA0044DE52}</Guid>
<VersionMajor>2</VersionMajor>
<VersionMinor>8</VersionMinor>
<Lcid>0</Lcid>
<WrapperTool>primary</WrapperTool>
<Isolated>False</Isolated>
<EmbedInteropTypes>True</EmbedInteropTypes>
</COMReference>
<COMReference Include="Microsoft.Office.Interop.Excel">
<Guid>{00020813-0000-0000-C000-000000000046}</Guid>
<VersionMajor>1</VersionMajor>
<VersionMinor>9</VersionMinor>
<Lcid>0</Lcid>
<WrapperTool>primary</WrapperTool>
<Isolated>False</Isolated>
<EmbedInteropTypes>True</EmbedInteropTypes>
</COMReference>
<COMReference Include="VBIDE">
<Guid>{0002E157-0000-0000-C000-000000000046}</Guid>
<VersionMajor>5</VersionMajor>
<VersionMinor>3</VersionMinor>
<Lcid>0</Lcid>
<WrapperTool>primary</WrapperTool>
<Isolated>False</Isolated>
<EmbedInteropTypes>True</EmbedInteropTypes>
</COMReference>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" /> <Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it. <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets. Other similar extension points exist, see Microsoft.Common.targets.

View File

@ -119,15 +119,15 @@
</resheader> </resheader>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="viewsettings" type="System.Resources.ResXFileRef, System.Windows.Forms"> <data name="viewsettings" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\viewsettings.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value> <value>..\Resources\viewsettings.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v24.1, Version=24.1.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data> </data>
<data name="save" type="System.Resources.ResXFileRef, System.Windows.Forms"> <data name="save" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\save.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value> <value>..\Resources\save.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v24.1, Version=24.1.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data> </data>
<data name="open" type="System.Resources.ResXFileRef, System.Windows.Forms"> <data name="open" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\open.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value> <value>..\Resources\open.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v24.1, Version=24.1.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data> </data>
<data name="exportfile" type="System.Resources.ResXFileRef, System.Windows.Forms"> <data name="exportfile" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\exportfile.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value> <value>..\Resources\exportfile.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v24.1, Version=24.1.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data> </data>
</root> </root>

View File

@ -119,15 +119,15 @@
</resheader> </resheader>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="viewsettings" type="System.Resources.ResXFileRef, System.Windows.Forms"> <data name="viewsettings" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\viewsettings.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v22.1, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value> <value>..\Resources\viewsettings.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data> </data>
<data name="save" type="System.Resources.ResXFileRef, System.Windows.Forms"> <data name="save" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\save.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v22.1, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value> <value>..\Resources\save.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data> </data>
<data name="open" type="System.Resources.ResXFileRef, System.Windows.Forms"> <data name="open" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\open.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v22.1, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value> <value>..\Resources\open.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data> </data>
<data name="exportfile" type="System.Resources.ResXFileRef, System.Windows.Forms"> <data name="exportfile" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\exportfile.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v22.1, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value> <value>..\Resources\exportfile.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data> </data>
</root> </root>

View File

@ -15,7 +15,7 @@ Option Explicit On
Namespace My Namespace My
<Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(), _ <Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.10.0.0"), _ Global.System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.12.0.0"), _
Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _ Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
Partial Friend NotInheritable Class MySettings Partial Friend NotInheritable Class MySettings
Inherits Global.System.Configuration.ApplicationSettingsBase Inherits Global.System.Configuration.ApplicationSettingsBase
@ -77,6 +77,18 @@ Namespace My
Me("EndDateCalculationHoursToAdd") = value Me("EndDateCalculationHoursToAdd") = value
End Set End Set
End Property End Property
<Global.System.Configuration.UserScopedSettingAttribute(), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("")> _
Public Property DefaultTimezoneId() As String
Get
Return CType(Me("DefaultTimezoneId"),String)
End Get
Set
Me("DefaultTimezoneId") = value
End Set
End Property
End Class End Class
End Namespace End Namespace

View File

@ -8,5 +8,8 @@
<Setting Name="EndDateCalculationHoursToAdd" Type="System.Int32" Scope="User"> <Setting Name="EndDateCalculationHoursToAdd" Type="System.Int32" Scope="User">
<Value Profile="(Default)">2</Value> <Value Profile="(Default)">2</Value>
</Setting> </Setting>
<Setting Name="DefaultTimezoneId" Type="System.String" Scope="User">
<Value Profile="(Default)" />
</Setting>
</Settings> </Settings>
</SettingsFile> </SettingsFile>

View File

@ -1,5 +1,6 @@
DevExpress.XtraScheduler.SchedulerControl, DevExpress.XtraScheduler.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a DevExpress.XtraEditors.Repository.RepositoryItemDateEdit, DevExpress.XtraEditors.v24.1, Version=24.1.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraSpreadsheet.SpreadsheetControl, DevExpress.XtraSpreadsheet.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v24.1, Version=24.1.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a DevExpress.XtraScheduler.SchedulerControl, DevExpress.XtraScheduler.v24.1, Version=24.1.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.Repository.RepositoryItemDateEdit, DevExpress.XtraEditors.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a DevExpress.XtraBars.Ribbon.RibbonControl, DevExpress.XtraBars.v24.1, Version=24.1.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraBars.Ribbon.RibbonControl, DevExpress.XtraBars.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a DevExpress.XtraSpreadsheet.SpreadsheetControl, DevExpress.XtraSpreadsheet.v24.1, Version=24.1.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.ImageComboBoxEdit, DevExpress.XtraEditors.v24.1, Version=24.1.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a

View File

@ -1,5 +1,5 @@
DevExpress.XtraBars.Ribbon.RibbonControl, DevExpress.XtraBars.v22.1, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a DevExpress.XtraScheduler.SchedulerControl, DevExpress.XtraScheduler.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraSpreadsheet.SpreadsheetControl, DevExpress.XtraSpreadsheet.v22.1, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a DevExpress.XtraSpreadsheet.SpreadsheetControl, DevExpress.XtraSpreadsheet.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.Repository.RepositoryItemDateEdit, DevExpress.XtraEditors.v22.1, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraScheduler.SchedulerControl, DevExpress.XtraScheduler.v22.1, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a DevExpress.XtraEditors.Repository.RepositoryItemDateEdit, DevExpress.XtraEditors.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v22.1, Version=22.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a DevExpress.XtraBars.Ribbon.RibbonControl, DevExpress.XtraBars.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a

View File

@ -8,7 +8,8 @@
Public Property Status As String Public Property Status As String
Public Property IsInvalid As Boolean Public Property IsInvalid As Boolean
Public Property Exclude As Boolean Public Property Exclude As Boolean
Public Property RowIndex As Integer Public Property RowIndex As Integer
Public Property TimeZoneKey As String = General.Settings.DefaultTimezoneId
End Class End Class

View File

@ -33,6 +33,9 @@
<setting name="EndDateCalculationHoursToAdd" serializeAs="String"> <setting name="EndDateCalculationHoursToAdd" serializeAs="String">
<value>2</value> <value>2</value>
</setting> </setting>
<setting name="DefaultTimezoneId" serializeAs="String">
<value />
</setting>
</FWCreateCalendar.My.MySettings> </FWCreateCalendar.My.MySettings>
</userSettings> </userSettings>
</configuration> </configuration>

View File

@ -1,25 +0,0 @@
Public Class frmCategoryEdit
Private Sub frmCategoryEdit_Load(sender As Object, e As EventArgs) Handles MyBase.Load
prepare()
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
End Sub
Private Sub btnSave_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles btnSave.ItemClick
GridFunctions.EndGridEdit(grdv)
General.Settings.Save()
DialogResult = DialogResult.OK
End Sub
End Class

View File

@ -141,7 +141,7 @@ Partial Class frmMain
' '
'btnCategories 'btnCategories
' '
Me.btnCategories.Caption = "Kategorien bearbeiten..." Me.btnCategories.Caption = "Einstellungen..."
Me.btnCategories.Id = 2 Me.btnCategories.Id = 2
Me.btnCategories.ImageOptions.SvgImage = Global.FWCreateCalendar.My.Resources.Resources.viewsettings Me.btnCategories.ImageOptions.SvgImage = Global.FWCreateCalendar.My.Resources.Resources.viewsettings
Me.btnCategories.Name = "btnCategories" Me.btnCategories.Name = "btnCategories"
@ -364,7 +364,7 @@ Partial Class frmMain
Me.schedStorage.Appointments.Labels.CreateNewLabel(8, "Birthday", "&Birthday", System.Drawing.Color.FromArgb(CType(CType(224, Byte), Integer), CType(CType(207, Byte), Integer), CType(CType(233, Byte), Integer))) Me.schedStorage.Appointments.Labels.CreateNewLabel(8, "Birthday", "&Birthday", System.Drawing.Color.FromArgb(CType(CType(224, Byte), Integer), CType(CType(207, Byte), Integer), CType(CType(233, Byte), Integer)))
Me.schedStorage.Appointments.Labels.CreateNewLabel(9, "Anniversary", "&Anniversary", System.Drawing.Color.FromArgb(CType(CType(141, Byte), Integer), CType(CType(233, Byte), Integer), CType(CType(223, Byte), Integer))) Me.schedStorage.Appointments.Labels.CreateNewLabel(9, "Anniversary", "&Anniversary", System.Drawing.Color.FromArgb(CType(CType(141, Byte), Integer), CType(CType(233, Byte), Integer), CType(CType(223, Byte), Integer)))
Me.schedStorage.Appointments.Labels.CreateNewLabel(10, "Phone Call", "Phone &Call", System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(247, Byte), Integer), CType(CType(165, Byte), Integer))) Me.schedStorage.Appointments.Labels.CreateNewLabel(10, "Phone Call", "Phone &Call", System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(247, Byte), Integer), CType(CType(165, Byte), Integer)))
Me.schedStorage.TimeZoneId = "UTC" Me.schedStorage.TimeZoneId = "E. Europe Standard Time"
' '
'SFD 'SFD
' '

View File

@ -78,6 +78,7 @@ Public Class frmMain
.Subject = NameOf(EventEntry.Subject) .Subject = NameOf(EventEntry.Subject)
.Location = NameOf(EventEntry.Location) .Location = NameOf(EventEntry.Location)
.Label = NameOf(EventEntry.Category) .Label = NameOf(EventEntry.Category)
.TimeZoneId = NameOf(EventEntry.TimeZoneKey)
End With End With
.Appointments.CustomFieldMappings.Add(New AppointmentCustomFieldMapping(NameOf(EventEntry.IsInvalid), NameOf(EventEntry.IsInvalid))) .Appointments.CustomFieldMappings.Add(New AppointmentCustomFieldMapping(NameOf(EventEntry.IsInvalid), NameOf(EventEntry.IsInvalid)))
.Appointments.CustomFieldMappings.Add(New AppointmentCustomFieldMapping(NameOf(EventEntry.Exclude), NameOf(EventEntry.Exclude))) .Appointments.CustomFieldMappings.Add(New AppointmentCustomFieldMapping(NameOf(EventEntry.Exclude), NameOf(EventEntry.Exclude)))
@ -96,23 +97,21 @@ Public Class frmMain
sched.GoToToday() sched.GoToToday()
End Sub End Sub
Private Sub fill(datei As String) Private Sub ImportDatasourceFromFile(datei As String)
schedStorage.Appointments.DataSource = Nothing schedStorage.Appointments.DataSource = Nothing
grd.BeginUpdate() grd.BeginUpdate()
grd.DataSource = Nothing grd.DataSource = Nothing
ds = Readout(datei) ds = GetEventsFromFile(datei)
grd.DataSource = ds grd.DataSource = ds
grd.EndUpdate() grd.EndUpdate()
grdv.BestFitColumns() grdv.BestFitColumns()
schedStorage.Appointments.DataSource = ds schedStorage.Appointments.DataSource = ds
sched.RefreshData() sched.RefreshData()
End Sub End Sub
Public Function Readout(datei As String) As List(Of EventEntry) Public Function GetEventsFromFile(datei As String) As List(Of EventEntry)
Dim xlApp = New Excel.Application Dim xlApp = New Excel.Application
'Im Fall von folgendem Fehler: 'Im Fall von folgendem Fehler:
'The COM object of the type "Microsoft.Office.Interop.Excel.ApplicationClass" cannot be converted to the interface type "Microsoft.Office.Interop.Excel._Application". 'The COM object of the type "Microsoft.Office.Interop.Excel.ApplicationClass" cannot be converted to the interface type "Microsoft.Office.Interop.Excel._Application".
@ -233,13 +232,13 @@ Public Class frmMain
If OFD.ShowDialog = DialogResult.OK Then If OFD.ShowDialog = DialogResult.OK Then
SFD.FileName = $"{Path.GetFileNameWithoutExtension(OFD.FileName)}.ics" SFD.FileName = $"{Path.GetFileNameWithoutExtension(OFD.FileName)}.ics"
SFD.InitialDirectory = Path.GetDirectoryName(OFD.FileName) SFD.InitialDirectory = Path.GetDirectoryName(OFD.FileName)
fill(OFD.FileName) ImportDatasourceFromFile(OFD.FileName)
xlsSheet.LoadDocument(OFD.FileName) xlsSheet.LoadDocument(OFD.FileName)
End If End If
End Sub End Sub
Private Sub btnCategories_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles btnCategories.ItemClick Private Sub btnCategories_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles btnCategories.ItemClick
Dim frm As New frmCategoryEdit Dim frm As New frmSettings
If frm.ShowDialog = DialogResult.OK Then If frm.ShowDialog = DialogResult.OK Then
RefreshEventExclusion(ds) RefreshEventExclusion(ds)
CheckEventValidity(ds) CheckEventValidity(ds)
@ -251,6 +250,7 @@ Public Class frmMain
Private Sub btnExport_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles btnExport.ItemClick Private Sub btnExport_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles btnExport.ItemClick
SFD.FileName = Path.GetFileNameWithoutExtension(OFD.FileName) & ".ics" SFD.FileName = Path.GetFileNameWithoutExtension(OFD.FileName) & ".ics"
If SFD.ShowDialog = DialogResult.OK Then If SFD.ShowDialog = DialogResult.OK Then
'schedStorage.TimeZoneId = General.Settings.DefaultTimezoneId
Dim exporter As New iCalendarExporter(schedStorage) Dim exporter As New iCalendarExporter(schedStorage)
AddHandler exporter.AppointmentExporting, AddressOf Exporter_AppointmentExporting AddHandler exporter.AppointmentExporting, AddressOf Exporter_AppointmentExporting
exporter.Export(SFD.FileName) exporter.Export(SFD.FileName)
@ -259,7 +259,7 @@ Public Class frmMain
Private Sub Exporter_AppointmentExporting(sender As Object, e As AppointmentExportingEventArgs) Private Sub Exporter_AppointmentExporting(sender As Object, e As AppointmentExportingEventArgs)
'e.Appointment.TimeZoneId = sched.OptionsBehavior.ClientTimeZoneId 'e.Appointment.TimeZoneId = sched.OptionsBehavior.ClientTimeZoneId
'e.Appointment.TimeZoneId = "Europe/Berlin" 'e.Appointment.TimeZoneId = General.Settings.DefaultTimezoneId
If CType(e.Appointment.GetSourceObject(schedStorage), EventEntry).Exclude OrElse CType(e.Appointment.GetSourceObject(schedStorage), EventEntry).IsInvalid Then If CType(e.Appointment.GetSourceObject(schedStorage), EventEntry).Exclude OrElse CType(e.Appointment.GetSourceObject(schedStorage), EventEntry).IsInvalid Then
e.Cancel = True e.Cancel = True
End If End If

View File

@ -1,5 +1,5 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> <Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()>
Partial Class frmCategoryEdit Partial Class frmSettings
Inherits System.Windows.Forms.Form Inherits System.Windows.Forms.Form
'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen.
@ -28,23 +28,33 @@ Partial Class frmCategoryEdit
Me.rpgGeneral = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() Me.rpgGeneral = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.grd = New DevExpress.XtraGrid.GridControl() Me.grd = New DevExpress.XtraGrid.GridControl()
Me.grdv = New DevExpress.XtraGrid.Views.Grid.GridView() Me.grdv = New DevExpress.XtraGrid.Views.Grid.GridView()
Me.tcMain = New DevExpress.XtraTab.XtraTabControl()
Me.tpGeneral = New DevExpress.XtraTab.XtraTabPage()
Me.tpCategories = New DevExpress.XtraTab.XtraTabPage()
Me.cboDefaultTimezone = New DevExpress.XtraEditors.ImageComboBoxEdit()
Me.lblDefaultTimezone = New DevExpress.XtraEditors.LabelControl()
CType(Me.rcMain, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.rcMain, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.grd, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.grd, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.grdv, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.grdv, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.tcMain, System.ComponentModel.ISupportInitialize).BeginInit()
Me.tcMain.SuspendLayout()
Me.tpGeneral.SuspendLayout()
Me.tpCategories.SuspendLayout()
CType(Me.cboDefaultTimezone.Properties, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout() Me.SuspendLayout()
' '
'rcMain 'rcMain
' '
Me.rcMain.DrawGroupCaptions = DevExpress.Utils.DefaultBoolean.[False] Me.rcMain.DrawGroupCaptions = DevExpress.Utils.DefaultBoolean.[False]
Me.rcMain.ExpandCollapseItem.Id = 0 Me.rcMain.ExpandCollapseItem.Id = 0
Me.rcMain.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.rcMain.ExpandCollapseItem, Me.btnSave, Me.rcMain.SearchEditItem}) Me.rcMain.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.rcMain.ExpandCollapseItem, Me.btnSave})
Me.rcMain.Location = New System.Drawing.Point(0, 0) Me.rcMain.Location = New System.Drawing.Point(0, 0)
Me.rcMain.MaxItemId = 3 Me.rcMain.MaxItemId = 3
Me.rcMain.Name = "rcMain" Me.rcMain.Name = "rcMain"
Me.rcMain.Pages.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPage() {Me.rpMain}) Me.rcMain.Pages.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPage() {Me.rpMain})
Me.rcMain.ShowApplicationButton = DevExpress.Utils.DefaultBoolean.[False] Me.rcMain.ShowApplicationButton = DevExpress.Utils.DefaultBoolean.[False]
Me.rcMain.ShowPageHeadersMode = DevExpress.XtraBars.Ribbon.ShowPageHeadersMode.ShowOnMultiplePages Me.rcMain.ShowPageHeadersMode = DevExpress.XtraBars.Ribbon.ShowPageHeadersMode.ShowOnMultiplePages
Me.rcMain.Size = New System.Drawing.Size(800, 79) Me.rcMain.Size = New System.Drawing.Size(800, 109)
Me.rcMain.ToolbarLocation = DevExpress.XtraBars.Ribbon.RibbonQuickAccessToolbarLocation.Hidden Me.rcMain.ToolbarLocation = DevExpress.XtraBars.Ribbon.RibbonQuickAccessToolbarLocation.Hidden
' '
'btnSave 'btnSave
@ -69,11 +79,11 @@ Partial Class frmCategoryEdit
'grd 'grd
' '
Me.grd.Dock = System.Windows.Forms.DockStyle.Fill Me.grd.Dock = System.Windows.Forms.DockStyle.Fill
Me.grd.Location = New System.Drawing.Point(0, 79) Me.grd.Location = New System.Drawing.Point(0, 0)
Me.grd.MainView = Me.grdv Me.grd.MainView = Me.grdv
Me.grd.MenuManager = Me.rcMain Me.grd.MenuManager = Me.rcMain
Me.grd.Name = "grd" Me.grd.Name = "grd"
Me.grd.Size = New System.Drawing.Size(800, 371) Me.grd.Size = New System.Drawing.Size(798, 316)
Me.grd.TabIndex = 1 Me.grd.TabIndex = 1
Me.grd.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.grdv}) Me.grd.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.grdv})
' '
@ -84,18 +94,66 @@ Partial Class frmCategoryEdit
Me.grdv.OptionsView.ShowGroupPanel = False Me.grdv.OptionsView.ShowGroupPanel = False
Me.grdv.OptionsView.ShowIndicator = False Me.grdv.OptionsView.ShowIndicator = False
' '
'tcMain
'
Me.tcMain.Dock = System.Windows.Forms.DockStyle.Fill
Me.tcMain.Location = New System.Drawing.Point(0, 109)
Me.tcMain.Name = "tcMain"
Me.tcMain.SelectedTabPage = Me.tpCategories
Me.tcMain.Size = New System.Drawing.Size(800, 341)
Me.tcMain.TabIndex = 3
Me.tcMain.TabPages.AddRange(New DevExpress.XtraTab.XtraTabPage() {Me.tpGeneral, Me.tpCategories})
'
'tpGeneral
'
Me.tpGeneral.Controls.Add(Me.lblDefaultTimezone)
Me.tpGeneral.Controls.Add(Me.cboDefaultTimezone)
Me.tpGeneral.Name = "tpGeneral"
Me.tpGeneral.Size = New System.Drawing.Size(798, 316)
Me.tpGeneral.Text = "Allgemein"
'
'tpCategories
'
Me.tpCategories.Controls.Add(Me.grd)
Me.tpCategories.Name = "tpCategories"
Me.tpCategories.Size = New System.Drawing.Size(798, 316)
Me.tpCategories.Text = "Kategorien"
'
'cboDefaultTimezone
'
Me.cboDefaultTimezone.Location = New System.Drawing.Point(212, 8)
Me.cboDefaultTimezone.MenuManager = Me.rcMain
Me.cboDefaultTimezone.Name = "cboDefaultTimezone"
Me.cboDefaultTimezone.Properties.Buttons.AddRange(New DevExpress.XtraEditors.Controls.EditorButton() {New DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)})
Me.cboDefaultTimezone.Size = New System.Drawing.Size(212, 20)
Me.cboDefaultTimezone.TabIndex = 0
'
'lblDefaultTimezone
'
Me.lblDefaultTimezone.Location = New System.Drawing.Point(11, 11)
Me.lblDefaultTimezone.Name = "lblDefaultTimezone"
Me.lblDefaultTimezone.Size = New System.Drawing.Size(162, 13)
Me.lblDefaultTimezone.TabIndex = 1
Me.lblDefaultTimezone.Text = "Standard-Zeitzone für den Import"
'
'frmCategoryEdit 'frmCategoryEdit
' '
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(800, 450) Me.ClientSize = New System.Drawing.Size(800, 450)
Me.Controls.Add(Me.grd) Me.Controls.Add(Me.tcMain)
Me.Controls.Add(Me.rcMain) Me.Controls.Add(Me.rcMain)
Me.Name = "frmCategoryEdit" Me.Name = "frmCategoryEdit"
Me.Text = "Kategorien bearbeiten" Me.Text = "Kategorien bearbeiten"
CType(Me.rcMain, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.rcMain, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.grd, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.grd, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.grdv, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.grdv, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.tcMain, System.ComponentModel.ISupportInitialize).EndInit()
Me.tcMain.ResumeLayout(False)
Me.tpGeneral.ResumeLayout(False)
Me.tpGeneral.PerformLayout()
Me.tpCategories.ResumeLayout(False)
CType(Me.cboDefaultTimezone.Properties, System.ComponentModel.ISupportInitialize).EndInit()
Me.ResumeLayout(False) Me.ResumeLayout(False)
Me.PerformLayout() Me.PerformLayout()
@ -107,4 +165,9 @@ Partial Class frmCategoryEdit
Friend WithEvents rpgGeneral As DevExpress.XtraBars.Ribbon.RibbonPageGroup Friend WithEvents rpgGeneral As DevExpress.XtraBars.Ribbon.RibbonPageGroup
Friend WithEvents grd As DevExpress.XtraGrid.GridControl Friend WithEvents grd As DevExpress.XtraGrid.GridControl
Friend WithEvents grdv As DevExpress.XtraGrid.Views.Grid.GridView Friend WithEvents grdv As DevExpress.XtraGrid.Views.Grid.GridView
Friend WithEvents tcMain As DevExpress.XtraTab.XtraTabControl
Friend WithEvents tpCategories As DevExpress.XtraTab.XtraTabPage
Friend WithEvents tpGeneral As DevExpress.XtraTab.XtraTabPage
Friend WithEvents lblDefaultTimezone As DevExpress.XtraEditors.LabelControl
Friend WithEvents cboDefaultTimezone As DevExpress.XtraEditors.ImageComboBoxEdit
End Class End Class

View File

@ -0,0 +1,49 @@
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