sdext/source/minimizer/optimizerdialog.cxx | 32 +++++++++++++++++++---------- 1 file changed, 22 insertions(+), 10 deletions(-)
New commits: commit 16d12d50c2bfd924d2a7e6946896526a15a150d4 Author: Vasily Melenchuk <vasily.melenc...@cib.de> AuthorDate: Fri Nov 23 12:55:02 2018 +0300 Commit: Thorsten Behrens <thorsten.behr...@cib.de> CommitDate: Mon Dec 3 23:47:30 2018 +0100 presentation minimizer: suggest filename for a new presentation If presentation was never saved suggested filename was empty. Right now it will show filename like "Untitled 1 (minimized)". Change-Id: I0077e6c9f2e86665f9de6d41fa434fd21167c779 Reviewed-on: https://gerrit.libreoffice.org/63876 Tested-by: Jenkins Reviewed-by: Thorsten Behrens <thorsten.behr...@cib.de> diff --git a/sdext/source/minimizer/optimizerdialog.cxx b/sdext/source/minimizer/optimizerdialog.cxx index f7aa8cb9564e..717f06a08340 100644 --- a/sdext/source/minimizer/optimizerdialog.cxx +++ b/sdext/source/minimizer/optimizerdialog.cxx @@ -22,6 +22,7 @@ #include "impoptimizer.hxx" #include "fileopendialog.hxx" #include <com/sun/star/frame/XStorable.hpp> +#include <com/sun/star/frame/XTitle.hpp> #include <com/sun/star/ui/dialogs/ExecutableDialogResults.hpp> #include <com/sun/star/ucb/XSimpleFileAccess.hpp> #include <com/sun/star/io/XInputStream.hpp> @@ -501,24 +502,35 @@ void ActionListener::actionPerformed( const ActionEvent& rEvent ) FileOpenDialog aFileOpenDialog( mrOptimizerDialog.GetComponentContext() ); // generating default file name + OUString aName; Reference< XStorable > xStorable( mrOptimizerDialog.mxController->getModel(), UNO_QUERY ); if ( xStorable.is() && xStorable->hasLocation() ) { INetURLObject aURLObj( xStorable->getLocation() ); - if ( !aURLObj.hasFinalSlash() ) { + if ( !aURLObj.hasFinalSlash() ) + { // tdf#105382 uri-decode file name aURLObj.removeExtension(INetURLObject::LAST_SEGMENT, false); - auto aName( aURLObj.getName( INetURLObject::LAST_SEGMENT, - false, - INetURLObject::DecodeMechanism::WithCharset ) ); - // Add "(minimized)" - aName += " "; - aName += mrOptimizerDialog.getString(STR_FILENAME_SUFFIX); - aFileOpenDialog.setDefaultName( aName ); + aName = aURLObj.getName(INetURLObject::LAST_SEGMENT, false, + INetURLObject::DecodeMechanism::WithCharset); } } - bool bDialogExecuted = aFileOpenDialog.execute() == dialogs::ExecutableDialogResults::OK; - if ( bDialogExecuted ) + else + { + // If no filename, try to use model title ("Untitled 1" or something like this) + Reference<XTitle> xTitle( + mrOptimizerDialog.GetFrame()->getController()->getModel(), UNO_QUERY); + aName = xTitle->getTitle(); + } + + if (!aName.isEmpty()) + { + aName += " "; + aName += mrOptimizerDialog.getString(STR_FILENAME_SUFFIX); + aFileOpenDialog.setDefaultName(aName); + } + + if (aFileOpenDialog.execute() == dialogs::ExecutableDialogResults::OK) { aSaveAsURL = aFileOpenDialog.getURL(); mrOptimizerDialog.SetConfigProperty( TK_SaveAsURL, Any( aSaveAsURL ) ); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits