| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
This is getting its own repository as part of the move to the
marketplace.
Task-number: QTBUG-84172
Pick-to: 5.15
Change-Id: I2f963c298d6ef95e0832f95aa1e1ea809f4867a2
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
This ensures that if the model is updated due to a retranslate
that it gets the updated string and the ComboBox shows it
correctly.
Change-Id: Iecbc18a1051d6db13035b3efa393d9bf97788dd9
Fixes: QTBUG-82020
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
[ChangeLog][Controls] Add HorizontalHeaderView and VerticalHeaderView.
They are controls associated with TableView. Support flicking synchronization
Support default, fusion, imagine, material and universal delegate styles.
Fixes: QTPM-1300
Change-Id: Ie3f913dd616cda0d4e5a22a3d95baf71692370fe
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
|
|
|
|
|
|
|
| |
This amends c18c7bd7f9596e5ad3d13876a91203e1ceba2544.
Change-Id: I29b48d9c8e5889bb67ea3cbc14821b5621868b6f
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The crash was not 100% reliable and depends on the order in the hash().
Something in beginDeferred() has a side effect on deferData->bindings
and an element gets deleted. This causes a crash while iterating (++it).
Therefore we do a copy of the hash.
I added a regression test. The test did only crash for SpinBox and it did
only crash roughly half the time.
Task-number: QTBUG-71942
Change-Id: I339e0a4382f97db44f6ff2e9f07f2be7278d1e24
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
.qmake.conf
examples/quickcontrols2/quickcontrols2.pro
src/imports/controls/ComboBox.qml
src/quicktemplates2/qquickabstractbutton.cpp
src/quicktemplates2/qquickabstractbutton_p.h
src/quicktemplates2/qquickapplicationwindow_p.h
src/quicktemplates2/qquickcombobox.cpp
src/quicktemplates2/qquickcontainer.cpp
src/quicktemplates2/qquickcontrol.cpp
src/quicktemplates2/qquickcontrol_p.h
src/quicktemplates2/qquickcontrol_p_p.h
src/quicktemplates2/qquicklabel_p.h
src/quicktemplates2/qquicklabel_p_p.h
src/quicktemplates2/qquickslider_p.h
src/quicktemplates2/qquickspinbox.cpp
src/quicktemplates2/qquicktextarea_p.h
src/quicktemplates2/qquicktextarea_p_p.h
src/quicktemplates2/qquicktextfield_p.h
src/quicktemplates2/qquicktextfield_p_p.h
tests/auto/auto.pro
tests/auto/controls/data/tst_combobox.qml
Change-Id: I34cdd5a9794e34e0f38f70353f2a2d04dfc11074
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
As a special case, ComboBox defers the execution of the popup until
the popup is either accessed or made visible. This gives a nice boost
in creation time benchmarks (20->25, ~25%). The old optimization of
setting the delegate model only when the popup is visible is no longer
needed.
Task-number: QTBUG-50992
Change-Id: Ifeaceb759ab676bb54c6bc09dc97810eade72ca1
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In practice, deferring the execution of the delegates (until
accessed) means that the default delegate item does not get created
at all, when a custom control replaces it at construction time.
Button {
background: Rectangle { ... }
}
Before, such custom Button would never be faster than the original
one, because the default delegate was first created and then thrown
away at construction time. Originally, this was not considered a huge
problem, because the plan was to keep the default delegates so light-
weight that it wouldn't matter. However, then came the fancy styles
with shadows and effects and thus, heavier default delegates. There's
also a growing demand for more features, and the default delegates
are slowly getting heavier...
Now, after this patch, if you replace a heavy default delegate with
a light and simple custom delegate, the result is a much faster
control. For example, replacing Material style Button's background,
which has a shadow effect, with a plain Rectangle gives a ~10x boost,
because the default background with its heavy shadow effect is not
executed at all.
At the same time, deferring the execution of the default delegates
avoids troubles with asynchronous incubation, because we don't need
to destroy an object in the middle of the incubation process.
Task-number: QTBUG-50992
Change-Id: I2274bff99b9ff126d3748278d58d859222910c98
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
.gitignore
tests/auto/auto.pro
tests/auto/qquickmenu/tst_qquickmenu.cpp
tests/auto/qquickpopup/tst_qquickpopup.cpp
Change-Id: I7e5a7b39d890796fd63a7b24ae19765ab41fecda
|
| |
| |
| |
| |
| | |
Change-Id: I1c7e1a2b337e9d16bc6c9b098db08f29f1b9d1e6
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: If9fc2bb41cf251af71479b25656240e0d3c238d8
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I98f7081e94672a4454c33841934158ae82e9388f
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I186b3ed95eda5178f861bc501be481c971641767
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Using ApplicationWindow as an example, its NinePatchImage url is
assigned like so:
source: Imagine.path + "applicationwindow-background"
If Imagine.path is set to ":/images" by the user, then the final URL
would be:
QUrl("file:///home/user/qt/qtbase/qml/QtQuick/Controls.2/Imagine/:/images/applicationwindow-background")
We could use a QUrl for QQuickImagineStyle::path, but we don't
want to support anything other than local paths. Instead, we add
a private "url" property that returns a URL that we construct
correctly in C++ ourselves, and then the Imagine QML controls files
use that property.
Change-Id: Ic4d1910bbc7f7b6f80f257496ae6131777a19401
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The tests for boot2qt were disabled with commit
28063805bf22b77a93f22a4289ca8afa9f1cb201. The tests can
be enabled since qtdeclarative now fallbacks to software
renderer if OpenGL is not supported.
Some tests involving mouse behavior and window grabbing
need to be skipped on minimal/offscreen platforms.
Task-number: QTBUG-60268
Change-Id: Ib468638df8d5001bf127dd17aee7dcfe38b11780
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
MenuBar is an ordinary Item. It can be located basically anywhere, but
the idea is to introduce a new ApplicationWindow::menuBar property in a
follow-up commit. Currently the example snippets are using the header
property.
[ChangeLog][Controls][MenuBar] Introduced a MenuBar control.
Task-number: QTBUG-60350
Change-Id: Ie66dc457a3d8edbe8362fab2a591dc49442c95e2
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
1) First of all, Popup's QObject-parent depends on the way the Popup
is declared in QML, or what is passed as a parent to createObject()
when creating dynamic instances. For example:
- Popup becomes a QObject child of of the contentItem:
ApplicationWindow {
Popup { }
}
- Popup becomes a QObject child of the window:
ApplicationWindow {
Item {
Popup { }
}
}
- Popup becomes a QObject child of the specified parent:
ApplicationWindow {
Component {
id: component
Popup { }
}
Component.onComplete: component.createObject(overlay)
}
Since QQuickWindow and QQuickView did not set the QObject-parent
of their contentItem and rootObject, respectively, we had troubles
finding popup instances, because window->findChildren<QQuickPopup>()
and window->contentItem()->findChildren<QQuickPopup>() would produce
inconsistent results. This has been fixed in qtdeclarative commit
af6655885, so now we can use window->findChildren() reliably.
2) Popups inherit font from the associated window, not the parent item.
It was wrong to call resolveFont() in setParentItem(), because the
parent item might not change even though the associated window does.
The piece of code was moved to setWindow() instead.
3) QQuickPopupItemPrivate::resolveFont() did not propagate the
default font at all when the font was resolved before being associated
to a window.
4) After the above fixes had been applied, to ensure that popups always
inherit fonts and propagate them down to children as appropriate, we
got a new test failure in tst_controls::Popup::test_font() indicating
that there were extra font change notifiers triggered at creation time.
This was fixed by associating "top-level" popups with the window as
soon as they are appended to ApplicationWindow's default property,
instead of waiting until the popup is complete and then doing a lookup
in the parent hierarchy.
Task-number: QTBUG-61114
Change-Id: I6185c76d50835cb7a06b03db0a3ac9ddad64bdd3
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: Icd965d8a79f022f4375e2134621cbc3897014015
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|\|
| |
| |
| |
| |
| |
| | |
Conflicts:
.qmake.conf
Change-Id: I5c6398e4146e62109bef231fe358b7ed69fa9488
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Currently boot2qt is tested with QEMU and some tests fail. Disabling
them for now to make it possible to enable qt5 tests for Coin.
Task-number: QTBUG-60266
Change-Id: I2b8d7612ae22741cb19037ff47698f096753d9ca
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
|\|
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/imports/controls/RoundButton.qml
src/imports/controls/universal/RadioDelegate.qml
Change-Id: I4cb14c19bd5f6e19b70b03fb394c76712e6dda08
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The auto test was disabled on Linux, because it was randomly crashing
in libdbus on Ubuntu 14.04. The CI has upgraded to Ubuntu 16.04 so this
should no longer be a problem.
Task-number: QTBUG-50295
Change-Id: If654a30456a0d5e2a516b5e235b9b75e89425c92
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I7577d826eff0ba819ad711d402083c736b29d847
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
|\|
| |
| |
| |
| |
| |
| | |
Conflicts:
src/imports/templates/qtquicktemplates2plugin.cpp
Change-Id: I4a07d331163a85a0fb98a5f58f3970863f8da0fc
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This test was added in 88a62b3 that fixed the scrollbar cursor. It was
not possible to test in QML, so a separate C++ test was added. It was
noticed that most interactive controls have the exact same issue, so we
want to utilize the same test for testing the cursors of all relevant
controls.
Change-Id: I7c307de9f72760b0993007246beb3357a1b5ec2b
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Scrollbar over TextArea had Qt::IBeamCursor, although the textarea would not be activated when clicked.
Task-number: QTBUG-59629
Change-Id: Ie96ba03360fcfb5872f5bb6345e168c987978aca
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
| |
| |
| |
| |
| |
| |
| | |
This will be used by various styles.
Change-Id: I50b22c1fab04e7fd8fb1fe0b74630c721b6f8c6f
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
|/
|
|
|
|
|
|
| |
This adds an internal helper item that will be used for showing icons
on various controls (in follow-up commits).
Change-Id: I792b423737023ba663211371f82fedb2b92857bb
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/imports/controls/material/qquickmaterialstyle.cpp
src/imports/controls/universal/qquickuniversalstyle.cpp
src/quicktemplates2/qquickpopup_p_p.h
src/quicktemplates2/qquicktooltip.cpp
tests/auto/auto.pro
Change-Id: I88b347dd85278e14f7b2ca468e30648c6432b6f2
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- Add HasGlobalForeground and HasGlobalBackground. These are set
to true when a foreground/background color is specified via settings
(qtquickcontrols2.conf file or environment variables), and then used
to initialize each attached style object's m_hasForeground and
m_hasBackground property.
- Add tst_qquickuniversalstyleconf auto test to ensure that global
settings are respected.
Task-number: QTBUG-55366
Change-Id: I7a8b219506f9528c4ae323bd890b418ba056ed23
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- Add hasGlobalForeground and hasGlobalBackground. These are set
to true when a foreground/background color is specified via settings
(qtquickcontrols2.conf file or environment variables), and then used
to initialize each attached style object's m_hasForeground and
m_hasBackground property.
- Add tst_qquickmaterialstyleconf auto test to ensure that global
settings are respected.
Change-Id: I436773e355c6d470215fb9cfe8fbff402d2979d9
Task-number: QTBUG-55366
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
It's a bit of extra hassle, but the type registration can be done so
that we keep the old version available to avoid deliberately breaking
apps that have had to import .impl to gain access to the internal
goodies. For example, someone may have made a copy of one of the
controls as our documentation suggests. :)
Change-Id: I5308d7e74ecebf69da7fe9c6912380f72c3c9a2b
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|/
|
|
|
|
|
|
|
| |
This change just prepares the infrastructure and imports an icon
loader helper that will be used for the platform menu, dialog, and
system tray icon implementations.
Change-Id: I34a93050a7c988134c3daa986aca6021eac7a4d1
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
The CI was not able to catch failures in tst_styles, because the test
results were output by separate child processes. This change builds
three different versions of tst_controls, which each run with the
appropriate style.
Change-Id: I95b2bdd90221579a3176e827802236d80d9f1a09
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
These test specificly the QQuickMaterialStyle and QQuickUniversalStyle
implementations, so rename appropriately to make room for the upcoming
tst_material and tst_universal tests. See the next commit for more
details about that.
Change-Id: I08d6116d6219084f6087682b7e712f8499a0e945
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
This makes it possible to pass a relative path to the style:
./myapp -style relative/path/to/my/style
To make the tests pass, includes a fix to avoid double slashes in
selected URLs.
Change-Id: I1b366eb7793523dd0f1058236661cedaa1216f3d
Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
|
|
|
|
|
|
|
|
| |
Fixes the issue that "./app -style material" did no longer work,
but the case had to match exactly (./app -style Material).
Change-Id: I446654110af670c391f8e304ce8008fbd6e9acaa
Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
|
|
|
|
|
|
|
|
| |
The position on the right and bottom edges is relative to the size of
the window, not the drawer itself.
Change-Id: Ia1d7418d4091a3a9e26f691bd75448023e0ca1cf
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
|
|
|
|
| |
Change-Id: Ieb75c3043b9fac972af492598853ad8501637dbb
Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
|
|
|
|
|
|
|
|
| |
Blacklist doesn't help with crashes.
Change-Id: Iae25f48b3e7b5d154ae30d144f3c734bf0de48b9
Task-number: QTBUG-50295
Reviewed-by: Liang Qi <liang.qi@theqtcompany.com>
|
|
|
|
|
| |
Change-Id: Ie3d0f50a59aeaab36ec388af897cbf2596269ce3
Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
|
|
|
|
|
|
|
|
|
| |
An item-based menu derived from QQuickPanel. Eventually we'd like to
make Panel itself a QQuickItem, as it makes both the implementation
and the actual usage of Menu a lot easier.
Change-Id: Ic1bf2a05ab98d9e17824c402ed8326ef65d26c69
Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
|
|
|
|
|
|
|
|
|
| |
Tests that the inheritance of theme & accent works as expected. This
is useful for avoiding regressions in the process of introducing a
shared base class for QQuickMaterialStyle and QQuickUniversalStyle.
Change-Id: Ib2eb5922323131fb531344b80dc928a0a07cca90
Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
|
|
|
|
|
|
|
|
|
| |
Given the presence of alternative styles, we'd like to focus on making
the default style as performant as possible. Removing Theme usage
is a step towards this.
Change-Id: I8f76dc98442e6c02703885591a44758f40c7a362
Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
|
|
|
|
|
|
|
| |
Re-runs tst_controls with all styles
Change-Id: I1feda621bfd5f48f42742b1f297abd11c6b437a9
Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
|
|
|
|
|
|
|
| |
https://dev.windows.com/design
Change-Id: I1d8c633ae246724649a6ed71b300a56ba9572405
Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We can't rely on timers in auto tests. They are not fired accurately
under heavy CPU load => random CI failures. This change make the press
and hold tests independent of timeouts.
The idea in a nutshell: the test creates two control instances, and
sends press events to both of them. Both controls run their timers and
emit pressAndHold() - unless canceled. The test waits as long as it
takes for the second control to emit pressAndHold(). At that point we
can reliably assume that the first control would have already emitted
the signal, if it was not canceled as appropriate.
Change-Id: I96aaf4d204db368171209271a4a0fa2ff15cc323
Task-number: QTBUG-47963
Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Store global engine specific themes as dynamic properties on the
engines themselves. This avoids the problem that storing engines
and their themes to a hash map had that destroyed engines and themes
were not cleaned up from the hash map.
Change-Id: I7330995339c263d456f74d33f6535d5ac7d9d5d4
Task-number: QTBUG-48651
Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
Reviewed-by: Liang Qi <liang.qi@theqtcompany.com>
|