diff options
author | Jan-Marek Glogowski <glogow@fbihome.de> | 2015-02-23 12:56:25 +0100 |
---|---|---|
committer | Jan-Marek Glogowski <glogow@fbihome.de> | 2015-02-23 14:24:23 +0100 |
commit | b613270a730ace29dd1b16b29be2222b34f34a5d (patch) | |
tree | 0fb8a33c8669acff2fd9709511a6333ebd2428c4 /vcl | |
parent | 6fc55b9abd783b624241d56e34751ea495adbd7d (diff) |
KDE4: improve default load and save dialog titles
Switches from STR_SVT_FILEPICKER_ to STR_FPICKER_ resource IDs and
uses the default resource manager (ImplGetResMgr).
The STR_FPICKER_ IDs contain default translated titles for the open
and save dialogs, which KDE4 dialogs are currently missing.
Actually I want 'Save as' instead of 'Save'... but it's better
then the current - empty - default.
Change-Id: Ia43774ea66a96838f53cf6614a264d9c6a94c501
Diffstat (limited to 'vcl')
-rw-r--r-- | vcl/unx/kde4/KDE4FilePicker.cxx | 70 | ||||
-rw-r--r-- | vcl/unx/kde4/KDE4FilePicker.hxx | 6 |
2 files changed, 49 insertions, 27 deletions
diff --git a/vcl/unx/kde4/KDE4FilePicker.cxx b/vcl/unx/kde4/KDE4FilePicker.cxx index eb820741716f..ac21f81cd93c 100644 --- a/vcl/unx/kde4/KDE4FilePicker.cxx +++ b/vcl/unx/kde4/KDE4FilePicker.cxx @@ -58,6 +58,8 @@ #include "generic/geninst.h" +#include "svids.hrc" + using namespace ::com::sun::star; using namespace ::com::sun::star::ui::dialogs; using namespace ::com::sun::star::ui::dialogs::TemplateDescription; @@ -109,7 +111,6 @@ QString toQString(const OUString& s) KDE4FilePicker::KDE4FilePicker( const uno::Reference<uno::XComponentContext>& ) : KDE4FilePicker_Base(_helperMutex) - , _resMgr( ResMgr::CreateResMgr("fps_office") ) , allowRemoteUrls( false ) { _extraControls = new QWidget(); @@ -201,7 +202,6 @@ void KDE4FilePicker::cleanupProxy() SalYieldMutexReleaser aReleaser; return Q_EMIT cleanupProxySignal(); } - delete _resMgr; delete _dialog; } @@ -523,6 +523,24 @@ OUString SAL_CALL KDE4FilePicker::getLabel(sal_Int16 controlId) return toOUString(label); } +QString KDE4FilePicker::getResString( sal_Int16 aRedId ) +{ + QString aResString; + + if( aRedId < 0 ) + return aResString; + + try + { + aResString = toQString(ResId(aRedId, *ImplGetResMgr()).toString()); + } + catch(...) + { + } + + return aResString.replace('~', '&'); +} + void KDE4FilePicker::addCustomControl(sal_Int16 controlId) { QWidget* widget = 0; @@ -531,37 +549,37 @@ void KDE4FilePicker::addCustomControl(sal_Int16 controlId) switch (controlId) { case CHECKBOX_AUTOEXTENSION: - resId = STR_SVT_FILEPICKER_AUTO_EXTENSION; + resId = STR_FPICKER_AUTO_EXTENSION; break; case CHECKBOX_PASSWORD: - resId = STR_SVT_FILEPICKER_PASSWORD; + resId = STR_FPICKER_PASSWORD; break; case CHECKBOX_FILTEROPTIONS: - resId = STR_SVT_FILEPICKER_FILTER_OPTIONS; + resId = STR_FPICKER_FILTER_OPTIONS; break; case CHECKBOX_READONLY: - resId = STR_SVT_FILEPICKER_READONLY; + resId = STR_FPICKER_READONLY; break; case CHECKBOX_LINK: - resId = STR_SVT_FILEPICKER_INSERT_AS_LINK; + resId = STR_FPICKER_INSERT_AS_LINK; break; case CHECKBOX_PREVIEW: - resId = STR_SVT_FILEPICKER_SHOW_PREVIEW; + resId = STR_FPICKER_SHOW_PREVIEW; break; case CHECKBOX_SELECTION: - resId = STR_SVT_FILEPICKER_SELECTION; + resId = STR_FPICKER_SELECTION; break; case PUSHBUTTON_PLAY: - resId = STR_SVT_FILEPICKER_PLAY; + resId = STR_FPICKER_PLAY; break; case LISTBOX_VERSION: - resId = STR_SVT_FILEPICKER_VERSION; + resId = STR_FPICKER_VERSION; break; case LISTBOX_TEMPLATE: - resId = STR_SVT_FILEPICKER_TEMPLATES; + resId = STR_FPICKER_TEMPLATES; break; case LISTBOX_IMAGE_TEMPLATE: - resId = STR_SVT_FILEPICKER_IMAGE_TEMPLATE; + resId = STR_FPICKER_IMAGE_TEMPLATE; break; case LISTBOX_VERSION_LABEL: case LISTBOX_TEMPLATE_LABEL: @@ -580,16 +598,7 @@ void KDE4FilePicker::addCustomControl(sal_Int16 controlId) case CHECKBOX_PREVIEW: case CHECKBOX_SELECTION: { - QString label; - - if (_resMgr && resId != -1) - { - OUString s(ResId(resId, *_resMgr).toString()); - label = toQString(s); - label.replace("~", "&"); - } - - widget = new QCheckBox(label, _extraControls); + widget = new QCheckBox(getResString(resId), _extraControls); // the checkbox is created even for CHECKBOX_AUTOEXTENSION to simplify // code, but the checkbox is hidden and ignored @@ -719,6 +728,21 @@ void SAL_CALL KDE4FilePicker::initialize( const uno::Sequence<uno::Any> &args ) } _dialog->setOperationMode( operationMode ); + + sal_Int16 resId = -1; + switch (_dialog->operationMode()) + { + case KFileDialog::Opening: + resId = STR_FPICKER_OPEN; + break; + case KFileDialog::Saving: + resId = STR_FPICKER_SAVE; + break; + default: + break; + } + + _dialog->setCaption(getResString(resId)); } void SAL_CALL KDE4FilePicker::cancel() diff --git a/vcl/unx/kde4/KDE4FilePicker.hxx b/vcl/unx/kde4/KDE4FilePicker.hxx index 5292a3eb55e4..2159e541fa40 100644 --- a/vcl/unx/kde4/KDE4FilePicker.hxx +++ b/vcl/unx/kde4/KDE4FilePicker.hxx @@ -41,8 +41,6 @@ class KFileDialog; class QWidget; class QLayout; -class ResMgr; - typedef ::cppu::WeakComponentImplHelper5 < ::com::sun::star::ui::dialogs::XFilePicker2 , ::com::sun::star::ui::dialogs::XFilePicker3 @@ -61,8 +59,6 @@ protected: ::com::sun::star::uno::Reference< ::com::sun::star::ui::dialogs::XFilePickerListener > m_xListener; - ResMgr *_resMgr; - //the dialog to display KFileDialog* _dialog; @@ -225,6 +221,8 @@ private: //add a custom control widget to the file dialog void addCustomControl(sal_Int16 controlId); + QString getResString( sal_Int16 aRedId ); + private Q_SLOTS: void cleanupProxy(); void checkProtocol(); |