aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/imports/calendar/qquickcalendar.cpp2
-rw-r--r--src/imports/calendar/qquickcalendarmodel.cpp2
-rw-r--r--src/imports/calendar/qquickdayofweekrow.cpp2
-rw-r--r--src/imports/calendar/qquickmonthgrid.cpp2
-rw-r--r--src/imports/calendar/qquickweeknumbercolumn.cpp2
-rw-r--r--src/imports/calendar/qquickweeknumbermodel.cpp2
-rw-r--r--src/imports/controls/doc/qtquickcontrols.qdocconf2
-rw-r--r--src/imports/controls/doc/src/qtquickcontrols2-customize.qdoc5
-rw-r--r--src/imports/controls/doc/src/qtquickcontrols2-imagine.qdoc2
-rw-r--r--src/imports/controls/doc/src/qtquickcontrols2-styles.qdoc14
-rw-r--r--src/imports/controls/imagine/qquickimaginestyle.cpp2
-rw-r--r--src/imports/platform/qquickplatformcolordialog.cpp2
-rw-r--r--src/imports/platform/qquickplatformdialog.cpp2
-rw-r--r--src/imports/platform/qquickplatformfiledialog.cpp2
-rw-r--r--src/imports/platform/qquickplatformfolderdialog.cpp2
-rw-r--r--src/imports/platform/qquickplatformfontdialog.cpp2
-rw-r--r--src/imports/platform/qquickplatformmenu.cpp4
-rw-r--r--src/imports/platform/qquickplatformmenubar.cpp2
-rw-r--r--src/imports/platform/qquickplatformmenuitem.cpp2
-rw-r--r--src/imports/platform/qquickplatformmenuitemgroup.cpp2
-rw-r--r--src/imports/platform/qquickplatformmenuseparator.cpp2
-rw-r--r--src/imports/platform/qquickplatformmessagedialog.cpp2
-rw-r--r--src/imports/platform/qquickplatformstandardpaths.cpp20
-rw-r--r--src/imports/platform/qquickplatformsystemtrayicon.cpp2
-rw-r--r--src/quicktemplates2/qquickabstractbutton.cpp6
-rw-r--r--src/quicktemplates2/qquickaction.cpp6
-rw-r--r--src/quicktemplates2/qquickactiongroup.cpp2
-rw-r--r--src/quicktemplates2/qquickapplicationwindow.cpp2
-rw-r--r--src/quicktemplates2/qquickbusyindicator.cpp2
-rw-r--r--src/quicktemplates2/qquickbutton.cpp2
-rw-r--r--src/quicktemplates2/qquickbuttongroup.cpp2
-rw-r--r--src/quicktemplates2/qquickcheckbox.cpp2
-rw-r--r--src/quicktemplates2/qquickcheckdelegate.cpp2
-rw-r--r--src/quicktemplates2/qquickcombobox.cpp16
-rw-r--r--src/quicktemplates2/qquickcontainer.cpp6
-rw-r--r--src/quicktemplates2/qquickcontrol.cpp16
-rw-r--r--src/quicktemplates2/qquickcontrol_p.h2
-rw-r--r--src/quicktemplates2/qquickdelaybutton.cpp2
-rw-r--r--src/quicktemplates2/qquickdial.cpp2
-rw-r--r--src/quicktemplates2/qquickdialog.cpp5
-rw-r--r--src/quicktemplates2/qquickdialogbuttonbox.cpp2
-rw-r--r--src/quicktemplates2/qquickdrawer.cpp2
-rw-r--r--src/quicktemplates2/qquickframe.cpp2
-rw-r--r--src/quicktemplates2/qquickgroupbox.cpp6
-rw-r--r--src/quicktemplates2/qquickitemdelegate.cpp2
-rw-r--r--src/quicktemplates2/qquicklabel.cpp19
-rw-r--r--src/quicktemplates2/qquicklabel_p_p.h1
-rw-r--r--src/quicktemplates2/qquickmenu.cpp7
-rw-r--r--src/quicktemplates2/qquickmenubar.cpp2
-rw-r--r--src/quicktemplates2/qquickmenubaritem.cpp2
-rw-r--r--src/quicktemplates2/qquickmenuitem.cpp2
-rw-r--r--src/quicktemplates2/qquickmenuseparator.cpp2
-rw-r--r--src/quicktemplates2/qquickoverlay.cpp2
-rw-r--r--src/quicktemplates2/qquickpage.cpp6
-rw-r--r--src/quicktemplates2/qquickpageindicator.cpp2
-rw-r--r--src/quicktemplates2/qquickpane.cpp6
-rw-r--r--src/quicktemplates2/qquickpopup.cpp12
-rw-r--r--src/quicktemplates2/qquickpopup_p.h2
-rw-r--r--src/quicktemplates2/qquickpopupitem.cpp25
-rw-r--r--src/quicktemplates2/qquickprogressbar.cpp2
-rw-r--r--src/quicktemplates2/qquickradiobutton.cpp2
-rw-r--r--src/quicktemplates2/qquickradiodelegate.cpp2
-rw-r--r--src/quicktemplates2/qquickrangeslider.cpp10
-rw-r--r--src/quicktemplates2/qquickroundbutton.cpp2
-rw-r--r--src/quicktemplates2/qquickscrollbar.cpp4
-rw-r--r--src/quicktemplates2/qquickscrollindicator.cpp2
-rw-r--r--src/quicktemplates2/qquickscrollview.cpp2
-rw-r--r--src/quicktemplates2/qquickslider.cpp2
-rw-r--r--src/quicktemplates2/qquickspinbox.cpp2
-rw-r--r--src/quicktemplates2/qquicksplitview.cpp63
-rw-r--r--src/quicktemplates2/qquicksplitview_p.h1
-rw-r--r--src/quicktemplates2/qquickstackview.cpp32
-rw-r--r--src/quicktemplates2/qquickstackview_p.cpp22
-rw-r--r--src/quicktemplates2/qquickstackview_p_p.h1
-rw-r--r--src/quicktemplates2/qquickswipedelegate.cpp2
-rw-r--r--src/quicktemplates2/qquickswipeview.cpp2
-rw-r--r--src/quicktemplates2/qquickswitch.cpp2
-rw-r--r--src/quicktemplates2/qquickswitchdelegate.cpp2
-rw-r--r--src/quicktemplates2/qquicktabbar.cpp2
-rw-r--r--src/quicktemplates2/qquicktabbutton.cpp2
-rw-r--r--src/quicktemplates2/qquicktextarea.cpp15
-rw-r--r--src/quicktemplates2/qquicktextfield.cpp16
-rw-r--r--src/quicktemplates2/qquicktoolbar.cpp2
-rw-r--r--src/quicktemplates2/qquicktoolbutton.cpp2
-rw-r--r--src/quicktemplates2/qquicktoolseparator.cpp2
-rw-r--r--src/quicktemplates2/qquicktooltip.cpp11
-rw-r--r--src/quicktemplates2/qquicktumbler.cpp2
87 files changed, 298 insertions, 175 deletions
diff --git a/src/imports/calendar/qquickcalendar.cpp b/src/imports/calendar/qquickcalendar.cpp
index 2ad449f1..3b16d7f9 100644
--- a/src/imports/calendar/qquickcalendar.cpp
+++ b/src/imports/calendar/qquickcalendar.cpp
@@ -41,7 +41,7 @@ QT_BEGIN_NAMESPACE
/*!
\qmltype Calendar
\inherits QObject
- \instantiates QQuickCalendar
+//! \instantiates QQuickCalendar
\inqmlmodule Qt.labs.calendar
\brief A calendar namespace.
diff --git a/src/imports/calendar/qquickcalendarmodel.cpp b/src/imports/calendar/qquickcalendarmodel.cpp
index 053a4a5f..ee5e0bd3 100644
--- a/src/imports/calendar/qquickcalendarmodel.cpp
+++ b/src/imports/calendar/qquickcalendarmodel.cpp
@@ -43,7 +43,7 @@ QT_BEGIN_NAMESPACE
/*!
\qmltype CalendarModel
\inherits QAbstractListModel
- \instantiates QQuickCalendarModel
+//! \instantiates QQuickCalendarModel
\inqmlmodule Qt.labs.calendar
\brief A calendar model.
diff --git a/src/imports/calendar/qquickdayofweekrow.cpp b/src/imports/calendar/qquickdayofweekrow.cpp
index da3264f9..d5432f8e 100644
--- a/src/imports/calendar/qquickdayofweekrow.cpp
+++ b/src/imports/calendar/qquickdayofweekrow.cpp
@@ -44,7 +44,7 @@ QT_BEGIN_NAMESPACE
/*!
\qmltype DayOfWeekRow
\inherits Control
- \instantiates QQuickDayOfWeekRow
+//! \instantiates QQuickDayOfWeekRow
\inqmlmodule Qt.labs.calendar
\brief A row of names for the days in a week.
diff --git a/src/imports/calendar/qquickmonthgrid.cpp b/src/imports/calendar/qquickmonthgrid.cpp
index 46b18db6..966b0c60 100644
--- a/src/imports/calendar/qquickmonthgrid.cpp
+++ b/src/imports/calendar/qquickmonthgrid.cpp
@@ -47,7 +47,7 @@ QT_BEGIN_NAMESPACE
/*!
\qmltype MonthGrid
\inherits Control
- \instantiates QQuickMonthGrid
+//! \instantiates QQuickMonthGrid
\inqmlmodule Qt.labs.calendar
\brief A grid of days for a calendar month.
diff --git a/src/imports/calendar/qquickweeknumbercolumn.cpp b/src/imports/calendar/qquickweeknumbercolumn.cpp
index c1179879..6c661274 100644
--- a/src/imports/calendar/qquickweeknumbercolumn.cpp
+++ b/src/imports/calendar/qquickweeknumbercolumn.cpp
@@ -45,7 +45,7 @@ QT_BEGIN_NAMESPACE
/*!
\qmltype WeekNumberColumn
\inherits Control
- \instantiates QQuickWeekNumberColumn
+//! \instantiates QQuickWeekNumberColumn
\inqmlmodule Qt.labs.calendar
\brief A column of week numbers.
diff --git a/src/imports/calendar/qquickweeknumbermodel.cpp b/src/imports/calendar/qquickweeknumbermodel.cpp
index c45d8938..8144fb12 100644
--- a/src/imports/calendar/qquickweeknumbermodel.cpp
+++ b/src/imports/calendar/qquickweeknumbermodel.cpp
@@ -46,7 +46,7 @@ class QQuickWeekNumberModelPrivate : public QAbstractItemModelPrivate
Q_DECLARE_PUBLIC(QQuickWeekNumberModel)
public:
- QQuickWeekNumberModelPrivate() : month(-1), year(-1)
+ QQuickWeekNumberModelPrivate() : month(-1), year(-1), weekNumbers{}
{
QDate date = QDate::currentDate();
init(date.month(), date.year(), locale);
diff --git a/src/imports/controls/doc/qtquickcontrols.qdocconf b/src/imports/controls/doc/qtquickcontrols.qdocconf
index f6798f1f..d52aceb8 100644
--- a/src/imports/controls/doc/qtquickcontrols.qdocconf
+++ b/src/imports/controls/doc/qtquickcontrols.qdocconf
@@ -33,7 +33,7 @@ qhp.QtQuickControls.subprojects.examples.title = Examples
qhp.QtQuickControls.subprojects.examples.indexTitle = Qt Quick Controls Examples
qhp.QtQuickControls.subprojects.examples.selectors = fake:example
-depends = qtcore qtgui qtdoc qtqml qtquick qtquickdialogs qtquickcontrols1 qtquickextras qmake qtsql qtwidgets qtlabscalendar qtlabsplatform qtgraphicaleffects
+depends = qtcore qtgui qtdoc qtqml qtqmlmodels qtquick qtquickdialogs qtquickcontrols1 qtquickextras qmake qtsql qtwidgets qtlabscalendar qtlabsplatform qtgraphicaleffects
# Specify the install path under QT_INSTALL_EXAMPLES
# Note: paths passed to \example command must contain the parent directory, e.g.
diff --git a/src/imports/controls/doc/src/qtquickcontrols2-customize.qdoc b/src/imports/controls/doc/src/qtquickcontrols2-customize.qdoc
index cd06a456..ca1ecf48 100644
--- a/src/imports/controls/doc/src/qtquickcontrols2-customize.qdoc
+++ b/src/imports/controls/doc/src/qtquickcontrols2-customize.qdoc
@@ -166,7 +166,8 @@
By default, the styling system uses the Default style as a fallback for
controls that aren't implemented. To customize or extend any other built-in
- style, it is possible to specify a different fallback style using \l QQuickStyle.
+ style, it is possible to specify a different fallback style using
+ \l[QtQuickControls2]{QQuickStyle}.
What this means is that you can implement as many controls as you like for
your custom style, and place them almost anywhere. It also allows users to
@@ -175,7 +176,7 @@
\section3 Previewing Custom Styles in Qt Quick Designer
Using the approach above, it is possible to preview a custom style
- in \l {Using Qt Quick Designer}{Qt Quick Designer}. In order to do so,
+ in Qt Quick Designer. In order to do so,
ensure that the project has a
\l {Qt Quick Controls Configuration File}{qtquickcontrols2.conf} file,
and that the following entry exists:
diff --git a/src/imports/controls/doc/src/qtquickcontrols2-imagine.qdoc b/src/imports/controls/doc/src/qtquickcontrols2-imagine.qdoc
index 6e15762d..ac2e9cc1 100644
--- a/src/imports/controls/doc/src/qtquickcontrols2-imagine.qdoc
+++ b/src/imports/controls/doc/src/qtquickcontrols2-imagine.qdoc
@@ -2478,7 +2478,7 @@
The Imagine style supports palette customization via the \l {Control::}{palette}
property and the \l {Palette Configuration}{qtquickcontrols2.conf} file.
- As with other styles, the exact \l {palette QML Basic Type}{palette roles}
+ As with other styles, the exact \l[QML]{palette}{palette roles}
that the Imagine style uses are style-dependent. However, as most of the visual
appearance of controls (for example: backgrounds) are managed through image assets,
only the roles that are typically used for text will have an effect.
diff --git a/src/imports/controls/doc/src/qtquickcontrols2-styles.qdoc b/src/imports/controls/doc/src/qtquickcontrols2-styles.qdoc
index 75e59f42..ddf41771 100644
--- a/src/imports/controls/doc/src/qtquickcontrols2-styles.qdoc
+++ b/src/imports/controls/doc/src/qtquickcontrols2-styles.qdoc
@@ -70,15 +70,15 @@
\section1 Using Styles in Qt Quick Controls
In order to run an application with a specific style, either configure the
- style using \l QQuickStyle in C++, pass a command line argument, or set an
+ style using \l[CPP]{QQuickStyle} in C++, pass a command line argument, or set an
environment variable. Alternatively, the preferred style and style-specific
attributes can be specified in a configuration file.
The priority of these approaches follows the order they are listed below,
- from highest to lowest. That is, using QQuickStyle to set the style will
+ from highest to lowest. That is, using \c QQuickStyle to set the style will
always take priority over using the command line argument, for example.
- \warning When resolving a given style name to an absolute path, QQuickStyle
+ \warning When resolving a given style name to an absolute path, \c QQuickStyle
may search the root resource directory (\c {:}). Consequently, make sure
that your resource directories are named differently than the names of the
styles that your application supports. Otherwise, the styles may not load.
@@ -87,14 +87,16 @@
\section2 Using QQuickStyle in C++
- \l QQuickStyle provides C++ API for configuring a specific style. The following
- example runs a Qt Quick Controls application with the Material style:
+ \l[CPP]{QQuickStyle} provides C++ API for configuring a specific
+ style. The following example runs a Qt Quick Controls application
+ with the Material style:
\code
QQuickStyle::setStyle("Material");
\endcode
- See the detailed description of \l QQuickStyle for more details.
+ See the detailed description of \l[CPP]{QQuickStyle} for more
+ details.
\section2 Command line argument
diff --git a/src/imports/controls/imagine/qquickimaginestyle.cpp b/src/imports/controls/imagine/qquickimaginestyle.cpp
index 9e1431de..745bef10 100644
--- a/src/imports/controls/imagine/qquickimaginestyle.cpp
+++ b/src/imports/controls/imagine/qquickimaginestyle.cpp
@@ -43,7 +43,7 @@ QT_BEGIN_NAMESPACE
Q_GLOBAL_STATIC_WITH_ARGS(QString, GlobalPath, (QLatin1String("qrc:/qt-project.org/imports/QtQuick/Controls.2/Imagine/images/")))
-static const QString ensureSlash(const QString &path)
+static QString ensureSlash(const QString &path)
{
const QChar slash = QLatin1Char('/');
return path.endsWith(slash) ? path : path + slash;
diff --git a/src/imports/platform/qquickplatformcolordialog.cpp b/src/imports/platform/qquickplatformcolordialog.cpp
index 0b8cfd97..04a5e079 100644
--- a/src/imports/platform/qquickplatformcolordialog.cpp
+++ b/src/imports/platform/qquickplatformcolordialog.cpp
@@ -41,7 +41,7 @@ QT_BEGIN_NAMESPACE
/*!
\qmltype ColorDialog
\inherits Dialog
- \instantiates QQuickPlatformColorDialog
+//! \instantiates QQuickPlatformColorDialog
\inqmlmodule Qt.labs.platform
\since 5.8
\brief A native color dialog.
diff --git a/src/imports/platform/qquickplatformdialog.cpp b/src/imports/platform/qquickplatformdialog.cpp
index 41fc1316..fc3c0429 100644
--- a/src/imports/platform/qquickplatformdialog.cpp
+++ b/src/imports/platform/qquickplatformdialog.cpp
@@ -48,7 +48,7 @@ QT_BEGIN_NAMESPACE
/*!
\qmltype Dialog
\inherits QtObject
- \instantiates QQuickPlatformDialog
+//! \instantiates QQuickPlatformDialog
\inqmlmodule Qt.labs.platform
\since 5.8
\brief The base class of native dialogs.
diff --git a/src/imports/platform/qquickplatformfiledialog.cpp b/src/imports/platform/qquickplatformfiledialog.cpp
index 9c1eb684..6f212bef 100644
--- a/src/imports/platform/qquickplatformfiledialog.cpp
+++ b/src/imports/platform/qquickplatformfiledialog.cpp
@@ -43,7 +43,7 @@ QT_BEGIN_NAMESPACE
/*!
\qmltype FileDialog
\inherits Dialog
- \instantiates QQuickPlatformFileDialog
+//! \instantiates QQuickPlatformFileDialog
\inqmlmodule Qt.labs.platform
\since 5.8
\brief A native file dialog.
diff --git a/src/imports/platform/qquickplatformfolderdialog.cpp b/src/imports/platform/qquickplatformfolderdialog.cpp
index 512dce52..b9ea0184 100644
--- a/src/imports/platform/qquickplatformfolderdialog.cpp
+++ b/src/imports/platform/qquickplatformfolderdialog.cpp
@@ -41,7 +41,7 @@ QT_BEGIN_NAMESPACE
/*!
\qmltype FolderDialog
\inherits Dialog
- \instantiates QQuickPlatformFolderDialog
+//! \instantiates QQuickPlatformFolderDialog
\inqmlmodule Qt.labs.platform
\since 5.8
\brief A native folder dialog.
diff --git a/src/imports/platform/qquickplatformfontdialog.cpp b/src/imports/platform/qquickplatformfontdialog.cpp
index ecd6ba4a..f3eca2c3 100644
--- a/src/imports/platform/qquickplatformfontdialog.cpp
+++ b/src/imports/platform/qquickplatformfontdialog.cpp
@@ -41,7 +41,7 @@ QT_BEGIN_NAMESPACE
/*!
\qmltype FontDialog
\inherits Dialog
- \instantiates QQuickPlatformFontDialog
+//! \instantiates QQuickPlatformFontDialog
\inqmlmodule Qt.labs.platform
\since 5.8
\brief A native font dialog.
diff --git a/src/imports/platform/qquickplatformmenu.cpp b/src/imports/platform/qquickplatformmenu.cpp
index 844fbbd9..1f5f52d7 100644
--- a/src/imports/platform/qquickplatformmenu.cpp
+++ b/src/imports/platform/qquickplatformmenu.cpp
@@ -63,7 +63,7 @@ QT_BEGIN_NAMESPACE
/*!
\qmltype Menu
\inherits QtObject
- \instantiates QQuickPlatformMenu
+//! \instantiates QQuickPlatformMenu
\inqmlmodule Qt.labs.platform
\since 5.8
\brief A native menu.
@@ -127,7 +127,7 @@ QT_BEGIN_NAMESPACE
\section2 Dynamically Generating Menu Items
It is possible to dynamically generate menu items. One of the easiest ways
- to do so is with \l Instantiator. For example, to implement a
+ to do so is with \l[QtQml]{Instantiator}. For example, to implement a
"Recent Files" submenu, where the items are based on a list of files stored
in settings, the following code could be used:
diff --git a/src/imports/platform/qquickplatformmenubar.cpp b/src/imports/platform/qquickplatformmenubar.cpp
index 4487b9a7..99757829 100644
--- a/src/imports/platform/qquickplatformmenubar.cpp
+++ b/src/imports/platform/qquickplatformmenubar.cpp
@@ -49,7 +49,7 @@ QT_BEGIN_NAMESPACE
/*!
\qmltype MenuBar
\inherits QtObject
- \instantiates QQuickPlatformMenuBar
+//! \instantiates QQuickPlatformMenuBar
\inqmlmodule Qt.labs.platform
\since 5.8
\brief A native menubar.
diff --git a/src/imports/platform/qquickplatformmenuitem.cpp b/src/imports/platform/qquickplatformmenuitem.cpp
index d657fd12..fa3fdafb 100644
--- a/src/imports/platform/qquickplatformmenuitem.cpp
+++ b/src/imports/platform/qquickplatformmenuitem.cpp
@@ -51,7 +51,7 @@ QT_BEGIN_NAMESPACE
/*!
\qmltype MenuItem
\inherits QtObject
- \instantiates QQuickPlatformMenuItem
+//! \instantiates QQuickPlatformMenuItem
\inqmlmodule Qt.labs.platform
\since 5.8
\brief A native menu item.
diff --git a/src/imports/platform/qquickplatformmenuitemgroup.cpp b/src/imports/platform/qquickplatformmenuitemgroup.cpp
index f07d0a1b..7e091881 100644
--- a/src/imports/platform/qquickplatformmenuitemgroup.cpp
+++ b/src/imports/platform/qquickplatformmenuitemgroup.cpp
@@ -42,7 +42,7 @@ QT_BEGIN_NAMESPACE
/*!
\qmltype MenuItemGroup
\inherits QtObject
- \instantiates QQuickPlatformMenuItemGroup
+//! \instantiates QQuickPlatformMenuItemGroup
\inqmlmodule Qt.labs.platform
\since 5.8
\brief A group for managing native menu items.
diff --git a/src/imports/platform/qquickplatformmenuseparator.cpp b/src/imports/platform/qquickplatformmenuseparator.cpp
index 34767ff6..f29d5b9e 100644
--- a/src/imports/platform/qquickplatformmenuseparator.cpp
+++ b/src/imports/platform/qquickplatformmenuseparator.cpp
@@ -41,7 +41,7 @@ QT_BEGIN_NAMESPACE
/*!
\qmltype MenuSeparator
\inherits MenuItem
- \instantiates QQuickPlatformMenuSeparator
+//! \instantiates QQuickPlatformMenuSeparator
\inqmlmodule Qt.labs.platform
\since 5.8
\brief A native menu separator.
diff --git a/src/imports/platform/qquickplatformmessagedialog.cpp b/src/imports/platform/qquickplatformmessagedialog.cpp
index ffc4b296..075b4d62 100644
--- a/src/imports/platform/qquickplatformmessagedialog.cpp
+++ b/src/imports/platform/qquickplatformmessagedialog.cpp
@@ -43,7 +43,7 @@ QT_BEGIN_NAMESPACE
/*!
\qmltype MessageDialog
\inherits Dialog
- \instantiates QQuickPlatformMessageDialog
+//! \instantiates QQuickPlatformMessageDialog
\inqmlmodule Qt.labs.platform
\since 5.8
\brief A native message dialog.
diff --git a/src/imports/platform/qquickplatformstandardpaths.cpp b/src/imports/platform/qquickplatformstandardpaths.cpp
index 4687ba69..a6fff1c0 100644
--- a/src/imports/platform/qquickplatformstandardpaths.cpp
+++ b/src/imports/platform/qquickplatformstandardpaths.cpp
@@ -46,7 +46,7 @@ QT_BEGIN_NAMESPACE
/*!
\qmltype StandardPaths
\inherits QtObject
- \instantiates QQuickPlatformStandardPaths
+//! \instantiates QQuickPlatformStandardPaths
\inqmlmodule Qt.labs.platform
\since 5.8
\brief Provides access to the standard system paths.
@@ -89,6 +89,8 @@ QObject *QQuickPlatformStandardPaths::create(QQmlEngine *engine, QJSEngine *scri
/*!
\qmlmethod string Qt.labs.platform::StandardPaths::displayName(StandardLocation type)
+ \include standardpath/functiondocs.qdocinc displayName
+
\sa QStandardPaths::displayName()
*/
QString QQuickPlatformStandardPaths::displayName(QStandardPaths::StandardLocation type)
@@ -99,6 +101,8 @@ QString QQuickPlatformStandardPaths::displayName(QStandardPaths::StandardLocatio
/*!
\qmlmethod url Qt.labs.platform::StandardPaths::findExecutable(string executableName, list<string> paths)
+ \include standardpath/functiondocs.qdocinc findExecutable
+
\sa QStandardPaths::findExecutable()
*/
QUrl QQuickPlatformStandardPaths::findExecutable(const QString &executableName, const QStringList &paths)
@@ -107,7 +111,9 @@ QUrl QQuickPlatformStandardPaths::findExecutable(const QString &executableName,
}
/*!
- \qmlmethod url Qt.labs.platform::StandardPaths::locate(StandardLocation type, string fileName, LocateOptions options = LocateFile)
+ \qmlmethod url Qt.labs.platform::StandardPaths::locate(StandardLocation type, string fileName, LocateOptions options)
+
+ \include standardpath/functiondocs.qdocinc locate
\sa QStandardPaths::locate()
*/
@@ -117,7 +123,9 @@ QUrl QQuickPlatformStandardPaths::locate(QStandardPaths::StandardLocation type,
}
/*!
- \qmlmethod list<url> Qt.labs.platform::StandardPaths::locateAll(StandardLocation type, string fileName, LocateOptions options = LocateFile)
+ \qmlmethod list<url> Qt.labs.platform::StandardPaths::locateAll(StandardLocation type, string fileName, LocateOptions options)
+
+ \include standardpath/functiondocs.qdocinc locateAll
\sa QStandardPaths::locateAll()
*/
@@ -129,6 +137,8 @@ QList<QUrl> QQuickPlatformStandardPaths::locateAll(QStandardPaths::StandardLocat
/*!
\qmlmethod void Qt.labs.platform::StandardPaths::setTestModeEnabled(bool testMode)
+ \include standardpath/functiondocs.qdocinc setTestModeEnabled
+
\sa QStandardPaths::setTestModeEnabled()
*/
void QQuickPlatformStandardPaths::setTestModeEnabled(bool testMode)
@@ -139,6 +149,8 @@ void QQuickPlatformStandardPaths::setTestModeEnabled(bool testMode)
/*!
\qmlmethod list<url> Qt.labs.platform::StandardPaths::standardLocations(StandardLocation type)
+ \include standardpath/functiondocs.qdocinc standardLocations
+
\sa QStandardPaths::standardLocations()
*/
QList<QUrl> QQuickPlatformStandardPaths::standardLocations(QStandardPaths::StandardLocation type)
@@ -149,6 +161,8 @@ QList<QUrl> QQuickPlatformStandardPaths::standardLocations(QStandardPaths::Stand
/*!
\qmlmethod url Qt.labs.platform::StandardPaths::writableLocation(StandardLocation type)
+ \include standardpath/functiondocs.qdocinc writableLocation
+
\sa QStandardPaths::writableLocation()
*/
QUrl QQuickPlatformStandardPaths::writableLocation(QStandardPaths::StandardLocation type)
diff --git a/src/imports/platform/qquickplatformsystemtrayicon.cpp b/src/imports/platform/qquickplatformsystemtrayicon.cpp
index 202bc3bf..da483822 100644
--- a/src/imports/platform/qquickplatformsystemtrayicon.cpp
+++ b/src/imports/platform/qquickplatformsystemtrayicon.cpp
@@ -49,7 +49,7 @@ QT_BEGIN_NAMESPACE
/*!
\qmltype SystemTrayIcon
\inherits QtObject
- \instantiates QQuickPlatformSystemTrayIcon
+//! \instantiates QQuickPlatformSystemTrayIcon
\inqmlmodule Qt.labs.platform
\since 5.8
\brief A system tray icon.
diff --git a/src/quicktemplates2/qquickabstractbutton.cpp b/src/quicktemplates2/qquickabstractbutton.cpp
index 2099f2db..969ab173 100644
--- a/src/quicktemplates2/qquickabstractbutton.cpp
+++ b/src/quicktemplates2/qquickabstractbutton.cpp
@@ -54,7 +54,7 @@ QT_BEGIN_NAMESPACE
/*!
\qmltype AbstractButton
\inherits Control
- \instantiates QQuickAbstractButton
+//! \instantiates QQuickAbstractButton
\inqmlmodule QtQuick.Controls
\since 5.7
\ingroup qtquickcontrols2-buttons
@@ -1126,7 +1126,7 @@ void QQuickAbstractButton::buttonChange(ButtonChange change)
break;
case ButtonTextChange: {
const QString txt = text();
- setAccessibleName(txt);
+ maybeSetAccessibleName(txt);
#if QT_CONFIG(shortcut)
setShortcut(QKeySequence::mnemonic(txt));
#endif
@@ -1152,7 +1152,7 @@ void QQuickAbstractButton::accessibilityActiveChanged(bool active)
Q_D(QQuickAbstractButton);
if (active) {
- setAccessibleName(text());
+ maybeSetAccessibleName(text());
setAccessibleProperty("pressed", d->pressed);
setAccessibleProperty("checked", d->checked);
setAccessibleProperty("checkable", d->checkable);
diff --git a/src/quicktemplates2/qquickaction.cpp b/src/quicktemplates2/qquickaction.cpp
index 9120db37..6cb63238 100644
--- a/src/quicktemplates2/qquickaction.cpp
+++ b/src/quicktemplates2/qquickaction.cpp
@@ -49,7 +49,7 @@ QT_BEGIN_NAMESPACE
/*!
\qmltype Action
\inherits QtObject
- \instantiates QQuickAction
+//! \instantiates QQuickAction
\inqmlmodule QtQuick.Controls
\since 5.10
\ingroup utilities
@@ -506,7 +506,7 @@ void QQuickAction::setShortcut(const QKeySequence &shortcut)
#endif // QT_CONFIG(shortcut)
/*!
- \qmlmethod void QtQuick.Controls::Action::toggle(QtObject source = null)
+ \qmlmethod void QtQuick.Controls::Action::toggle(QtObject source)
Toggles the action and emits \l toggled() if enabled, with an optional \a source object defined.
*/
@@ -523,7 +523,7 @@ void QQuickAction::toggle(QObject *source)
}
/*!
- \qmlmethod void QtQuick.Controls::Action::trigger(QtObject source = null)
+ \qmlmethod void QtQuick.Controls::Action::trigger(QtObject source)
Triggers the action and emits \l triggered() if enabled, with an optional \a source object defined.
*/
diff --git a/src/quicktemplates2/qquickactiongroup.cpp b/src/quicktemplates2/qquickactiongroup.cpp
index f831660b..a78489e2 100644
--- a/src/quicktemplates2/qquickactiongroup.cpp
+++ b/src/quicktemplates2/qquickactiongroup.cpp
@@ -49,7 +49,7 @@ QT_BEGIN_NAMESPACE
/*!
\qmltype ActionGroup
\inherits QtObject
- \instantiates QQuickActionGroup
+//! \instantiates QQuickActionGroup
\inqmlmodule QtQuick.Controls
\since 5.10
\ingroup utilities
diff --git a/src/quicktemplates2/qquickapplicationwindow.cpp b/src/quicktemplates2/qquickapplicationwindow.cpp
index 19f6f82b..92d19a37 100644
--- a/src/quicktemplates2/qquickapplicationwindow.cpp
+++ b/src/quicktemplates2/qquickapplicationwindow.cpp
@@ -56,7 +56,7 @@ QT_BEGIN_NAMESPACE
/*!
\qmltype ApplicationWindow
\inherits Window
- \instantiates QQuickApplicationWindow
+//! \instantiates QQuickApplicationWindow
\inqmlmodule QtQuick.Controls
\since 5.7
\ingroup qtquickcontrols2-containers
diff --git a/src/quicktemplates2/qquickbusyindicator.cpp b/src/quicktemplates2/qquickbusyindicator.cpp
index eea8eadb..cfc24b93 100644
--- a/src/quicktemplates2/qquickbusyindicator.cpp
+++ b/src/quicktemplates2/qquickbusyindicator.cpp
@@ -42,7 +42,7 @@ QT_BEGIN_NAMESPACE
/*!
\qmltype BusyIndicator
\inherits Control
- \instantiates QQuickBusyIndicator
+//! \instantiates QQuickBusyIndicator
\inqmlmodule QtQuick.Controls
\since 5.7
\ingroup qtquickcontrols2-indicators
diff --git a/src/quicktemplates2/qquickbutton.cpp b/src/quicktemplates2/qquickbutton.cpp
index b4188a95..780492bf 100644
--- a/src/quicktemplates2/qquickbutton.cpp
+++ b/src/quicktemplates2/qquickbutton.cpp
@@ -44,7 +44,7 @@ QT_BEGIN_NAMESPACE
/*!
\qmltype Button
\inherits AbstractButton
- \instantiates QQuickButton
+//! \instantiates QQuickButton
\inqmlmodule QtQuick.Controls
\since 5.7
\ingroup qtquickcontrols2-buttons
diff --git a/src/quicktemplates2/qquickbuttongroup.cpp b/src/quicktemplates2/qquickbuttongroup.cpp
index cddfb199..3886dce9 100644
--- a/src/quicktemplates2/qquickbuttongroup.cpp
+++ b/src/quicktemplates2/qquickbuttongroup.cpp
@@ -48,7 +48,7 @@ QT_BEGIN_NAMESPACE
/*!
\qmltype ButtonGroup
\inherits QtObject
- \instantiates QQuickButtonGroup
+//! \instantiates QQuickButtonGroup
\inqmlmodule QtQuick.Controls
\since 5.7
\ingroup utilities
diff --git a/src/quicktemplates2/qquickcheckbox.cpp b/src/quicktemplates2/qquickcheckbox.cpp
index 0227e95d..f5b12e62 100644
--- a/src/quicktemplates2/qquickcheckbox.cpp
+++ b/src/quicktemplates2/qquickcheckbox.cpp
@@ -45,7 +45,7 @@ QT_BEGIN_NAMESPACE
/*!
\qmltype CheckBox
\inherits AbstractButton
- \instantiates QQuickCheckBox
+//! \instantiates QQuickCheckBox
\inqmlmodule QtQuick.Controls
\since 5.7
\ingroup qtquickcontrols2-buttons
diff --git a/src/quicktemplates2/qquickcheckdelegate.cpp b/src/quicktemplates2/qquickcheckdelegate.cpp
index 17f1f0b2..d8d008ce 100644
--- a/src/quicktemplates2/qquickcheckdelegate.cpp
+++ b/src/quicktemplates2/qquickcheckdelegate.cpp
@@ -45,7 +45,7 @@ QT_BEGIN_NAMESPACE
/*!
\qmltype CheckDelegate
\inherits ItemDelegate
- \instantiates QQuickCheckDelegate
+//! \instantiates QQuickCheckDelegate
\inqmlmodule QtQuick.Controls
\since 5.7
\ingroup qtquickcontrols2-delegates
diff --git a/src/quicktemplates2/qquickcombobox.cpp b/src/quicktemplates2/qquickcombobox.cpp
index 21eecfe1..7833b39b 100644
--- a/src/quicktemplates2/qquickcombobox.cpp
+++ b/src/quicktemplates2/qquickcombobox.cpp
@@ -60,7 +60,7 @@ QT_BEGIN_NAMESPACE
/*!
\qmltype ComboBox
\inherits Control
- \instantiates QQuickComboBox
+//! \instantiates QQuickComboBox
\inqmlmodule QtQuick.Controls
\since 5.7
\ingroup qtquickcontrols2-input
@@ -472,7 +472,7 @@ void QQuickComboBoxPrivate::updateCurrentText(bool hasDelegateModelObject)
if (currentText != text) {
currentText = text;
if (!hasDisplayText)
- q->setAccessibleName(text);
+ q->maybeSetAccessibleName(text);
emit q->currentTextChanged();
}
if (!hasDisplayText && displayText != text) {
@@ -1051,7 +1051,7 @@ void QQuickComboBox::setDisplayText(const QString &text)
return;
d->displayText = text;
- setAccessibleName(text);
+ maybeSetAccessibleName(text);
emit displayTextChanged();
}
@@ -1636,7 +1636,7 @@ QString QQuickComboBox::textAt(int index) const
}
/*!
- \qmlmethod int QtQuick.Controls::ComboBox::find(string text, flags = Qt.MatchExactly)
+ \qmlmethod int QtQuick.Controls::ComboBox::find(string text, enumeration flags)
Returns the index of the specified \a text, or \c -1 if no match is found.
@@ -1730,6 +1730,12 @@ bool QQuickComboBox::eventFilter(QObject *object, QEvent *event)
// the user clicked on the popup button to open it, not close it).
d->hidePopup(false);
setPressed(false);
+
+ // The focus left the text field, so if the edit text matches an item in the model,
+ // change our currentIndex to that. This matches widgets' behavior.
+ const int indexForEditText = find(d->extra.value().editText, Qt::MatchFixedString);
+ if (indexForEditText > -1)
+ setCurrentIndex(indexForEditText);
}
break;
#if QT_CONFIG(im)
@@ -1970,7 +1976,7 @@ void QQuickComboBox::accessibilityActiveChanged(bool active)
QQuickControl::accessibilityActiveChanged(active);
if (active) {
- setAccessibleName(d->hasDisplayText ? d->displayText : d->currentText);
+ maybeSetAccessibleName(d->hasDisplayText ? d->displayText : d->currentText);
setAccessibleProperty("editable", isEditable());
}
}
diff --git a/src/quicktemplates2/qquickcontainer.cpp b/src/quicktemplates2/qquickcontainer.cpp
index 5f38c5b9..19b59e33 100644
--- a/src/quicktemplates2/qquickcontainer.cpp
+++ b/src/quicktemplates2/qquickcontainer.cpp
@@ -44,7 +44,7 @@ QT_BEGIN_NAMESPACE
/*!
\qmltype Container
\inherits Control
- \instantiates QQuickContainer
+//! \instantiates QQuickContainer
\inqmlmodule QtQuick.Controls
\since 5.7
\ingroup qtquickcontrols2-containers
@@ -110,7 +110,7 @@ QT_BEGIN_NAMESPACE
\list
\li \l incrementCurrentIndex()
\li \l decrementCurrentIndex()
- \li \l setCurrentIndex(int index)
+ \li \l setCurrentIndex()
\endlist
\code
@@ -700,7 +700,7 @@ int QQuickContainer::currentIndex() const
/*!
\qmlmethod void QtQuick.Controls::Container::setCurrentIndex(int index)
- Sets the current index of the container.
+ Sets the current \a index of the container.
This method can be called to set a specific current index without breaking
existing \c currentIndex bindings.
diff --git a/src/quicktemplates2/qquickcontrol.cpp b/src/quicktemplates2/qquickcontrol.cpp
index 0ebaf9a3..7e249dae 100644
--- a/src/quicktemplates2/qquickcontrol.cpp
+++ b/src/quicktemplates2/qquickcontrol.cpp
@@ -59,7 +59,7 @@ QT_BEGIN_NAMESPACE
/*!
\qmltype Control
\inherits Item
- \instantiates QQuickControl
+//! \instantiates QQuickControl
\inqmlmodule QtQuick.Controls
\since 5.7
\brief Abstract base type providing functionality common to all controls.
@@ -1633,8 +1633,10 @@ void QQuickControl::setBackground(QQuickItem *background)
\endcode
\note The content item is automatically positioned and resized to fit
- within the \l padding of the control. Bindings to the \l x, \l y, \l width,
- and \l height properties of the contentItem are not respected.
+ within the \l padding of the control. Bindings to the
+ \l[QtQuick]{Item::}{x}, \l[QtQuick]{Item::}{y},
+ \l[QtQuick]{Item::}{width}, and \l[QtQuick]{Item::}{height}
+ properties of the contentItem are not respected.
\note Most controls use the implicit size of the content item to calculate
the implicit size of the control itself. If you replace the content item
@@ -2280,11 +2282,13 @@ QString QQuickControl::accessibleName() const
return QString();
}
-void QQuickControl::setAccessibleName(const QString &name)
+void QQuickControl::maybeSetAccessibleName(const QString &name)
{
#if QT_CONFIG(accessibility)
- if (QQuickAccessibleAttached *accessibleAttached = QQuickControlPrivate::accessibleAttached(this))
- accessibleAttached->setName(name);
+ if (QQuickAccessibleAttached *accessibleAttached = QQuickControlPrivate::accessibleAttached(this)) {
+ if (!accessibleAttached->wasNameExplicitlySet())
+ accessibleAttached->setNameImplicitly(name);
+ }
#else
Q_UNUSED(name)
#endif
diff --git a/src/quicktemplates2/qquickcontrol_p.h b/src/quicktemplates2/qquickcontrol_p.h
index 3fe20f3b..d35630a7 100644
--- a/src/quicktemplates2/qquickcontrol_p.h
+++ b/src/quicktemplates2/qquickcontrol_p.h
@@ -287,7 +287,7 @@ protected:
// helper functions which avoid to check QT_CONFIG(accessibility)
QString accessibleName() const;
- void setAccessibleName(const QString &name);
+ void maybeSetAccessibleName(const QString &name);
QVariant accessibleProperty(const char *propertyName);
bool setAccessibleProperty(const char *propertyName, const QVariant &value);
diff --git a/src/quicktemplates2/qquickdelaybutton.cpp b/src/quicktemplates2/qquickdelaybutton.cpp
index ba5953a0..7b769089 100644
--- a/src/quicktemplates2/qquickdelaybutton.cpp
+++ b/src/quicktemplates2/qquickdelaybutton.cpp
@@ -46,7 +46,7 @@ QT_BEGIN_NAMESPACE
/*!
\qmltype DelayButton
\inherits AbstractButton
- \instantiates QQuickDelayButton
+//! \instantiates QQuickDelayButton
\inqmlmodule QtQuick.Controls
\since 5.9
\ingroup qtquickcontrols2-buttons
diff --git a/src/quicktemplates2/qquickdial.cpp b/src/quicktemplates2/qquickdial.cpp
index 431b25a8..b07628ff 100644
--- a/src/quicktemplates2/qquickdial.cpp
+++ b/src/quicktemplates2/qquickdial.cpp
@@ -46,7 +46,7 @@ QT_BEGIN_NAMESPACE
/*!
\qmltype Dial
\inherits Control
- \instantiates QQuickDial
+//! \instantiates QQuickDial
\inqmlmodule QtQuick.Controls
\since 5.7
\ingroup qtquickcontrols2-input
diff --git a/src/quicktemplates2/qquickdialog.cpp b/src/quicktemplates2/qquickdialog.cpp
index 7d3152e2..a13b42ee 100644
--- a/src/quicktemplates2/qquickdialog.cpp
+++ b/src/quicktemplates2/qquickdialog.cpp
@@ -45,7 +45,7 @@ QT_BEGIN_NAMESPACE
/*!
\qmltype Dialog
\inherits Popup
- \instantiates QQuickDialog
+//! \instantiates QQuickDialog
\inqmlmodule QtQuick.Controls
\ingroup qtquickcontrols2-dialogs
\ingroup qtquickcontrols2-popups
@@ -219,7 +219,6 @@ void QQuickDialog::setTitle(const QString &title)
{
Q_D(QQuickDialog);
d->popupItem->setTitle(title);
- setAccessibleName(title);
}
/*!
@@ -536,7 +535,7 @@ void QQuickDialog::accessibilityActiveChanged(bool active)
QQuickPopup::accessibilityActiveChanged(active);
if (active)
- setAccessibleName(d->popupItem->title());
+ maybeSetAccessibleName(d->popupItem->title());
}
#endif
diff --git a/src/quicktemplates2/qquickdialogbuttonbox.cpp b/src/quicktemplates2/qquickdialogbuttonbox.cpp
index 10d80778..33b720ed 100644
--- a/src/quicktemplates2/qquickdialogbuttonbox.cpp
+++ b/src/quicktemplates2/qquickdialogbuttonbox.cpp
@@ -54,7 +54,7 @@ QT_BEGIN_NAMESPACE
/*!
\qmltype DialogButtonBox
\inherits Container
- \instantiates QQuickDialogButtonBox
+//! \instantiates QQuickDialogButtonBox
\inqmlmodule QtQuick.Controls
\ingroup qtquickcontrols2-dialogs
\brief A button box used in dialogs.
diff --git a/src/quicktemplates2/qquickdrawer.cpp b/src/quicktemplates2/qquickdrawer.cpp
index 9cc38791..cf2f7558 100644
--- a/src/quicktemplates2/qquickdrawer.cpp
+++ b/src/quicktemplates2/qquickdrawer.cpp
@@ -51,7 +51,7 @@ QT_BEGIN_NAMESPACE
/*!
\qmltype Drawer
\inherits Popup
- \instantiates QQuickDrawer
+//! \instantiates QQuickDrawer
\inqmlmodule QtQuick.Controls
\since 5.7
\ingroup qtquickcontrols2-navigation
diff --git a/src/quicktemplates2/qquickframe.cpp b/src/quicktemplates2/qquickframe.cpp
index f880d917..e82258a9 100644
--- a/src/quicktemplates2/qquickframe.cpp
+++ b/src/quicktemplates2/qquickframe.cpp
@@ -42,7 +42,7 @@ QT_BEGIN_NAMESPACE
/*!
\qmltype Frame
\inherits Pane
- \instantiates QQuickFrame
+//! \instantiates QQuickFrame
\inqmlmodule QtQuick.Controls
\since 5.7
\ingroup qtquickcontrols2-containers
diff --git a/src/quicktemplates2/qquickgroupbox.cpp b/src/quicktemplates2/qquickgroupbox.cpp
index 7f3c7a2d..3dbf3174 100644
--- a/src/quicktemplates2/qquickgroupbox.cpp
+++ b/src/quicktemplates2/qquickgroupbox.cpp
@@ -45,7 +45,7 @@ QT_BEGIN_NAMESPACE
/*!
\qmltype GroupBox
\inherits Frame
- \instantiates QQuickGroupBox
+//! \instantiates QQuickGroupBox
\inqmlmodule QtQuick.Controls
\since 5.7
\ingroup qtquickcontrols2-containers
@@ -167,7 +167,7 @@ void QQuickGroupBox::setTitle(const QString &title)
return;
d->title = title;
- setAccessibleName(title);
+ maybeSetAccessibleName(title);
emit titleChanged();
}
@@ -283,7 +283,7 @@ void QQuickGroupBox::accessibilityActiveChanged(bool active)
QQuickFrame::accessibilityActiveChanged(active);
if (active)
- setAccessibleName(d->title);
+ maybeSetAccessibleName(d->title);
}
#endif
diff --git a/src/quicktemplates2/qquickitemdelegate.cpp b/src/quicktemplates2/qquickitemdelegate.cpp
index 8156ab65..85e14a38 100644
--- a/src/quicktemplates2/qquickitemdelegate.cpp
+++ b/src/quicktemplates2/qquickitemdelegate.cpp
@@ -45,7 +45,7 @@ QT_BEGIN_NAMESPACE
/*!
\qmltype ItemDelegate
\inherits AbstractButton
- \instantiates QQuickItemDelegate
+//! \instantiates QQuickItemDelegate
\inqmlmodule QtQuick.Controls
\since 5.7
\brief Basic item delegate that can be used in various views and controls.
diff --git a/src/quicktemplates2/qquicklabel.cpp b/src/quicktemplates2/qquicklabel.cpp
index f3e0d512..9937436c 100644
--- a/src/quicktemplates2/qquicklabel.cpp
+++ b/src/quicktemplates2/qquicklabel.cpp
@@ -52,7 +52,7 @@ QT_BEGIN_NAMESPACE
/*!
\qmltype Label
\inherits Text
- \instantiates QQuickLabel
+//! \instantiates QQuickLabel
\inqmlmodule QtQuick.Controls
\since 5.7
\ingroup text
@@ -248,9 +248,7 @@ void QQuickLabelPrivate::updatePalette(const QPalette &palette)
void QQuickLabelPrivate::textChanged(const QString &text)
{
#if QT_CONFIG(accessibility)
- Q_Q(QQuickLabel);
- if (QQuickAccessibleAttached *accessibleAttached = QQuickControlPrivate::accessibleAttached(q))
- accessibleAttached->setName(text);
+ maybeSetAccessibleName(text);
#else
Q_UNUSED(text)
#endif
@@ -266,13 +264,24 @@ void QQuickLabelPrivate::accessibilityActiveChanged(bool active)
QQuickAccessibleAttached *accessibleAttached = qobject_cast<QQuickAccessibleAttached *>(qmlAttachedPropertiesObject<QQuickAccessibleAttached>(q, true));
Q_ASSERT(accessibleAttached);
accessibleAttached->setRole(accessibleRole());
- accessibleAttached->setName(text);
+ maybeSetAccessibleName(text);
}
QAccessible::Role QQuickLabelPrivate::accessibleRole() const
{
return QAccessible::StaticText;
}
+
+void QQuickLabelPrivate::maybeSetAccessibleName(const QString &name)
+{
+ Q_Q(QQuickLabel);
+ auto accessibleAttached = qobject_cast<QQuickAccessibleAttached *>(
+ qmlAttachedPropertiesObject<QQuickAccessibleAttached>(q, true));
+ if (accessibleAttached) {
+ if (!accessibleAttached->wasNameExplicitlySet())
+ accessibleAttached->setNameImplicitly(name);
+ }
+}
#endif
static inline QString backgroundName() { return QStringLiteral("background"); }
diff --git a/src/quicktemplates2/qquicklabel_p_p.h b/src/quicktemplates2/qquicklabel_p_p.h
index e1010698..ce70c168 100644
--- a/src/quicktemplates2/qquicklabel_p_p.h
+++ b/src/quicktemplates2/qquicklabel_p_p.h
@@ -111,6 +111,7 @@ public:
#if QT_CONFIG(accessibility)
void accessibilityActiveChanged(bool active) override;
QAccessible::Role accessibleRole() const override;
+ void maybeSetAccessibleName(const QString &name);
#endif
void cancelBackground();
diff --git a/src/quicktemplates2/qquickmenu.cpp b/src/quicktemplates2/qquickmenu.cpp
index 91372777..c3d80aa0 100644
--- a/src/quicktemplates2/qquickmenu.cpp
+++ b/src/quicktemplates2/qquickmenu.cpp
@@ -68,7 +68,7 @@ static const int SUBMENU_DELAY = 225;
/*!
\qmltype Menu
\inherits Popup
- \instantiates QQuickMenu
+//! \instantiates QQuickMenu
\inqmlmodule QtQuick.Controls
\since 5.7
\ingroup qtquickcontrols2-menus
@@ -178,8 +178,9 @@ static const int SUBMENU_DELAY = 225;
This property holds whether the popup wants focus.
- When the popup actually receives focus, \l activeFocus will be \c true.
- For more information, see \l {Keyboard Focus in Qt Quick}.
+ When the popup actually receives focus, \l{Popup::}{activeFocus}
+ will be \c true. For more information, see
+ \l {Keyboard Focus in Qt Quick}.
The default value is \c false.
diff --git a/src/quicktemplates2/qquickmenubar.cpp b/src/quicktemplates2/qquickmenubar.cpp
index f909193f..4cf77e3d 100644
--- a/src/quicktemplates2/qquickmenubar.cpp
+++ b/src/quicktemplates2/qquickmenubar.cpp
@@ -49,7 +49,7 @@ QT_BEGIN_NAMESPACE
/*!
\qmltype MenuBar
\inherits Container
- \instantiates QQuickMenuBar
+//! \instantiates QQuickMenuBar
\inqmlmodule QtQuick.Controls
\since 5.10
\ingroup qtquickcontrols2-menus
diff --git a/src/quicktemplates2/qquickmenubaritem.cpp b/src/quicktemplates2/qquickmenubaritem.cpp
index f32baff5..ee407f5b 100644
--- a/src/quicktemplates2/qquickmenubaritem.cpp
+++ b/src/quicktemplates2/qquickmenubaritem.cpp
@@ -44,7 +44,7 @@ QT_BEGIN_NAMESPACE
/*!
\qmltype MenuBarItem
\inherits AbstractButton
- \instantiates QQuickMenuBarItem
+//! \instantiates QQuickMenuBarItem
\inqmlmodule QtQuick.Controls
\since 5.10
\ingroup qtquickcontrols2-menus
diff --git a/src/quicktemplates2/qquickmenuitem.cpp b/src/quicktemplates2/qquickmenuitem.cpp
index a7fc63e8..0fbfb90b 100644
--- a/src/quicktemplates2/qquickmenuitem.cpp
+++ b/src/quicktemplates2/qquickmenuitem.cpp
@@ -47,7 +47,7 @@ QT_BEGIN_NAMESPACE
/*!
\qmltype MenuItem
\inherits AbstractButton
- \instantiates QQuickMenuItem
+//! \instantiates QQuickMenuItem
\inqmlmodule QtQuick.Controls
\since 5.7
\ingroup qtquickcontrols2-menus
diff --git a/src/quicktemplates2/qquickmenuseparator.cpp b/src/quicktemplates2/qquickmenuseparator.cpp
index f6b8c4b2..076ada57 100644
--- a/src/quicktemplates2/qquickmenuseparator.cpp
+++ b/src/quicktemplates2/qquickmenuseparator.cpp
@@ -42,7 +42,7 @@ QT_BEGIN_NAMESPACE
/*!
\qmltype MenuSeparator
\inherits Control
- \instantiates QQuickMenuSeparator
+//! \instantiates QQuickMenuSeparator
\inqmlmodule QtQuick.Controls
\since 5.8
\ingroup qtquickcontrols2-separators
diff --git a/src/quicktemplates2/qquickoverlay.cpp b/src/quicktemplates2/qquickoverlay.cpp
index 3f358706..ea72072b 100644
--- a/src/quicktemplates2/qquickoverlay.cpp
+++ b/src/quicktemplates2/qquickoverlay.cpp
@@ -50,7 +50,7 @@ QT_BEGIN_NAMESPACE
/*!
\qmltype Overlay
\inherits Item
- \instantiates QQuickOverlay
+//! \instantiates QQuickOverlay
\inqmlmodule QtQuick.Controls
\since 5.10
\brief A window overlay for popups.
diff --git a/src/quicktemplates2/qquickpage.cpp b/src/quicktemplates2/qquickpage.cpp
index 78bae921..0a72bad7 100644
--- a/src/quicktemplates2/qquickpage.cpp
+++ b/src/quicktemplates2/qquickpage.cpp
@@ -45,7 +45,7 @@ QT_BEGIN_NAMESPACE
/*!
\qmltype Page
\inherits Pane
- \instantiates QQuickPage
+//! \instantiates QQuickPage
\inqmlmodule QtQuick.Controls
\since 5.7
\ingroup qtquickcontrols2-containers
@@ -285,7 +285,7 @@ void QQuickPage::setTitle(const QString &title)
return;
d->title = title;
- setAccessibleName(title);
+ maybeSetAccessibleName(title);
emit titleChanged();
}
@@ -473,7 +473,7 @@ void QQuickPage::accessibilityActiveChanged(bool active)
QQuickPane::accessibilityActiveChanged(active);
if (active)
- setAccessibleName(d->title);
+ maybeSetAccessibleName(d->title);
}
#endif
diff --git a/src/quicktemplates2/qquickpageindicator.cpp b/src/quicktemplates2/qquickpageindicator.cpp
index d29158a8..a06884cb 100644
--- a/src/quicktemplates2/qquickpageindicator.cpp
+++ b/src/quicktemplates2/qquickpageindicator.cpp
@@ -45,7 +45,7 @@ QT_BEGIN_NAMESPACE
/*!
\qmltype PageIndicator
\inherits Control
- \instantiates QQuickPageIndicator
+//! \instantiates QQuickPageIndicator
\inqmlmodule QtQuick.Controls
\since 5.7
\ingroup qtquickcontrols2-indicators
diff --git a/src/quicktemplates2/qquickpane.cpp b/src/quicktemplates2/qquickpane.cpp
index 18c8bd51..bf902b6b 100644
--- a/src/quicktemplates2/qquickpane.cpp
+++ b/src/quicktemplates2/qquickpane.cpp
@@ -43,7 +43,7 @@ QT_BEGIN_NAMESPACE
/*!
\qmltype Pane
\inherits Control
- \instantiates QQuickPane
+//! \instantiates QQuickPane
\inqmlmodule QtQuick.Controls
\since 5.7
\ingroup qtquickcontrols2-containers
@@ -56,8 +56,8 @@ QT_BEGIN_NAMESPACE
\l ColumnLayout.
Items declared as children of a Pane are automatically parented to the
- Pane's \l {Control::}{contentItem}. Items created dynamically need to be
- explicitly parented to the contentItem.
+ Pane's \l[QtQuickControls2]{Control::}{contentItem}. Items created
+ dynamically need to be explicitly parented to the contentItem.
\section1 Content Sizing
diff --git a/src/quicktemplates2/qquickpopup.cpp b/src/quicktemplates2/qquickpopup.cpp
index 45cbecf4..ecb2568e 100644
--- a/src/quicktemplates2/qquickpopup.cpp
+++ b/src/quicktemplates2/qquickpopup.cpp
@@ -54,7 +54,7 @@ QT_BEGIN_NAMESPACE
/*!
\qmltype Popup
\inherits QtObject
- \instantiates QQuickPopup
+//! \instantiates QQuickPopup
\inqmlmodule QtQuick.Controls
\since 5.7
\ingroup qtquickcontrols2-popups
@@ -580,7 +580,7 @@ void QQuickPopupPrivate::setBottomMargin(qreal value, bool reset)
relationship with other items.
A common use case is to center a popup within its parent. One way to do
- this is with the \l {Item::}{x} and \l {Item::}{y} properties. Anchors offer
+ this is with the \l[QtQuick]{Item::}{x} and \l[QtQuick]{Item::}{y} properties. Anchors offer
a more convenient approach:
\qml
@@ -602,7 +602,7 @@ void QQuickPopupPrivate::setBottomMargin(qreal value, bool reset)
\note Popups can only be centered within their immediate parent or
the window overlay; trying to center in other items will produce a warning.
- \sa {Popup Positioning}, {Item::anchors}
+ \sa {Popup Positioning}, {QtQuick::Item::anchors}{anchors}
*/
QQuickPopupAnchors *QQuickPopupPrivate::getAnchors()
{
@@ -2380,7 +2380,7 @@ void QQuickPopup::setFiltersChildMouseEvents(bool filter)
}
/*!
- \qmlmethod QtQuick.Controls::Popup::forceActiveFocus(reason = Qt.OtherFocusReason)
+ \qmlmethod QtQuick.Controls::Popup::forceActiveFocus(enumeration reason = Qt.OtherFocusReason)
Forces active focus on the popup with the given \a reason.
@@ -2697,10 +2697,10 @@ QString QQuickPopup::accessibleName() const
return d->popupItem->accessibleName();
}
-void QQuickPopup::setAccessibleName(const QString &name)
+void QQuickPopup::maybeSetAccessibleName(const QString &name)
{
Q_D(QQuickPopup);
- d->popupItem->setAccessibleName(name);
+ d->popupItem->maybeSetAccessibleName(name);
}
QVariant QQuickPopup::accessibleProperty(const char *propertyName)
diff --git a/src/quicktemplates2/qquickpopup_p.h b/src/quicktemplates2/qquickpopup_p.h
index 12dbd247..dc3ebf6f 100644
--- a/src/quicktemplates2/qquickpopup_p.h
+++ b/src/quicktemplates2/qquickpopup_p.h
@@ -459,7 +459,7 @@ protected:
#endif
QString accessibleName() const;
- void setAccessibleName(const QString &name);
+ void maybeSetAccessibleName(const QString &name);
QVariant accessibleProperty(const char *propertyName);
bool setAccessibleProperty(const char *propertyName, const QVariant &value);
diff --git a/src/quicktemplates2/qquickpopupitem.cpp b/src/quicktemplates2/qquickpopupitem.cpp
index 16d8c4f6..fcf23db5 100644
--- a/src/quicktemplates2/qquickpopupitem.cpp
+++ b/src/quicktemplates2/qquickpopupitem.cpp
@@ -45,6 +45,10 @@
#include <QtGui/private/qshortcutmap_p.h>
#include <QtGui/private/qguiapplication_p.h>
+#if QT_CONFIG(accessibility)
+#include <QtQuick/private/qquickaccessibleattached_p.h>
+#endif
+
QT_BEGIN_NAMESPACE
class QQuickPopupItemPrivate : public QQuickPagePrivate
@@ -401,7 +405,28 @@ QAccessible::Role QQuickPopupItem::accessibleRole() const
void QQuickPopupItem::accessibilityActiveChanged(bool active)
{
Q_D(const QQuickPopupItem);
+ // Can't just use d->popup->accessibleName() here, because that refers to the accessible
+ // name of us, the popup item, which is not what we want.
+ const QQuickAccessibleAttached *popupAccessibleAttached = QQuickControlPrivate::accessibleAttached(d->popup);
+ const QString oldPopupName = popupAccessibleAttached ? popupAccessibleAttached->name() : QString();
+ const bool wasNameExplicitlySetOnPopup = popupAccessibleAttached && popupAccessibleAttached->wasNameExplicitlySet();
+
QQuickPage::accessibilityActiveChanged(active);
+
+ QQuickAccessibleAttached *accessibleAttached = QQuickControlPrivate::accessibleAttached(this);
+ const QString ourName = accessibleAttached ? accessibleAttached->name() : QString();
+ if (wasNameExplicitlySetOnPopup && accessibleAttached && ourName != oldPopupName) {
+ // The user set Accessible.name on the Popup. Since the Popup and its popup item
+ // have different accessible attached properties, the popup item doesn't know that
+ // a name was set on the Popup by the user, and that it should use that, rather than
+ // whatever QQuickPage sets. That's why we need to do it here.
+ // To avoid it being overridden by the call to accessibilityActiveChanged() below,
+ // we set it explicitly. It's safe to do this as the popup item is an internal implementation detail.
+ accessibleAttached->setName(oldPopupName);
+ }
+
+ // This allows the different popup types to set a name on their popup item accordingly.
+ // For example: Dialog uses its title and ToolTip uses its text.
d->popup->accessibilityActiveChanged(active);
}
#endif
diff --git a/src/quicktemplates2/qquickprogressbar.cpp b/src/quicktemplates2/qquickprogressbar.cpp
index 041d4d88..34d3cd1b 100644
--- a/src/quicktemplates2/qquickprogressbar.cpp
+++ b/src/quicktemplates2/qquickprogressbar.cpp
@@ -42,7 +42,7 @@ QT_BEGIN_NAMESPACE
/*!
\qmltype ProgressBar
\inherits Control
- \instantiates QQuickProgressBar
+//! \instantiates QQuickProgressBar
\inqmlmodule QtQuick.Controls
\since 5.7
\ingroup qtquickcontrols2-indicators
diff --git a/src/quicktemplates2/qquickradiobutton.cpp b/src/quicktemplates2/qquickradiobutton.cpp
index bf0c414c..f22a152f 100644
--- a/src/quicktemplates2/qquickradiobutton.cpp
+++ b/src/quicktemplates2/qquickradiobutton.cpp
@@ -44,7 +44,7 @@ QT_BEGIN_NAMESPACE
/*!
\qmltype RadioButton
\inherits AbstractButton
- \instantiates QQuickRadioButton
+//! \instantiates QQuickRadioButton
\inqmlmodule QtQuick.Controls
\since 5.7
\ingroup qtquickcontrols2-buttons
diff --git a/src/quicktemplates2/qquickradiodelegate.cpp b/src/quicktemplates2/qquickradiodelegate.cpp
index 12a1ffb7..6b353fe3 100644
--- a/src/quicktemplates2/qquickradiodelegate.cpp
+++ b/src/quicktemplates2/qquickradiodelegate.cpp
@@ -44,7 +44,7 @@ QT_BEGIN_NAMESPACE
/*!
\qmltype RadioDelegate
\inherits ItemDelegate
- \instantiates QQuickRadioDelegate
+//! \instantiates QQuickRadioDelegate
\inqmlmodule QtQuick.Controls
\since 5.7
\ingroup qtquickcontrols2-delegates
diff --git a/src/quicktemplates2/qquickrangeslider.cpp b/src/quicktemplates2/qquickrangeslider.cpp
index 378ece50..bd53963d 100644
--- a/src/quicktemplates2/qquickrangeslider.cpp
+++ b/src/quicktemplates2/qquickrangeslider.cpp
@@ -46,7 +46,7 @@ QT_BEGIN_NAMESPACE
/*!
\qmltype RangeSlider
\inherits Control
- \instantiates QQuickRangeSlider
+//! \instantiates QQuickRangeSlider
\inqmlmodule QtQuick.Controls
\since 5.7
\ingroup qtquickcontrols2-input
@@ -978,11 +978,11 @@ void QQuickRangeSlider::setOrientation(Qt::Orientation orientation)
Sets \l first.value and \l second.value with the given arguments.
- If \a to is larger than \a from and \a firstValue is larger than
- \a secondValue, \a firstValue will be clamped to \a secondValue.
+ If \l to is larger than \l from and \a firstValue is larger than
+ \a secondValue, firstValue will be clamped to secondValue.
- If \a from is larger than \a to and \a secondValue is larger than
- \a firstValue, \a secondValue will be clamped to \a firstValue.
+ If \l from is larger than \l to and secondValue is larger than
+ firstValue, secondValue will be clamped to firstValue.
This function may be necessary to set the first and second values
after the control has been completed, as there is a circular
diff --git a/src/quicktemplates2/qquickroundbutton.cpp b/src/quicktemplates2/qquickroundbutton.cpp
index d930edbe..10ebbcc1 100644
--- a/src/quicktemplates2/qquickroundbutton.cpp
+++ b/src/quicktemplates2/qquickroundbutton.cpp
@@ -43,7 +43,7 @@ QT_BEGIN_NAMESPACE
/*!
\qmltype RoundButton
\inherits Button
- \instantiates QQuickRoundButton
+//! \instantiates QQuickRoundButton
\inqmlmodule QtQuick.Controls
\since 5.8
\ingroup qtquickcontrols2-buttons
diff --git a/src/quicktemplates2/qquickscrollbar.cpp b/src/quicktemplates2/qquickscrollbar.cpp
index 535151d6..678b7942 100644
--- a/src/quicktemplates2/qquickscrollbar.cpp
+++ b/src/quicktemplates2/qquickscrollbar.cpp
@@ -49,7 +49,7 @@ QT_BEGIN_NAMESPACE
/*!
\qmltype ScrollBar
\inherits Control
- \instantiates QQuickScrollBar
+//! \instantiates QQuickScrollBar
\inqmlmodule QtQuick.Controls
\since 5.7
\ingroup qtquickcontrols2-indicators
@@ -144,7 +144,7 @@ QT_BEGIN_NAMESPACE
\list
\li Layout the scroll bar (with the \l {Item::}{x} and \l {Item::}{y} or
- \l {Item::anchors}{anchor} properties, for example).
+ \l [QtQuick]{Item::}{anchors} property, for example).
\li Set the \l size and \l position properties to determine the size and position
of the scroll bar in relation to the scrolled item.
\li Set the \l active property to determine when the scroll bar will be
diff --git a/src/quicktemplates2/qquickscrollindicator.cpp b/src/quicktemplates2/qquickscrollindicator.cpp
index 1e411bce..8c001c01 100644
--- a/src/quicktemplates2/qquickscrollindicator.cpp
+++ b/src/quicktemplates2/qquickscrollindicator.cpp
@@ -46,7 +46,7 @@ QT_BEGIN_NAMESPACE
/*!
\qmltype ScrollIndicator
\inherits Control
- \instantiates QQuickScrollIndicator
+//! \instantiates QQuickScrollIndicator
\inqmlmodule QtQuick.Controls
\since 5.7
\ingroup qtquickcontrols2-indicators
diff --git a/src/quicktemplates2/qquickscrollview.cpp b/src/quicktemplates2/qquickscrollview.cpp
index 70390351..f9f4c9f8 100644
--- a/src/quicktemplates2/qquickscrollview.cpp
+++ b/src/quicktemplates2/qquickscrollview.cpp
@@ -45,7 +45,7 @@ QT_BEGIN_NAMESPACE
/*!
\qmltype ScrollView
\inherits Pane
- \instantiates QQuickScrollView
+//! \instantiates QQuickScrollView
\inqmlmodule QtQuick.Controls
\since 5.9
\ingroup qtquickcontrols2-containers
diff --git a/src/quicktemplates2/qquickslider.cpp b/src/quicktemplates2/qquickslider.cpp
index 054ea502..1fb674b6 100644
--- a/src/quicktemplates2/qquickslider.cpp
+++ b/src/quicktemplates2/qquickslider.cpp
@@ -45,7 +45,7 @@ QT_BEGIN_NAMESPACE
/*!
\qmltype Slider
\inherits Control
- \instantiates QQuickSlider
+//! \instantiates QQuickSlider
\inqmlmodule QtQuick.Controls
\since 5.7
\ingroup qtquickcontrols2-input
diff --git a/src/quicktemplates2/qquickspinbox.cpp b/src/quicktemplates2/qquickspinbox.cpp
index 389e5c54..8b81e4e5 100644
--- a/src/quicktemplates2/qquickspinbox.cpp
+++ b/src/quicktemplates2/qquickspinbox.cpp
@@ -55,7 +55,7 @@ static const int AUTO_REPEAT_INTERVAL = 100;
/*!
\qmltype SpinBox
\inherits Control
- \instantiates QQuickSpinBox
+//! \instantiates QQuickSpinBox
\inqmlmodule QtQuick.Controls
\since 5.7
\ingroup input
diff --git a/src/quicktemplates2/qquicksplitview.cpp b/src/quicktemplates2/qquicksplitview.cpp
index ba7644a1..219a6b08 100644
--- a/src/quicktemplates2/qquicksplitview.cpp
+++ b/src/quicktemplates2/qquicksplitview.cpp
@@ -50,12 +50,12 @@ QT_BEGIN_NAMESPACE
/*!
\qmltype SplitView
\inherits Control
- \instantiates QQuickSplitView
+//! \instantiates QQuickSplitView
\inqmlmodule QtQuick.Controls
\since 5.13
\ingroup qtquickcontrols2-containers
\ingroup qtquickcontrols2-focusscopes
- \brief Lays out items with a draggable splitter between each item
+ \brief Lays out items with a draggable splitter between each item.
SplitView is a control that lays out items horizontally or vertically with
a draggable splitter between each item.
@@ -63,25 +63,28 @@ QT_BEGIN_NAMESPACE
SplitView supports the following attached properties on items it manages:
\list
- \li \l SplitView.minimumWidth
- \li \l SplitView.minimumHeight
- \li \l SplitView.preferredWidth
- \li \l SplitView.preferredHeight
- \li \l SplitView.maximumWidth
- \li \l SplitView.maximumHeight
- \li \l SplitView.fillWidth (true for only one child)
- \li \l SplitView.fillHeight (true for only one child)
+ \li \l{minimumWidth}{SplitView.minimumWidth}
+ \li \l{minimumHeight}{SplitView.minimumHeight}
+ \li \l{preferredWidth}{SplitView.preferredWidth}
+ \li \l{preferredHeight}{SplitView.preferredHeight}
+ \li \l{maximumWidth}{SplitView.maximumWidth}
+ \li \l{maximumHeight}{SplitView.maximumHeight}
+ \li \l{fillWidth}{SplitView.fillWidth} (true for only one child)
+ \li \l{fillHeight}{SplitView.fillHeight} (true for only one child)
\endlist
In addition, each handle has the following read-only attached properties:
\list
- \li \l SplitHandle.hovered
- \li \l SplitHandle.pressed
+ \li \l{SplitHandle::hovered}{SplitHandle.hovered}
+ \li \l{SplitHandle::pressed}{SplitHandle.pressed}
\endlist
+ \note Handles should be purely visual and not handle events, as it can
+ interfere with their hovered and pressed states.
+
The preferred size of items in a SplitView can be specified via
- \l {Item::}{implicitWidth} and \l {Item::}{implicitHeight} or
+ \l{Item::}{implicitWidth} and \l{Item::}{implicitHeight} or
\c SplitView.preferredWidth and \c SplitView.preferredHeight:
\code
@@ -1091,6 +1094,7 @@ QQuickSplitView::QQuickSplitView(QQuickItem *parent)
d->changeTypes |= QQuickItemPrivate::Visibility;
setAcceptedMouseButtons(Qt::LeftButton);
+ setFiltersChildMouseEvents(true);
}
QQuickSplitView::QQuickSplitView(QQuickSplitViewPrivate &dd, QQuickItem *parent)
@@ -1100,6 +1104,7 @@ QQuickSplitView::QQuickSplitView(QQuickSplitViewPrivate &dd, QQuickItem *parent)
d->changeTypes |= QQuickItemPrivate::Visibility;
setAcceptedMouseButtons(Qt::LeftButton);
+ setFiltersChildMouseEvents(true);
}
QQuickSplitView::~QQuickSplitView()
@@ -1159,7 +1164,7 @@ bool QQuickSplitView::isResizing() const
This property holds the handle component.
An instance of this component will be instantiated \c {count - 1}
- times, as long as \l count is greater than than \c {1}.
+ times, as long as \c count is greater than than \c {1}.
The following table explains how each handle will be resized
depending on the orientation of the split view:
@@ -1172,10 +1177,10 @@ bool QQuickSplitView::isResizing() const
\row
\li \c Qt.Horizontal
\li \c implicitWidth
- \li The \l height of the SplitView.
+ \li The \c height of the SplitView.
\row
\li \c Qt.Vertical
- \li The \l width of the SplitView.
+ \li The \c width of the SplitView.
\li \c implicitHeight
\endtable
@@ -1364,6 +1369,20 @@ void QQuickSplitView::hoverMoveEvent(QHoverEvent *event)
d->updateHoveredHandle(hoveredItem);
}
+bool QQuickSplitView::childMouseEventFilter(QQuickItem *item, QEvent *event)
+{
+ Q_D(QQuickSplitView);
+ qCDebug(qlcQQuickSplitViewMouse) << "childMouseEventFilter called with" << item << event;
+ if (event->type() != QEvent::HoverEnter)
+ return false;
+
+ // If a child item received a hover enter event, then it means our handle is no longer hovered.
+ // Handles should be purely visual and not accept hover events,
+ // so we should never get hover events for them here.
+ d->updateHoveredHandle(nullptr);
+ return false;
+}
+
void QQuickSplitView::geometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry)
{
Q_D(QQuickSplitView);
@@ -1615,7 +1634,7 @@ void QQuickSplitViewAttached::resetMinimumHeight()
\l {Item::}{implicitWidth} will be used instead. To reset this property to
its default value, set it to \c undefined.
- \note Do not set the \l width property of a split item, as it will be
+ \note Do not set the \l{Item::}{width} property of a split item, as it will be
overwritten upon each layout of the SplitView.
\sa minimumWidth, maximumWidth, fillWidth, preferredHeight
@@ -1675,16 +1694,16 @@ void QQuickSplitViewAttached::resetPreferredWidth()
This attached property controls the preferred height of the split item. The
preferred height will be used as the size of the item, and will be bound
within the \l minimumHeight and \l maximumHeight. If the preferred height
- is not set, the item's \l {Item::}{implicitHeight} will be used.
+ is not set, the item's \l{Item::}{implicitHeight} will be used.
When a split item is resized, the preferredHeight will be set in order
to keep track of the new size.
By default, this property is not set, and therefore
- \l {Item::}{implicitHeight} will be used instead. To reset this property to
+ \l{Item::}{implicitHeight} will be used instead. To reset this property to
its default value, set it to \c undefined.
- \note Do not set the \l height property of a split item, as it will be
+ \note Do not set the \l{Item:}{height} property of a split item, as it will be
overwritten upon each layout of the SplitView.
\sa minimumHeight, maximumHeight, fillHeight, preferredWidth
@@ -1993,10 +2012,10 @@ QQuickSplitHandleAttached::QQuickSplitHandleAttached(QObject *parent)
/*!
\qmltype SplitHandle
\inherits QtObject
- \instantiates QQuickSplitHandleAttached
+//! \instantiates QQuickSplitHandleAttached
\inqmlmodule QtQuick.Controls
\since 5.13
- \brief Provides attached properties for SplitView handles
+ \brief Provides attached properties for SplitView handles.
SplitHandle provides attached properties for \l SplitView handles.
diff --git a/src/quicktemplates2/qquicksplitview_p.h b/src/quicktemplates2/qquicksplitview_p.h
index 99001615..2fa15588 100644
--- a/src/quicktemplates2/qquicksplitview_p.h
+++ b/src/quicktemplates2/qquicksplitview_p.h
@@ -99,6 +99,7 @@ protected:
void componentComplete() override;
void hoverMoveEvent(QHoverEvent *event) override;
+ bool childMouseEventFilter(QQuickItem *item, QEvent *event) override;
void geometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry) override;
void itemAdded(int index, QQuickItem *item) override;
diff --git a/src/quicktemplates2/qquickstackview.cpp b/src/quicktemplates2/qquickstackview.cpp
index b2a95731..4c314904 100644
--- a/src/quicktemplates2/qquickstackview.cpp
+++ b/src/quicktemplates2/qquickstackview.cpp
@@ -52,7 +52,7 @@ QT_BEGIN_NAMESPACE
/*!
\qmltype StackView
\inherits Control
- \instantiates QQuickStackView
+//! \instantiates QQuickStackView
\inqmlmodule QtQuick.Controls
\since 5.7
\ingroup qtquickcontrols2-navigation
@@ -365,8 +365,10 @@ QT_BEGIN_NAMESPACE
situation:
\list
- \li Set \l implicitWidth and \l implicitHeight on the StackView itself.
- \li Set \l implicitWidth and \l implicitHeight on the \l Rectangle.
+ \li Set \l[QtQuick]{Item::}{implicitWidth} and
+ \l[QtQuick]{Item::}{implicitHeight} on the StackView itself.
+ \li Set \l[QtQuick]{Item::}{implicitWidth} and
+ \l[QtQuick]{Item::}{implicitHeight} on the \l Rectangle.
\li Set \l {Popup::}{contentWidth} and \l {Popup::}{contentHeight} on
the Dialog.
\li Give the Dialog a size.
@@ -438,7 +440,7 @@ QQuickItem *QQuickStackView::currentItem() const
Returns the item at position \a index in the stack, or \c null if the index
is out of bounds.
- Supported behavior values:
+ Supported \a behavior values:
\value StackView.DontLoad The item is not forced to load (and \c null is returned if not yet loaded).
\value StackView.ForceLoad The item is forced to load.
*/
@@ -467,7 +469,7 @@ QQuickItem *QQuickStackView::get(int index, LoadBehavior behavior)
})
\endcode
- Supported behavior values:
+ Supported \a behavior values:
\value StackView.DontLoad Unloaded items are skipped (the callback function is not called for them).
\value StackView.ForceLoad Unloaded items are forced to load.
*/
@@ -649,6 +651,13 @@ void QQuickStackView::push(QQmlV4Function *args)
void QQuickStackView::pop(QQmlV4Function *args)
{
Q_D(QQuickStackView);
+ if (d->removingElements) {
+ d->warn(QStringLiteral("cannot pop while already in the process of removing elements"));
+ args->setReturnValue(QV4::Encode::null());
+ return;
+ }
+
+ QScopedValueRollback<bool> removingElements(d->removingElements, true);
QScopedValueRollback<QString> rollback(d->operation, QStringLiteral("pop"));
int argc = args->length();
if (d->elements.count() <= 1 || argc > 2) {
@@ -804,6 +813,13 @@ void QQuickStackView::pop(QQmlV4Function *args)
void QQuickStackView::replace(QQmlV4Function *args)
{
Q_D(QQuickStackView);
+ if (d->removingElements) {
+ d->warn(QStringLiteral("cannot replace while already in the process of removing elements"));
+ args->setReturnValue(QV4::Encode::null());
+ return;
+ }
+
+ QScopedValueRollback<bool> removingElements(d->removingElements, true);
QScopedValueRollback<QString> rollback(d->operation, QStringLiteral("replace"));
if (args->length() <= 0) {
d->warn(QStringLiteral("missing arguments"));
@@ -900,6 +916,12 @@ void QQuickStackView::clear(Operation operation)
if (d->elements.isEmpty())
return;
+ if (d->removingElements) {
+ d->warn(QStringLiteral("cannot clear while already in the process of removing elements"));
+ return;
+ }
+
+ QScopedValueRollback<bool> removingElements(d->removingElements, true);
if (operation != Immediate) {
QQuickStackElement *exit = d->elements.pop();
exit->removal = true;
diff --git a/src/quicktemplates2/qquickstackview_p.cpp b/src/quicktemplates2/qquickstackview_p.cpp
index 7cb943a3..a280e31d 100644
--- a/src/quicktemplates2/qquickstackview_p.cpp
+++ b/src/quicktemplates2/qquickstackview_p.cpp
@@ -267,7 +267,11 @@ void QQuickStackViewPrivate::viewItemTransitionFinished(QQuickItemViewTransition
element->setStatus(QQuickStackView::Active);
} else if (element->status == QQuickStackView::Deactivating) {
element->setStatus(QQuickStackView::Inactive);
- element->setVisible(false);
+ QQuickStackElement *existingElement = element->item ? findElement(element->item) : nullptr;
+ // If a different element with the same item is found,
+ // do not call setVisible(false) since it needs to be visible.
+ if (!existingElement || element == existingElement)
+ element->setVisible(false);
if (element->removal || element->isPendingRemoval())
removed += element;
}
@@ -275,11 +279,21 @@ void QQuickStackViewPrivate::viewItemTransitionFinished(QQuickItemViewTransition
if (transitioner && transitioner->runningJobs.isEmpty()) {
// ~QQuickStackElement() emits QQuickStackViewAttached::removed(), which may be used
// to modify the stack. Set the status first and make a copy of the destroyable stack
- // elements to exclude any modifications that may happen during the loop. (QTBUG-62153)
+ // elements to exclude any modifications that may happen during qDeleteAll(). (QTBUG-62153)
setBusy(false);
- QList<QQuickStackElement*> elements = removed;
+ QList<QQuickStackElement*> removedElements = removed;
removed.clear();
- qDeleteAll(elements);
+
+ for (QQuickStackElement *removedElement : qAsConst(removedElements)) {
+ // If an element with the same item is found in the active stack list,
+ // forget about the item so that we don't hide it.
+ if (removedElement->item && findElement(removedElement->item)) {
+ QQuickItemPrivate::get(removedElement->item)->removeItemChangeListener(removedElement, QQuickItemPrivate::Destroyed);
+ removedElement->item = nullptr;
+ }
+ }
+
+ qDeleteAll(removedElements);
}
removing.remove(element);
diff --git a/src/quicktemplates2/qquickstackview_p_p.h b/src/quicktemplates2/qquickstackview_p_p.h
index c20ce776..b8c4b817 100644
--- a/src/quicktemplates2/qquickstackview_p_p.h
+++ b/src/quicktemplates2/qquickstackview_p_p.h
@@ -94,6 +94,7 @@ public:
void depthChange(int newDepth, int oldDepth);
bool busy = false;
+ bool removingElements = false;
QString operation;
QJSValue initialItem;
QQuickItem *currentItem = nullptr;
diff --git a/src/quicktemplates2/qquickswipedelegate.cpp b/src/quicktemplates2/qquickswipedelegate.cpp
index 97c17a6b..30616f7a 100644
--- a/src/quicktemplates2/qquickswipedelegate.cpp
+++ b/src/quicktemplates2/qquickswipedelegate.cpp
@@ -53,7 +53,7 @@ QT_BEGIN_NAMESPACE
/*!
\qmltype SwipeDelegate
\inherits ItemDelegate
- \instantiates QQuickSwipeDelegate
+//! \instantiates QQuickSwipeDelegate
\inqmlmodule QtQuick.Controls
\since 5.7
\ingroup qtquickcontrols2-delegates
diff --git a/src/quicktemplates2/qquickswipeview.cpp b/src/quicktemplates2/qquickswipeview.cpp
index 3ba4f4d3..dab20b93 100644
--- a/src/quicktemplates2/qquickswipeview.cpp
+++ b/src/quicktemplates2/qquickswipeview.cpp
@@ -44,7 +44,7 @@ QT_BEGIN_NAMESPACE
/*!
\qmltype SwipeView
\inherits Container
- \instantiates QQuickSwipeView
+//! \instantiates QQuickSwipeView
\inqmlmodule QtQuick.Controls
\since 5.7
\ingroup qtquickcontrols2-navigation
diff --git a/src/quicktemplates2/qquickswitch.cpp b/src/quicktemplates2/qquickswitch.cpp
index 675cb6ae..c5cdf7b5 100644
--- a/src/quicktemplates2/qquickswitch.cpp
+++ b/src/quicktemplates2/qquickswitch.cpp
@@ -47,7 +47,7 @@ QT_BEGIN_NAMESPACE
/*!
\qmltype Switch
\inherits AbstractButton
- \instantiates QQuickSwitch
+//! \instantiates QQuickSwitch
\inqmlmodule QtQuick.Controls
\since 5.7
\ingroup qtquickcontrols2-buttons
diff --git a/src/quicktemplates2/qquickswitchdelegate.cpp b/src/quicktemplates2/qquickswitchdelegate.cpp
index 3a849be0..86ce690b 100644
--- a/src/quicktemplates2/qquickswitchdelegate.cpp
+++ b/src/quicktemplates2/qquickswitchdelegate.cpp
@@ -43,7 +43,7 @@ QT_BEGIN_NAMESPACE
/*!
\qmltype SwitchDelegate
\inherits ItemDelegate
- \instantiates QQuickSwitchDelegate
+//! \instantiates QQuickSwitchDelegate
\inqmlmodule QtQuick.Controls
\since 5.7
\ingroup qtquickcontrols2-delegates
diff --git a/src/quicktemplates2/qquicktabbar.cpp b/src/quicktemplates2/qquicktabbar.cpp
index 5a439b4b..3bf21f25 100644
--- a/src/quicktemplates2/qquicktabbar.cpp
+++ b/src/quicktemplates2/qquicktabbar.cpp
@@ -43,7 +43,7 @@ QT_BEGIN_NAMESPACE
/*!
\qmltype TabBar
\inherits Container
- \instantiates QQuickTabBar
+//! \instantiates QQuickTabBar
\inqmlmodule QtQuick.Controls
\since 5.7
\ingroup qtquickcontrols2-navigation
diff --git a/src/quicktemplates2/qquicktabbutton.cpp b/src/quicktemplates2/qquicktabbutton.cpp
index 6e20b0da..0af81278 100644
--- a/src/quicktemplates2/qquicktabbutton.cpp
+++ b/src/quicktemplates2/qquicktabbutton.cpp
@@ -44,7 +44,7 @@ QT_BEGIN_NAMESPACE
/*!
\qmltype TabButton
\inherits AbstractButton
- \instantiates QQuickTabButton
+//! \instantiates QQuickTabButton
\inqmlmodule QtQuick.Controls
\since 5.7
\ingroup qtquickcontrols2-navigation
diff --git a/src/quicktemplates2/qquicktextarea.cpp b/src/quicktemplates2/qquicktextarea.cpp
index ef59bd93..75dfba4e 100644
--- a/src/quicktemplates2/qquicktextarea.cpp
+++ b/src/quicktemplates2/qquicktextarea.cpp
@@ -55,7 +55,7 @@ QT_BEGIN_NAMESPACE
/*!
\qmltype TextArea
\inherits TextEdit
- \instantiates QQuickTextArea
+//! \instantiates QQuickTextArea
\inqmlmodule QtQuick.Controls
\since 5.7
\ingroup qtquickcontrols2-input
@@ -121,8 +121,8 @@ QT_BEGIN_NAMESPACE
\qmlsignal QtQuick.Controls::TextArea::pressAndHold(MouseEvent event)
This signal is emitted when there is a long press (the delay depends on the platform plugin).
- The \l {MouseEvent}{event} parameter provides information about the press, including the x and y
- position of the press, and which button is pressed.
+ The \a event parameter provides information about the press, including the x and y
+ coordinates of the press, and which button is pressed.
\sa pressed, released
*/
@@ -132,8 +132,8 @@ QT_BEGIN_NAMESPACE
\since QtQuick.Controls 2.1 (Qt 5.8)
This signal is emitted when the text area is pressed by the user.
- The \l {MouseEvent}{event} parameter provides information about the press,
- including the x and y position of the press, and which button is pressed.
+ The \a event parameter provides information about the press,
+ including the x and y coordinates of the press, and which button is pressed.
\sa released, pressAndHold
*/
@@ -143,8 +143,9 @@ QT_BEGIN_NAMESPACE
\since QtQuick.Controls 2.1 (Qt 5.8)
This signal is emitted when the text area is released by the user.
- The \l {MouseEvent}{event} parameter provides information about the release,
- including the x and y position of the press, and which button is pressed.
+ The \a event parameter provides information about the release,
+ including the x and y coordinates of the press, and which button
+ is pressed.
\sa pressed, pressAndHold
*/
diff --git a/src/quicktemplates2/qquicktextfield.cpp b/src/quicktemplates2/qquicktextfield.cpp
index 740edff0..025139f8 100644
--- a/src/quicktemplates2/qquicktextfield.cpp
+++ b/src/quicktemplates2/qquicktextfield.cpp
@@ -53,7 +53,7 @@ QT_BEGIN_NAMESPACE
/*!
\qmltype TextField
\inherits TextInput
- \instantiates QQuickTextField
+//! \instantiates QQuickTextField
\inqmlmodule QtQuick.Controls
\since 5.7
\ingroup qtquickcontrols2-input
@@ -84,8 +84,8 @@ QT_BEGIN_NAMESPACE
\qmlsignal QtQuick.Controls::TextField::pressAndHold(MouseEvent event)
This signal is emitted when there is a long press (the delay depends on the platform plugin).
- The \l {MouseEvent}{event} parameter provides information about the press, including the x and y
- position of the press, and which button is pressed.
+ The \a event parameter provides information about the press, including the x and y
+ coordinates of the press, and which button is pressed.
\sa pressed, released
*/
@@ -95,8 +95,9 @@ QT_BEGIN_NAMESPACE
\since QtQuick.Controls 2.1 (Qt 5.8)
This signal is emitted when the text field is pressed by the user.
- The \l {MouseEvent}{event} parameter provides information about the press,
- including the x and y position of the press, and which button is pressed.
+ The \a event parameter provides information about the press,
+ including the x and y coordinates of the press, and which button
+ is pressed.
\sa released, pressAndHold
*/
@@ -106,8 +107,9 @@ QT_BEGIN_NAMESPACE
\since QtQuick.Controls 2.1 (Qt 5.8)
This signal is emitted when the text field is released by the user.
- The \l {MouseEvent}{event} parameter provides information about the release,
- including the x and y position of the press, and which button is pressed.
+ The \a event parameter provides information about the release,
+ including the x and y coordinates of the press, and which button
+ is pressed.
\sa pressed, pressAndHold
*/
diff --git a/src/quicktemplates2/qquicktoolbar.cpp b/src/quicktemplates2/qquicktoolbar.cpp
index 0abf0364..817ee8a9 100644
--- a/src/quicktemplates2/qquicktoolbar.cpp
+++ b/src/quicktemplates2/qquicktoolbar.cpp
@@ -42,7 +42,7 @@ QT_BEGIN_NAMESPACE
/*!
\qmltype ToolBar
\inherits Pane
- \instantiates QQuickToolBar
+//! \instantiates QQuickToolBar
\inqmlmodule QtQuick.Controls
\since 5.7
\ingroup qtquickcontrols2-containers
diff --git a/src/quicktemplates2/qquicktoolbutton.cpp b/src/quicktemplates2/qquicktoolbutton.cpp
index b613e69b..01cf17f6 100644
--- a/src/quicktemplates2/qquicktoolbutton.cpp
+++ b/src/quicktemplates2/qquicktoolbutton.cpp
@@ -44,7 +44,7 @@ QT_BEGIN_NAMESPACE
/*!
\qmltype ToolButton
\inherits Button
- \instantiates QQuickToolButton
+//! \instantiates QQuickToolButton
\inqmlmodule QtQuick.Controls
\since 5.7
\ingroup qtquickcontrols2-buttons
diff --git a/src/quicktemplates2/qquicktoolseparator.cpp b/src/quicktemplates2/qquicktoolseparator.cpp
index 625e85e9..e33e9f9d 100644
--- a/src/quicktemplates2/qquicktoolseparator.cpp
+++ b/src/quicktemplates2/qquicktoolseparator.cpp
@@ -43,7 +43,7 @@ QT_BEGIN_NAMESPACE
/*!
\qmltype ToolSeparator
\inherits Control
- \instantiates QQuickToolSeparator
+//! \instantiates QQuickToolSeparator
\inqmlmodule QtQuick.Controls
\since 5.8
\ingroup qtquickcontrols2-separators
diff --git a/src/quicktemplates2/qquicktooltip.cpp b/src/quicktemplates2/qquicktooltip.cpp
index 0a36e0c7..9ea0160e 100644
--- a/src/quicktemplates2/qquicktooltip.cpp
+++ b/src/quicktemplates2/qquicktooltip.cpp
@@ -51,7 +51,7 @@ QT_BEGIN_NAMESPACE
/*!
\qmltype ToolTip
\inherits Popup
- \instantiates QQuickToolTip
+//! \instantiates QQuickToolTip
\inqmlmodule QtQuick.Controls
\since 5.7
\ingroup qtquickcontrols2-popups
@@ -188,7 +188,7 @@ void QQuickToolTip::setText(const QString &text)
return;
d->text = text;
- setAccessibleName(text);
+ maybeSetAccessibleName(text);
emit textChanged();
}
@@ -273,9 +273,10 @@ QQuickToolTipAttached *QQuickToolTip::qmlAttachedProperties(QObject *object)
/*!
\since QtQuick.Controls 2.5 (Qt 5.12)
- \qmlmethod void QtQuick.Controls::ToolTip::show(string text, int timeout = -1)
+ \qmlmethod void QtQuick.Controls::ToolTip::show(string text, int timeout)
- This method shows the tooltip with \a text and \a timeout (milliseconds).
+ This method shows the \a text as a tooltip, which times out in
+ \a timeout (milliseconds).
*/
void QQuickToolTip::show(const QString &text, int ms)
{
@@ -350,7 +351,7 @@ void QQuickToolTip::accessibilityActiveChanged(bool active)
QQuickPopup::accessibilityActiveChanged(active);
if (active)
- setAccessibleName(d->text);
+ maybeSetAccessibleName(d->text);
}
#endif
diff --git a/src/quicktemplates2/qquicktumbler.cpp b/src/quicktemplates2/qquicktumbler.cpp
index 85c70b1b..c1d1c00f 100644
--- a/src/quicktemplates2/qquicktumbler.cpp
+++ b/src/quicktemplates2/qquicktumbler.cpp
@@ -50,7 +50,7 @@ Q_LOGGING_CATEGORY(lcTumbler, "qt.quick.controls.tumbler")
/*!
\qmltype Tumbler
\inherits Control
- \instantiates QQuickTumbler
+//! \instantiates QQuickTumbler
\inqmlmodule QtQuick.Controls
\since 5.7
\ingroup qtquickcontrols2-input