loleaflet/src/control/Control.Menubar.js | 5 +++-- wsd/LOOLWSD.cpp | 12 ++++++++---- 2 files changed, 11 insertions(+), 6 deletions(-)
New commits: commit 1c13d5523f71b1b49ae37533d95b507934253baf Author: Jan Holesovsky <[email protected]> Date: Fri May 5 18:23:20 2017 +0200 Implement File -> Download As -> Plain text (.txt). Change-Id: I446f73a3110312cbaab1ce1053aee854b421e71c diff --git a/loleaflet/src/control/Control.Menubar.js b/loleaflet/src/control/Control.Menubar.js index 89048a3b..d77bd6a8 100644 --- a/loleaflet/src/control/Control.Menubar.js +++ b/loleaflet/src/control/Control.Menubar.js @@ -15,7 +15,8 @@ L.Control.Menubar = L.Control.extend({ {name: _('PDF Document (.pdf)'), id: 'downloadas-pdf', type: 'action'}, {name: _('ODF text document (.odt)'), id: 'downloadas-odt', type: 'action'}, {name: _('Microsoft Word 2003 (.doc)'), id: 'downloadas-doc', type: 'action'}, - {name: _('Microsoft Word (.docx)'), id: 'downloadas-docx', type: 'action'}]}] + {name: _('Microsoft Word (.docx)'), id: 'downloadas-docx', type: 'action'}, + {name: _('Plain text (.txt)'), id: 'downloadas-txt', type: 'action'}]}] }, {name: _('Edit'), type: 'menu', menu: [ {name: _('Repair'), id: 'repair', type: 'action'}, @@ -283,7 +284,7 @@ L.Control.Menubar = L.Control.extend({ allowedReadonlyMenus: ['file', 'downloadas', 'view', 'help'], allowedViewModeActions: [ - 'downloadas-pdf', 'downloadas-odt', 'downloadas-doc', 'downloadas-docx', // file menu + 'downloadas-pdf', 'downloadas-odt', 'downloadas-doc', 'downloadas-docx', 'downloadas-txt', // file menu 'downloadas-odp', 'downloadas-ppt', 'downloadas-pptx', // file menu 'downloadas-ods', 'downloadas-xls', 'downloadas-xlsx', // file menu 'fullscreen', 'zoomin', 'zoomout', 'zoomreset', // view menu diff --git a/wsd/LOOLWSD.cpp b/wsd/LOOLWSD.cpp index 89676207..82126289 100644 --- a/wsd/LOOLWSD.cpp +++ b/wsd/LOOLWSD.cpp @@ -1793,7 +1793,13 @@ private: static std::string getContentType(const std::string& fileName) { - const std::string nodePath = Poco::format("//[@ext='%s']", Poco::Path(fileName).getExtension()); + const std::string extension = Poco::Path(fileName).getExtension(); + + // TODO discovery.xml missing application/pdf + if (extension == "pdf") + return "application/pdf"; + + const std::string nodePath = Poco::format("//[@ext='%s']", extension); std::string discPath = Path(Application::instance().commandPath()).parent().toString() + "discovery.xml"; if (!File(discPath).exists()) { @@ -1803,7 +1809,6 @@ private: InputSource input(discPath); DOMParser domParser; AutoPtr<Poco::XML::Document> doc = domParser.parse(&input); - // TODO. discovery.xml missing application/pdf Node* node = doc->getNodeByPath(nodePath); if (node && (node = node->parentNode()) && node->hasAttributes()) { @@ -1994,9 +1999,8 @@ private: if (filePath.isAbsolute() && File(filePath).exists()) { std::string contentType = getContentType(fileName); - if (Poco::Path(fileName).getExtension() == "pdf") + if (contentType == "application/pdf" || contentType == "text/plain") { - contentType = "application/pdf"; response.set("Content-Disposition", "attachment; filename=\"" + fileName + "\""); } _______________________________________________ Libreoffice-commits mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
