loleaflet/src/control/Control.DocumentNameInput.js |    7 +++----
 loleaflet/src/map/handler/Map.WOPI.js              |    4 ++++
 wsd/DocumentBroker.cpp                             |    2 ++
 wsd/Storage.cpp                                    |    4 +++-
 wsd/Storage.hpp                                    |    6 ++++++
 5 files changed, 18 insertions(+), 5 deletions(-)

New commits:
commit be15790e24d628ccaf5dc722d432c1829d6767ba
Author:     Michael Meeks <michael.me...@collabora.com>
AuthorDate: Tue Jun 9 17:43:58 2020 +0100
Commit:     Andras Timar <andras.ti...@collabora.com>
CommitDate: Tue Jul 21 20:47:43 2020 +0200

    Add support for BreadcrumbDocName.
    
    Change-Id: I06c56e92dd3acf9269140ecefb0c8bc731191260
    Reviewed-on: https://gerrit.libreoffice.org/c/online/+/95960
    Tested-by: Jenkins
    Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoff...@gmail.com>
    Reviewed-by: Michael Meeks <michael.me...@collabora.com>
    Reviewed-on: https://gerrit.libreoffice.org/c/online/+/98193
    Reviewed-by: Andras Timar <andras.ti...@collabora.com>

diff --git a/loleaflet/src/control/Control.DocumentNameInput.js 
b/loleaflet/src/control/Control.DocumentNameInput.js
index 28db57f41..cfc4e5998 100644
--- a/loleaflet/src/control/Control.DocumentNameInput.js
+++ b/loleaflet/src/control/Control.DocumentNameInput.js
@@ -40,7 +40,7 @@ L.Control.DocumentNameInput = L.Control.extend({
        },
 
        documentNameCancel: function() {
-               $('#document-name-input').val(this.map['wopi'].BaseFileName);
+               
$('#document-name-input').val(this.map['wopi'].BreadcrumbDocName);
                this.map._onGotFocus();
        },
 
@@ -97,10 +97,9 @@ L.Control.DocumentNameInput = L.Control.extend({
        },
 
        onWopiProps: function(e) {
-               if (e.BaseFileName !== null) {
+               if (e.BaseFileName !== null)
                        // set the document name into the name field
-                       $('#document-name-input').val(e.BaseFileName);
-               }
+                       $('#document-name-input').val(e.BreadcrumbDocName !== 
undefined ? e.BreadcrumbDocName : e.BaseFileName);
 
                if (e.UserCanNotWriteRelative === false) {
                        // Save As allowed
diff --git a/loleaflet/src/map/handler/Map.WOPI.js 
b/loleaflet/src/map/handler/Map.WOPI.js
index da79219e8..3e41b7fae 100644
--- a/loleaflet/src/map/handler/Map.WOPI.js
+++ b/loleaflet/src/map/handler/Map.WOPI.js
@@ -10,6 +10,7 @@ L.Map.WOPI = L.Handler.extend({
        // wouldn't be possible otherwise.
        PostMessageOrigin: '*',
        BaseFileName: '',
+       BreadcrumbDocName: '',
        DocumentLoadedTime: false,
        HidePrintOption: false,
        HideSaveOption: false,
@@ -76,6 +77,9 @@ L.Map.WOPI = L.Handler.extend({
                }
 
                this.BaseFileName = wopiInfo['BaseFileName'];
+               this.BreadcrumbDocName = wopiInfo['BreadcrumbDocName'];
+               if (this.BreadcrumbDocName === undefined)
+                       this.BreadcrumbDocName = this.BaseFileName;
                this.HidePrintOption = !!wopiInfo['HidePrintOption'];
                this.HideSaveOption = !!wopiInfo['HideSaveOption'];
                this.HideExportOption = !!wopiInfo['HideExportOption'];
diff --git a/wsd/DocumentBroker.cpp b/wsd/DocumentBroker.cpp
index 2c0ec41c2..086ad1699 100644
--- a/wsd/DocumentBroker.cpp
+++ b/wsd/DocumentBroker.cpp
@@ -663,6 +663,8 @@ bool DocumentBroker::load(const 
std::shared_ptr<ClientSession>& session, const s
             wopifileinfo->setHideExportOption(true);
 
         wopiInfo->set("BaseFileName", 
wopiStorage->getFileInfo().getFilename());
+        if (wopifileinfo->getBreadcrumbDocName().size())
+            wopiInfo->set("BreadcrumbDocName", 
wopifileinfo->getBreadcrumbDocName());
 
         if (!wopifileinfo->getTemplateSaveAs().empty())
             wopiInfo->set("TemplateSaveAs", wopifileinfo->getTemplateSaveAs());
diff --git a/wsd/Storage.cpp b/wsd/Storage.cpp
index a27240bf1..3acbccbc4 100644
--- a/wsd/Storage.cpp
+++ b/wsd/Storage.cpp
@@ -613,6 +613,7 @@ std::unique_ptr<WopiStorage::WOPIFileInfo> 
WopiStorage::getWOPIFileInfo(const Au
     std::string watermarkText;
     std::string templateSaveAs;
     std::string templateSource;
+    std::string breadcrumbDocName;
     bool canWrite = false;
     bool enableOwnerTermination = false;
     std::string postMessageOrigin;
@@ -719,6 +720,7 @@ std::unique_ptr<WopiStorage::WOPIFileInfo> 
WopiStorage::getWOPIFileInfo(const Au
         JsonUtil::findJSONValue(object, "SupportsLocks", supportsLocks);
         JsonUtil::findJSONValue(object, "SupportsRename", supportsRename);
         JsonUtil::findJSONValue(object, "UserCanRename", userCanRename);
+        JsonUtil::findJSONValue(object, "BreadcrumbDocName", 
breadcrumbDocName);
         bool booleanFlag = false;
         if (JsonUtil::findJSONValue(object, "DisableChangeTrackingRecord", 
booleanFlag))
             disableChangeTrackingRecord = (booleanFlag ? 
WOPIFileInfo::TriState::True : WOPIFileInfo::TriState::False);
@@ -750,7 +752,7 @@ std::unique_ptr<WopiStorage::WOPIFileInfo> 
WopiStorage::getWOPIFileInfo(const Au
         watermarkText = overrideWatermarks;
 
     return std::unique_ptr<WopiStorage::WOPIFileInfo>(new WOPIFileInfo(
-        {userId, obfuscatedUserId, userName, userExtraInfo, watermarkText, 
templateSaveAs, templateSource,
+        {userId, obfuscatedUserId, userName, userExtraInfo, watermarkText, 
templateSaveAs, templateSource, breadcrumbDocName,
          canWrite, postMessageOrigin, hidePrintOption, hideSaveOption, 
hideExportOption,
          enableOwnerTermination, disablePrint, disableExport, disableCopy,
          disableInactiveMessages, downloadAsPostMessage, 
userCanNotWriteRelative, enableInsertRemoteImage, enableShare,
diff --git a/wsd/Storage.hpp b/wsd/Storage.hpp
index e5ea41101..e8795ab85 100644
--- a/wsd/Storage.hpp
+++ b/wsd/Storage.hpp
@@ -381,6 +381,7 @@ public:
                      const std::string& watermarkText,
                      const std::string& templateSaveAs,
                      const std::string& templateSource,
+                     const std::string& breadcrumbDocName,
                      const bool userCanWrite,
                      const std::string& postMessageOrigin,
                      const bool hidePrintOption,
@@ -409,6 +410,7 @@ public:
               _watermarkText(watermarkText),
               _templateSaveAs(templateSaveAs),
               _templateSource(templateSource),
+              _breadcrumbDocName(breadcrumbDocName),
               _userCanWrite(userCanWrite),
               _postMessageOrigin(postMessageOrigin),
               _hidePrintOption(hidePrintOption),
@@ -447,6 +449,8 @@ public:
 
         const std::string& getTemplateSource() const { return _templateSource; 
}
 
+        const std::string& getBreadcrumbDocName() const { return 
_breadcrumbDocName; }
+
         bool getUserCanWrite() const { return _userCanWrite; }
 
         std::string& getPostMessageOrigin() { return _postMessageOrigin; }
@@ -510,6 +514,8 @@ public:
         std::string _templateSaveAs;
         /// In case we want to use this file as a template.
         std::string _templateSource;
+        /// User readable string of document name to show in UI, if present.
+        std::string _breadcrumbDocName;
         /// If user accessing the file has write permission
         bool _userCanWrite;
         /// WOPI Post message property
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to