summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/controls/Private/AbstractCheckable.qml18
-rw-r--r--src/controls/Private/qquickcontrolsettings.cpp12
-rw-r--r--src/controls/Private/qquicktreemodeladaptor.cpp4
-rw-r--r--src/controls/Styles/Android/qquickandroid9patch.cpp2
-rw-r--r--src/controls/qquickmenu.cpp3
-rw-r--r--src/controls/qquickmenubar.cpp4
-rw-r--r--src/controls/qquickmenuitemcontainer_p.h2
-rw-r--r--src/dialogs/Private/qquickfontlistmodel.cpp6
-rw-r--r--src/dialogs/Private/qquickwritingsystemlistmodel.cpp4
-rw-r--r--src/dialogs/plugin.cpp3
-rw-r--r--src/dialogs/qquickfiledialog.cpp4
-rw-r--r--src/layouts/qquicklayout.cpp5
-rw-r--r--src/layouts/qquicklinearlayout.cpp8
-rw-r--r--src/layouts/qquickstacklayout.cpp9
-rw-r--r--src/widgets/qquickqfiledialog.cpp2
15 files changed, 60 insertions, 26 deletions
diff --git a/src/controls/Private/AbstractCheckable.qml b/src/controls/Private/AbstractCheckable.qml
index bca626e0..38b19399 100644
--- a/src/controls/Private/AbstractCheckable.qml
+++ b/src/controls/Private/AbstractCheckable.qml
@@ -37,6 +37,7 @@
import QtQuick 2.2
import QtQuick.Controls 1.2
import QtQuick.Controls.Private 1.0
+import QtQuick.Window 2.2
/*!
\qmltype AbstractCheckable
@@ -100,6 +101,14 @@ Control {
*/
property string text
+ /*!
+ This property holds the button tooltip.
+
+ \since QtQuick.Controls 1.7
+ */
+ property string tooltip
+ Accessible.description: tooltip
+
/*! \internal */
property var __cycleStatesHandler: cycleRadioButtonStates
@@ -119,10 +128,19 @@ Control {
onPressed: if (activeFocusOnPress) forceActiveFocus();
+ onExited: Tooltip.hideText()
+ onCanceled: Tooltip.hideText()
+
onReleased: {
if (containsMouse && (!exclusiveGroup || !checked))
__cycleStatesHandler();
}
+
+ Timer {
+ interval: 1000
+ running: mouseArea.containsMouse && !pressed && tooltip.length && mouseArea.Window.visibility !== Window.Hidden
+ onTriggered: Tooltip.showText(mouseArea, Qt.point(mouseArea.mouseX, mouseArea.mouseY), tooltip)
+ }
}
/*! \internal */
diff --git a/src/controls/Private/qquickcontrolsettings.cpp b/src/controls/Private/qquickcontrolsettings.cpp
index 6f7dc729..9e76cb07 100644
--- a/src/controls/Private/qquickcontrolsettings.cpp
+++ b/src/controls/Private/qquickcontrolsettings.cpp
@@ -86,7 +86,8 @@ bool QQuickControlSettings::hasTouchScreen() const
#if defined(Q_OS_ANDROID)
return true;
#else
- foreach (const QTouchDevice *dev, QTouchDevice::devices())
+ const auto devices = QTouchDevice::devices();
+ for (const QTouchDevice *dev : devices)
if (dev->type() == QTouchDevice::TouchScreen)
return true;
return false;
@@ -146,7 +147,8 @@ static QString relativeStyleImportPath(QQmlEngine *engine, const QString &styleN
{
QString path;
bool found = false;
- foreach (const QString &import, engine->importPathList()) {
+ const auto importPathList = engine->importPathList();
+ for (const QString &import : importPathList) {
QDir dir(import + QStringLiteral("/QtQuick/Controls/Styles"));
if (dir.exists(styleName)) {
found = true;
@@ -182,7 +184,8 @@ QQuickControlSettings::QQuickControlSettings(QQmlEngine *engine)
const QString defaultStyle = defaultStyleName();
dir.setPath(relativeStyleImportPath(engine, defaultStyle));
dir.setFilter(QDir::Dirs | QDir::NoDotAndDotDot);
- foreach (const QString &styleDirectory, dir.entryList()) {
+ const auto list = dir.entryList();
+ for (const QString &styleDirectory : list) {
findStyle(engine, styleDirectory);
}
@@ -259,7 +262,8 @@ void QQuickControlSettings::findStyle(QQmlEngine *engine, const QString &styleNa
StyleData styleData;
- foreach (const QString &fileName, dir.entryList()) {
+ const auto list = dir.entryList();
+ for (const QString &fileName : list) {
// This assumes that there is only one library in the style directory,
// which should be a safe assumption. If at some point it's determined
// not to be safe, we'll have to resolve the init and path functions
diff --git a/src/controls/Private/qquicktreemodeladaptor.cpp b/src/controls/Private/qquicktreemodeladaptor.cpp
index 666fafc9..c357939a 100644
--- a/src/controls/Private/qquicktreemodeladaptor.cpp
+++ b/src/controls/Private/qquicktreemodeladaptor.cpp
@@ -314,7 +314,7 @@ QItemSelection QQuickTreeModelAdaptor::selectionForRowRange(const QModelIndex &
QItemSelection sel;
sel.reserve(ranges.count());
- foreach (const MIPair &pair, ranges)
+ for (const MIPair &pair : qAsConst(ranges))
sel.append(QItemSelectionRange(pair.first, pair.second));
return sel;
@@ -587,7 +587,7 @@ void QQuickTreeModelAdaptor::modelLayoutChanged(const QList<QPersistentModelInde
emit dataChanged(index(0), index(m_items.count() - 1));
}
- Q_FOREACH (const QPersistentModelIndex &pmi, parents) {
+ for (const QPersistentModelIndex &pmi : parents) {
if (m_expandedItems.contains(pmi)) {
int row = itemIndex(pmi);
if (row != -1) {
diff --git a/src/controls/Styles/Android/qquickandroid9patch.cpp b/src/controls/Styles/Android/qquickandroid9patch.cpp
index e85e2f29..d4d7172a 100644
--- a/src/controls/Styles/Android/qquickandroid9patch.cpp
+++ b/src/controls/Styles/Android/qquickandroid9patch.cpp
@@ -152,7 +152,7 @@ void QQuickAndroid9PatchDivs::fill(const QVariantList &divs, qreal size)
data.reserve(divs.size() + 1);
}
- foreach (const QVariant &div, divs)
+ for (const QVariant &div : divs)
data.append(div.toReal());
data.append(size);
diff --git a/src/controls/qquickmenu.cpp b/src/controls/qquickmenu.cpp
index 6ae20ff1..d0f5524f 100644
--- a/src/controls/qquickmenu.cpp
+++ b/src/controls/qquickmenu.cpp
@@ -815,7 +815,8 @@ void QQuickMenu1::append_menuItems(QQuickMenuItems *list, QObject *o)
menu->m_containers.insert(o, menuItemContainer);
menuItemContainer->setParentMenu(menu);
++menu->m_containersCount;
- foreach (QObject *child, o->children()) {
+ const auto children = o->children();
+ for (QObject *child : children) {
if (QQuickMenuBase *item = qobject_cast<QQuickMenuBase *>(child)) {
menuItemContainer->insertItem(-1, item);
menu->setupMenuItem(item);
diff --git a/src/controls/qquickmenubar.cpp b/src/controls/qquickmenubar.cpp
index b795cd98..800105ca 100644
--- a/src/controls/qquickmenubar.cpp
+++ b/src/controls/qquickmenubar.cpp
@@ -101,13 +101,13 @@ void QQuickMenuBar1::setNativeNoNotify(bool native)
m_platformMenuBar = QGuiApplicationPrivate::platformTheme()->createPlatformMenuBar();
if (m_platformMenuBar) {
m_platformMenuBar->handleReparent(m_parentWindow);
- foreach (QQuickMenu1 *menu, m_menus)
+ for (QQuickMenu1 *menu : qAsConst(m_menus))
m_platformMenuBar->insertMenu(menu->platformMenu(), 0 /* append */);
}
}
} else {
if (m_platformMenuBar) {
- foreach (QQuickMenu1 *menu, m_menus)
+ for (QQuickMenu1 *menu : qAsConst(m_menus))
m_platformMenuBar->removeMenu(menu->platformMenu());
}
delete m_platformMenuBar;
diff --git a/src/controls/qquickmenuitemcontainer_p.h b/src/controls/qquickmenuitemcontainer_p.h
index fe58bf92..c34f2eb3 100644
--- a/src/controls/qquickmenuitemcontainer_p.h
+++ b/src/controls/qquickmenuitemcontainer_p.h
@@ -59,7 +59,7 @@ public:
void setParentMenu(QQuickMenu1 *parentMenu)
{
QQuickMenuBase::setParentMenu(parentMenu);
- Q_FOREACH (QQuickMenuBase *item, m_menuItems)
+ for (QQuickMenuBase *item : qAsConst(m_menuItems))
item->setParentMenu(parentMenu);
}
diff --git a/src/dialogs/Private/qquickfontlistmodel.cpp b/src/dialogs/Private/qquickfontlistmodel.cpp
index 0091f74f..c8bc9a41 100644
--- a/src/dialogs/Private/qquickfontlistmodel.cpp
+++ b/src/dialogs/Private/qquickfontlistmodel.cpp
@@ -138,8 +138,7 @@ void QQuickFontListModel::setWritingSystem(const QString &wSystem)
QList<QFontDatabase::WritingSystem> wss;
wss << QFontDatabase::Any;
wss << d->db.writingSystems();
- QFontDatabase::WritingSystem ws;
- foreach (ws, wss) {
+ for (QFontDatabase::WritingSystem ws : qAsConst(wss)) {
if (wSystem == QFontDatabase::writingSystemName(ws)) {
d->ws = ws;
updateFamilies();
@@ -158,7 +157,8 @@ void QQuickFontListModel::updateFamilies()
const QFontDialogOptions::FontDialogOptions options = d->options->options();
d->families.clear();
- foreach (const QString &family, d->db.families(d->ws)) {
+ const auto families = d->db.families(d->ws);
+ for (const QString &family : families) {
if ((options & scalableMask) && (options & scalableMask) != scalableMask) {
if (bool(options & QFontDialogOptions::ScalableFonts) != d->db.isSmoothlyScalable(family))
continue;
diff --git a/src/dialogs/Private/qquickwritingsystemlistmodel.cpp b/src/dialogs/Private/qquickwritingsystemlistmodel.cpp
index 2b26f366..20651c0e 100644
--- a/src/dialogs/Private/qquickwritingsystemlistmodel.cpp
+++ b/src/dialogs/Private/qquickwritingsystemlistmodel.cpp
@@ -127,8 +127,8 @@ QStringList QQuickWritingSystemListModel::writingSystems() const
{
Q_D(const QQuickWritingSystemListModel);
QStringList result;
- QFontDatabase::WritingSystem ws;
- foreach (ws, d->wss)
+ result.reserve(d->wss.size());
+ for (QFontDatabase::WritingSystem ws : qAsConst(d->wss))
result.append(QFontDatabase::writingSystemName(ws));
return result;
diff --git a/src/dialogs/plugin.cpp b/src/dialogs/plugin.cpp
index 65740024..5afddeca 100644
--- a/src/dialogs/plugin.cpp
+++ b/src/dialogs/plugin.cpp
@@ -199,7 +199,8 @@ protected:
#if defined(Q_OS_IOS)
mobileTouchPlatform = true;
#elif defined(Q_OS_ANDROID) || defined(Q_OS_BLACKBERRY) || defined(Q_OS_QNX) || defined(Q_OS_WINRT)
- foreach (const QTouchDevice *dev, QTouchDevice::devices())
+ const auto devices = QTouchDevice::devices();
+ for (const QTouchDevice *dev : devices)
if (dev->type() == QTouchDevice::TouchScreen)
mobileTouchPlatform = true;
#endif
diff --git a/src/dialogs/qquickfiledialog.cpp b/src/dialogs/qquickfiledialog.cpp
index 6fb15314..642a0b00 100644
--- a/src/dialogs/qquickfiledialog.cpp
+++ b/src/dialogs/qquickfiledialog.cpp
@@ -171,8 +171,8 @@ void QQuickFileDialog::populateShortcuts()
#ifndef Q_OS_IOS
// on iOS, this returns only "/", which is never a useful path to read or write anything
- QFileInfoList drives = QDir::drives();
- foreach (QFileInfo fi, drives)
+ const QFileInfoList drives = QDir::drives();
+ for (const QFileInfo &fi : drives)
addShortcut(fi.absoluteFilePath(), fi.absoluteFilePath(), fi.absoluteFilePath());
#endif
diff --git a/src/layouts/qquicklayout.cpp b/src/layouts/qquicklayout.cpp
index f28a7d07..aa54e11c 100644
--- a/src/layouts/qquicklayout.cpp
+++ b/src/layouts/qquicklayout.cpp
@@ -751,6 +751,11 @@ bool QQuickLayout::shouldIgnoreItem(QQuickItem *child, QQuickLayoutAttached *&in
d->m_ignoredItems << child;
return ignoreItem;
}
+struct QQuickItemPublic : public QQuickItem {
+ static bool isCompleted(QQuickItem *item) {
+ return static_cast<QQuickItemPublic*>(item)->isComponentComplete();
+ }
+};
void QQuickLayout::itemChange(ItemChange change, const ItemChangeData &value)
{
diff --git a/src/layouts/qquicklinearlayout.cpp b/src/layouts/qquicklinearlayout.cpp
index 78cc635c..4dca329e 100644
--- a/src/layouts/qquicklinearlayout.cpp
+++ b/src/layouts/qquicklinearlayout.cpp
@@ -528,7 +528,7 @@ void QQuickGridLayoutBase::rearrange(const QSizeF &size)
d->engine.setGeometries(QRectF(QPointF(0,0), size), d->styleInfo);
d->m_rearranging = false;
- foreach (QQuickItem *invalid, d->m_invalidateAfterRearrange)
+ for (QQuickItem *invalid : qAsConst(d->m_invalidateAfterRearrange))
invalidate(invalid);
d->m_invalidateAfterRearrange.clear();
@@ -694,7 +694,8 @@ void QQuickGridLayout::insertLayoutItems()
d->m_ignoredItems.clear();
QSizeF sizeHints[Qt::NSizeHints];
- foreach (QQuickItem *child, childItems()) {
+ const auto items = childItems();
+ for (QQuickItem *child : items) {
QQuickLayoutAttached *info = 0;
// Will skip all items with effective maximum width/height == 0
@@ -875,7 +876,8 @@ void QQuickLinearLayout::insertLayoutItems()
Q_D(QQuickLinearLayout);
d->m_ignoredItems.clear();
QSizeF sizeHints[Qt::NSizeHints];
- foreach (QQuickItem *child, childItems()) {
+ const auto items = childItems();
+ for (QQuickItem *child : items) {
Q_ASSERT(child);
QQuickLayoutAttached *info = 0;
diff --git a/src/layouts/qquickstacklayout.cpp b/src/layouts/qquickstacklayout.cpp
index 66513bfd..0785c502 100644
--- a/src/layouts/qquickstacklayout.cpp
+++ b/src/layouts/qquickstacklayout.cpp
@@ -188,7 +188,8 @@ int QQuickStackLayout::indexOf(QQuickItem *childItem) const
{
if (childItem) {
int indexOfItem = 0;
- foreach (QQuickItem *item, childItems()) {
+ const auto items = childItems();
+ for (QQuickItem *item : items) {
if (shouldIgnoreItem(item))
continue;
if (childItem == item)
@@ -201,7 +202,8 @@ int QQuickStackLayout::indexOf(QQuickItem *childItem) const
QQuickItem *QQuickStackLayout::itemAt(int index) const
{
- foreach (QQuickItem *item, childItems()) {
+ const auto items = childItems();
+ for (QQuickItem *item : items) {
if (shouldIgnoreItem(item))
continue;
if (index == 0)
@@ -214,7 +216,8 @@ QQuickItem *QQuickStackLayout::itemAt(int index) const
int QQuickStackLayout::itemCount() const
{
int count = 0;
- foreach (QQuickItem *item, childItems()) {
+ const auto items = childItems();
+ for (QQuickItem *item : items) {
if (shouldIgnoreItem(item))
continue;
++count;
diff --git a/src/widgets/qquickqfiledialog.cpp b/src/widgets/qquickqfiledialog.cpp
index 7ebebf1f..4b69eb10 100644
--- a/src/widgets/qquickqfiledialog.cpp
+++ b/src/widgets/qquickqfiledialog.cpp
@@ -210,7 +210,7 @@ void QFileDialogHelper::filesSelected(const QStringList& paths)
{
QList<QUrl> pathUrls;
pathUrls.reserve(paths.count());
- foreach (const QString &path, paths)
+ for (const QString &path : paths)
pathUrls << QUrl::fromLocalFile(path);
emit QPlatformFileDialogHelper::filesSelected(pathUrls);
}