From df1b3c39a31e45e79576621bf05a5422acc6dcfb Mon Sep 17 00:00:00 2001
From: sr55 <sr55.hb@outlook.com>
Date: Thu, 8 Nov 2018 19:34:57 +0000
Subject: [PATCH] WinGui: Make the "Version" label in options and about
 selectable and copyable. Useful for copying the version number. #1665 Also
 added a link to the github issue tracker on the About page.

---
 win/CS/HandBrakeWPF/Views/AboutView.xaml      | 17 +++++++++++++----
 win/CS/HandBrakeWPF/Views/AboutView.xaml.cs   | 13 ++++++++++++-
 win/CS/HandBrakeWPF/Views/OptionsView.xaml    |  6 +++---
 win/CS/HandBrakeWPF/Views/OptionsView.xaml.cs |  6 ++++++
 4 files changed, 34 insertions(+), 8 deletions(-)

diff --git a/win/CS/HandBrakeWPF/Views/AboutView.xaml b/win/CS/HandBrakeWPF/Views/AboutView.xaml
index 7672bf06a..a8b8e9ae7 100644
--- a/win/CS/HandBrakeWPF/Views/AboutView.xaml
+++ b/win/CS/HandBrakeWPF/Views/AboutView.xaml
@@ -29,14 +29,16 @@
                     <RowDefinition Height="Auto" />
                     <RowDefinition Height="Auto" />
                     <RowDefinition Height="Auto" />
+                    <RowDefinition Height="Auto" />
                     <RowDefinition Height="*" />
                 </Grid.RowDefinitions>
 
                 <StackPanel Grid.Row="0"
                             Margin="5,10,0,0"
                             Orientation="Horizontal">
-                    <TextBlock Margin="0,0,5,0" FontSize="16" FontFamily="Segoe UI Light" Text="{x:Static Properties:Resources.AboutView_Version}" />
-                    <TextBlock Margin="0,0,0,1" FontSize="16" FontFamily="Segoe UI Light" VerticalAlignment="Bottom" Text="{Binding Version}" />
+                    <TextBlock Margin="0,0,0,0" FontSize="16" FontFamily="Segoe UI Light" Text="{x:Static Properties:Resources.AboutView_Version}" />
+                    <TextBox Margin="0,0,0,0" BorderThickness="0" FontSize="16" IsReadOnly="True" FontFamily="Segoe UI Light" VerticalAlignment="Bottom" Text="{Binding Version, Mode=OneWay}"
+                             MouseDoubleClick="AboutTextBox_OnMouseDoubleClick" x:Name="versionTextBox" />
                 </StackPanel>
 
                 <StackPanel Orientation="Horizontal" Grid.Row="1"  Margin="5,5,0,0">
@@ -46,9 +48,16 @@
                     </TextBlock>
                 </StackPanel>
 
-                <TextBlock Grid.Row="2" Margin="5,10,0,5" Text="{x:Static Properties:Resources.AboutView_License}" />
+                <StackPanel Orientation="Horizontal" Grid.Row="2"  Margin="5,5,0,0">
+                    <TextBlock Text="GitHub Issue Tracker: " />
+                    <TextBlock>           
+                        <Hyperlink x:Name="githubWebsite" NavigateUri="/" RequestNavigate="GithubWebsite_OnRequestNavigate"  >https://github.com/HandBrake/HandBrake/issues</Hyperlink>
+                    </TextBlock>
+                </StackPanel>
+
+                <TextBlock Grid.Row="3" Margin="5,10,0,5" Text="{x:Static Properties:Resources.AboutView_License}" />
 
-                <TextBox Text="{x:Static Properties:Resources.About_GPL}" Grid.Row="3" Margin="10,0,10,10" HorizontalAlignment="Stretch"
+                <TextBox Text="{x:Static Properties:Resources.About_GPL}" Grid.Row="4" Margin="10,0,10,10" HorizontalAlignment="Stretch"
                          VerticalAlignment="Stretch" IsReadOnly="True" TextWrapping="Wrap" VerticalScrollBarVisibility="Auto" />
 
          
diff --git a/win/CS/HandBrakeWPF/Views/AboutView.xaml.cs b/win/CS/HandBrakeWPF/Views/AboutView.xaml.cs
index e2dc357ba..d624cc74c 100644
--- a/win/CS/HandBrakeWPF/Views/AboutView.xaml.cs
+++ b/win/CS/HandBrakeWPF/Views/AboutView.xaml.cs
@@ -11,6 +11,7 @@ namespace HandBrakeWPF.Views
 {
     using System.Diagnostics;
     using System.Windows.Controls;
+    using System.Windows.Input;
     using System.Windows.Navigation;
 
     /// <summary>
@@ -23,7 +24,7 @@ namespace HandBrakeWPF.Views
         /// </summary>
         public AboutView()
         {
-            InitializeComponent();
+            this.InitializeComponent();
         }
 
         /// <summary>
@@ -39,5 +40,15 @@ namespace HandBrakeWPF.Views
         {
             Process.Start("https://handbrake.fr");
         }
+
+        private void GithubWebsite_OnRequestNavigate(object sender, RequestNavigateEventArgs e)
+        {
+            Process.Start("https://github.com/HandBrake/HandBrake/issues");
+        }
+
+        private void AboutTextBox_OnMouseDoubleClick(object sender, MouseButtonEventArgs e)
+        {
+            this.versionTextBox.SelectAll();
+        }
     }
 }
diff --git a/win/CS/HandBrakeWPF/Views/OptionsView.xaml b/win/CS/HandBrakeWPF/Views/OptionsView.xaml
index bde4b7303..e32227c20 100644
--- a/win/CS/HandBrakeWPF/Views/OptionsView.xaml
+++ b/win/CS/HandBrakeWPF/Views/OptionsView.xaml
@@ -367,13 +367,13 @@
 
                     <Grid Margin="20,10,0,20">
                         <Grid.ColumnDefinitions>
-                            <ColumnDefinition Width="70" />
+                            <ColumnDefinition Width="Auto" />
                             <ColumnDefinition Width="Auto" />
                         </Grid.ColumnDefinitions>
 
                         <!-- Version -->
-                        <TextBlock Grid.Column="0" Margin="0,0,5,0" Text="{x:Static Properties:Resources.Options_Version}" />
-                        <TextBlock Grid.Column="1" Margin="0,0,0,1" VerticalAlignment="Bottom" Text="{Binding Version}" />
+                        <TextBlock Grid.Column="0" Margin="0,0,0,0" Text="{x:Static Properties:Resources.Options_Version}" />
+                        <TextBox Grid.Column="1" Margin="0,0,0,0" VerticalAlignment="Bottom" Text="{Binding Version, Mode=OneWay}" BorderThickness="0" x:Name="versionTextBox" MouseDoubleClick="VersionTextBox_OnMouseDoubleClick" />
                     </Grid>
 
                     <TextBlock Text="{x:Static Properties:Resources.Options_Updates}" FontSize="14" Margin="0,10,0,10"/>
diff --git a/win/CS/HandBrakeWPF/Views/OptionsView.xaml.cs b/win/CS/HandBrakeWPF/Views/OptionsView.xaml.cs
index b8fd4b33d..31fad983d 100644
--- a/win/CS/HandBrakeWPF/Views/OptionsView.xaml.cs
+++ b/win/CS/HandBrakeWPF/Views/OptionsView.xaml.cs
@@ -11,6 +11,7 @@ namespace HandBrakeWPF.Views
 {
     using System.Windows;
     using System.Windows.Controls;
+    using System.Windows.Input;
 
     /// <summary>
     /// Interaction logic for OptionsView.xaml
@@ -24,5 +25,10 @@ namespace HandBrakeWPF.Views
         {
             InitializeComponent();
         }
+
+        private void VersionTextBox_OnMouseDoubleClick(object sender, MouseButtonEventArgs e)
+        {
+            this.versionTextBox.SelectAll();
+        }
     }
 }
-- 
2.40.0