summaryrefslogtreecommitdiffstats
path: root/src/widgets
Commit message (Collapse)AuthorAgeFilesLines
* macOS: Remove all use of deprecated Q_OS_OSX defineTor Arne Vestbø2020-04-0315-35/+35
| | | | | Change-Id: I49c285604694c93d37c9d1c7cd6d3b1509858319 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* CMake: Fix double inclusion of CMake plugin targetsKai Koehne2020-04-031-1/+2
| | | | | | | | | | | | | | | After 99ace38d22c640e37bb1a41095ee3b126169816a, all plugin files are included automatically, not only the ones ending in Plugin.cmake. Thus the extra inclusion done by the QmlConfigExtras file should only be done if strict mode is set. Amends 99ace38d22c640e37bb1a41095ee3b126169816a Amends 2f2dd3b0c28db210ea1f00d569f6c1626894c5f4 Task-number: QTBUG-83282 Change-Id: I416cbad6c4788d605a9a74f21062543c9c98e968 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Use correct deprecation macro, and add \since to new member functionVolker Hilsheimer2020-04-022-3/+3
| | | | | Change-Id: Ib9e88855c708f1fe2402d78c55ff08812d86e035 Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* QLineEdit: clarify the impact of using validatorsVolker Hilsheimer2020-04-011-4/+12
| | | | | | | | | | Values that are validated as Intermediate are possible to enter, but returnPressed and editingFinished signals are not emitted. Fixes: QTBUG-82915 Change-Id: I3e194cd6ee93b3402090117b67044cf3663a232e Reviewed-by: Paul Wicking <paul.wicking@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Merge "Merge remote-tracking branch 'origin/5.14' into 5.15"v5.15.0-beta3Liang Qi2020-03-312-6/+14
|\
| * Merge remote-tracking branch 'origin/5.14' into 5.15Liang Qi2020-03-312-6/+14
| |\ | | | | | | | | | | | | | | | | | | Conflicts: tests/auto/widgets/itemviews/qabstractitemview/tst_qabstractitemview.cpp Change-Id: Ifaa56153f5f0d687a6b4d94f84fcfa1e1751afd2
| | * Send MouseMove events without buttons if the press closed the popupVolker Hilsheimer2020-03-301-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With nested popup widgets, pressing a mouse button on the lower popup will close the active popup. MouseMove events that are generated before the button is released again should not have that button included, as it is likely to result in incorrect state handling in the widget. This change removes all buttons from the MouseMove event, which is the second best option. This is mostly consistent with the behavior when closing a popup and no other popup remains. The widget underneath will get MouseMove events without the respective button included. This change doesn't include a fix for the final release event, which should ideally also not be delivered to the remaining popup, as it never got a corresponding press event. Qt has already reset the states in which it stores which widget received the press event at the time the release is generated, such as qt_button_down and qt_popup_down. So we can't separate a release grabbed by a newly opened popup (which we want) from a release to the popup that became active after closing (which we don't want). However, widgets can more easily work around this issue, and the risk of breaking things by changing the code further becomes too high. Change-Id: I603bbdbc7e7355952d96ab77c5e2d2f1e6f94987 Fixes: QTBUG-82538 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
| | * itemviews: Use the start of the current selection when getting the rangeAndy Shaw2020-03-301-3/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When doing a shift-select while moving the mouse then the start point should be based on the start of the current selection and not the pressed position. If there is no current selection start index, then we can safely depend on pressed position as this will be the previous index pressed on. This resolves an issue introduced by e02293a76d21e7077f1952d4ed8af6c6d1970190 when fixing QTBUG-78797 Fixes: QTBUG-81542 Change-Id: Ia66c42b220452fdcbc8cfccc05dbc8a3911c3f5e Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | | QCommonStyle::pixelMetric(): Silence warnings about deprecated enum valuesFriedemann Kleint2020-03-311-7/+38
|/ / | | | | | | | | | | | | Add the Qt 6 code paths and enclose in warnings exclusions. Change-Id: I321296ef220fb788f04979ffff42a8a5f226dfdb Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | Fix Fusion style ignoring SH_UnderlineShortcut from proxy styleJoni Poikelin2020-03-301-2/+2
| | | | | | | | | | | | Fixes: QTBUG-83133 Change-Id: If3fbfae515567d9a0136beb35ca1f9f59460894b Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* | QTextEdit: remove the cursor when a read-only textedit looses focusVolker Hilsheimer2020-03-271-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A read-only text edit with Qt::TextSelectableByKeyboard shows a steady cursor to indicate to users that they can select the text, but not edit it. When the control receives focus, it doesn't turn on blinking, but explicitly sets cursorOn to true. When focus is lost, then cursorOn needs to be reset to false to make the cursor disappear, even if the blinking (as indicated by the poorly named cursorVisible variable) is not on. Change-Id: I78408b5c50c6ede3f9a7128be7a31b9c6795cf9c Fixes: QTBUG-83029 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | widgets: Sync client rect of paint-on-screen widgets during resizeTor Arne Vestbø2020-03-271-4/+4
| | | | | | | | | | | | | | | | | | | | | | Paint events are delivered with the client rect of the widget, and this applies to paint-on-screen widgets as well. The same goes for how the widget repaint manager tracks dirty rects. Internally we were also calling paintOnScreen() with client rects, so the use of geometry() in the resize handler was likely a bug/oversight. Change-Id: I1312ccf77218d1162e0971e4cbabaa80f49c852c Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* | QLineEdit: Include the horizontal margin in minimumSizeHintVolker Hilsheimer2020-03-261-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The margin is respected in the sizeHint, but not in the minimumSizeHint. Since the latter should be the former for a single character (as per the documentation promising enough space for one character), the margin calculation needs to be identical. Adjusting the documentation nevertheless, as there are characters that won't fit either way. As reported, the permyriad character doesn't fit even with this fix on macOS, as the core graphics API we are using doesn't report a glyph-index for U+2031 (so our existing assumption that 'W' is the widest character is still the best we can do). Change-Id: I30573960c316cc7b8c9bbe3c3f4c6351792bed36 Fixes: QTBUG-82970 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* | Fix deprecation warnings for QInputDialog::getDouble()Lars Knoll2020-03-262-37/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The way this was done didn't really make sense. The change added an overload with one additional argument. The deprecation warning would have now forced everybody to explicitly specify all arguments to avoid the warning. Instead, keep both overloads in 5.15, but document them as one method. Remove the old version in Qt6 and move the default arguments to the new version. Change-Id: I738d4d1b99cdf30db53acf14382a00cac74aa10a Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* | Add "checkable" state to QAccessibleTableCellAndre de la Rocha2020-03-261-1/+5
| | | | | | | | | | | | | | | | | | | | | | The information about whether a table/tree item may be checked is necessary to allow the platform code (in particular, Windows UI Automation layer) to make this information available to screen readers. Task-number: QTBUG-81919 Change-Id: Id68eea4a004788751404d70567222a2c531578aa Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* | Fix deprecation of QComboBox:::currentIndexChanged(const QString&)Lars Knoll2020-03-252-27/+17
| | | | | | | | | | | | | | | | | | | | | | | | Don't introduce another overload with two parameters. Users want a simple signal to connect to, not another overload. Deprecate the currentIndexChanged(QString) overload, usage of that can/should get replaced by currentTextChanged(). This partially reverts commit 11dc7b35c8c3957bd19087a5e3ae7cfc4f1a3343. Change-Id: I5e7d16413f3d62b1a5a7a197f510af2c45cdfa55 Reviewed-by: Vitaly Fanaskov <vitaly.fanaskov@qt.io>
* | Merge "Merge remote-tracking branch 'origin/5.14' into 5.15"Mitch Curtis2020-03-231-4/+4
|\ \
| * | Merge remote-tracking branch 'origin/5.14' into 5.15Mitch Curtis2020-03-201-4/+4
| |\| | | | | | | | | | Change-Id: Ib2a2e3a292af43be3a980c2ccc943c08f4bbf72f
| | * Merge remote-tracking branch 'origin/5.14.2' into 5.14Mitch Curtis2020-03-191-4/+4
| | |\ | | | | | | | | | | | | Change-Id: I34ca28c75b88e882c3f35f182bf01acb22b77637
| | | * Fix potential out-of-bounds or nullptr accessVolker Hilsheimer2020-03-171-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This ammends change baed8534bc1dac36a9d0ef4240fc14398076a192, which might have introduced a hard to reproduce segmentation fault when the screen number is out of bounds, or when the QScreen object doesn't return a valid pointer for QScreen::handle. As the issue doesn't reliably reproduce, this is a speculative fix that adds bounds and nullptr checking. Change-Id: I0cec0a344e80159ee1723d840f207267a608cef4 Fixes: QTBUG-82807 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* | | | Fusion Style: Use qobject_cast rather than dynamic_castUlf Hermann2020-03-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We want to avoid RTTI. Fixes: QTBUG-82287 Change-Id: Ib034094d4035d6dfa99d00ac198c93cc9572755b Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | | | QTableView: Make sure to repaint all needed cells during resizingChristian Ehrlicher2020-03-211-8/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Don't try to update the scrollarea geometry while resizing a row or column since this may lead in flickering and artifacts, esp when the scroll mode is scrollPerItems. Instead do the calculation only when the resize is finished. Fixes: QTBUG-72870 Fixes: QTBUG-82595 Change-Id: Id6903c00485b3be6ed54bd5f9bcafdda6da21598 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Samuel Gaist <samuel.gaist@idiap.ch> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | | | Doc: replace deprecated references to QGLWidgetChristian Ehrlicher2020-03-205-11/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove references to the deprecated QGLWidget and replace it with QOpenGLWidget. Change-Id: Ia31df42ab61c25e9ce46f4491267d2c64910f55c Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* | | | QDateTimeEdit: with keyboardTracking off, allow values outside the rangeVolker Hilsheimer2020-03-201-2/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QDateTimeEdit very aggressively prevents user input that would result in values that are outside the dateTimeRange. While keyboardTracking is on this makes sense, as otherwise the dateTimeChanged signal would be emitted after each section, with a value that is outside the range. However, this prevented users from entering a date that is allowed, but where sections of the date are above or below the respective section in the maximum or minimum value. If keyboardTracking is off, QDateTimeEdit only emits the dateTimeChanged signal at the end of editing, when focus is lost or the return key is pressed, and then it enforces that the value is within the range anyway. This change makes the parser ignore the range during editing if keyboardTracking is off, thus allowing the user to enter a date where temporary values are outside the range. The test makes sure that we don't get signals emitted with out-of-range values, testing both with and without keyboard tracking. Change-Id: I00fb9f1b328a3477163f890c4618b40878657816 Fixes: QTBUG-65 Reviewed-by: Andy Shaw <andy.shaw@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | | | Fix keypad navigation within a button group for push buttonsVolker Hilsheimer2020-03-201-2/+2
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Keypad navigation within a group should work for auto-exclusive buttons, or for checkable buttons that are in a button group. Since the code already tests whether the button should be treated like an exclusive (which implies checkable) button, use the result of that test when finding the candidate button to move focus to, and not only when actually changing the checked button and the focus. Change-Id: I4dc41a90d51a8304483046252ceff0ebfe2a2e52 Fixes: QTBUG-27151 Done-with: david.faure@kdab.com Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* | | widgets: Clarify backingstore resize logic by removing cruftTor Arne Vestbø2020-03-191-8/+6
| | | | | | | | | | | | | | | Change-Id: I0a449068a0d4557b7bd6581ddf71c590b72d76a1 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | | widgets: Remove unused member QTLWExtra::inTopLevelResizeTor Arne Vestbø2020-03-194-16/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | It was introduced in Qt 4.4 (e150f6a6e619) to work around slow resizes on Windows and X11 due to excessive painting, but has since been removed when old dead code never ported to QPA was removed in a2337f79ffd229. Change-Id: Ic14e714a02edb4194a445a6bb0759b601799fdc6 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | | Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2020-03-181-1/+2
|\| | | | | | | | | | | Change-Id: Iaab37b633a8286c2c21425aaac34d30529a3ea82
| * | QTreeView: don't call model.index(-1, 0) when using spanning itemsDavid Faure2020-03-161-1/+2
| |/ | | | | | | | | | | | | | | | | | | | | | | drawTree() does QPoint hoverPos = d->viewport->mapFromGlobal(QCursor::pos()); d->hoverBranch = d->itemDecorationAt(hoverPos); and itemDecorationAt does const QModelIndex index = q->indexAt(pos); which might very well be an invalid index. Change-Id: I7db98871543bd7e1c57fcc475d2646757bf2bb42 Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de>
* | Header-review: add Q_DECL_DEPRECATED_X macro to deprecated methodVolker Hilsheimer2020-03-171-1/+1
| | | | | | | | | | Change-Id: I486d479b2e07042b397869aab117f44e65539f1e Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | Fix docs suggesting that it's possible to draw to the X11 screenSimon Hausmann2020-03-171-2/+0
| | | | | | | | | | | | | | | | | | It's not possible anymore, since many years. The desktop's don't use the X11 root window anymore :) Fixes: QTBUG-82880 Change-Id: I923f29f23e61d93640cacb2ac20620c5ddc480b9 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* | Add 'since' tag to documentation of new enum valueVolker Hilsheimer2020-03-171-1/+1
| | | | | | | | | | Change-Id: I400dc1f2d3dba0fa50b2bcb5e4efbcfc0ad912fd Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* | Doc: Remove \contentspage commandsTopi Reinio2020-03-153-8/+0
| | | | | | | | | | | | | | | | The command is deprecated and has no effect apart from generating a documentation warning. Change-Id: I30871bfd6975f8268930cce99993a8579242fdb8 Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* | Doc: Remove incorrect see-also linkTopi Reinio2020-03-121-2/+0
| | | | | | | | | | | | | | | | The link is actually a self-reference; setCurrentSection() is setter for the currentSection property, and has no dedicated documentation. Change-Id: I4977650566913c590d46aede92d8678b7b7ea291 Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* | QFileDialog: Improve default implementation of getOpenFileContent()Friedemann Kleint2020-03-121-2/+3
| | | | | | | | | | | | | | | | | | Use QFileDialog::ExistingFile and check whether file can be opened, fixing warnings like: QIODevice::read (QFile, "/home/.../blub"): device not open Change-Id: I7ee1d59f01383c581bc09fb44855835aae8c246b Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* | Add default arguments to QPainterPath methods using transformJarek Kobus2020-03-067-0/+7
| | | | | | | | | | | | | | Fixes: QTBUG-82602 Change-Id: Id82f145ffb33e6d4ef9b81282ad14657b1c8fbd0 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | Don't use deprecated QPixmapCache::find overloadVolker Hilsheimer2020-03-041-1/+1
| | | | | | | | | | | | | | | | Silence compile time warning and show correct usage in example snippet. Change-Id: I1936f006e4b5f3ca71bbc0100ed039beeb459271 Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* | QMenu: hide when a QWidgetAction fires the trigged signalVolker Hilsheimer2020-03-031-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QMenu hides regularly when the user interacts with it, and manages the firing of signals based on that. It ignores if a QAction that is added to it fires the triggered() signal programmatically. With QWidgetActions added to the menu, the menu usually doesn't get interacted with directly, as the widget gets the input events. Since the action can be added to multiple menus, neither widget nor action can interact with the menus programmatically. Instead, the menu needs to hide when the widget action triggers. Test included that covers the case where a QWidgetAction is added to multiple menus that are visible. Documentation updated, and removed a redudant paragraph as a drive-by change. [ChangeLog][QtWidgets][QMenu] a popup menu hides when a QWidgetAction added to it fires the triggered signal. Change-Id: I69f378426a45c2e46cebdaa5e6f1b21c8fb03633 Fixes: QTBUG-10427 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | Name method parameters in declaration, even when it's obviousVolker Hilsheimer2020-02-282-8/+8
| | | | | | | | | | | | | | As pointed out during header review. Makes Qt more IDE friendly. Change-Id: Icb610dba39e39ffd6674c79d9c6e087294788489 Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* | Avoid using deprecated QTabletEvent::device() methodAllan Sandfeld Jensen2020-02-281-1/+1
| | | | | | | | | | | | | | | | It was renamed to QTabletEvent::deviceType() in 882f340f62b8dc34633f5f296be12243b6e8999d. Change-Id: I070404bfc9a04144ae3565bfa3cc3a016040a07d Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | Use Qt::SplitBehavior in preference to QString::SplitBehaviorEdward Welbourne2020-02-283-3/+3
| | | | | | | | | | | | | | | | The Qt version was added in 5.14 "for use as eventual replacement for QString::SplitBehavior." Move another step closer to that goal. Change-Id: I399b5ea56e9255e775ca1746632f7421519a6616 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* | Docs: Use Qt::SplitBehavior in preference to QString::SplitBehaviorEdward Welbourne2020-02-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | The Qt version was added in 5.14 "for use as eventual replacement for QString::SplitBehavior." Move another step closer to that goal. Applied suitable wrapping round various char and string literals, since docs are meant to show best practice. Change-Id: Ie061905fad26f9b4dda3eedba4612704f0a19126 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | Remove a "### Qt 6" that I forgot to removeJan Arve Sæther2020-02-281-1/+0
| | | | | | | | | | | | | | amends commit 5e83a2eed2dc42a732bd9154bebe8dcb34cd6bb5 Change-Id: I792d5d71d8c5a8b034d334de31dcd9bacfc53fa9 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* | Android: QFileDialog::selectedFiles() check isLocalFile()Assam Boudjelthia2020-02-271-2/+6
| | | | | | | | | | | | | | | | | | call toLocalFile() only if the returned QUrl::isLocalFile() is true, otherwise return toString(). Same thing as done for QFileDialog static functions as in 1576f81baa8a1c992a005397edfc5d6f9e1b44c1. Change-Id: I3f8cab385e32d0943587b3382a636ea3a168d518 Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* | Merge "Merge remote-tracking branch 'origin/5.14' into 5.15"Lars Knoll2020-02-272-16/+21
|\ \
| * | Merge remote-tracking branch 'origin/5.14' into 5.15Lars Knoll2020-02-272-16/+21
| |\| | | | | | | | | | Change-Id: I4212d070d5752275085e754b96f0392113604dba
| | * Document the behavior of QLineEdit::inputMask correctlyVolker Hilsheimer2020-02-261-14/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QLineEdit is unicode, and uses QChar::isLetter and QChar::isNumber to evaluate whether an input character is valid. There is no test for ASCII ranges, or converting of input characters to ASCII, so the documentation was wrong. [ChangeLog][QtWidgets][QLineEdit] the inputMask property has allowed any Letter or Number category character for the respective mask characters, not just ASCII. The documentation has been updated accordingly. Change-Id: Ied93cf6ddd334ac91bfbc275107a8eb83d231d80 Fixes: QTBUG-82291 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
| | * Documentation: correctly use see-also tags to link to related membersVolker Hilsheimer2020-02-261-4/+5
| | | | | | | | | | | | | | | Change-Id: I764eb4730067cd704866191516dc4e8dd1820760 Reviewed-by: Nico Vertriest <nico.vertriest@qt.io>
* | | Fix QDateTimeEdit's handling of invalid time in dst gapVolker Hilsheimer2020-02-271-1/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | During a spring forward, a time-zone omits an hour. A QDateTime with such an hour is invalid, but QDateTimeEdit's handling of this invalid time was not done correctly. With this fix, up/down changes of any field that would result in an invalid date-time corrects the time to be valid, while leaving as much as possible of the user-entered data unchanged. To do that, we rely on QDateTime::toMSecsSinceEpoch to return a value even for such an invalid time, which then can be used to construct a valid QDateTime. Edits that would result in an invalid hour are reverted to the previous when pressing return, if correctionMode is CorrectToPreviousValue. This change also implements support for CorrectToNearestValue, which uses the same mechanism as when stepping over an invalid time. Include a test that verifies that the various interactions result in a reasonable value. Since QDateTimeEdit does not respect the timezone or timespec of the QDateTime it is initialized with, we have to find the first hour of daylight saving time for a year that we know works for most time zones. Failing that, we have to skip the tests. Verified in a wide range of time zones. Change-Id: I05b906ae3b5f6681891d23704f00f9c10cd479ae Fixes: QTBUG-79803 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* | | QWizard: deprecate visitedPages and add visitedIds insteadVolker Hilsheimer2020-02-272-2/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As per the ### Qt 6 comment. A method visitedPages should, following the convention of the other QWizard APIs, return a list of QWizardPage pointers. Since the method returns a list of IDs, visitedIds is the correct name. [ChangeLog][QtWidgets][QWizard] visitedPages has been deprecated, use visitedIds instead. Change-Id: Ifdb94adf093be14cb48c84cb40818c55ff5189a0 Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>