Browse Source

Add ability to copy to clipboard

Daniel Chalmers 4 years ago
parent
commit
c758cadf9a
2 changed files with 21 additions and 1 deletions
  1. 8 1
      DesktopClock/MainWindow.xaml
  2. 13 0
      DesktopClock/MainWindow.xaml.cs

+ 8 - 1
DesktopClock/MainWindow.xaml

@@ -12,6 +12,7 @@
         Background="Transparent"
         FontFamily="{Binding FontFamily, Source={x:Static p:Settings.Default}, Mode=OneWay}"
         MouseDown="Window_MouseDown"
+        MouseDoubleClick="Window_MouseDoubleClick"
         ResizeMode="NoResize"
         ShowInTaskbar="{Binding ShowInTaskbar, Source={x:Static p:Settings.Default}, Mode=TwoWay}"
         SizeToContent="WidthAndHeight"
@@ -26,6 +27,11 @@
 
     <Window.ContextMenu>
         <ContextMenu>
+            <MenuItem Click="MenuItemCopy_OnClick"
+                      Header="_Copy" />
+
+            <Separator />
+
             <MenuItem Header="Stay on _top"
                       IsCheckable="True"
                       IsChecked="{Binding Topmost, Source={x:Static p:Settings.Default}, Mode=TwoWay}" />
@@ -117,7 +123,8 @@
                     </TextBlock.Style>
                 </TextBlock>
 
-                <TextBlock HorizontalAlignment="Center"
+                <TextBlock x:Name="TimeTextBlock"
+                           HorizontalAlignment="Center"
                            Text="{Binding CurrentTimeOrCountdownString}">
                     <TextBlock.Foreground>
                         <SolidColorBrush Color="{Binding TextColor, Source={x:Static p:Settings.Default}, Mode=OneWay}" />

+ 13 - 0
DesktopClock/MainWindow.xaml.cs

@@ -26,6 +26,19 @@ namespace DesktopClock
             }
         }
 
+        private void CopyToClipboard() =>
+            Clipboard.SetText(TimeTextBlock.Text);
+
+        private void Window_MouseDoubleClick(object sender, MouseButtonEventArgs e)
+        {
+            CopyToClipboard();
+        }
+
+        private void MenuItemCopy_OnClick(object sender, RoutedEventArgs e)
+        {
+            CopyToClipboard();
+        }
+
         private void MenuItemSettings_OnClick(object sender, RoutedEventArgs e)
         {
             // Open settings file in notepad.