summaryrefslogtreecommitdiffstats
path: root/src/widgets/dialogs/qfiledialog.cpp
Commit message (Collapse)AuthorAgeFilesLines
* QFileDialog::setDirectory() and directory() should be symmetricShawn Rutledge2014-01-061-1/+5
| | | | | | | | | | | | QFileDialog::setDirectory() calls options->setInitialDirectory(). Then QFileDialogPrivate::helperPrepareShow() calls it again with the result of QFileDialog::directory(). Assuming there are cases where that's actually necessary, we need QFileDialog::directory() to return the same one which was previously set in setDirectory(). Task-number: QTBUG-35779 Change-Id: Iac1f88c770ff1ef06a7f884f9a42d72674c967ba Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Android native message dialogBogDan Vatra2013-11-091-2/+2
| | | | | Change-Id: Ief8c3ce3b8683c6960f046245844c1835a327d51 Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* Fix QFileDialog::getSaveFilename() with a given default nameShawn Rutledge2013-11-081-9/+10
| | | | | | | | | | The QFileDialogOptions::initiallySelectedFiles were overridden, and the given filename was also not properly converted to a local file URL. Task-number: QTBUG-34408 Task-number: QTBUG-34446 Change-Id: I51d05b954a5393d10db9232945ba05bda7068e73 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* QFileDialog: document the consequences of being "widgetless"Shawn Rutledge2013-10-311-1/+9
| | | | | | | | | After 37ca2224eca671200a2710f57f970d2993e62aa5 it's an exposed behavior change that the widgets and related paraphernalia don't exist. Task-number: QTBUG-34100 Change-Id: Ie0ebcb8c5c5668b6c12c5447f25bfbfd893dec6c Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* QFileDialog: don't create widgets if the platform dialog will be usedShawn Rutledge2013-10-151-78/+188
| | | | | | | | | | | This is a performance and memory optimization which also fixes bugs that are related to creating widgets, file system models etc. despite using platform native dialogs. Similar to 785bc64f8e743ac269f15cbe7fecba93d3d507ac for QColorDialog. Task-number: QTBUG-33039 Change-Id: Ia1aa7ec1f43b47006b9ebd377aed15c958538a17 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Doc: Adding mark-up to boolean default values.Jerome Pasion2013-10-081-4/+4
| | | | | | | | | | | | | | | | | Default values should have mark-up to denote that they are code. This commit changes: -"property is true" to "property is \c true". -"Returns true" to "Returns \c true". -"property is false" to "property is \c false". -"returns true" to "returns \c true". -"returns false" to "returns \c false". src/3rdparty and non-documentation instances were ignored. Task-number: QTBUG-33360 Change-Id: Ie87eaa57af947caa1230602b61c5c46292a4cf4e Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* QFileDialog: add MIME Type filtersDavid Faure2013-08-291-0/+70
| | | | | | | | | | | | | | Currently just a convenience method for setNameFilters(), it uses QMimeType to create a name filter from the glob patterns and description defined in each MIME type. In the longer term, this API could be used to do proper mimetype-based filtering using QMimeDatabase::mimeTypeForFile() in the builtin QFileDialog (aka "not native"), instead of only looking at globs via the name filters. Change-Id: I0edccf5f30c514481b47cd100d743d1ed7a24024 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
* Add QUrl based API to QFileDialogKevin Ottens2013-07-181-6/+127
| | | | | Change-Id: Iaf4f8e57e8df956dec9105eb00c193645f2db098 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
* Have QFileDialog use QUrl internallyKevin Ottens2013-07-181-19/+64
| | | | | | | | | | | | When using the native dialog and through the helper, we use QUrl in QFileDialog. It is preparatory work for having QUrl based methods on QFileDialog interface itself. Done-with: sean.harmer@kdab.com Done-with: faure@kde.org Change-Id: I61e99d498252241f38ec05724702a90ba050c4bb Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Silently strip leading dot off QFileDialog default suffixes.Friedemann Kleint2013-05-211-0/+2
| | | | | | Change-Id: Ie41fafe8c2ce7e8ac8dd595ca3809c1da3b386f4 Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* Windows: Introduce QFileDialog::DontUseCustomDirectoryIconsSérgio Martins2013-05-091-0/+14
| | | | | | | | | | | | | | | Folders can have a custom icon, set by the user. Some system folders also have one, for example c:\windows\fonts. This option allows you to disable this behavior, you'll get the folder directory icon. As a side-effect, you'll get a very big performance improvement on removable/network media: 2 seconds vs 60 seconds on a SDCard with 10000 folders. Change-Id: Id55ea628186e0a6523585ec7a4ff622d6f5da505 Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* Add QUrl based static methods to QFileDialogKevin Ottens2013-04-291-0/+185
| | | | | | | | | | | | | | | With QUrl variants of the static methods, it is possible to get to use VFS facilities of the platform if available. Since we can't predict if the application will use the VFS available in the platform or its own mechanisms, an extra parameter is provided to restrict the protocols allowed to the user. This extra parameter defaults to no restriction, which is the most convenient if the platform file dialog and the application use a matching VFS. It's likely to be the most common use. Change-Id: I4c9effde9d194d226cd8b7a140eb9036187ba87b Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Fix license headers stating QtGui for QtWidgets files.Jake Petroules2013-03-191-1/+1
| | | | | Change-Id: I0ca49e3e1f9f603f0b0f7f3553e854b871efe303 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-03-051-1/+5
|\ | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: configure qmake/generators/mac/pbuilder_pbx.cpp src/corelib/kernel/qtimerinfo_unix.cpp src/plugins/platforms/cocoa/qcocoabackingstore.mm src/plugins/platforms/cocoa/qcocoawindow.mm src/plugins/platforms/windows/qwindowswindow.cpp src/plugins/platforms/xcb/qglxintegration.cpp Change-Id: I8d125fe498f5304874e6976b53f588d3e98a66ac
| * Fix multiselection by CTRL-click in QFileDialog/KDE.Friedemann Kleint2013-02-201-1/+5
| | | | | | | | | | | | | | | | Task-number: QTBUG-29257 Change-Id: Idfac80e855455a4537dd38a23136762cd9398e15 Reviewed-by: David Faure (KDE) <faure@kde.org> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-02-181-0/+7
|\| | | | | | | | | | | | | Conflicts: src/widgets/styles/qmacstyle_mac.mm Change-Id: If8326db9e7da3cbf45dbf7475fdff9915c7723b1
| * Track last visited directory for native file dialogs as well.Friedemann Kleint2013-02-151-0/+7
| | | | | | | | | | | | | | | | Task-number: QTBUG-28855 Change-Id: Ia7af8540d2a453dfeabd700f44c282c48a239834 Reviewed-by: Oliver Wolff <oliver.wolff@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | Merge "Merge remote-tracking branch 'origin/stable' into dev" into ↵Frederik Gladhorn2013-01-231-1/+1
|\| | | | | | | refs/staging/dev
| * Update copyright year in Digia's license headersSergio Ahumada2013-01-181-1/+1
| | | | | | | | | | Change-Id: Ic804938fc352291d011800d21e549c10acac66fb Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | Use QDir::homePath() for tilde expansionPasi Petäjäjärvi2013-01-231-1/+3
|/ | | | | | | | | VxWorks does not have concept of users and therefore has no function getpwnam. Use QDir::homePath() which returns actually QDir::rootPath() if there is no HOME env variable set. Change-Id: I15fe15862c4491b56cfa13bbdb218ef00dfd1f15 Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Stop using the name "Trolltech" in QSettingsSergio Ahumada2012-12-031-2/+2
| | | | | | | | | Also change Trolltech for QtProject in other places Task-number: QTBUG-23269 Change-Id: Ie4e344f23cab77c575562d18b481b3369ce30491 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Made QWindowsStyle internalJ-P Nurmi2012-11-301-1/+1
| | | | | | | | | | | | | | | We will take this opportunity to remove various QStyle specializations from the public API in Qt5. This gives us much more freedom, for example changing the inheritance hierarchy, pluginizing etc. without worrying about BC. => Use QStyleFactory and/or QProxyStyle instead of creating an instance or inheriting QWindowsStyle directly. Change-Id: Ic17c7e425535bc5bb3a08620e9059bb0aea5185e Reviewed-by: Andras Becsi <andras.becsi@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
* Made QMacStyle internalJ-P Nurmi2012-11-231-1/+1
| | | | | | | | | | | | | We will take this opportynity to remove various QStyle specializations from the public API in Qt5. This gives us much more freedom, for example changing the inheritance hierarchy, pluginizing etc. without worrying about BC. => Use QStyleFactory and/or QProxyStyle instead of creating an instance or inheriting QMacStyle directly. Change-Id: I44a2f5ee3fe08ecc837b593a2a2737eb90e8c267 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* QFileDialog: Do not pass on file model root to QFileDialogOptions.Friedemann Kleint2012-11-021-13/+25
| | | | | | | | | | | | QFileDialog::selectedFiles() defaults to file model root for 'AnyFile', which confuses native dialogs since selectedFiles == directory in that case. Split up QFileDialog::selectedFiles() and skip the default when initializing QFileDialogOptions for native dialogs. Change-Id: I65cda182df8b1748159058fc361c10d97f5650ce Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Fix a crash in QFileDialog when selecting an invalid name filter.Friedemann Kleint2012-10-261-5/+7
| | | | | | | | | | | When nameDetailsVisible is set to false and an invalid/empty string is passed to selectNameFilter(), the regexp used to strip the filter off the suffixes returns empty and a crash occurs. Change-Id: I926ea49514ff25a103977d8121fca1cf83d647f5 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QFileSystemModel: fix permission manglingMarc Mutz2012-09-261-2/+3
| | | | | | | | | | | | | | | | | | | The old code masked out write flags before returning permissions from permissions() or data(FilePermissions) in order to force QFileDialog to disable the rename and delete actions. This was to fix Task 143519, but introduced QTBUG-20503. Instead, revert to the pre-143519-bugfix code and do the necessary check in QFileDialog directly. Also add a testcase for 143519. Reported-by: Gilles Pascual Task-number: QTBUG-20503 Task-number: 143519 Change-Id: I140109341c0ed40722e3aac4327c2a740fb014c2 Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
* Change copyrights from Nokia to DigiaIikka Eklund2012-09-221-24/+24
| | | | | | | | Change copyrights and license headers from Nokia to Digia Change-Id: If1cc974286d29fd01ec6c19dd4719a67f4c3f00e Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
* Use QStringList::join(QChar) overload where applicable [QtWidgets]Marc Mutz2012-09-071-1/+1
| | | | | | | | | | | This is an automated change performing the following replacements: join\("(.)"\) -> join('\1') join\(QLatin1String\("(.)"\)\) -> join(QLatin1Char('\1')) join\(QStringLiteral\("(.)"\)\) -> join(QLatin1Char('\1')) Change-Id: Ia30048e0c40967dc86a4e4ad26ac02ab67519096 Reviewed-by: João Abecasis <joao.abecasis@nokia.com> Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* Use true and false in preference to TRUE and FALSESergio Ahumada2012-09-051-1/+1
| | | | | | | | The TRUE and FALSE macros are obsolete and should be replaced with true and false (all lower case) respectively. Change-Id: Iee352e8173500683e6319be0abbf5bacf29016e0 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Correct the QFileDialog's delete warning message.Mitch Curtis2012-09-041-3/+3
| | | | | | | | | | | "Are sure you want to delete '%1'?" should be: "Are you sure you want to delete '%1'?" Title of the message box should be Delete, not Open. Task-number: QTBUG-26851 Change-Id: I40933c5e1b231d3d2e3274b4d669267d26ba8cfc Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
* Remove dialogs doc related warningsGabriel de Dietrich2012-08-201-1/+1
| | | | | Change-Id: I79a771d18913237d894ca1a5aeaa07586106c645 Reviewed-by: J-P Nurmi <j-p.nurmi@nokia.com>
* QPA: Refactor QFileDialogPrivate::qt_clean_filter_list for QPASean Harmer2012-05-241-16/+2
| | | | | | | | | | Allows QFileDialog and QPA plugins to access this helper function. Needed by the Cocoa and QNX plugins. This commit fixes up the Cocoa plugin. The QNX support will be in a follow-up commit. Change-Id: I8dd08a9f3dc27d85edd0dc9dad9629406c1e677a Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* Merge "Merge branch 'docs-refactoring' into master" into refs/staging/masterMarius Storm-Olsen2012-05-101-14/+14
|\
| * Merge branch 'docs-refactoring' into masterMarius Storm-Olsen2012-05-101-14/+14
| |\ | | | | | | | | | Change-Id: Iebd1966abace3cdf7f9428dcfc1ded5b124ab113
| | * Doc: Modularize QtWidgets documentation.Casper van Donderen2012-05-091-14/+14
| | | | | | | | | | | | | | | | | | | | | | | | This change moves the snippets and images to the modularized directories. Change-Id: Idec1afb9db7ea6add1ca4cf25ec4019d8bce0c4d Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
* | | qpa: Remove QPlatformDialogHelper::deleteNativeDialog()Bradley T. Hughes2012-05-101-1/+1
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This function isn't really needed. The QDialogPrivate destructor deletes the platform helper, so the QDialog destructor does not need to do it. Subclasses of QPlatformDialogHelper are now responsible for deleting any native resources they create. The one place in QFileDialog that needs to recreate the native dialog can simply recreate the helper. QDialogPrivate::deleteNativeDialog() now becomes QDialogPrivate::deletePlatformHelper(), which resets all state to allow the platform helper to be recreated. Change-Id: I58adfe8801e02e63b3cb4a9a3a0b8cb5b3c7b161 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* / Don't leak native dialog resourcesBradley T. Hughes2012-05-091-5/+3
|/ | | | | | | | | | | | Have QDialog::~QDialog() call deleteNativeDialog_sys() on the helpers, so that we don't risk leaking any resources allocated in the helper. QFileDialog does this now, but not QColorDialog or QFontDialog. The Cocoa plugin worked around this problem by calling deleteNativeDialog_sys() itself, but the Windows plugin does not do this, resulting in leaks. Change-Id: I380d87c95686c8f3cb260f9242299be27329280d Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Remove the usage of deprecated qdoc macros.Casper van Donderen2012-03-021-1/+1
| | | | | | | | | | | QDoc now has support for Doxygen style commands for italics, bold and list items. This change applies that change in QDoc to the actual documentation. Task-number: QTBUG-24578 Change-Id: I519bf9c29b14092e3ab6067612f42bf749eeedf5 Reviewed-by: Shane Kearns <shane.kearns@accenture.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Ensure the header's context menu is in sync with the visible sectionsAndy Shaw2012-02-171-1/+12
| | | | | | | | | | | | When the filedialog was reshown the context menu for the header was not in sync with the sections that were actually visible. This ensures that it is in sync after the state of the header is restored. Task-number: QTBUG-23271 Change-Id: Ia1546bf300d43a5822482f63de99eb52b674bf52 Reviewed-by: Zeno Albisser <zeno.albisser@nokia.com> (cherry picked from commit 2e220e4603d6a0c21efee3a884be76e9f2d7ebb7)
* Replace Q_WS_WINCE against Q_OS_WINCE.Andreas Holzammer2012-02-091-1/+1
| | | | | | | | | | Window system Macros where deprecated so use Q_OS_WINCE for now. This code will need some refactoring, but this is the first step to it. Change-Id: I5876b80ee45d4b38ac63fc7d51e775dc70bbd485 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Use Q_OS_WINCE instead of Q_WS_WINCEAndreas Holzammer2012-02-071-1/+1
| | | | | | | | | Window system defines have been deprecated, so use Q_OS_WINCE instead. Change-Id: I52059d0f854fe783ac20610ab248800c3e1e827c Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Move QPlatformDialogs from QtWidgets to QtGui.Friedemann Kleint2012-02-011-1/+0
| | | | | | | | - Remove dependency of the Windows platform plugin on QtWidgets. Change-Id: Iceb876ba7df46b49966af0fc101816654eedb5c5 Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* Windows: Fix inclusion of <windows.h>Friedemann Kleint2012-02-011-2/+23
| | | | | | | | | | | | | - Always use <qt_windows.h> as the last file to be included. - Remove it from some headers, use Qt::HANDLE instead of HANDLE. - Clean up #ifdef, use Q_OS_WIN for Windows/Windows CE. - Add NOMINMAX to qt_windows.h to avoid problems with the min/max macros. - Remove <windows.h> from qplatformdefs.h (VS2005) Change-Id: Ic44e2cb3eafce38e1ad645c3bf85745439398e50 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* Remove many deprecated methodsLars Knoll2012-01-311-54/+3
| | | | | | | | | | Remove methods that have been marked as deprecated before Qt 4.6. Keep others, but inline them where possible and mark them as QT_DEPRECATED_SINCE(5, 0). Change-Id: If881821ae095f054b31cc13464f19e2007c20ed7 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
* Remove Symbian and Maemo 5 code from QtWidgets.Xizhi Zhu2012-01-311-63/+6
| | | | | Change-Id: I715c0ec70cbad05a6ba9737e49be9da7cbd65bf9 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Remove "All rights reserved" line from license headers.Jason McDonald2012-01-301-1/+1
| | | | | | | | | | As in the past, to avoid rewriting various autotests that contain line-number information, an extra blank line has been inserted at the end of the license text to ensure that this commit does not change the total number of lines in the license header. Change-Id: I311e001373776812699d6efc045b5f742890c689 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Update contact information in license headers.Jason McDonald2012-01-231-1/+1
| | | | | | | Replace Nokia contact email address with Qt Project website. Change-Id: I431bbbf76d7c27d8b502f87947675c116994c415 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Update copyright year in license headers.Jason McDonald2012-01-051-1/+1
| | | | | Change-Id: I02f2c620296fcd91d4967d58767ea33fc4e1e7dc Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* QPlatformDialogHelpers: Reduce dependency on QDialog.Friedemann Kleint2011-12-141-94/+145
| | | | | | | | | | For each QDialog-derived class, introduce a Q[X]Options class containing the options of the dialog. An instance is shared between the QDialog (or dialog desktop component) and the helper. Change-Id: Ibabf508a4b9eaea25615638a47a4c1b8f93c019e Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* Silence -Woverloaded-virtual warnings in QFileDialogBradley T. Hughes2011-12-121-9/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The QPaintDevice::init() virtual, reimplemented in QWidget, is hidden by these declarations, and clang (and gcc with -Woverloaded-virtual) warns about this. There is no need to overload the init() name, use more descriptive names instead. dialogs/qsidebar_p.h:124:10: warning: 'QSidebar::init' hides overloaded virtual function [-Woverloaded-virtual] void init(QFileSystemModel *model, const QList<QUrl> &newUrls); ^ dialogs/qfiledialog_p.h:303:10: warning: 'QFileDialogLineEdit::init' hides overloaded virtual function [-Woverloaded-virtual] void init(QFileDialogPrivate *d_pointer) {d_ptr = d_pointer; } ^ dialogs/qfiledialog_p.h:314:10: warning: 'QFileDialogComboBox::init' hides overloaded virtual function [-Woverloaded-virtual] void init(QFileDialogPrivate *d_pointer); ^ dialogs/qfiledialog_p.h:330:10: warning: 'QFileDialogListView::init' hides overloaded virtual function [-Woverloaded-virtual] void init(QFileDialogPrivate *d_pointer); ^ dialogs/qfiledialog_p.h:342:10: warning: 'QFileDialogTreeView::init' hides overloaded virtual function [-Woverloaded-virtual] void init(QFileDialogPrivate *d_pointer); ^ kernel/qwidget.h:682:10: note: hidden overloaded virtual function 'QWidget::init' declared here void init(QPainter *painter) const; ^ Change-Id: I7a317a551b92fde966e61958dcaf25dea94d69b4 Reviewed-by: Robin Burchell <robin+qt@viroteck.net> Reviewed-by: Olivier Goffart <ogoffart@woboq.com>