include/sfx2/dinfdlg.hxx             |    2 
 sfx2/source/dialog/dinfdlg.cxx       |   12 -
 sfx2/uiconfig/ui/documentinfopage.ui |  283 +++++++++++++++++------------------
 3 files changed, 149 insertions(+), 148 deletions(-)

New commits:
commit dc78803e2fc757fc3ddd97b59e698bf1385c5555
Author:     Heiko Tietze <tietze.he...@gmail.com>
AuthorDate: Fri Apr 9 11:25:54 2021 +0200
Commit:     Heiko Tietze <heiko.tie...@documentfoundation.org>
CommitDate: Mon Apr 12 08:24:45 2021 +0200

    Resolves tdf#135896 - Add hyperlink to file location
    
    File > Properties: Document Location is now a hyperlink
    opening the file browser for local files or the internet
    browser for remote content
    
    Change-Id: If3de16172e12aa1a3f4acc7504a2b3dd78677c09
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113839
    Tested-by: Jenkins
    Reviewed-by: Heiko Tietze <heiko.tie...@documentfoundation.org>

diff --git a/include/sfx2/dinfdlg.hxx b/include/sfx2/dinfdlg.hxx
index 04fe4131216b..6f332f7112e0 100644
--- a/include/sfx2/dinfdlg.hxx
+++ b/include/sfx2/dinfdlg.hxx
@@ -167,7 +167,7 @@ private:
     std::unique_ptr<weld::Button> m_xChangePassBtn;
 
     std::unique_ptr<weld::Label> m_xShowTypeFT;
-    std::unique_ptr<weld::Label> m_xFileValEd;
+    std::unique_ptr<weld::LinkButton> m_xFileValEd;
     std::unique_ptr<weld::Label> m_xShowSizeFT;
 
     std::unique_ptr<weld::Label> m_xCreateValFt;
diff --git a/sfx2/source/dialog/dinfdlg.cxx b/sfx2/source/dialog/dinfdlg.cxx
index c08c0dfa5cd8..ca5897df8a0a 100644
--- a/sfx2/source/dialog/dinfdlg.cxx
+++ b/sfx2/source/dialog/dinfdlg.cxx
@@ -689,7 +689,7 @@ SfxDocumentPage::SfxDocumentPage(weld::Container* pPage, 
weld::DialogController*
     , m_xNameED(m_xBuilder->weld_label("nameed"))
     , m_xChangePassBtn(m_xBuilder->weld_button("changepass"))
     , m_xShowTypeFT(m_xBuilder->weld_label("showtype"))
-    , m_xFileValEd(m_xBuilder->weld_label("showlocation"))
+    , m_xFileValEd(m_xBuilder->weld_link_button("showlocation"))
     , m_xShowSizeFT(m_xBuilder->weld_label("showsize"))
     , m_xCreateValFt(m_xBuilder->weld_label("showcreate"))
     , m_xChangeValFt(m_xBuilder->weld_label("showmodify"))
@@ -974,10 +974,14 @@ void SfxDocumentPage::Reset( const SfxItemSet* rSet )
         // we know it's a folder -> don't need the final slash, but it's 
better for WB_PATHELLIPSIS
         aPath.removeFinalSlash();
         OUString aText( aPath.PathToFileName() ); //! (pb) MaxLen?
-        m_xFileValEd->set_label( aText );
+        m_xFileValEd->set_label(aText);
+        m_xFileValEd->set_uri("file://" + aText);
+    }
+    else if (aURL.GetProtocol() != INetProtocol::PrivSoffice)
+    {
+        m_xFileValEd->set_label(aURL.GetPartBeforeLastName());
+        m_xFileValEd->set_uri(m_xFileValEd->get_label());
     }
-    else if ( aURL.GetProtocol() != INetProtocol::PrivSoffice )
-        m_xFileValEd->set_label( aURL.GetPartBeforeLastName() );
 
     // handle access data
     bool bUseUserData = rInfoItem.IsUseUserData();
diff --git a/sfx2/uiconfig/ui/documentinfopage.ui 
b/sfx2/uiconfig/ui/documentinfopage.ui
index 7fd64c4df456..49a4f8ab1c07 100644
--- a/sfx2/uiconfig/ui/documentinfopage.ui
+++ b/sfx2/uiconfig/ui/documentinfopage.ui
@@ -1,191 +1,191 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- Generated with glade 3.36.0 -->
+<!-- Generated with glade 3.38.2 -->
 <interface domain="sfx">
   <requires lib="gtk+" version="3.20"/>
-  <!-- n-columns=1 n-rows=1 -->
+  <!-- n-columns=3 n-rows=13 -->
   <object class="GtkGrid" id="DocumentInfoPage">
     <property name="visible">True</property>
-    <property name="can_focus">False</property>
+    <property name="can-focus">False</property>
     <property name="hexpand">True</property>
     <property name="vexpand">True</property>
-    <property name="border_width">12</property>
-    <property name="row_spacing">6</property>
-    <property name="column_spacing">12</property>
+    <property name="border-width">12</property>
+    <property name="row-spacing">6</property>
+    <property name="column-spacing">12</property>
     <child>
       <object class="GtkLabel" id="label13">
         <property name="visible">True</property>
-        <property name="can_focus">False</property>
+        <property name="can-focus">False</property>
         <property name="halign">end</property>
         <property name="label" translatable="yes" 
context="documentinfopage|label13">_Created:</property>
-        <property name="use_underline">True</property>
-        <property name="mnemonic_widget">showcreate</property>
+        <property name="use-underline">True</property>
+        <property name="mnemonic-widget">showcreate</property>
       </object>
       <packing>
-        <property name="left_attach">0</property>
-        <property name="top_attach">4</property>
+        <property name="left-attach">0</property>
+        <property name="top-attach">4</property>
       </packing>
     </child>
     <child>
       <object class="GtkLabel" id="label14">
         <property name="visible">True</property>
-        <property name="can_focus">False</property>
+        <property name="can-focus">False</property>
         <property name="halign">end</property>
         <property name="label" translatable="yes" 
context="documentinfopage|label14">_Modified:</property>
-        <property name="use_underline">True</property>
-        <property name="mnemonic_widget">showmodify</property>
+        <property name="use-underline">True</property>
+        <property name="mnemonic-widget">showmodify</property>
       </object>
       <packing>
-        <property name="left_attach">0</property>
-        <property name="top_attach">5</property>
+        <property name="left-attach">0</property>
+        <property name="top-attach">5</property>
       </packing>
     </child>
     <child>
       <object class="GtkLabel" id="label15">
         <property name="visible">True</property>
-        <property name="can_focus">False</property>
+        <property name="can-focus">False</property>
         <property name="halign">end</property>
         <property name="label" translatable="yes" 
context="documentinfopage|label15">_Digitally signed:</property>
-        <property name="use_underline">True</property>
-        <property name="mnemonic_widget">showsigned</property>
+        <property name="use-underline">True</property>
+        <property name="mnemonic-widget">showsigned</property>
       </object>
       <packing>
-        <property name="left_attach">0</property>
-        <property name="top_attach">7</property>
+        <property name="left-attach">0</property>
+        <property name="top-attach">7</property>
       </packing>
     </child>
     <child>
       <object class="GtkLabel" id="label16">
         <property name="visible">True</property>
-        <property name="can_focus">False</property>
+        <property name="can-focus">False</property>
         <property name="halign">end</property>
         <property name="label" translatable="yes" 
context="documentinfopage|label16">Last pri_nted:</property>
-        <property name="use_underline">True</property>
-        <property name="mnemonic_widget">showprint</property>
+        <property name="use-underline">True</property>
+        <property name="mnemonic-widget">showprint</property>
       </object>
       <packing>
-        <property name="left_attach">0</property>
-        <property name="top_attach">8</property>
+        <property name="left-attach">0</property>
+        <property name="top-attach">8</property>
       </packing>
     </child>
     <child>
       <object class="GtkLabel" id="label17">
         <property name="visible">True</property>
-        <property name="can_focus">False</property>
+        <property name="can-focus">False</property>
         <property name="halign">end</property>
         <property name="label" translatable="yes" 
context="documentinfopage|label17">Total _editing time:</property>
-        <property name="use_underline">True</property>
-        <property name="mnemonic_widget">showedittime</property>
+        <property name="use-underline">True</property>
+        <property name="mnemonic-widget">showedittime</property>
       </object>
       <packing>
-        <property name="left_attach">0</property>
-        <property name="top_attach">9</property>
+        <property name="left-attach">0</property>
+        <property name="top-attach">9</property>
       </packing>
     </child>
     <child>
       <object class="GtkLabel" id="label18">
         <property name="visible">True</property>
-        <property name="can_focus">False</property>
+        <property name="can-focus">False</property>
         <property name="halign">end</property>
         <property name="label" translatable="yes" 
context="documentinfopage|label18">Re_vision number:</property>
-        <property name="use_underline">True</property>
-        <property name="mnemonic_widget">showrevision</property>
+        <property name="use-underline">True</property>
+        <property name="mnemonic-widget">showrevision</property>
       </object>
       <packing>
-        <property name="left_attach">0</property>
-        <property name="top_attach">10</property>
+        <property name="left-attach">0</property>
+        <property name="top-attach">10</property>
       </packing>
     </child>
     <child>
       <object class="GtkLabel" id="showcreate">
         <property name="visible">True</property>
-        <property name="can_focus">False</property>
+        <property name="can-focus">False</property>
         <property name="hexpand">True</property>
         <property name="selectable">True</property>
         <property name="xalign">0</property>
       </object>
       <packing>
-        <property name="left_attach">1</property>
-        <property name="top_attach">4</property>
+        <property name="left-attach">1</property>
+        <property name="top-attach">4</property>
         <property name="width">2</property>
       </packing>
     </child>
     <child>
       <object class="GtkLabel" id="showmodify">
         <property name="visible">True</property>
-        <property name="can_focus">False</property>
+        <property name="can-focus">False</property>
         <property name="hexpand">True</property>
         <property name="selectable">True</property>
         <property name="xalign">0</property>
       </object>
       <packing>
-        <property name="left_attach">1</property>
-        <property name="top_attach">5</property>
+        <property name="left-attach">1</property>
+        <property name="top-attach">5</property>
         <property name="width">2</property>
       </packing>
     </child>
     <child>
       <object class="GtkLabel" id="showsigned">
         <property name="visible">True</property>
-        <property name="can_focus">False</property>
+        <property name="can-focus">False</property>
         <property name="hexpand">True</property>
         <property name="label" translatable="yes" 
context="documentinfopage|showsigned">Multiply signed document</property>
         <property name="selectable">True</property>
         <property name="xalign">0</property>
       </object>
       <packing>
-        <property name="left_attach">1</property>
-        <property name="top_attach">7</property>
+        <property name="left-attach">1</property>
+        <property name="top-attach">7</property>
       </packing>
     </child>
     <child>
       <object class="GtkLabel" id="showprint">
         <property name="visible">True</property>
-        <property name="can_focus">False</property>
+        <property name="can-focus">False</property>
         <property name="hexpand">True</property>
         <property name="selectable">True</property>
         <property name="xalign">0</property>
       </object>
       <packing>
-        <property name="left_attach">1</property>
-        <property name="top_attach">8</property>
+        <property name="left-attach">1</property>
+        <property name="top-attach">8</property>
       </packing>
     </child>
     <child>
       <object class="GtkLabel" id="showedittime">
         <property name="visible">True</property>
-        <property name="can_focus">False</property>
+        <property name="can-focus">False</property>
         <property name="hexpand">True</property>
         <property name="selectable">True</property>
         <property name="xalign">0</property>
       </object>
       <packing>
-        <property name="left_attach">1</property>
-        <property name="top_attach">9</property>
+        <property name="left-attach">1</property>
+        <property name="top-attach">9</property>
         <property name="width">2</property>
       </packing>
     </child>
     <child>
       <object class="GtkLabel" id="showrevision">
         <property name="visible">True</property>
-        <property name="can_focus">False</property>
+        <property name="can-focus">False</property>
         <property name="hexpand">True</property>
         <property name="selectable">True</property>
         <property name="xalign">0</property>
       </object>
       <packing>
-        <property name="left_attach">1</property>
-        <property name="top_attach">10</property>
+        <property name="left-attach">1</property>
+        <property name="top-attach">10</property>
         <property name="width">2</property>
       </packing>
     </child>
     <child>
       <object class="GtkCheckButton" id="userdatacb">
         <property name="label" translatable="yes" 
context="documentinfopage|userdatacb">_Apply user data</property>
-        <property name="can_focus">True</property>
-        <property name="receives_default">False</property>
-        <property name="no_show_all">True</property>
-        <property name="use_underline">True</property>
-        <property name="draw_indicator">True</property>
+        <property name="can-focus">True</property>
+        <property name="receives-default">False</property>
+        <property name="no-show-all">True</property>
+        <property name="use-underline">True</property>
+        <property name="draw-indicator">True</property>
         <child internal-child="accessible">
           <object class="AtkObject" id="userdatacb-atkobject">
             <property name="AtkObject::accessible-description" 
translatable="yes" context="documentinfopage|extended_tip|userdatacb">Saves the 
user's full name with the file. You can edit the name by choosing Tools - 
Options - %PRODUCTNAME - User Data.</property>
@@ -193,31 +193,31 @@
         </child>
       </object>
       <packing>
-        <property name="left_attach">1</property>
-        <property name="top_attach">11</property>
+        <property name="left-attach">1</property>
+        <property name="top-attach">11</property>
       </packing>
     </child>
     <child>
       <object class="GtkCheckButton" id="thumbnailsavecb">
         <property name="label" translatable="yes" 
context="documentinfopage|thumbnailsavecb">Save preview image with this 
document</property>
         <property name="visible">True</property>
-        <property name="can_focus">True</property>
-        <property name="receives_default">False</property>
-        <property name="no_show_all">True</property>
-        <property name="use_underline">True</property>
-        <property name="draw_indicator">True</property>
+        <property name="can-focus">True</property>
+        <property name="receives-default">False</property>
+        <property name="no-show-all">True</property>
+        <property name="use-underline">True</property>
+        <property name="draw-indicator">True</property>
       </object>
       <packing>
-        <property name="left_attach">1</property>
-        <property name="top_attach">12</property>
+        <property name="left-attach">1</property>
+        <property name="top-attach">12</property>
       </packing>
     </child>
     <child>
       <object class="GtkButton" id="reset">
         <property name="label" translatable="yes" 
context="documentinfopage|reset">Reset Properties</property>
-        <property name="can_focus">True</property>
-        <property name="receives_default">True</property>
-        <property name="no_show_all">True</property>
+        <property name="can-focus">True</property>
+        <property name="receives-default">True</property>
+        <property name="no-show-all">True</property>
         <property name="valign">center</property>
         <child internal-child="accessible">
           <object class="AtkObject" id="reset-atkobject">
@@ -226,8 +226,8 @@
         </child>
       </object>
       <packing>
-        <property name="left_attach">2</property>
-        <property name="top_attach">11</property>
+        <property name="left-attach">2</property>
+        <property name="top-attach">11</property>
         <property name="height">2</property>
       </packing>
     </child>
@@ -235,169 +235,152 @@
       <object class="GtkButton" id="signature">
         <property name="label" translatable="yes" 
context="documentinfopage|signature">Di_gital Signatures...</property>
         <property name="visible">True</property>
-        <property name="can_focus">True</property>
-        <property name="has_focus">True</property>
-        <property name="receives_default">True</property>
+        <property name="can-focus">True</property>
+        <property name="has-focus">True</property>
+        <property name="receives-default">True</property>
         <property name="valign">center</property>
-        <property name="use_underline">True</property>
+        <property name="use-underline">True</property>
       </object>
       <packing>
-        <property name="left_attach">2</property>
-        <property name="top_attach">6</property>
+        <property name="left-attach">2</property>
+        <property name="top-attach">6</property>
         <property name="height">3</property>
       </packing>
     </child>
     <child>
       <object class="GtkLabel" id="label11">
         <property name="visible">True</property>
-        <property name="can_focus">False</property>
+        <property name="can-focus">False</property>
         <property name="halign">end</property>
         <property name="label" translatable="yes" 
context="documentinfopage|label11">_Size:</property>
-        <property name="use_underline">True</property>
-        <property name="mnemonic_widget">showsize</property>
+        <property name="use-underline">True</property>
+        <property name="mnemonic-widget">showsize</property>
       </object>
       <packing>
-        <property name="left_attach">0</property>
-        <property name="top_attach">3</property>
+        <property name="left-attach">0</property>
+        <property name="top-attach">3</property>
       </packing>
     </child>
     <child>
       <object class="GtkLabel" id="showsize">
         <property name="visible">True</property>
-        <property name="can_focus">False</property>
+        <property name="can-focus">False</property>
         <property name="label" translatable="yes" 
context="documentinfopage|showsize">unknown</property>
         <property name="selectable">True</property>
         <property name="xalign">0</property>
       </object>
       <packing>
-        <property name="left_attach">1</property>
-        <property name="top_attach">3</property>
+        <property name="left-attach">1</property>
+        <property name="top-attach">3</property>
         <property name="width">2</property>
       </packing>
     </child>
     <child>
       <object class="GtkLabel" id="label8">
         <property name="visible">True</property>
-        <property name="can_focus">False</property>
+        <property name="can-focus">False</property>
         <property name="halign">end</property>
         <property name="label" translatable="yes" 
context="documentinfopage|label8">_Location:</property>
-        <property name="use_underline">True</property>
-        <property name="mnemonic_widget">showlocation</property>
+        <property name="use-underline">True</property>
       </object>
       <packing>
-        <property name="left_attach">0</property>
-        <property name="top_attach">2</property>
-      </packing>
-    </child>
-    <child>
-      <object class="GtkLabel" id="showlocation">
-        <property name="visible">True</property>
-        <property name="can_focus">True</property>
-        <property name="hexpand">True</property>
-        <property name="selectable">True</property>
-        <property name="ellipsize">middle</property>
-        <property name="max_width_chars">50</property>
-        <property name="xalign">0</property>
-      </object>
-      <packing>
-        <property name="left_attach">1</property>
-        <property name="top_attach">2</property>
-        <property name="width">2</property>
+        <property name="left-attach">0</property>
+        <property name="top-attach">2</property>
       </packing>
     </child>
     <child>
       <object class="GtkLabel" id="label7">
         <property name="visible">True</property>
-        <property name="can_focus">False</property>
+        <property name="can-focus">False</property>
         <property name="halign">end</property>
         <property name="label" translatable="yes" 
context="documentinfopage|label7">_Type:</property>
-        <property name="use_underline">True</property>
-        <property name="mnemonic_widget">showtype</property>
+        <property name="use-underline">True</property>
+        <property name="mnemonic-widget">showtype</property>
       </object>
       <packing>
-        <property name="left_attach">0</property>
-        <property name="top_attach">1</property>
+        <property name="left-attach">0</property>
+        <property name="top-attach">1</property>
       </packing>
     </child>
     <child>
       <object class="GtkLabel" id="showtype">
         <property name="visible">True</property>
-        <property name="can_focus">False</property>
+        <property name="can-focus">False</property>
         <property name="selectable">True</property>
         <property name="xalign">0</property>
       </object>
       <packing>
-        <property name="left_attach">1</property>
-        <property name="top_attach">1</property>
+        <property name="left-attach">1</property>
+        <property name="top-attach">1</property>
       </packing>
     </child>
     <child>
       <object class="GtkButton" id="changepass">
         <property name="label" translatable="yes" 
context="documentinfopage|changepass">Change _Password</property>
         <property name="visible">True</property>
-        <property name="can_focus">True</property>
-        <property name="receives_default">True</property>
+        <property name="can-focus">True</property>
+        <property name="receives-default">True</property>
         <property name="valign">start</property>
-        <property name="use_underline">True</property>
+        <property name="use-underline">True</property>
       </object>
       <packing>
-        <property name="left_attach">2</property>
-        <property name="top_attach">0</property>
+        <property name="left-attach">2</property>
+        <property name="top-attach">0</property>
         <property name="height">2</property>
       </packing>
     </child>
     <child>
       <object class="GtkLabel" id="templateft">
         <property name="visible">True</property>
-        <property name="can_focus">False</property>
+        <property name="can-focus">False</property>
         <property name="halign">end</property>
         <property name="label" translatable="yes" 
context="documentinfopage|templateft">Template:</property>
-        <property name="use_underline">True</property>
-        <property name="mnemonic_widget">showtemplate</property>
+        <property name="use-underline">True</property>
+        <property name="mnemonic-widget">showtemplate</property>
       </object>
       <packing>
-        <property name="left_attach">0</property>
-        <property name="top_attach">6</property>
+        <property name="left-attach">0</property>
+        <property name="top-attach">6</property>
       </packing>
     </child>
     <child>
       <object class="GtkLabel" id="showtemplate">
         <property name="visible">True</property>
-        <property name="can_focus">False</property>
+        <property name="can-focus">False</property>
         <property name="selectable">True</property>
-        <property name="max_width_chars">56</property>
+        <property name="max-width-chars">56</property>
         <property name="xalign">0</property>
       </object>
       <packing>
-        <property name="left_attach">1</property>
-        <property name="top_attach">6</property>
+        <property name="left-attach">1</property>
+        <property name="top-attach">6</property>
       </packing>
     </child>
     <child>
-      <!-- n-columns=1 n-rows=1 -->
+      <!-- n-columns=2 n-rows=1 -->
       <object class="GtkGrid" id="grid1">
         <property name="visible">True</property>
-        <property name="can_focus">False</property>
-        <property name="column_spacing">12</property>
+        <property name="can-focus">False</property>
+        <property name="column-spacing">12</property>
         <child>
           <object class="GtkImage" id="icon">
             <property name="visible">True</property>
-            <property name="can_focus">False</property>
+            <property name="can-focus">False</property>
             <property name="valign">center</property>
             <property name="icon-name">missing-image</property>
           </object>
           <packing>
-            <property name="left_attach">0</property>
-            <property name="top_attach">0</property>
+            <property name="left-attach">0</property>
+            <property name="top-attach">0</property>
           </packing>
         </child>
         <child>
           <object class="GtkLabel" id="nameed">
             <property name="visible">True</property>
-            <property name="can_focus">False</property>
+            <property name="can-focus">False</property>
             <property name="selectable">True</property>
-            <property name="single_line_mode">True</property>
-            <property name="max_width_chars">56</property>
+            <property name="single-line-mode">True</property>
+            <property name="max-width-chars">56</property>
             <child internal-child="accessible">
               <object class="AtkObject" id="nameed-atkobject">
                 <property name="AtkObject::accessible-description" 
translatable="yes" context="documentinfopage|extended_tip|nameed">Displays the 
file name.</property>
@@ -405,14 +388,28 @@
             </child>
           </object>
           <packing>
-            <property name="left_attach">1</property>
-            <property name="top_attach">0</property>
+            <property name="left-attach">1</property>
+            <property name="top-attach">0</property>
           </packing>
         </child>
       </object>
       <packing>
-        <property name="left_attach">1</property>
-        <property name="top_attach">0</property>
+        <property name="left-attach">1</property>
+        <property name="top-attach">0</property>
+      </packing>
+    </child>
+    <child>
+      <object class="GtkLinkButton" id="showlocation">
+        <property name="visible">True</property>
+        <property name="can-focus">True</property>
+        <property name="receives-default">True</property>
+        <property name="relief">none</property>
+        <property name="xalign">0</property>
+      </object>
+      <packing>
+        <property name="left-attach">1</property>
+        <property name="top-attach">2</property>
+        <property name="width">2</property>
       </packing>
     </child>
     <child>
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to