You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/app-office/libreoffice/files/libreoffice-4.4.4.3-improve...

194 lines
5.6 KiB

Merged upstream commits:
6fc55b9abd783b624241d56e34751ea495adbd7d "KDE4: actually apply file dialog operation mode"
b613270a730ace29dd1b16b29be2222b34f34a5d "KDE4: improve default load and save dialog titles"
2b999dd6da5a90db66afe852a007fab8c62ffaec "vcl: kde4: loplugin:staticmethods"
3e8c14df67a43d3088ed7df0a2b0d96a4bc42d57 "tdf#92353 FileSave: Not confirmed for overwrite a file (unix)"
diff -u b/vcl/unx/kde4/KDE4FilePicker.cxx b/vcl/unx/kde4/KDE4FilePicker.cxx
--- b/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 @@
KDE4FilePicker::KDE4FilePicker( const uno::Reference<uno::XComponentContext>& )
: KDE4FilePicker_Base(_helperMutex)
- , _resMgr( ResMgr::CreateResMgr("fps_office") )
, allowRemoteUrls( false )
{
_extraControls = new QWidget();
@@ -128,8 +129,6 @@
#endif
setMultiSelectionMode( false );
- //default mode
- _dialog->setOperationMode(KFileDialog::Opening);
// XExecutableDialog functions
connect( this, SIGNAL( setTitleSignal( const OUString & ) ),
@@ -202,7 +201,6 @@
SalYieldMutexReleaser aReleaser;
return Q_EMIT cleanupProxySignal();
}
- delete _resMgr;
delete _dialog;
}
@@ -524,6 +522,24 @@
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;
@@ -532,37 +548,37 @@
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:
@@ -581,16 +597,7 @@
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,8 +726,23 @@
1 );
}
- _dialog->setOperationMode(operationMode);
- _dialog->setConfirmOverwrite(true);
+ _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;
+ _dialog->setConfirmOverwrite( true );
+ break;
+ default:
+ break;
+ }
+
+ _dialog->setCaption(getResString(resId));
}
void SAL_CALL KDE4FilePicker::cancel()
diff -u b/vcl/unx/kde4/KDE4FilePicker.hxx b/vcl/unx/kde4/KDE4FilePicker.hxx
--- b/vcl/unx/kde4/KDE4FilePicker.hxx
+++ b/vcl/unx/kde4/KDE4FilePicker.hxx
@@ -41,8 +41,6 @@
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 @@
::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 @@
//add a custom control widget to the file dialog
void addCustomControl(sal_Int16 controlId);
+ static QString getResString( sal_Int16 aRedId );
+
private Q_SLOTS:
void cleanupProxy();
void checkProtocol();