aboutsummaryrefslogtreecommitdiffstats
path: root/src/quickcontrols2
Commit message (Collapse)AuthorAgeFilesLines
* QQuickIconLabel: fix alignmentJ-P Nurmi2017-11-151-0/+16
| | | | | | | | | | | | QQuickIconLabel is a wrapper around QQuickText & QQuickImage. While the alignment is mostly handled by layouting the internal QQuickText and QQuickImage instances, it must also propagate the alignment so that the text and image elements themselves also apply the correct content alignment. Task-number: QTBUG-64492 Change-Id: Ieb9d26fce703247bc6e2e61fa38e44c29937d1ad Reviewed-by: Liang Qi <liang.qi@qt.io>
* Visualize mnemonicsJ-P Nurmi2017-11-025-3/+221
| | | | | | | | | | | | | | | | | Unfortunately this comes a bit late in the 5.10 cycle, but this should be released together with the rest of the mnemonics stuff going out in 5.10, because it affects the value of AbstractButton/Menu(Bar)Item::text. As the removed TODO comments and altered tests indicate, previously the ampersand was blatantly stripped out. It would be worse to change it later once people have already started using mnemonics and rely on the behavior in custom styles. The necessary modifications to QQuickText were added in qtdeclarative commit 65ef4ba. Task-number: QTBUG-61422 Change-Id: Iaa73da8c012e9a6019743cf98f5bdc02527064e5 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Optimize CheckBox, Switch, and RadioButtonJ-P Nurmi2017-11-023-0/+119
| | | | | | | | | | Add an internal CheckLabel helper that simply initializes a few QQuickText properties with defaults that are suitable for CheckBox, Switch, and RadioButton. This gives a 10% boost on desktop in debug mode, and a 5% boost on a TX1 in release mode. Change-Id: I82fead9ca22b6aa74f24924d240c924b2a42a912 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* QQuickIconImage: fix crash with image providersJ-P Nurmi2017-10-231-2/+1
| | | | | | | | | | | | | QQuickImageBase::load() cannot call until the component creation is completed, because it requires an associated QML engine. All calls to updateIcon() are guarded with the appropriate isComponentComplete() check, but the sourceSizeChanged() signal was connected directly to updateIcon(). Establish the signal-slot connection at component completion to avoid calling updateIcon() to soon. Task-number: QTBUG-63959 Change-Id: I3c935291796dbae031d2728e1d51c55596a51cd0 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* QQuickPaddedRectangle: prevent negative width and heightJ-P Nurmi2017-09-281-1/+4
| | | | | | | | | If the padding is larger than the available size, the rectangle node should not be given a negative size, because the node is still rendered and it results to undesired rendering artifacts. Change-Id: I082649badb04fe33dbea2ca2c4efcf0f179f41a8 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Add QQuickColor::blend()J-P Nurmi2017-09-272-0/+15
| | | | | Change-Id: I60dd2159e7c5c9bbdbea415ac3fe2e40881dbaba Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Default: make Dial use palettesJ-P Nurmi2017-09-262-2/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | NOTE: Now that we have configurable palettes, we cannot assume that the default color of the indicator image matches the default palette color. Therefore we need to make ColorImage aware of the default color to avoid unnecessary expensive colorizing (see f0697c6). An extra QML property assignment of a constant value is much cheaper than colorizing the image. Starting from f0697c6, the indicator color has been defined like this: color: control.visualFocus ? Default.focusColor : undefined This assumes that the image has a default color of #353637 when not focused. With this, qmlbench delegates_dial.qml gives a result of 76 frames. The following options were considered: A) color: visualFocus ? palette.highlight : palette.dark => 71 frames B) color: visualFocus ? palette.highlight : palette.dark !== "#353637" ? palette.dark : "transparent" => 71 frames C) defaultColor: "#353637" color: visualFocus ? palette.highlight : palette.dark => 75 frames The last option was a clear winner. Task-number: QTBUG-63369 Change-Id: Ib8d56724de55b874d1c4ecdf0c09b91cfd2dc3df Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* ColorImage: colorize only if neededJ-P Nurmi2017-08-302-1/+7
| | | | | | | | | | | | | | | | | | | QQuickColorImageProvider got replaced by QQuickColorImage in 9fc3659. This seems to have introduced a performance regression in several controls that are now colorizing images even when there's no need to. Various indicator images have the correct default color that matches the normal state. They need to be colorized only when gaining focus or being disabled, for example. The improvement in qmlbench results: - CheckBox: 70 => 84 frames - ComboBox: 88 => 92 frames - Dial: 73 => 77 frames - MenuItem: 73 => 84 frames Change-Id: I9155042542f5069cff201a1730b9dd2a62cffd67 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* QQuickStyle: fix warning about empty filenameMitch Curtis2017-08-221-1/+1
| | | | | | | | | | | | | 0dee566e98f5ff4f224e596de1c04de4f9685df4 (in qtbase) added a check for empty file names to QFileSystemEngine, and we run into that: Empty filename passed to function The fix is to check for empty file names before calling QFile::exists(). Change-Id: I273ea62f97ddcbf5b1a7952405a67ccb45c7672a Reviewed-by: Liang Qi <liang.qi@qt.io>
* Add Imagine styleJ-P Nurmi2017-07-311-1/+9
| | | | | | | | | | | | | The Imagine style is based on image assets. The style comes with a default set of images, but the images can be easily changed by providing a directory with images using a predefined naming convention. [ChangeLog][Controls] Added the Imagine style, which is based on image assets that can be provided using a predefined naming convention. Task-number: QTPM-517 Change-Id: I550d7dac9a9686d60bec15655ac92dea9f36149c Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Merge remote-tracking branch 'origin/5.9' into devJ-P Nurmi2017-07-112-44/+71
|\ | | | | | | | | | | | | | | Conflicts: .qmake.conf tests/auto/controls/data/tst_scrollindicator.qml Change-Id: I1f5581ae7814c0d4152e4c9b79a30a8af5a3a17b
| * Tumbler: fix regression with currentIndex and currentItemMitch Curtis2017-07-072-44/+71
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2c4b2d48 made Tumbler's wrap property follow its count by default, but did so using updatePolish() to account for the use case where a items are appended to the model in a for loop, as is done in TumblerDatePicker.qml in Tumbler's auto tests. This (appending items one at a time in a for loop) is not a good idea, but it should work. The problem with the solution is that the delay means that the use cases mentioned in the referenced bug report were broken. This patch removes the delay. The recursion guards are necessary due to the complex nature of TumblerView (and its non-standard use of the Qt Quick views), as they prevent a memory leak in QQuickListView::createHighlight() from being introuduced. We now call deleteLater() to ensure we do not interfere with the views' internal operations, and hence we also perform a few extra operations at the same time as insurance (although it appears that simply unparenting the internal view from QQuickTumblerView is enough to get the tests to pass). Task-number: QTBUG-61374 Change-Id: Ifef9e99522ea183b282ac862f346beaed12d0c09 Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* | Merge remote-tracking branch 'origin/5.9' into devJ-P Nurmi2017-06-151-1/+1
|\| | | | | | | | | | | | | | | | | Conflicts: src/imports/controls/ButtonGroup.qml tests/auto/controls/data/tst_container.qml tests/auto/menu/tst_menu.cpp Change-Id: Ie8ee7e4f83f3fda6a09507b060576ebda929a7cd
| * Fix typo in code comment in qquicktumblerview.cppMitch Curtis2017-06-131-1/+1
| | | | | | | | | | Change-Id: Ie12bbad5981af263d5dc8fcbb0e7674b9e823132 Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* | Merge remote-tracking branch 'origin/5.9' into devJ-P Nurmi2017-06-081-3/+6
|\| | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/imports/controls/doc/src/qtquickcontrols2-index.qdoc src/imports/controls/doc/src/qtquickcontrols2-styles.qdoc src/quicktemplates2/qquickapplicationwindow.cpp src/quicktemplates2/qquickmenu.cpp src/quicktemplates2/qquickmenu_p.h src/quicktemplates2/qquickpopup.cpp tests/auto/auto.pro Change-Id: I856a022d38abd84763127539f46ef032ddc53c3d
| * Fix QQuickStyle::availableStyles()J-P Nurmi2017-06-071-3/+6
| | | | | | | | | | | | | | | | | | Filter out macOS debug symbol (.dSYM) directories from the list of available styles. Task-number: QTBUG-60973 Change-Id: I5b9c3f4af946d44b1601f32bf7da699c29a86689 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Add support for configurable palettesJ-P Nurmi2017-06-022-1/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A style's default palette is specified in qtquickcontrols2.conf in a "Palette" group under the style's section. QSettings supports the following two alternative syntaxes: [Fusion] Palette\Window=#dedede Palette\WindowText=#212121 or [Fusion\Palette] Window=#dedede WindowText=#212121 Change-Id: I01bf44d9e332064e955e95f619de634fcb79f010 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Update configure.json for the Fusion styleJ-P Nurmi2017-05-311-1/+2
| | | | | | | | | | | | | | | | | | | | The sections were added while the Fusion style was under development. Now that the purpose-field becomes shorter since doesn't have to repeat "QQC2", we can make it more descriptive by mentioning also that it's a desktop-oriented style. Change-Id: Iffd4ee56d8f33d5b98a6c7842ed43dcd96991995 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Add support for configurable fontsJ-P Nurmi2017-05-313-2/+189
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A style's default font is specified in qtquickcontrols2.conf in a "Font" group under the style's section. QSettings supports the following two alternative syntaxes: [Default] Font\Family=Open Sans Font\PixelSize=20 or [Default\Font] Family=Open Sans PixelSize=20 [ChangeLog][Controls] Added support for specifying the default font for different styles in qtquickcontrols2.conf. Change-Id: I54e1efb79a2913eab35174dbf09b6956fe740e28 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Merge remote-tracking branch 'origin/5.9' into devJ-P Nurmi2017-05-301-2/+4
|\| | | | | | | | | | | | | Conflicts: src/quicktemplates2/qquickrangeslider.cpp Change-Id: I7eb990cfdc91173f86552841ba16536b35ea09cf
| * Add sections and update purposes of featuresStephan Binner2017-05-301-2/+4
| | | | | | | | | | | | Change-Id: I5beb6770ef3cea097c4baa8384e25f43190fdd9d Reviewed-by: J-P Nurmi <jpnurmi@qt.io> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Say hello to the Fusion styleJ-P Nurmi2017-05-301-1/+8
| | | | | | | | | | | | | | | | [ChangeLog][Controls] Introduced a Fusion style that offers a platform agnostic desktop-oriented look'n'feel. Change-Id: Id1c1baf10f4b3a79e89bcc72f6d170ed0b2cc8b0 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Add QQuickDefaultThemeJ-P Nurmi2017-05-292-2/+12
| | | | | | | | | | | | | | | | | | The Default style will be changed to use palettes, and it will be also possible to define the default fonts and palettes for any style in the qqc2.conf file, so the Default style needs its own proxy theme. Change-Id: I0262f7a1f783daa62ca4afbdf3c8fe29d989ca36 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | quickcontrols2.pro: add missing escapeJ-P Nurmi2017-05-271-1/+1
| | | | | | | | | | Change-Id: I356562c298c63586108fd1c993a818b53f227ff0 Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* | Cleanup whitespaceJ-P Nurmi2017-05-271-1/+1
| | | | | | | | | | Change-Id: I453ec5ac798bb5904495b82c6e0e06c40b3a9a70 Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* | quickcontrols2.pri: fix alphabetical orderJ-P Nurmi2017-05-271-4/+4
| | | | | | | | | | Change-Id: Ie5f58cd1d6aad04388d5f2e611ac32ac36752543 Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* | QQuickStyleSelector: fix built-in file selectorsJ-P Nurmi2017-05-201-2/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | While selecting style files, the standard built-in platform and local file selectors ("+linux", "+macos", "+windows"...) must be prefixed with the standard file selector indicator ("+"). Previously the style selector would not pick up platform-specific style files unless they were supplied without the prefix. [ChangeLog][Controls][Styles] Fixed the style selection mechanism so that now it is possible to organize platform and locale-specific files into sub-directories, such as "+linux", "+macos", and "+windows". Change-Id: Ia44b6f14fd0247943486fd27609147827bda9666 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* | QQuickIconLabel: ensure that icon color changes are respectedMitch Curtis2017-05-152-10/+2
| | | | | | | | | | | | | | | | | | | | | | updateIcon() is no longer called, so we can move its contents into syncImage(), which is called by updateOrSyncImage(), which is called by QQuickIconLabel::setIcon().. which is called each time any of the icon properties change (now that it's a value type). Task-number: QTBUG-60807 Change-Id: Id1ff875e0855bd76755d49466f82c2eac36ffd09 Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* | Make QQuickIcon a value typeJ-P Nurmi2017-05-103-37/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QQuickIcon no longer inherits QObject, but becomes a light-weight implicitly shared Q_GADGET-type, that is passed by value the same way fonts and colors are. Before: SUB: OS: Fedora 25 (Workstation Edition) SUB: QPA: xcb SUB: GL_VENDOR: Intel Open Source Technology Center SUB: GL_RENDERER: Mesa DRI Intel(R) Haswell Desktop SUB: GL_VERSION: 3.0 Mesa 13.0.4 SUB: running: benchmarks/auto/creation/controls/delegates_buttoncontrol2.qml SUB: 110 frames SUB: 109 frames SUB: 109 frames SUB: 109 frames SUB: 109 frames SUB: Average: SUB: 109.2 frames; using samples; MedianAll=109; StdDev=0.447214, CoV=0.00409536 After: [...] SUB: running: benchmarks/auto/creation/controls/delegates_buttoncontrol2.qml SUB: 123 frames SUB: 124 frames SUB: 124 frames SUB: 122 frames SUB: 125 frames SUB: Average: SUB: 123.6 frames; using samples; MedianAll=124; StdDev=1.14018, CoV=0.00922472 Change-Id: I604532204fb94fc0726d0c9b8b6097f9ebc265e8 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Merge remote-tracking branch 'origin/5.9' into devJ-P Nurmi2017-05-031-0/+2
|\| | | | | | | | | | | | | | | | | | | Conflicts: src/imports/controls/universal/CheckDelegate.qml src/imports/controls/universal/RadioDelegate.qml src/imports/controls/universal/Switch.qml src/imports/controls/universal/SwitchDelegate.qml Change-Id: I9bca4b8d9ce3f6c5c7589daa0ced7d0353f42efc
| * Mark non-default styles as depending on features.quickcontrols2-defaultStephan Binner2017-05-031-0/+2
| | | | | | | | | | Change-Id: I1472d2f72cf86e2ba66c9cccffbad73061100974 Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* | QQuickIconImage: use QQuickPixmap::width/height instead of implicitSizeMitch Curtis2017-05-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | QQuickPixmap's implicitSize is the original size of the image on disk before any scaling was done on it, which means that it doesn't account for the scaling that QQuickImageProviderWithOptions::loadSize() does. This was causing updateFillMode() to alternate between setting PreserveAspectFit and Pad when the icon color was changed. I was not able to come up with an auto test that reproduced the issue. Task-number: QTBUG-60528 Change-Id: I1cc31f0c50875d794c37a6fc76ff0942e44d271a Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* | QQuickIconImage: fix file selectors for named theme iconsJ-P Nurmi2017-04-262-2/+11
| | | | | | | | | | | | | | | | | | QQuickIconImage needs to be associated with a QML context to be able to call QQmlContext::resolvedUrl(), which in turn passes it to the URL interceptor aka. QQmlFileSelector. Change-Id: Iff34fb8316c765ac0ff04d5d7a6ab23002b31385 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | QQuickXxxImage: don't attempt to colorize null imagesJ-P Nurmi2017-04-192-8/+12
| | | | | | | | | | | | | | | | | | | | | | QPainter threw such warnings: QPainter::begin: Paint device returned engine == 0, type: 3 QPainter::setCompositionMode: Painter not active Task-number: QTBUG-60200 Change-Id: I2cdedb7a547d0c069964929663297c969de9b2a7 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Replace QQuickColorImageProvider with QQuickColorImageJ-P Nurmi2017-04-183-37/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now that QQuickImage is exported, we can colorize images using a simple QQuickImage subclass instead of using an image provider. The main issue with QQuickColorImageProvider was that it was based on QGuiApplication::devicePixelRatio(). Now each QQuickColorImage handles its device pixel ratio correctly depending on which screen it is on. Even though we now have to use two bindings (color and source) instead of encoding the color to the source, at the same time we can remove the sourceSize bindings that were added as image provider specific high DPI workarounds (ca87ab8). Task-number: QTBUG-58925 Change-Id: Iba14d2afe3bda540189682ba5be7c58d907d88f7 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | QQuickIconLabel: reduce the amount of implicit size re-calculationJ-P Nurmi2017-04-121-7/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Before: Average: 124.6 frames; using samples; MedianAll=125; StdDev=0.894427, CoV=0.00717839 After: Average: 134 frames; using samples; MedianAll=134; StdDev=0.707107, CoV=0.00527692 Task-number: QTBUG-59746 Change-Id: I67dac9e51aba908e2a22f64a2b2c906d4a6b573b Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* | QQuickIconLabel: use QStringLiteral instead of QLatin1StringJ-P Nurmi2017-04-121-2/+2
| | | | | | | | | | Change-Id: I4028890dafcd4c79b26a9592045d5e2825dd100d Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* | QQuickIconLabel: create icon and label items lazilyJ-P Nurmi2017-04-113-70/+276
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Before: Average: 120.2 frames; using samples; MedianAll=120; StdDev=0.447214, CoV=0.00372058 After: Average: 129.8 frames; using samples; MedianAll=130; StdDev=0.447214, CoV=0.00344541 Task-number: QTBUG-59746 Change-Id: I44b521688cd60e7e287968828f9d4062cc642a0d Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* | Implement QQuickIconLabel::TextUnderIconJ-P Nurmi2017-04-112-4/+42
| | | | | | | | | | | | | | This will be the default for TabButton and RoundButton. Change-Id: I9ccb0d35f33a80fe7e3da26617ed6f42232afe17 Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* | Add QQuickIconLabel::alignmentJ-P Nurmi2017-04-113-29/+76
| | | | | | | | | | | | | | | | The contents of menu items and item delegates must be aligned to the left in left-to-right UIs, or to the right in right-to-left UIs. Change-Id: Ib4064f6a8162306d446189cadebb80e12d3cd35d Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* | QQuickIconLabel: final propertiesJ-P Nurmi2017-04-101-6/+6
| | | | | | | | | | | | | | | | Another micro-optimization to tell the QML engine that it doesn't need to lookup potentially overshadowed properties in the class hierarchy. Change-Id: I87ec48823afee2bbc93027dd098c4e73f37bca59 Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* | QQuickIconLabel: don't post-pone implicit size calculationJ-P Nurmi2017-04-101-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | QQuickText is optimized to avoid unnecessary implicit size calcuation. It can make a big difference whether QQuickText::implicitWidth() is called while the text element is complete. "Bind" to QQuickText's implicit size directly to let it apply the optimization tricks. This way QQuickTextPrivate::setupTextLayout() is called only once during the construction of QQuickIconLabel. Only layouting is post-poned until component completion anymore. Change-Id: Ide6bbddadf7d36ab908064b8545e1b4ed9474455 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | QQuickIconLabel: use setSize() and setPosition()J-P Nurmi2017-04-101-16/+16
| | | | | | | | | | | | | | | | | | Calling setWidth() & setHeight() or setX() & setY() calls the virtual geometryChanged() method twice. Calling setSize() or setPosition() does the move/resize operation in one go. Change-Id: I136b9be1443e6ec11407081010aadc493417c627 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Micro-optimize QQuickIconLabelJ-P Nurmi2017-04-101-15/+12
| | | | | | | | | | | | | | | | | | | | | | | | Reduce indirection between the public and private objects. Things like width, height, and componentComplete can be accessed directly in the private object instead of asking them from the public object, which in turn asks them from the private object. Furthermore, when direct access is available on the stack, reference directly instead of repeatedly via the d-ptr. Change-Id: Idbb40bc86ebff7b7b22e21050941afd6f0027bfe Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | QQuickIconLabel: rename text property to labelMitch Curtis2017-04-083-38/+38
| | | | | | | | | | | | | | | | In preparation for the next patch which adds a "QString text" property to the API. Change-Id: Ie904108353c37a02cbc992c067f3e09aed9c2497 Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* | QQuickIconLabel: remove change signalsMitch Curtis2017-04-082-31/+9
| | | | | | | | | | | | | | No QML code relies on these. Change-Id: I9311d80b8d53914e1db7aa37ed9388c279f0563a Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* | Rename QQuickDisplayLayout to QQuickIconLabelMitch Curtis2017-04-074-87/+87
| | | | | | | | | | | | | | | | There are some performance improvements planned that require changes to the class, resulting in it no longer being a layout "container". Change-Id: Ie29f2f95eebb64b3b018746f93763fdbe79625f0 Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* | QQuickDisplayLayout: call layout on child item implicit size changesMitch Curtis2017-03-231-0/+2
| | | | | | | | | | | | | | | | | | This is necessary when the layout has an explicit size larger than its implicit size, and hence child item implicit size changes don't trigger geometryChanged() (where layout() is called). Change-Id: Ieacebff50503c101358e1dd6fda85ac495120af7 Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* | QQuickDisplayLayout: only use spacing if the image's width is > 0Mitch Curtis2017-03-221-2/+2
| | | | | | | | | | Change-Id: I4b6b36da99633d5f9eebf090c5f0d8a3d2829e12 Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* | QQuickAttachedObject: add pimpl supportJ-P Nurmi2017-03-222-0/+8
| | | | | | | | | | | | | | | | Allow passing QObjectPrivate, so sub classes can use pimpl if they want, like the old QQuickPalette implementation already does... Change-Id: I48b6256bf63cb91697753ba9b5644c649574fdb0 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>