summaryrefslogtreecommitdiffstats
path: root/src/widgets/widgets
Commit message (Collapse)AuthorAgeFilesLines
* QComboBox: deprecate signal currentIndexChanged(const QString &)Christian Ehrlicher2019-02-122-0/+12
| | | | | | | | | | | | QComboBox has two overloaded signals currentIndexChanged(). This results in a need to use QOverload<>::of or similar when using the new signal/slot syntax. Since there is already a signal 'currentTextChanged()' which is emitted too, deprecate 'currentIndexChanged(const QString &)'. Change-Id: Iadac8930de1721b042fa1daea097c8ab5378738e Reviewed-by: Samuel Gaist <samuel.gaist@idiap.ch> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* QFontComboBox: fix layouting in RTL modeChristian Ehrlicher2019-02-121-6/+10
| | | | | | | | | | | | QFontComboBox did not work very well in RTL mode. The text was not aligned right and the icon was not painted on the right side as it is done for a normal combobox. Fix it by using QStyle::alignedRect() for the icon position calculation and passing the correct alignment when drawing text. Fixes: QTBUG-19722 Change-Id: I47c5864519e78e0833ef4c07a1385e45ce4479f8 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* Fix some QPainter-related deprecation warningsFriedemann Kleint2019-02-081-1/+0
| | | | | | | | | | | | | | | | text/qtextdocument.cpp:2666:48: warning: ‘QString QTextCharFormat::anchorName() const’ is deprecated: Use anchorNames() instead [-Wdeprecated-declarations] text/qtextdocumentfragment.cpp:545:87: warning: ‘QString QTextCharFormat::anchorName() const’ is deprecated: Use anchorNames() instead [-Wdeprecated-declarations] text/qtextdocumentfragment.cpp:546:68: warning: ‘QString QTextCharFormat::anchorName() const’ is deprecated: Use anchorNames() instead [-Wdeprecated-declarations] painting/qpainterpath.cpp:3321:34: warning: ‘void QPainterPath::addRoundRect(const QRectF&, int, int)’ is deprecated: Use addRoundedRect(..., Qt::RelativeSize) instead [-Wdeprecated-declarations] painting/qpainterpath.cpp:3342:48: warning: ‘void QPainterPath::addRoundRect(const QRectF&, int, int)’ is deprecated: Use addRoundedRect(..., Qt::RelativeSize) instead [-Wdeprecated-declarations] painting/qpainterpath.cpp:3366:47: warning: ‘void QPainterPath::addRoundRect(const QRectF&, int)’ is deprecated: Use addRoundedRect(..., Qt::RelativeSize) instead [-Wdeprecated-declarations] painting/qpainter.cpp:4233:49: warning: ‘void QPainter::drawRoundRect(const QRectF&, int, int)’ is deprecated: Use drawRoundedRect(..., Qt::RelativeSize) instead [-Wdeprecated-declarations] painting/qpainter.cpp:8349:27: warning: ‘void QPainter::setMatrixEnabled(bool)’ is deprecated: Use setWorldMatrixEnabled() instead [-Wdeprecated-declarations] painting/qpdf.cpp:1545:28: warning: ‘void QDataStream::unsetDevice()’ is deprecated: Use QDataStream::setDevice(nullptr) instead [-Wdeprecated-declarations] widgets/qtabbar.cpp:2096:17: warning: ‘void QPainter::initFrom(const QPaintDevice*)’ is deprecated: Use begin(QPaintDevice*) instead [-Wdeprecated-declarations] Change-Id: I76d98ea8146e7586d3763a5610781c7736d37204 Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de>
* Merge remote-tracking branch 'origin/5.12' into 5.13Liang Qi2019-02-081-3/+4
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/android/templates/AndroidManifest.xml src/network/ssl/qsslsocket_mac.cpp src/widgets/styles/qstylesheetstyle.cpp tests/auto/corelib/kernel/qtimer/BLACKLIST tests/auto/testlib/selftests/blacklisted/tst_blacklisted.cpp tests/auto/testlib/selftests/expected_blacklisted.lightxml tests/auto/testlib/selftests/expected_blacklisted.tap tests/auto/testlib/selftests/expected_blacklisted.teamcity tests/auto/testlib/selftests/expected_blacklisted.txt tests/auto/testlib/selftests/expected_blacklisted.xml tests/auto/testlib/selftests/expected_blacklisted.xunitxml tests/auto/testlib/selftests/expected_float.tap tests/auto/testlib/selftests/expected_float.teamcity tests/auto/testlib/selftests/expected_float.txt tests/auto/testlib/selftests/expected_float.xunitxml Done-With: Christian Ehrlicher <ch.ehrlicher@gmx.de> Done-With: Edward Welbourne <edward.welbourne@qt.io> Done-With: Timur Pocheptsov <timur.pocheptsov@qt.io> Change-Id: If93cc432a56ae3ac1b6533d0028e4dc497415a52
| * Fix regression in QPlainTextEdit updatingAllan Sandfeld Jensen2019-01-311-3/+4
| | | | | | | | | | | | | | | | | | It was incorrectly counting a block having more than one line as having changed visibility. Fixes: QTBUG-69310 Change-Id: I502cda1d3e8a4efb1c14122353cc0a4731d8581c Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | QtWidgets: mark obsolete functions as deprecatedChristian Ehrlicher2019-02-064-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Mark some long obsolete functions as deprecated so the can be removed with Qt6: - QLayout::margin()/setMargin() - QComboBox::autoCompletion()/setAutoCompletion() - QComboBox::autoCompletionCaseSensitivity() - QComboBox::setAutoCompletionCaseSensitivity() - QTextStream& operator<<(QTextStream&, const QSplitter&) - QTextStream& operator>>(QTextStream&, QSplitter&); Change-Id: Ic16b36bf647413b5b3ea2d9105981b95370b3178 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | QtWidgets: replace 0 with \nullptr in documentationChristian Ehrlicher2019-01-2816-49/+52
| | | | | | | | | | | | | | | | | | | | Replace 0 with \nullptr in the documentation. As a drive-by also replace some 0 with nullptr in the corresponding code. Change-Id: I8d7e9c838da1399988a830669d58fc7f2f010696 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* | Merge "Merge remote-tracking branch 'origin/5.12' into dev" into ↵Liang Qi2019-01-281-0/+1
|\ \ | | | | | | | | | refs/staging/dev
| * | Merge remote-tracking branch 'origin/5.12' into devLiang Qi2019-01-261-0/+1
| |\| | | | | | | | | | | | | | | | | | | | | | Conflicts: src/android/templates/AndroidManifest.xml tests/auto/widgets/styles/qstylesheetstyle/tst_qstylesheetstyle.cpp Change-Id: I4c9679e3a8ebba118fbf4772301ff8fde60455b9
| | * Merge remote-tracking branch 'origin/5.12.1' into 5.12Qt Forward Merge Bot2019-01-231-0/+1
| | |\ | | | | | | | | | | | | Change-Id: Icebd151eae0cf9d400319a42573290d1a911ce26
| | | * Merge remote-tracking branch 'origin/5.12' into 5.12.1Liang Qi2019-01-084-25/+7
| | | |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/widgets/kernel/qtooltip.cpp Change-Id: Ic2f9a425359050eb56b3a4e5162cf5e3447058c8
| | | * | Doc: Add missing \since to QLineEdit's inputRejected signalPaul Wicking2018-12-231-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The signal was introduced in 5.12.0, according to qtbase/dist/changes-5.12.0 (which refers to QTBUG-57448). Also confirmed in qtdoc/doc/src/whatsnew/whatsnew512.qdoc. Added in commit c901cdadc0a. Fixes: QTBUG-72386 Change-Id: I291dfefe40eea0e9208bda6eed6dd96e41ba6d2b Reviewed-by: Martin Smith <martin.smith@qt.io> Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* | | | | QMdiSubWindow: Avoid potential shaking motion when moving windowChristian Andersen2019-01-281-2/+5
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When using QMouseEvent::pos to change the position of a widget, the widget may shift in a shaking motion. This is warned about in its documentation. For example if the system has a bit of load, we might receive multiple mouse move events from the OS, before QMdiSubWindow gets the first move event. In that case the first mouse move is ok, but subsequent move events, will use a ::pos value that now does not make sense as the position of the window have changed. The fix is to use QMouseEvent::globalPos. Fixes: QTBUG-72646 Change-Id: I3211cc6627ff8fe26c9520ad0457872f01c32471 Reviewed-by: Andre de la Rocha <andre.rocha@qt.io> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | | | QDrag: mark QDrag::start() as deprecatedChristian Ehrlicher2019-01-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QDrag::start() is deprecated since Qt4. Therefore annotate it with Q_DEPRECATED so it can be removed in Qt6. Change-Id: I5b82c482fa579f357cc67e38b86e6fe587f18ded Reviewed-by: André Hartmann <aha_1980@gmx.de> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | | | Merge remote-tracking branch 'origin/5.12' into devQt Forward Merge Bot2019-01-215-14/+51
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf Change-Id: Ibfcb30053f3aacb8ec2ec480e146538c9bf440ea
| * | | Documentation: Add \nullptr macro and use where applicableFriedemann Kleint2019-01-104-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Qt for Python users reading the documentation assume that int(0) can be passed for pointer parameters. Use the newly introduced \nullptr to disambiguate this. In a follow-up step, the \nullptr macro can be defined as None when generating the Qt for Python documentation. Task-number: PYSIDE-903 Change-Id: I3a45f87175a0668ab5f3f95f0aff409f7e3ef027 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> Reviewed-by: Christian Tismer <tismer@stackless.com> Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io> Reviewed-by: Paul Wicking <paul.wicking@qt.io>
| * | | QSplashScreen: Fix positioning in multimonitor setupsFriedemann Kleint2019-01-081-10/+47
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, QSplashScreen::setPixmap() used QDesktopWidgetPrivate::screenGeometry().center() to determine the screen position, which would always result in the primary screen being used. That is counter to the documentation of QSplashScreen(QWidget *, QPixmap), which states that a desktop screen widget can be passed as parent to set the screen. To fix that and make it easier to work with QScreen (which is the likely outcome of QTBUG-62094), extract the setPixmap() to QSplashScreenPrivate with an additional QScreen * parameter and add a helper to determine it. Do not set a position in case no parent was passed so that QPlatformWindow::initialGeometry() triggers, centering it over the cursor. Fixes: QTBUG-72819 Task-number: QTBUG-62094 Change-Id: Ic38cfecd24c3ff6b82dff37702b627c5a50a3e1d Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* | | Don't treat the ampersand in a titlebar as a mnemonicAndy Shaw2019-01-082-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As the mnemonic has no meaning when it is in a dockwidget title, we should just treat it as a literal ampersand instead and display it as such. Fixes: QTBUG-54485 Change-Id: I96c856ce2771a68d226f48f8f47affc24f1c53cd Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
* | | Doc: replace QItemDelegate with QStyledItemDelegateChristian Ehrlicher2019-01-062-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since QStyledItemDelegate should be preferred over QItemDelegate the documentation should point to QStyledItemDelegate instead. Also mark some internal classes which derive from QItemDelegate so they will not be forgotten during Qt6 porting. Change-Id: I2dd17feedf8593afac5ca16d2546e1f0bc0250ae Reviewed-by: Paul Wicking <paul.wicking@qt.io> Reviewed-by: Konstantin Shegunov <kshegunov@gmail.com> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | | Merge remote-tracking branch 'origin/5.12' into devLiang Qi2019-01-042-19/+2
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also blacklist tst_QRawFont::unsupportedWritingSystem() and tst_QGlyphRun::mixedScripts() on windows for now. Conflicts: qmake/generators/makefile.cpp src/corelib/itemmodels/qstringlistmodel.cpp src/platformsupport/fontdatabases/windows/qwindowsfontengine_p.h tests/auto/corelib/itemmodels/qstringlistmodel/tst_qstringlistmodel.cpp tests/auto/gui/text/qglyphrun/BLACKLIST tests/auto/gui/text/qrawfont/BLACKLIST Task-number: QTBUG-72836 Change-Id: I10fea1493f0ae1a5708e1e48d0a4d7d6b76258b9
| * | QToolTip - set correct screen before resizeThorbjørn Lund Martsum2018-12-182-19/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In order to get a correctly not truncated size we need the hint to be calculated based on the screen it is about to be shown on. This patch places some code in QWidgetPrivate that is used by QMenu and QToolTip + can be used to solve similar problems in the future. Task-number: QTBUG-72306 Change-Id: I58c058761f71b4a7675b6a078be62aa813ead752 Reviewed-by: Morten Kristensen <msk@nullpointer.dk> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* | | Widgets: replace deprecated QPalette functionsChristian Ehrlicher2018-12-175-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | QPalette::foreground()/background() are deprecated since 5.13 - replace those functions with their successors. Change-Id: I80e49dadd7be1007d73ac920f6db2b8e608db06a Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | | Merge remote-tracking branch 'origin/5.12' into devQt Forward Merge Bot2018-12-151-5/+4
|\| | | | | | | | | | | Change-Id: Iad06d8c07dfc288c9d1a9f7ee3520285cea60546
| * | QAbstractSlider: fix invertedControls having no effect for left/right keysMitch Curtis2018-12-131-5/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There was a comment in the code that said: // It seems we need to use invertedAppearance for Left and right, otherwise, things look weird. It's not clear what that was referring to, but in its current state, a slider with invertedControls set to true will not behave as expected: pressing the left arrow key will decrease its value instead of increasing it, and vice versa for the right arrow key. As stated in the documentation (and by its name), invertedAppearance only controls the appearance of the slider, and not the effect of key events. Remove the comment and use invertedControls instead. Change-Id: I13296cbda9244413978ef0d7f0856065f74fd0bf Fixes: QTBUG-25988 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | | QDockWidget: Make floating docks respect DockWidgetMovable featureNick D'Ademo2018-12-131-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, even if DockWidgetFeature::DockWidgetMovable is unset (i.e. moving docks to different dock areas is disabled), it is still possible to move a dock to a different dock area after it is made floating (i.e. the DockWidgetMovable setting is ignored). This change prevents this unexpected/inconsistent behavior. Fixes: QTBUG-71703 Change-Id: Iaecc293a5ba12dd5b53f5f0bd0cfe77ae54ab393 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | | Use Q_DISABLE_COPY_MOVE for private classesFriedemann Kleint2018-12-123-3/+3
| | | | | | | | | | | | | | | Change-Id: I3cfcfba892ff4a0ab4e31f308620b445162bb17b Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* | | Merge remote-tracking branch 'origin/5.12' into devQt Forward Merge Bot2018-12-111-1/+1
|\| | | | | | | | | | | Change-Id: I91e684e74c36467efda8ded6ed19791baa0c1a1f
| * | Specify the date-time spec when setting max timeEdward Welbourne2018-12-101-1/+1
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | QDateTimeEdit::setMaximumTime() constructed a QDateTime from the given time and its current max date without propagating its existing spec; it thus got a local time. All other QDateTimeEdit methods setting bounds do propagate the spec. So bring setMaximumTime() in line with the others. Fixes: QTBUG-71311 Change-Id: Ic97d22185f76bed46bc8d2884b131942874d9a0a Reviewed-by: Anton Kudryavtsev <antkudr@mail.ru> Reviewed-by: Konstantin Shegunov <kshegunov@gmail.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Merge remote-tracking branch 'origin/5.12' into devQt Forward Merge Bot2018-12-081-0/+7
|\| | | | | | | Change-Id: Ied1194730e75a6f30839bbf5429aa2699230288e
| * Preallocate buffer for QLineEdit when used for password inputIvan Čukić2018-12-071-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | While the user is entering the password, the string variable that stores the value might have to reallocate its content from time to time (when the string needs to grow beyond its current capacity). When the reallocation happens, the old buffer is freed, but its data is not zeroed-out. This means that a QLineEdit that serves as a password input field might leak chunks of the password during its lifetime, and the leaks will persist after its destruction. Since the QLineEdit can not control the behavior of the QString it uses to store the entered value, the only thing it can do is try to make the reallocations rare. This patch reserves the space for 30 characters for the string which stores the QLineEdit value when said QLineEdit is used for password input. This is enough to make sure no reallocation happens in majority of cases as barely anyone uses passwords longer than 30 characters. [ChangeLog][QtWidgets][QWidgetLineControl/security] Preallocate a buffer for the string that contains the entered value when the QLineEdit serves as a password input field to minimize reallocations. Change-Id: I3e695db93e34c93335c3bf9dbcbac832fc18b62d Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | QMdiArea: Do not move active subwindow after tile rearrangeNick D'Ademo2018-12-061-8/+0
| | | | | | | | | | | | | | | | | | | | | | Currently, a tile rearrange will move the active subwindow (if any) to position zero (top-left). This ignores any tiling order set via setActivationOrder(). This change removes this move so that the set tiling order is respected when a tile operation is performed. Fixes: QTBUG-43356 Change-Id: I2c481f0ffe45e42e811c6b6d476eb4cb65aa5d1f Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | Merge "Merge remote-tracking branch 'origin/5.12' into dev" into ↵Liang Qi2018-12-044-3/+49
|\ \ | | | | | | | | | refs/staging/dev
| * | Merge remote-tracking branch 'origin/5.12' into devLiang Qi2018-12-044-3/+49
| |\| | | | | | | | | | | | | | | | | | | Conflicts: src/gui/painting/qdrawhelper.cpp Change-Id: I4916e07b635e1d3830e9b46ef7914f99bec3098e
| | * Erase password data on QLineEdit destructionIvan Čukić2018-12-031-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The contents of a deleted QString can still remain in memory and can be accessible by tools that read the raw process memory. This means that a QLineEdit that serves as a password input field can leak the password after it is destroyed. With this patch, the contents of the m_text string member variable will be zeroed-out before the m_text is destructed. This is done only in the cases when the QLineEdit serves as a password field. [ChangeLog][QtWidgets][QWidgetLineControl/security] Zero-out the string that contains a password entered into the QLineEdit Change-Id: I8f88f952244bf8a0399c14acf0869439ca0a60ca Reviewed-by: Luca Beldi <v.ronin@yahoo.it> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
| | * Doc: specifically list the QToolButton properties that actions affectMitch Curtis2018-11-291-1/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | Also, add a note that explains that autoRepeat does not affect QToolButton's autoRepeat property. Change-Id: I9e95cef9e9d1b5ee6cb1114d0b9a9fad562db601 Fixes: QTBUG-48204 Reviewed-by: Andy Shaw <andy.shaw@qt.io>
| | * QFocusFrame: protect it from being moved around by accidentRichard Moe Gustavsen2018-11-271-1/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If a focus frame is set around a widget that exist inside a QAbstractItemView, both the focus frame and the widget will be scrolled when the table is scrolled (since the focus frame is a child of the view). The result is that after the widget has been scrolled (which will move the focus frame to the correct position as well), the focus frame will be scrolled next, and therefore away from the widget. This patch will catch this case by always adjusting the focus frame position when someone tries to move it. Trying to move the focus frame away from the widget it tracks will anyway be flaky. Fixes: QTBUG-63877 Change-Id: Ic2aacc4fafc219280e32092c258a7539d0db9cd0 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
| | * QDateTimeEdit: fix setDate() if time is in a spring-forwardEdward Welbourne2018-11-271-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the time the widget is set to use falls in the gap skipped by a spring-forward, setting the date to the day of the spring-forward turned a valid date into an invalid date-time. So use the usual trick to map the "draft" date-time to a valid one. Fixes: QTBUG-64485 Fixes: QTBUG-58947 Change-Id: Ib8f0f092cd5d6dce3da31eb52cd42150ca0d1fcb Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | | QMdiArea: Take scroll bars into account when tiling subwindowsNick D'Ademo2018-12-041-1/+5
|/ / | | | | | | | | | | | | | | | | | | | | | | | | QMdiAreaPrivate::resizeToMinimumTileSize() does not take into account scroll bars when calculating the minimum size for the QMdiArea widget. As a result, if scroll bars are enabled or showing during a tiling operation, the top-level widget incorrectly expands in size (instead of utilizing the scroll bars). Therefore, we should only resize the top-level widget if scroll bars are disabled. Fixes: QTBUG-40821 Change-Id: I3a8b7582d23fdf12d2b09f3740eea6b60bb395c3 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | QMdiArea: Do not reset tiled flag on spontaneous system window eventsNick D'Ademo2018-11-271-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | Do not reset the isSubWindowsTiled flag if the hide/show event is an external (spontaneous) system window event, i.e. we should instead reset this flag when the subwindow itself is directly hidden or shown. This change ensures that tiling will be performed during the resizeEvent after an application window minimize (hide) and then restore (show). Change-Id: Ib37f52f1162b493be3413fc59951be2f30701439 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | Merge remote-tracking branch 'origin/5.12' into devQt Forward Merge Bot2018-11-273-30/+88
|\| | | | | | | Change-Id: I04afffdce6b78856d0301eb583f21d334c7466b0
| * Fix calculation of text margin if line edit contains side widgetsVitaly Fanaskov2018-11-263-30/+88
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The previous implementation leads to infinite chain of showing/hidden line edit under circumstances described in QTBUG-54676. We basically got the situation when size hint were calculated differently depending on the line edit visibility state. In this case toolbar layout have to show/hide extension button and line edit a lot of times and can never leave this "loop" (please note, that the chain is much more complicated in reality): Resize toolbar -> Set layout geometry -> Size is OK to display line edit -> Set layout geometry -> Hide extension button -> Set layout geometry (wrong size is calculated here, so "run out of space") -> Hide line edit -> Set layout geometry -> Show extension button -> Set layout geometry - > Size is OK to display line edit ... And we're in the "loop" Clear button is hidden if there is no text in a line edit. In the previous implementation, the button was always visible, only opacity was changing in order to "hide" the button. It resulted to incorrect size hints (regular and minimum). In the current implementation the button is really hidden/shown, and size hints calculated correctly. Also updated unit test for line edit. Remove code duplication in functions for calculation text margin Fixes: QTBUG-54676 Change-Id: I4549c9ea98e10b750ba855a07037f6392276358b Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | Merge remote-tracking branch 'origin/5.12' into devLiang Qi2018-11-102-5/+11
|\| | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/serialization/qcborcommon.h src/corelib/tools/qlocale_data_p.h tests/auto/network/ssl/qsslsocket/tst_qsslsocket.cpp Done-with: Edward Welbourne <edward.welbourne@qt.io> Change-Id: Ibed987f6d77a0294f78f67d78625237616082416
| * QSpinBox: don't allow series of thousands-separator chars when editingEirik Aavitsland2018-11-091-4/+8
| | | | | | | | | | | | | | | | | | The input validation did not check for unreasonable use of the group separator character. Fixes: QTBUG-65024 Change-Id: If9d70d990fc6d5b298f3bde5b1604bf7e16dce24 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
| * Merge remote-tracking branch 'origin/5.11' into 5.12Liang Qi2018-11-091-1/+3
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf qmake/Makefile.unix src/gui/text/qtextdocument.cpp src/gui/text/qtextdocument.h Change-Id: Iba26da0ecbf2aa4ff4b956391cfb373f977f88c9
| | * Modernize the "textcodec" featureLiang Qi2018-11-071-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | Also clean up QTextCodec usage in qmake build and some includes of qtextcodec.h. Change-Id: I0475b82690024054add4e85a8724c8ea3adcf62a Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* | | Fix use of deprecated ItemDataRoles Background/TextColorRoleChristian Ehrlicher2018-11-051-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replace BackgroundColorRole/TextColorRole with BackgroundRole/ForegroundRole and explicit deprecate them for 5.13 Change-Id: I6b0d99844a32d2f5fdfd1878317a7b7422b800d3 Reviewed-by: Samuel Gaist <samuel.gaist@idiap.ch> Reviewed-by: Luca Beldi <v.ronin@yahoo.it> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | | Fix usage of QGuiApplication::set/resetOverrideCursorChristian Ehrlicher2018-11-051-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | Replace all occurrences of QApplication::set/resetOverrideCursor with the QGuiApplication::set/resetOverrideCursor since it's a static function of QGuiApplication. Change-Id: Ic898ab50a7ad4ed2bc9c6acb26cf4a979c2f82af Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | | QCommandLinkButton: fix visibility of some public functionsChristian Ehrlicher2018-11-051-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The three public functions heightForWidth/minimumSizeHint/sizeHint were accidentally marked as protected in QCommandLinkButton. This patch makes sure it get fixed with Qt6. Fixes: QTBUG-68722 Change-Id: I577e48cbe9274c8506a555dae1ec81044a889d6e Reviewed-by: Samuel Gaist <samuel.gaist@idiap.ch> Reviewed-by: Luca Beldi <v.ronin@yahoo.it> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | | doc: Fix all clang parse errors in QtBase during PCH buildMartin Smith2018-11-054-75/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This update eliminates ALL parsing errors when clang parses the Qt headers to build the precompiled header qdoc needs. These errors are often cases where an old use of Q_QDOC no longer works because clang sees the enclosed fake declarations as erroneous. In a few cases, clang reported errors because two dummy function declartations under the Q_CLANG_QDOC guard were indistinguishable, so one of them was removed, and the documentation was patched accordingly. Using the macro Q_DECLARE_INTERFACE(...) causes clang to report errors because the class parametewr is abstract. These uses of the macro are not needed, so they are removed with #ifndef Q_CLANG_QDOC. Some declarations of default GL types that had been provided for qdoc were no longer needed, so they are removed. Now there are some member function signatures in QDBusPendingReply and QDBusPendingCall that have very long template clauses and qualifiers in their signatures. These unwieldy signatures will be unnecessary in the documentation and will look bad there, but for now they are correct. The ultimate solution will be to add a metacommand to qdoc, something like \simplify-signature to tell qdoc to generate the documentation for these member functions without the long template caluses and qualifiers. Change-Id: I012cf17a544fbba2ebc71002f31bdc865119bb8e Reviewed-by: Paul Wicking <paul.wicking@qt.io> Reviewed-by: Topi Reiniö <topi.reinio@qt.io> Reviewed-by: Martin Smith <martin.smith@qt.io>
* | | Merge remote-tracking branch 'origin/5.12' into devLiang Qi2018-10-259-40/+38
|\| | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/animation/qpropertyanimation.cpp src/gui/image/qicon.cpp tests/auto/widgets/itemviews/qtableview/tst_qtableview.cpp Change-Id: I3698172b7b44ebb487cb38f50fd2c4a9f8a35b21