[Libreoffice-commits] core.git: 2 commits - vcl/unx

Jan-Marek Glogowski glogow at fbihome.de
Mon Feb 23 05:30:42 PST 2015


 vcl/unx/kde4/KDE4FilePicker.cxx |   76 +++++++++++++++++++++++++---------------
 vcl/unx/kde4/KDE4FilePicker.hxx |    6 +--
 2 files changed, 51 insertions(+), 31 deletions(-)

New commits:
commit b613270a730ace29dd1b16b29be2222b34f34a5d
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date:   Mon Feb 23 12:56:25 2015 +0100

    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

diff --git a/vcl/unx/kde4/KDE4FilePicker.cxx b/vcl/unx/kde4/KDE4FilePicker.cxx
index eb82074..ac21f81 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 5292a3e..2159e54 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();
commit 6fc55b9abd783b624241d56e34751ea495adbd7d
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date:   Mon Feb 23 11:27:03 2015 +0100

    KDE4: actually apply file dialog operation mode
    
    The operationMode can just be set once after the dialog has been
    created. So this moves the call into the initialize function, which
    actually knows the dialog type, in comparison to the constructor.
    
    The "default" constructor setting, resulted in the missing
    "New folder" icon and probably other settings, as all dialogs were
    actually "Opening" dialogs.
    
    Change-Id: I470052e7c7cbb8e369e226a81b80de3728068c49

diff --git a/vcl/unx/kde4/KDE4FilePicker.cxx b/vcl/unx/kde4/KDE4FilePicker.cxx
index df236c2..eb82074 100644
--- a/vcl/unx/kde4/KDE4FilePicker.cxx
+++ b/vcl/unx/kde4/KDE4FilePicker.cxx
@@ -128,8 +128,7 @@ KDE4FilePicker::KDE4FilePicker( const uno::Reference<uno::XComponentContext>& )
 #endif
 
     setMultiSelectionMode( false );
-    //default mode
-    _dialog->setOperationMode(KFileDialog::Opening);
+    _dialog->setConfirmOverwrite( true );
 
     // XExecutableDialog functions
     connect( this, SIGNAL( setTitleSignal( const OUString & ) ),
@@ -719,8 +718,7 @@ void SAL_CALL KDE4FilePicker::initialize( const uno::Sequence<uno::Any> &args )
                     1 );
     }
 
-    _dialog->setOperationMode(operationMode);
-    _dialog->setConfirmOverwrite(true);
+    _dialog->setOperationMode( operationMode );
 }
 
 void SAL_CALL KDE4FilePicker::cancel()


More information about the Libreoffice-commits mailing list