Author: tommaso
Date: Sat Oct 15 15:32:14 2011
New Revision: 39863
URL: http://www.lyx.org/trac/changeset/39863

Log:
Take Vincent's advice: using a pointer for selectedFilter
avoids a useless object creation, as Qt tolerates the
pointer to be null as well.

Modified:
   lyx-devel/trunk/src/frontends/qt4/FileDialog.cpp
   lyx-devel/trunk/src/frontends/qt4/FileDialog.h

Modified: lyx-devel/trunk/src/frontends/qt4/FileDialog.cpp
==============================================================================
--- lyx-devel/trunk/src/frontends/qt4/FileDialog.cpp    Sat Oct 15 15:27:00 
2011        (r39862)
+++ lyx-devel/trunk/src/frontends/qt4/FileDialog.cpp    Sat Oct 15 15:32:14 
2011        (r39863)
@@ -82,7 +82,7 @@
 
 FileDialog::Result FileDialog::save(QString const & path,
        QStringList const & filters, QString const & suggested,
-       QString & selectedFilter)
+       QString * selectedFilter)
 {
        LYXERR(Debug::GUI, "Select with path \"" << path
                           << "\", mask \"" << filters.join(";;")
@@ -95,8 +95,8 @@
        QString const startsWith = makeAbsPath(suggested, path);
        QString const name = 
                QFileDialog::getSaveFileName(qApp->focusWidget(),
-            title_, startsWith, filters.join(";;"),
-                        &selectedFilter, QFileDialog::DontConfirmOverwrite);
+               title_, startsWith, filters.join(";;"),
+               selectedFilter, QFileDialog::DontConfirmOverwrite);
        if (name.isNull())
                result.first = FileDialog::Later;
        else
@@ -119,7 +119,8 @@
                result.second = internalPath(dlg.selectedFiles()[0]);
        else
                result.first = FileDialog::Later;
-       selectedFilter = dlg.selectedNameFilter();
+       if (selectedFilter != 0)
+               *selectedFilter = dlg.selectedNameFilter();
        dlg.hide();
 #endif
        return result;
@@ -129,8 +130,7 @@
 FileDialog::Result FileDialog::save(QString const & path,
        QStringList const & filters, QString const & suggested)
 {
-       QString selectedFilter;
-       return save(path, filters, suggested, selectedFilter);
+       return save(path, filters, suggested, 0);
 }
 
 

Modified: lyx-devel/trunk/src/frontends/qt4/FileDialog.h
==============================================================================
--- lyx-devel/trunk/src/frontends/qt4/FileDialog.h      Sat Oct 15 15:27:00 
2011        (r39862)
+++ lyx-devel/trunk/src/frontends/qt4/FileDialog.h      Sat Oct 15 15:32:14 
2011        (r39863)
@@ -70,9 +70,10 @@
        Result save(QString const & path, QStringList const & filters,
                          QString const & suggested = QString());
 
-       /// Also retrieve the selected filter.
+       /// Also retrieve the selected filter (selectedFilter can be 0 if
+       /// that output is not needed).
        Result save(QString const & path, QStringList const & filters,
-                   QString const & suggested, QString & selectedFilter);
+                   QString const & suggested, QString *selectedFilter);
 
 private:
        class Private;

Reply via email to