diff --git a/src/BreCalClient/DateTimePickerExt.cs b/src/BreCalClient/DateTimePickerExt.cs
new file mode 100644
index 0000000..e448d34
--- /dev/null
+++ b/src/BreCalClient/DateTimePickerExt.cs
@@ -0,0 +1,44 @@
+using System.Text.RegularExpressions;
+using System.Windows.Input;
+using Xceed.Wpf.Toolkit;
+
+namespace BreCalClient
+{
+ public class DateTimePickerExt : DateTimePicker
+ {
+ protected override void OnPreviewTextInput(TextCompositionEventArgs e)
+ {
+ base.OnPreviewTextInput(e);
+
+ // Die vom Agenten "vorgeschlagene" Zeit könnte auch der Watermark sein?
+
+ string text = this.Text + e.Text;
+ if (this.Template.FindName("PART_TextBox", this) is not WatermarkTextBox tb) return;
+
+ if (Regex.IsMatch(text, @"^\d{3}"))
+ {
+ e.Handled = true;
+ tb.Text = Regex.Replace(text, @"(\d{2})(\d)", "$1.$2");
+ tb.CaretIndex = tb.Text.Length;
+ }
+ else if (Regex.IsMatch(text, @"^(\d{2}\.\d{3})"))
+ {
+ e.Handled = true;
+ tb.Text = Regex.Replace(text, @"^(\d{2}\.\d{2})(\d)", "$1.$2");
+ tb.CaretIndex = tb.Text.Length;
+ }
+ else if (Regex.IsMatch(text, @"^(\d{2}\.\d{2}\.\d{2} \d{3})"))
+ {
+ e.Handled = true;
+ tb.Text = Regex.Replace(text, @"(\d{2}\.\d{2}\.\d{2} \d{2})(\d)", "$1:$2");
+ tb.CaretIndex = tb.Text.Length;
+ }
+ else if (Regex.IsMatch(text, @"^(\d{2}\.\d{2}\.\d{4} \d{3})"))
+ {
+ e.Handled = true;
+ tb.Text = Regex.Replace(text, @"(\d{2}\.\d{2}\.\d{4} \d{2})(\d)", "$1:$2");
+ tb.CaretIndex = tb.Text.Length;
+ }
+ }
+ }
+}
diff --git a/src/BreCalClient/EditShipcallControl.xaml b/src/BreCalClient/EditShipcallControl.xaml
index 6ebe2cf..71eac00 100644
--- a/src/BreCalClient/EditShipcallControl.xaml
+++ b/src/BreCalClient/EditShipcallControl.xaml
@@ -4,7 +4,7 @@
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:BreCalClient"
- xmlns:p = "clr-namespace:BreCalClient.Resources"
+ xmlns:p = "clr-namespace:BreCalClient.Resources"
xmlns:api="clr-namespace:BreCalClient.misc.Model"
xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit"
mc:Ignorable="d" Left="{local:SettingBinding W1Left}" Top="{local:SettingBinding W1Top}"
@@ -46,7 +46,7 @@
-
+
@@ -66,10 +66,10 @@
-
+
-
-
+
+
diff --git a/src/BreCalClient/EditTimesAgencyIncomingControl.xaml b/src/BreCalClient/EditTimesAgencyIncomingControl.xaml
index 4c3ccac..84cfade 100644
--- a/src/BreCalClient/EditTimesAgencyIncomingControl.xaml
+++ b/src/BreCalClient/EditTimesAgencyIncomingControl.xaml
@@ -5,7 +5,6 @@
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:BreCalClient"
xmlns:p = "clr-namespace:BreCalClient.Resources"
- xmlns:db="clr-namespace:BreCalClient;assembly=BreCalClient"
xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit"
mc:Ignorable="d" Left="{local:SettingBinding W1Left}" Top="{local:SettingBinding W1Top}"
Title="{x:Static p:Resources.textEditShipcall}" Height="403" Width="900" Loaded="Window_Loaded" ResizeMode="CanResizeWithGrip" Icon="Resources/containership.ico">
@@ -42,19 +41,19 @@
-
+
-
-
+
+
-
+
diff --git a/src/BreCalClient/EditTimesAgencyOutgoingControl.xaml b/src/BreCalClient/EditTimesAgencyOutgoingControl.xaml
index 5cf1511..92c0ed8 100644
--- a/src/BreCalClient/EditTimesAgencyOutgoingControl.xaml
+++ b/src/BreCalClient/EditTimesAgencyOutgoingControl.xaml
@@ -5,7 +5,6 @@
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:BreCalClient"
xmlns:p = "clr-namespace:BreCalClient.Resources"
- xmlns:db="clr-namespace:BreCalClient;assembly=BreCalClient"
xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit"
mc:Ignorable="d" Left="{local:SettingBinding W1Left}" Top="{local:SettingBinding W1Top}"
Title="{x:Static p:Resources.textEditShipcall}" Height="375" Width="900" Loaded="Window_Loaded" ResizeMode="CanResizeWithGrip" Icon="Resources/containership.ico">
@@ -39,15 +38,15 @@
-
+
-
-
+
+
diff --git a/src/BreCalClient/EditTimesAgencyOutgoingControl.xaml.cs b/src/BreCalClient/EditTimesAgencyOutgoingControl.xaml.cs
index 7eaea66..fcc4d7d 100644
--- a/src/BreCalClient/EditTimesAgencyOutgoingControl.xaml.cs
+++ b/src/BreCalClient/EditTimesAgencyOutgoingControl.xaml.cs
@@ -355,26 +355,37 @@ namespace BreCalClient
private void datePickerETD_PreviewTextInput(object sender, System.Windows.Input.TextCompositionEventArgs e)
{
- DateTimePicker dp = (sender as DateTimePicker);
+ DateTimePicker? dp = (sender as DateTimePicker);
+ if(dp == null) return;
// Das ist der richtige Ansatz, funktioniert aber bei der Jahresangabe noch nicht ganz richtig.
// Die vom Agenten "vorgeschlagene" Zeit könnte auch der Watermark sein?
string text = dp.Text + e.Text;
- dp.Template.LoadContent();
+ if (dp.Template.FindName("PART_TextBox", dp) is not WatermarkTextBox tb) return;
+
if (Regex.IsMatch(text, @"^\d{3}"))
{
- e.Handled = true;
- WatermarkTextBox tb = dp.Template.FindName("PART_TextBox", dp) as WatermarkTextBox;
-
+ e.Handled = true;
tb.Text = Regex.Replace(text, @"(\d{2})(\d)", "$1.$2");
tb.CaretIndex = tb.Text.Length;
}
else if (Regex.IsMatch(text, @"^(\d{2}\.\d{3})"))
+ {
+ e.Handled = true;
+ tb.Text = Regex.Replace(text, @"^(\d{2}\.\d{2})(\d)", "$1.$2");
+ tb.CaretIndex = tb.Text.Length;
+ }
+ else if (Regex.IsMatch(text, @"^(\d{2}\.\d{2}\.\d{2} \d{3})"))
{
e.Handled = true;
- WatermarkTextBox tb = dp.Template.FindName("PART_TextBox", dp) as WatermarkTextBox;
- tb.Text = Regex.Replace(text, @"(\d{2}\.\d{2})(\d)", "$1.$2");
+ tb.Text = Regex.Replace(text, @"(\d{2}\.\d{2}\.\d{2} \d{2})(\d)", "$1:$2");
+ tb.CaretIndex = tb.Text.Length;
+ }
+ else if (Regex.IsMatch(text, @"^(\d{2}\.\d{2}\.\d{4} \d{3})"))
+ {
+ e.Handled = true;
+ tb.Text = Regex.Replace(text, @"(\d{2}\.\d{2}\.\d{4} \d{2})(\d)", "$1:$2");
tb.CaretIndex = tb.Text.Length;
}
}
diff --git a/src/BreCalClient/EditTimesAgencyShiftingControl.xaml b/src/BreCalClient/EditTimesAgencyShiftingControl.xaml
index e742510..bd2d571 100644
--- a/src/BreCalClient/EditTimesAgencyShiftingControl.xaml
+++ b/src/BreCalClient/EditTimesAgencyShiftingControl.xaml
@@ -5,7 +5,6 @@
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:BreCalClient"
xmlns:p = "clr-namespace:BreCalClient.Resources"
- xmlns:db="clr-namespace:BreCalClient;assembly=BreCalClient"
xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit"
mc:Ignorable="d" Left="{local:SettingBinding W1Left}" Top="{local:SettingBinding W1Top}"
Title="{x:Static p:Resources.textEditShipcall}" Height="490" Width="900" Loaded="Window_Loaded" ResizeMode="CanResizeWithGrip" Icon="Resources/containership.ico">
@@ -33,7 +32,7 @@
-
+
@@ -50,8 +49,8 @@
-
-
+
+
@@ -88,10 +87,10 @@
-
-
+
+
-
+
@@ -143,7 +142,7 @@
-
+
diff --git a/src/BreCalClient/EditTimesControl.xaml b/src/BreCalClient/EditTimesControl.xaml
index 465f90b..e1aee6f 100644
--- a/src/BreCalClient/EditTimesControl.xaml
+++ b/src/BreCalClient/EditTimesControl.xaml
@@ -5,7 +5,6 @@
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:BreCalClient"
xmlns:p = "clr-namespace:BreCalClient.Resources"
- xmlns:db="clr-namespace:BreCalClient;assembly=BreCalClient"
xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit"
mc:Ignorable="d" Left="{local:SettingBinding W1Left}" Top="{local:SettingBinding W1Top}"
Title="{x:Static p:Resources.textEditTimes}" Height="331" Width="500" Loaded="Window_Loaded" ResizeMode="CanResizeWithGrip" Icon="Resources/containership.ico">
@@ -36,7 +35,7 @@
-
+
@@ -45,7 +44,7 @@
-
+
-
+
-
+
-
+
@@ -77,7 +76,7 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
diff --git a/src/BreCalClient/EditTimesTerminalControl.xaml b/src/BreCalClient/EditTimesTerminalControl.xaml
index 0854263..f07a031 100644
--- a/src/BreCalClient/EditTimesTerminalControl.xaml
+++ b/src/BreCalClient/EditTimesTerminalControl.xaml
@@ -12,7 +12,7 @@
-
+
@@ -37,8 +37,8 @@
-
-
+
+
-
-
+
+
-
-
+
+
@@ -68,8 +68,8 @@
-
-
+
+
-
+
-
+
-
+
-
-
+
+