summaryrefslogtreecommitdiffstats
path: root/src/widgets/dialogs
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'origin/5.4' into devFrederik Gladhorn2015-02-101-2/+2
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/3rdparty/harfbuzz-ng/harfbuzz-ng.pro src/gui/image/qimage_conversions.cpp src/gui/opengl/qopenglextensions_p.h src/gui/text/qtextengine.cpp src/network/ssl/qsslsocket_openssl.cpp src/plugins/platforms/eglfs/qeglfshooks_stub.cpp src/plugins/platforms/eglfs/qeglfsscreen.cpp src/plugins/platforms/eglfs/qeglfswindow.cpp src/plugins/platforms/windows/qwindowsfontdatabase.cpp src/plugins/platforms/windows/qwindowsfontdatabase_ft.cpp src/plugins/platforms/windows/qwindowsnativeinterface.cpp src/plugins/platforms/windows/qwindowsscreen.cpp src/plugins/platforms/windows/qwindowswindow.cpp src/plugins/platforms/windows/qwindowswindow.h src/plugins/platforms/xcb/qxcbdrag.h src/widgets/itemviews/qabstractitemview.cpp src/widgets/kernel/qwidget.cpp src/widgets/util/qsystemtrayicon_p.h tests/auto/corelib/itemmodels/qsortfilterproxymodel/tst_qsortfilterproxymodel.cpp Thanks to Friedemann Kleint for resolving the qwindowsfontdatabase.cpp conflicts. Change-Id: I937232c30523d5121c195d947d92aec6f129b03e
| * Merge 5.4 into 5.4.1Oswald Buddenhagen2015-01-163-9/+25
| |\ | | | | | | | | | Change-Id: I78d848c0bb396584a205a8066d253f2bcac8da56
| * | Bump copyright year to 2015Kai Koehne2015-01-151-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | Bump copyright year in tool output and user visible strings to 2015. Change-Id: I9b29907fe3f555e78005cb296a49d92f601fb7ec Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Martin Smith <martin.smith@digia.com>
* | | QtWidgets: use Q_ENUM instead of Q_ENUMSOlivier Goffart2015-02-085-5/+9
| | | | | | | | | | | | | | | Change-Id: Id5280c1d9feab95e1506569f3d0eb23eeb74935f Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* | | QDialog: don't tell native dialog to hide if never shownRichard Moe Gustavsen2015-02-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the platform returns false when asked to show a native dialog, it means that it could not show it. Calling hide on it later is therefore wrong, and can cause unwanted side effects. Change-Id: Icf5bdb5d98f40af6ef70fdbeaff824a535a404b3 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* | | QUrlModel::addUrls(): compare file urls according to OS case sensitiveMaks Naumov2015-02-031-2/+3
| | | | | | | | | | | | | | | Change-Id: I89073bbd5f2cc7dbbb7a4818e0e4228299d45917 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* | | Make it more obvious that Q_WS_ is dead code, and should perhaps be portedTor Arne Vestbø2015-02-034-12/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We still have a bunch of Q_WS_ ifdefs in our code, which are easy to mistake for Q_OS_ ifdefs when quickly scanning the code. By renaming the ifdefs we make it clear that the code in question is dead. In incremental follow-ups, we can then selectively either remove, or port, the pieces that are dead code. Change-Id: Ib5ef3e9e0662d321f179f3e25122cacafff0f41f Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* | | QFileDialog::setDirectory(): remove unused local variableMaks Naumov2015-02-021-1/+0
| | | | | | | | | | | | | | | Change-Id: I461679f7e47d6e98b3adda0114a5a3bd07a6a4d9 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* | | Introduce QFontDatabase::isPrivateFamily()Gabriel de Dietrich2015-01-211-6/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some platforms have the concept of private fonts (e.g., OS X and iOS) which are generally used as system UI fonts. Since 909d3f5c7, the platform font database has a similar but private API. [ChangeLog][QtGui][Fonts] Added QFontDatabase::isPrivateFamily() Change-Id: Ibdce9de534fadbbc3965be8a942c8012edeed209 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
* | | Merge remote-tracking branch 'origin/5.4' into devFrederik Gladhorn2015-01-214-8/+67
|\ \ \ | | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/global/global.pri src/corelib/global/qcompilerdetection.h src/corelib/global/qglobal.h src/corelib/tools/qdatetime.cpp src/plugins/platforms/xcb/qxcbscreen.h src/plugins/platforms/xcb/qxcbwindow.h src/widgets/dialogs/qcolordialog.cpp src/widgets/dialogs/qcolordialog_p.h tools/configure/configureapp.cpp Change-Id: Ie9d6e9df13e570da0a90a67745a0d05f46c532af
| * | Fix stylesheet crash.Morten Johan Sørvig2015-01-161-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Style sheets that refer to the progress bar (like "QProgressDialog[maximum='0']{}") may dereference a null-pointer during the styleHint() call in QProgressDialogPrivate::init() since the progress bar has not been created yet. Move the creation of the progress bar closer to the top of init(), before the styleHint() call. Change-Id: I31c3c1c346430fc9fe86b0977403dea0c0dc5e90 Task-number: QTBUG-43830 Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
| * | QColorDialog: Don't loose focus while color pickingSérgio Martins2015-01-092-7/+23
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | On Windows mouse grabbing doesn't work across processes, which means we're interacting with other windows when picking colors. Workaround that by having a transparent 1x1 window below the cursor at all times so we catch the mouse click. Clicking before the window is below the cursor won't happen because our timer interval is 30ms, so it's quite fast. It's hacky but it's what we can do for a feature which was very broken on Windows. Task-number: QTBUG-43663 Change-Id: I295378e033ddc6d9c2230335f0953a727c21e1dd Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
| * Windows: Fix QColorDialog's live updates while picking outside colorSérgio Martins2015-01-063-5/+48
| | | | | | | | | | | | | | | | | | | | | | | | Microsoft's SetCapture() doesn't work on windows owned by other processes, so instead we use a timer. This is the same approach as used by qttools/src/pixeltool. The mouse move approach however is more elegant and doesn't hammer the CPU with QCursor::pos() calls when idle. For this reason the workaround is Q_OS_WIN only. Task-number: QTBUG-34538 Change-Id: I40a6f7df5bf2a3a29ade8fe4a92f5b5c4ece7efb Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* | QColorDialog: Fix build with QT_SMALL_COLORDIALOGSérgio Martins2015-01-171-70/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | nonTouchUI wasn't defined anywhere, this Q_WS_S60 codepath was partially removed during the Qt4->Qt5 port, but some cruft remained. It's not worth saving, because: - QML is now the way to go for touch UI code - It's ugly, didn't build, won't be missed and more importantly: The current layouting code is already very difficult to read, since we have "normal" mode, QT_SMALL_COLORDIALOG normal and QT_SMALL_COLORDIALOG touch. (and WINCE ifdefs in the mix) This will make the ifdef hell a bit better. Change-Id: I6daa07cbc8da94ccfe1d0c8d3e870c0678c541fc Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* | QProgressDialog: don't require setValue(0) to be called.David Faure2015-01-171-5/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1) everyone forgets to do so (proof: tst_qnetworkaccessmanager_and_qprogressdialog.cpp forgot too, which led to a valgrind warning, the elapsed timer was never started) 2) setValue(0) makes no sense if the progress dialog goes from 50 to 60, or any other non-zero minimum value. Fixed by starting the timer in the constructor (most code doesn't reuse progress dialogs, so this fixes the most common case), and by also starting the timer when calling setValue(minimum()) for well-behaved dialogs. setValue(0) special case kept for compatibility. Task-number: QTBUG-17427 Task-number: QTBUG-25316 [ChangeLog][Important Behavior Changes][QProgressDialog] The timer for estimating the duration of the progress dialog is now started in the constructor and in setValue(minimum()), as well as when calling setValue(0), as previously documented. Done-with: Marc Mutz <marc.mutz@kdab.com> Change-Id: Ia8f7fc677438749191b99074fc334eab652ea36f Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* | QColorDialog: Fix flickering when using "Pick screen color"Sérgio Martins2015-01-062-7/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | With non-monospaced fonts the dialog constantly resized itself when hovering with the mouse. This patch has the side effect of fixing another annoyance. Don't present duplicated information to the user, the color name is already shown in the HTML line edit and it's also updated dynamically. Task-number: QTBUG-43448 Change-Id: Ieaeda2a5b876cf15391616aed7d30ed352b463df Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* | QColorDialog: fix a crash on small displaysGiuseppe D'Angelo2015-01-051-1/+2
| | | | | | | | | | | | | | | | | | On a small display leftLay is left initialized to a null pointer, therefore don't try to dereference it. Task-number: QTBUG-43643 Change-Id: I9d22dac88a3a853ce154a6f64b35fc113abd9262 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* | QColorDialog: merge two consecutive ifs with the same testGiuseppe D'Angelo2015-01-051-2/+0
| | | | | | | | | | | | Change-Id: I931bf8f61f95c879522daabf4fc9d6f5801a307b Reviewed-by: Sérgio Martins <sergio.martins@kdab.com> Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* | Merge remote-tracking branch 'origin/5.4' into devFrederik Gladhorn2014-12-291-2/+13
|\| | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/tools/qbytearray.cpp src/gui/kernel/qplatformsystemtrayicon.cpp src/gui/kernel/qplatformsystemtrayicon.h src/plugins/platforms/xcb/xcb-plugin.pro Change-Id: I00355d3908b678af8a61c38f9e814a63df808c79
| * QColorDialog: Fix a few layouting issues.Sérgio Martins2014-12-221-2/+13
| | | | | | | | | | | | | | | | | | | | | | | | Fixes combo-boxes being too big and some alignment issues that were not present in Qt4. See screenshot in JIRA task. Tested with QT_SMALL_COLORDIALOG too. Task-number: QTBUG-43501 Change-Id: I2aefb64be1c5f3c4894149d85e1a12c9c0cc3d62 Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* | QColorDialog: Move string into retranslateStrings()Sérgio Martins2014-12-231-1/+2
| | | | | | | | | | Change-Id: I802b3e3463f77777cb0f25b60fc069da32d1c467 Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* | QColorDialog: Add missing accelerator keySérgio Martins2014-12-221-1/+1
| | | | | | | | | | Change-Id: Ibafe9f1bf36a8c19fb7f3f66e425db2e7d9f84ca Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* | Remove Q_NO_USING_KEYWORDThiago Macieira2014-12-207-44/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There's a lot of code now requiring it. Any compiler that doesn't support the keyword is too old for Qt now. The last time anyone asked about this macro was for QTBUG-27393 and we don't know which compiler that was. As a necessity, this patch contains a reversal of a0c3a57aed5cde37017733e7cf5e41cc6a1174aa [ChangeLog][Compiler Specific Changes] Qt 5.5 now unconditionally uses the "using" keyword. Compilers that do not support this keyword are deprecated and will not be able to build Qt. Previous versions of Qt may or may not compile, as no testing was done to ensure it worked. Change-Id: Ief042f34aba555a095d1f342a0ee7ee9feadf42d Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.4' into devSimon Hausmann2014-12-181-9/+25
|\| | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/global/qglobal.h src/platformsupport/platformcompositor/qopenglcompositor.cpp src/platformsupport/platformcompositor/qopenglcompositorbackingstore.cpp tests/auto/gui/kernel/qwindow/tst_qwindow.cpp Change-Id: I5422868500be695584a496dbbbc719d146bc572d
| * QColorDialog: Fix matching against predefined colors.Sérgio Martins2014-12-161-4/+4
| | | | | | | | | | | | | | | | | | The grids are filled top to bottom, left to right, so use division to get the column. Task-number: QTBUG-43371 Change-Id: I02ad518512858ed71e0e3a0cae8c4e02d537a9b9 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
| * QColorDialog: Fix picking screen colors inside QColorPickerSérgio Martins2014-12-131-5/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | If you click "Pick screen color" and move mouse over QColorPicker (the square with gradients) unexpected things will happen: black will be picked half the times. This is because QColorPicker's black cross is painted under our mouse cursor. Although "pick screen color"'s use case is to pick colors in other windows, there's no reason to not make it work on QColorDialog itself too. Task-number: QTBUG-43288 Change-Id: I03ca02148cc15ad41d545723d4ac4f5a82842b4b Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* | Add Q_DECL_OVERRIDE in the src subdirectoryOlivier Goffart2014-12-0320-125/+125
|/ | | | | | | | | | Done automatically with clang-modernize on linux (But does not add Q_DECL_OVERRIDE to the function that are marked as inline because it a compilation error with MSVC2010) Change-Id: I2196ee26e3e6fe20816834ecea5ea389eeab3171 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* New Qt logoAlessandro Portale2014-11-051-0/+0
| | | | | | | | | | | | | This patch replaces the old Qt logo with the new, flatter one. The PNGs were optimized via: optipng -o7 -strip "all" Task-number: QTBUG-41685 Change-Id: I51983a45144373bf7aee31a32990ecbb2582f488 Reviewed-by: Robert Loehning <robert.loehning@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Fix too many resizes and move events for native widgetsJørgen Lind2014-11-041-0/+8
| | | | | | | | | | | | | | | When the QWidgetWindow receives a resize or move event, it should check with the widget if its crect already has this geometry. if not then send the resize or move event Ideally events should be sent whenever the QWidgetWindow receives them. QTBUG-42383 is created for this problem Task-number: QTBUG-29937 Task-number: QTBUG-38768 Task-number: QTBUG-30744 Change-Id: I1e9a5d25de29a98885edece927ba14d7a763eb01 Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* QFileDialog: prevent section collapsing in the main selection areaGiuseppe D'Angelo2014-11-033-1/+7
| | | | | | | | | | | | | | | | | | In the non-native QFileDialog, a QSplitter separates the two central views (the list view of "places" and the tree view for navigating the file system). Unfortunately, that splitter allows sections to be collapsed, resulting in a weird status where the user doesn't understand what has just happened and thinks that (s)he may have broken something. Worse, that gets actually saved into the application settings, so the splitter may stay collapsed forever. Instead, let's simply prevent sections from being collapsible. Task-number: QTBUG-19467 Change-Id: I11ff7c55a5535680a3edce5f4e70c9338291b94f Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Regenerate qfiledialog_embedded.uiGiuseppe D'Angelo2014-11-031-96/+108
| | | | | | | | The old designer generator inserted stray spaces etc.; save it again with the new designer to fix those. Change-Id: I3890dd942970d9da71582ccb70b75d59888304bf Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Doc: Fix method names for QFileSystemModelAlexander Volkov2014-10-281-1/+1
| | | | | | | | | There are no methods called name() and path(), replace them by fileName() and filePath(). Task-number: QTBUG-41881 Change-Id: I001a8ead197327fac69e69d94230587ddb1a4692 Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com>
* QStyleSheetStyle: Don't interfere with QFontDialogPierre Rossi2014-10-241-0/+1
| | | | | | | | | | | | | The sample lineedit in Qt's own font dialog shouldn't have its font affected by stylesheets. Not only does this hampers the ability to preview the font, it actually overrides the font selection as that one is taken directly from the widget. Task-number: QTBUG-41513 Change-Id: I11d0bef8c7bf7bdae4cc08b6b9276d0fc14a75fb Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com>
* Fix title font of Vista-style wizards.Friedemann Kleint2014-10-231-4/+1
| | | | | | | | Reverse invalid check. Task-number: QTBUG-41878 Change-Id: I05015407e5cfad94aca65594962b897a1d0a0cbd Reviewed-by: Alessandro Portale <alessandro.portale@digia.com>
* Don't use QByteArrayLiteral in comparisonsMarc Mutz2014-10-091-1/+1
| | | | | | | | | | | | | | | For const char*s, operator== is overloaded, so comparing to a (C) string literal is efficient, since qstrcmp doesn't require the length of the strings to compare. OTOH, QByteArrayLiteral, when not using RVO, litters the code with QByteArray dtor calls, which are not inline. Worse, absent lambdas, it even allocates memory. So, just compare with a (C) string literal instead. Change-Id: Id3bfdc89558ba51911f6317a7a73c287f96e6f24 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix license text and URLs in QMessageBox::aboutQt().Friedemann Kleint2014-10-091-13/+10
| | | | | | | | | Point to new qt.io site, adapt licensing text. Task-number: QTBUG-41798 Change-Id: I492df6a842c2b31e44653fb4388408c209f24f1e Reviewed-by: Sami Makkonen <sami.makkonen@digia.com> Reviewed-by: Jani Heikkinen <jani.heikkinen@digia.com>
* Fix MSVC2013-compiler warnings with QT_NO_FILESYSTEMWATCHERJochen Seemann2014-09-251-4/+11
| | | | | | | | | dialogs\qfilesystemmodel.cpp(203,1667,1680): C4189: 'd': local variable is initialized but not referenced dialogs\qfilesystemmodel.cpp(1547,1720,1847): C4100: 'variable': unreferenced formal parameter Change-Id: Ic3cef264dcd0b939748bec914eb9c29f86f6ed0e Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* Update license headers and add new license filesMatti Paaso2014-09-2432-605/+349
| | | | | | | | | - Renamed LICENSE.LGPL to LICENSE.LGPLv21 - Added LICENSE.LGPLv3 - Removed LICENSE.GPL Change-Id: Iec3406e3eb3f133be549092015cefe33d259a3f2 Reviewed-by: Iikka Eklund <iikka.eklund@digia.com>
* Merge remote-tracking branch 'origin/5.3' into 5.4Frederik Gladhorn2014-09-232-12/+14
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The isAlwaysAskOption was removed in 38621713150b663355ebeb799a5a50d8e39a3c38 so manually removed code in src/plugins/bearer/connman/qconnmanengine.cpp Conflicts: src/corelib/global/qglobal.h src/corelib/tools/qcollator_macx.cpp src/corelib/tools/qstring.cpp src/gui/kernel/qwindow.cpp src/gui/kernel/qwindow_p.h src/gui/text/qtextengine.cpp src/platformsupport/fontdatabases/fontconfig/qfontenginemultifontconfig_p.h src/plugins/platforms/android/qandroidinputcontext.cpp src/plugins/platforms/xcb/qglxintegration.cpp src/plugins/platforms/xcb/qglxintegration.h src/plugins/platforms/xcb/qxcbconnection_xi2.cpp src/testlib/qtestcase.cpp src/testlib/qtestlog.cpp src/widgets/dialogs/qfiledialog.cpp src/widgets/kernel/qwindowcontainer.cpp tests/auto/corelib/tools/qcollator/tst_qcollator.cpp tests/auto/gui/text/qtextscriptengine/tst_qtextscriptengine.cpp tests/auto/widgets/kernel/qwidget_window/tst_qwidget_window.cpp tests/auto/widgets/widgets/qlineedit/tst_qlineedit.cpp Change-Id: Ic5d4187f682257a17509f6cd28d2836c6cfe2fc8
| * QFileDialog: save and restore all settings even if widgets not usedShawn Rutledge2014-09-012-12/+14
| | | | | | | | | | | | | | | | | | | | | | | | Some applications may use native file dialogs and some may use the widget implementation, but QFileDialog always saves all settings to the same place each time it destroyed. So it is important to remember all settings read in restoreState and put them back in saveState. This bug was introduced by 37ca2224eca671200a2710f57f970d2993e62aa5 Task-number: QTBUG-36888 Change-Id: Ied1db83817480312e963a042784d7bdd16f0a2b1 Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
* | Adapt the Vista-style wizard for device pixel ratio scaling.Friedemann Kleint2014-08-282-28/+57
| | | | | | | | | | | | | | Task-number: QTBUG-38993 Task-number: QTBUG-388583 Change-Id: I1e3f1b5c82b9751e7f2aa6aed3d89d4388ecf1ce Reviewed-by: Alessandro Portale <alessandro.portale@digia.com>
* | Merge remote-tracking branch 'origin/5.3' into 5.4Frederik Gladhorn2014-08-122-3/+10
|\| | | | | | | | | | | | | | | | | | | | | | | Manually included changes from 3a347a4e70e5a10ee92dd2578316c926a399e894 in src/opengl/qgl.cpp. Conflicts: src/opengl/qgl_qpa.cpp src/plugins/platforms/android/androidjnimain.cpp Change-Id: Ic26b58ee587d4884c9d0fba45c5a94b5a45ee929
| * Font Database: Add support for private, system UI font familiesGabriel de Dietrich2014-08-111-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We introduce QPlatformFontDatabase::isPrivateFontFamily() to allow testing for private, system UI font families. Both QFontComboBox and QFontDialog need to filter out those private font families which, by definition, should be hidden from the end user. (The textedit example had to be updated to fix the issue where the default font would be private. In 5.4, we will be adding an equivalent, public API in QFontDatabase, and a better solution for the textedit example and QTexEdit in general). In particular, on OS X and iOS, private fonts are used for the system UI font. Those have their font family name prefixed by a dot. QCoreTextFontDatabase knows about this, and makes sure those are tested positive as private font families. In order to have a cleaner layer separation, we moved the QPA theme font resolution from the platform theme classes into QCoreTextFontDatabase for both Cocoa and iOS QPA plugins. In both cases, we use CoreText's CTFontCreateUIFontForLanguage(), that nicely maps to the HITheme API we were using so far on Mac. That means one HITheme dependency less. We also cache the font descriptors we get for these font for each time QCTFD::populateFamilies() gets called. (While not common, this currently happens in auto-tests, like tst_QFontDatabase, and could happen in actual applications -- specially when adding and removing application fonts.) Change-Id: Ic6f0b60f9f597afee1a43596a669742dc546b97f Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
| * QFileDialog docs: remove misleading sentence about static functionsShawn Rutledge2014-08-061-3/+1
| | | | | | | | | | | | | | | | | | Native dialogs are used whenever possible, not just when the dialog is instantiated via the static function. Task-number: QTBUG-36657 Change-Id: Ibad67114e67f8e2f9956037f8469542c72bfd8ea Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* | QFileDialog: implement getOpenFileUrl and friends for realDavid Faure2014-08-061-87/+81
| | | | | | | | | | | | | | | | | | i.e. make them support remote URLs. To avoid code duplication, getOpenFileName/getSaveFileName/getExistingDirectory are now implemented in terms of getOpenFileUrl/getSaveFileUrl/getExistingDirectoryUrl. Change-Id: If409ac9ab72c2a65f04e2ef1dc28e7d47bbcd73c Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* | Micro-optimize QProgressDialogPrivate::ensureSizeIsAtLeastSizeHint()Marc Mutz2014-08-061-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QWidget::isVisible() is an inline call, but sizeHint() is a virtual function. Use QSize operations to call each one only once. Also reduces the number of q-> qualifications needed. It must be noted that this change is not entirely behavior-preserving: If sizeHint() returns a negative component, and the dialog is not visible, resize() will be called with that negative component now, instead of zero as was the case previously. I believe this is not a problem, because the way sizeHint() is currently implemented, the width cannot be less than 200 and for the height to be negative, the sum of label, bar and button size hint height would need to be negative, which is next to impossible. Change-Id: Ie8ba110e193532921eb4732a0393a377e38d7f7e Reviewed-by: David Faure <david.faure@kdab.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* | QProgressDialog: Extract Method ↵Marc Mutz2014-08-061-15/+15
| | | | | | | | | | | | | | | | | | QProgressDialogPrivate::ensureSizeIsAtLeastSizeHint() The code was used in five different places, time to centralize. Change-Id: I32338bdae247169a180f59314c50a9b855cae5f0 Reviewed-by: David Faure <david.faure@kdab.com>
* | QProgressDialog: Extract Method QProgressDialogPrivate::adoptChildWidget()Marc Mutz2014-08-061-31/+19
| | | | | | | | | | | | | | The same code was used in three methods. Collect it in one place. Change-Id: I0e3bf14474590eb99e94d240aad8158fd8fbe033 Reviewed-by: David Faure <david.faure@kdab.com>
* | QProgressDialog: fix setBar() not properly adopting the new QProgressBarMarc Mutz2014-08-061-0/+8
| | | | | | | | | | | | | | | | The "adoption" code is taken from setLabel(). Task-number: QTBUG-40503 Change-Id: Id512b28eb756b4a80e5701e599e2cbdf5346ff62 Reviewed-by: David Faure <david.faure@kdab.com>
* | QFileDialog: turn workingDirectory into a QUrlDavid Faure2014-08-052-48/+68
| | | | | | | | | | | | | | In order to make this work better with remote URLs. Change-Id: Ic440735142441150838b05e88940adcc12a90d09 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>