framework/source/fwe/helper/titlehelper.cxx |   15 +++++++++++++++
 include/unotools/mediadescriptor.hxx        |    1 +
 unotools/source/misc/mediadescriptor.cxx    |    6 ++++++
 3 files changed, 22 insertions(+)

New commits:
commit 4355137901e18e24de2ab123fd0454147f1f3890
Author:     Samuel Mehrbrodt <samuel.mehrbr...@cib.de>
AuthorDate: Tue Nov 20 09:12:36 2018 +0100
Commit:     Samuel Mehrbrodt <samuel.mehrbr...@cib.de>
CommitDate: Tue Nov 20 12:16:35 2018 +0100

    tdf#121537 Display SuggestedSaveAsName in title if set
    
    Change-Id: I762eb7766a5cbe788c0a360c8a6f37b9b1106412
    Reviewed-on: https://gerrit.libreoffice.org/63639
    Tested-by: Jenkins
    Reviewed-by: Samuel Mehrbrodt <samuel.mehrbr...@cib.de>

diff --git a/framework/source/fwe/helper/titlehelper.cxx 
b/framework/source/fwe/helper/titlehelper.cxx
index 3d7943623753..36141cfba0f1 100644
--- a/framework/source/fwe/helper/titlehelper.cxx
+++ b/framework/source/fwe/helper/titlehelper.cxx
@@ -32,6 +32,7 @@
 
 #include <unotools/configmgr.hxx>
 #include <unotools/bootstrap.hxx>
+#include <unotools/mediadescriptor.hxx>
 #include <comphelper/sequenceashashmap.hxx>
 #include <rtl/ustrbuf.hxx>
 #include <osl/mutex.hxx>
@@ -39,6 +40,11 @@
 #include <vcl/opengl/OpenGLWrapper.hxx>
 #include <vcl/svapp.hxx>
 
+
+using namespace css;
+using namespace css::uno;
+using namespace css::frame;
+
 namespace framework{
 
 TitleHelper::TitleHelper(const css::uno::Reference< 
css::uno::XComponentContext >& rxContext)
@@ -339,6 +345,10 @@ void TitleHelper::impl_updateTitleForModel (const 
css::uno::Reference< css::fram
     if (xURLProvider.is())
         sURL = xURLProvider->getLocation ();
 
+    utl::MediaDescriptor aDescriptor(xModel->getArgs());
+    const OUString sSuggestedSaveAsName = 
aDescriptor.getUnpackedValueOrDefault(
+        utl::MediaDescriptor::PROP_SUGGESTEDSAVEASNAME(), OUString());
+
     if (!sURL.isEmpty())
     {
         sTitle = impl_convertURL2Title(sURL);
@@ -346,6 +356,11 @@ void TitleHelper::impl_updateTitleForModel (const 
css::uno::Reference< css::fram
             xNumbers->releaseNumber (nLeasedNumber);
         nLeasedNumber = css::frame::UntitledNumbersConst::INVALID_NUMBER;
     }
+    else if (!sSuggestedSaveAsName.isEmpty())
+    {
+        // tdf#121537 Use suggested save as name for title if file has not yet 
been saved
+        sTitle = sSuggestedSaveAsName;
+    }
     else
     {
         if (nLeasedNumber == css::frame::UntitledNumbersConst::INVALID_NUMBER)
diff --git a/include/unotools/mediadescriptor.hxx 
b/include/unotools/mediadescriptor.hxx
index 24e8d4678ec0..b568bd770f3a 100644
--- a/include/unotools/mediadescriptor.hxx
+++ b/include/unotools/mediadescriptor.hxx
@@ -99,6 +99,7 @@ class UNOTOOLS_DLLPUBLIC MediaDescriptor : public 
comphelper::SequenceAsHashMap
         static const OUString& PROP_MODEL();
         static const OUString& PROP_VIEWONLY();
         static const OUString& PROP_DOCUMENTBASEURL();
+        static const OUString& PROP_SUGGESTEDSAVEASNAME();
 
     // interface
     public:
diff --git a/unotools/source/misc/mediadescriptor.cxx 
b/unotools/source/misc/mediadescriptor.cxx
index 674f2a98a986..e0222f90ca89 100644
--- a/unotools/source/misc/mediadescriptor.cxx
+++ b/unotools/source/misc/mediadescriptor.cxx
@@ -326,6 +326,12 @@ const OUString& MediaDescriptor::PROP_DOCUMENTBASEURL()
     return sProp;
 }
 
+const OUString& MediaDescriptor::PROP_SUGGESTEDSAVEASNAME()
+{
+    static const OUString sProp("SuggestedSaveAsName");
+    return sProp;
+}
+
 MediaDescriptor::MediaDescriptor()
     : SequenceAsHashMap()
 {
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to