summaryrefslogtreecommitdiffstats
path: root/src/widgets
diff options
context:
space:
mode:
Diffstat (limited to 'src/widgets')
-rw-r--r--src/widgets/configure.json2
-rw-r--r--src/widgets/dialogs/qcolordialog.cpp2
-rw-r--r--src/widgets/dialogs/qfilesystemmodel.cpp35
-rw-r--r--src/widgets/dialogs/qfilesystemmodel_p.h4
-rw-r--r--src/widgets/dialogs/qinputdialog.cpp6
-rw-r--r--src/widgets/dialogs/qmessagebox.cpp10
-rw-r--r--src/widgets/doc/snippets/code/doc_gui_widgets_qopenglwidget.cpp10
-rw-r--r--src/widgets/doc/snippets/code/doc_src_layout.cpp14
-rw-r--r--src/widgets/doc/snippets/code/src_gui_graphicsview_qgraphicsitem.cpp8
-rw-r--r--src/widgets/doc/snippets/code/src_gui_qproxystyle.cpp4
-rw-r--r--src/widgets/doc/snippets/code/src_gui_util_qundostack.cpp4
-rw-r--r--src/widgets/doc/snippets/customstyle/customstyle.h2
-rw-r--r--src/widgets/doc/snippets/graphicssceneadditemsnippet.cpp2
-rw-r--r--src/widgets/doc/snippets/myscrollarea.cpp4
-rw-r--r--src/widgets/doc/snippets/qlistview-dnd/model.h12
-rw-r--r--src/widgets/doc/snippets/qstyleoption/main.cpp4
-rw-r--r--src/widgets/doc/snippets/qstyleplugin/main.cpp2
-rw-r--r--src/widgets/doc/snippets/splitterhandle/splitter.h4
-rw-r--r--src/widgets/doc/snippets/styles/styles.cpp2
-rw-r--r--src/widgets/graphicsview/qgraphicsanchorlayout.h1
-rw-r--r--src/widgets/graphicsview/qgraphicsanchorlayout_p.cpp4
-rw-r--r--src/widgets/graphicsview/qgraphicsanchorlayout_p.h7
-rw-r--r--src/widgets/itemviews/qtreewidget.cpp1
-rw-r--r--src/widgets/kernel/qwidget.cpp2
-rw-r--r--src/widgets/styles/qwindowsstyle.cpp2
-rw-r--r--src/widgets/util/qcompleter.cpp44
-rw-r--r--src/widgets/util/qcompleter.h2
-rw-r--r--src/widgets/widgets/qabstractspinbox.cpp7
-rw-r--r--src/widgets/widgets/qcombobox.cpp5
-rw-r--r--src/widgets/widgets/qmenu.h8
-rw-r--r--src/widgets/widgets/qmenu_mac.mm3
-rw-r--r--src/widgets/widgets/qmenubar.h6
-rw-r--r--src/widgets/widgets/qspinbox.cpp24
33 files changed, 149 insertions, 98 deletions
diff --git a/src/widgets/configure.json b/src/widgets/configure.json
index b3a5227d26..0015c9160a 100644
--- a/src/widgets/configure.json
+++ b/src/widgets/configure.json
@@ -81,7 +81,7 @@
"label": "QFileSystemModel",
"purpose": "Provides a data model for the local filesystem.",
"section": "File I/O",
- "condition": "features.itemmodel",
+ "condition": "features.itemmodel && features.thread",
"output": [ "publicFeature", "feature" ]
},
"itemviews": {
diff --git a/src/widgets/dialogs/qcolordialog.cpp b/src/widgets/dialogs/qcolordialog.cpp
index e6a8ec47a4..434cedfdb9 100644
--- a/src/widgets/dialogs/qcolordialog.cpp
+++ b/src/widgets/dialogs/qcolordialog.cpp
@@ -2170,7 +2170,7 @@ QColor QColorDialog::getColor(const QColor &initial, QWidget *parent, const QStr
and an alpha channel (transparency) value. The color+alpha is
initially set to \a initial. The dialog is a child of \a parent.
- If \a ok is non-null, \e *\a ok is set to true if the user clicked
+ If \a ok is non-null, \e {*ok} is set to true if the user clicked
\uicontrol{OK}, and to false if the user clicked Cancel.
If the user clicks Cancel, the \a initial value is returned.
diff --git a/src/widgets/dialogs/qfilesystemmodel.cpp b/src/widgets/dialogs/qfilesystemmodel.cpp
index 33b8b51216..e4edd2f6ef 100644
--- a/src/widgets/dialogs/qfilesystemmodel.cpp
+++ b/src/widgets/dialogs/qfilesystemmodel.cpp
@@ -48,6 +48,9 @@
#endif
#include <qapplication.h>
#include <QtCore/qcollator.h>
+#if QT_CONFIG(regularexpression)
+# include <QtCore/qregularexpression.h>
+#endif
#include <algorithm>
@@ -1580,7 +1583,7 @@ bool QFileSystemModel::nameFilterDisables() const
void QFileSystemModel::setNameFilters(const QStringList &filters)
{
// Prep the regexp's ahead of time
-#ifndef QT_NO_REGEXP
+#if QT_CONFIG(regularexpression)
Q_D(QFileSystemModel);
if (!d->bypassFilters.isEmpty()) {
@@ -1601,11 +1604,7 @@ void QFileSystemModel::setNameFilters(const QStringList &filters)
}
}
- d->nameFilters.clear();
- const Qt::CaseSensitivity caseSensitive =
- (filter() & QDir::CaseSensitive) ? Qt::CaseSensitive : Qt::CaseInsensitive;
- for (const auto &filter : filters)
- d->nameFilters << QRegExp(filter, caseSensitive, QRegExp::Wildcard);
+ d->nameFilters = filters;
d->forceSort = true;
d->delayedSort();
#endif
@@ -1616,16 +1615,12 @@ void QFileSystemModel::setNameFilters(const QStringList &filters)
*/
QStringList QFileSystemModel::nameFilters() const
{
+#if QT_CONFIG(regularexpression)
Q_D(const QFileSystemModel);
- QStringList filters;
-#ifndef QT_NO_REGEXP
- const int numNameFilters = d->nameFilters.size();
- filters.reserve(numNameFilters);
- for (int i = 0; i < numNameFilters; ++i) {
- filters << d->nameFilters.at(i).pattern();
- }
+ return d->nameFilters;
+#else
+ return QStringList();
#endif
- return filters;
}
/*!
@@ -2026,15 +2021,21 @@ bool QFileSystemModelPrivate::filtersAcceptsNode(const QFileSystemNode *node) co
*/
bool QFileSystemModelPrivate::passNameFilters(const QFileSystemNode *node) const
{
-#ifndef QT_NO_REGEXP
+#if QT_CONFIG(regularexpression)
if (nameFilters.isEmpty())
return true;
// Check the name regularexpression filters
if (!(node->isDir() && (filters & QDir::AllDirs))) {
+ const QRegularExpression::PatternOptions options =
+ (filters & QDir::CaseSensitive) ? QRegularExpression::NoPatternOption
+ : QRegularExpression::CaseInsensitiveOption;
+
for (const auto &nameFilter : nameFilters) {
- QRegExp copy = nameFilter;
- if (copy.exactMatch(node->fileName))
+ const QString wildcard = QRegularExpression::wildcardToRegularExpression(nameFilter);
+ QRegularExpression rx(QRegularExpression::anchoredPattern(wildcard), options);
+ QRegularExpressionMatch match = rx.match(node->fileName);
+ if (match.hasMatch())
return true;
}
return false;
diff --git a/src/widgets/dialogs/qfilesystemmodel_p.h b/src/widgets/dialogs/qfilesystemmodel_p.h
index 1e72bb69a8..9c432e1ae6 100644
--- a/src/widgets/dialogs/qfilesystemmodel_p.h
+++ b/src/widgets/dialogs/qfilesystemmodel_p.h
@@ -315,8 +315,8 @@ public:
//It enable a sort which is not recursive, it means
//we sort only what we see.
bool disableRecursiveSort;
-#ifndef QT_NO_REGEXP
- QList<QRegExp> nameFilters;
+#if QT_CONFIG(regularexpression)
+ QStringList nameFilters;
#endif
QHash<QString, QString> resolvedSymLinks;
diff --git a/src/widgets/dialogs/qinputdialog.cpp b/src/widgets/dialogs/qinputdialog.cpp
index 5c6e0f45a5..9a9bd173bd 100644
--- a/src/widgets/dialogs/qinputdialog.cpp
+++ b/src/widgets/dialogs/qinputdialog.cpp
@@ -1180,7 +1180,7 @@ void QInputDialog::done(int result)
\a inputMethodHints is the input method hints that will be used in the
edit widget if an input method is active.
- If \a ok is nonnull \e *\a ok will be set to true if the user pressed
+ If \a ok is nonnull \e {*ok} will be set to true if the user pressed
\uicontrol OK and to false if the user pressed \uicontrol Cancel. The dialog's parent
is \a parent. The dialog will be modal and uses the specified widget
\a flags.
@@ -1228,7 +1228,7 @@ QString QInputDialog::getText(QWidget *parent, const QString &title, const QStri
\a inputMethodHints is the input method hints that will be used in the
edit widget if an input method is active.
- If \a ok is nonnull \e *\a ok will be set to true if the user pressed
+ If \a ok is nonnull \e {*ok} will be set to true if the user pressed
\uicontrol OK and to false if the user pressed \uicontrol Cancel. The dialog's parent
is \a parent. The dialog will be modal and uses the specified widget
\a flags.
@@ -1436,7 +1436,7 @@ double QInputDialog::getDouble(QWidget *parent, const QString &title, const QStr
If \a editable is true the user can enter their own text; otherwise, the
user may only select one of the existing items.
- If \a ok is nonnull \e *\a ok will be set to true if the user pressed
+ If \a ok is nonnull \e {*ok} will be set to true if the user pressed
\uicontrol OK and to false if the user pressed \uicontrol Cancel. The dialog's parent
is \a parent. The dialog will be modal and uses the widget \a flags.
diff --git a/src/widgets/dialogs/qmessagebox.cpp b/src/widgets/dialogs/qmessagebox.cpp
index 52ca88891e..6de952a1d3 100644
--- a/src/widgets/dialogs/qmessagebox.cpp
+++ b/src/widgets/dialogs/qmessagebox.cpp
@@ -1022,6 +1022,16 @@ void QMessageBoxPrivate::detectEscapeButton()
return;
}
+ // If there are two buttons and one of them is the "Show Details..."
+ // button, then make the other one the escape button
+ if (buttons.count() == 2 && detailsButton) {
+ auto idx = buttons.indexOf(detailsButton);
+ if (idx != -1) {
+ detectedEscapeButton = buttons.at(1 - idx);
+ return;
+ }
+ }
+
// if the message box has one RejectRole button, make it the escape button
for (auto *button : buttons) {
if (buttonBox->buttonRole(button) == QDialogButtonBox::RejectRole) {
diff --git a/src/widgets/doc/snippets/code/doc_gui_widgets_qopenglwidget.cpp b/src/widgets/doc/snippets/code/doc_gui_widgets_qopenglwidget.cpp
index 4a3816ae72..633a413b4f 100644
--- a/src/widgets/doc/snippets/code/doc_gui_widgets_qopenglwidget.cpp
+++ b/src/widgets/doc/snippets/code/doc_gui_widgets_qopenglwidget.cpp
@@ -55,7 +55,7 @@ public:
MyGLWidget(QWidget *parent) : QOpenGLWidget(parent) { }
protected:
- void initializeGL()
+ void initializeGL() override
{
// Set up the rendering context, load shaders and other resources, etc.:
QOpenGLFunctions *f = QOpenGLContext::currentContext()->functions();
@@ -63,7 +63,7 @@ protected:
...
}
- void resizeGL(int w, int h)
+ void resizeGL(int w, int h) override
{
// Update projection matrix and other size related settings:
m_projection.setToIdentity();
@@ -71,7 +71,7 @@ protected:
...
}
- void paintGL()
+ void paintGL() override
{
// Draw the scene:
QOpenGLFunctions *f = QOpenGLContext::currentContext()->functions();
@@ -86,7 +86,7 @@ protected:
class MyGLWidget : public QOpenGLWidget, protected QOpenGLFunctions
{
...
- void initializeGL()
+ void initializeGL() override
{
initializeOpenGLFunctions();
glClearColor(...);
@@ -108,7 +108,7 @@ widget->setFormat(format); // must be called before the widget or its parent win
//! [3]
...
- void paintGL()
+ void paintGL() override
{
QOpenGLFunctions_3_2_Core *f = QOpenGLContext::currentContext()->versionFunctions<QOpenGLFunctions_3_2_Core>();
...
diff --git a/src/widgets/doc/snippets/code/doc_src_layout.cpp b/src/widgets/doc/snippets/code/doc_src_layout.cpp
index 42f5611bde..5e9a740244 100644
--- a/src/widgets/doc/snippets/code/doc_src_layout.cpp
+++ b/src/widgets/doc/snippets/code/doc_src_layout.cpp
@@ -63,13 +63,13 @@ public:
CardLayout(int dist): QLayout(dist) {}
~CardLayout();
- void addItem(QLayoutItem *item);
- QSize sizeHint() const;
- QSize minimumSize() const;
- int count() const;
- QLayoutItem *itemAt(int) const;
- QLayoutItem *takeAt(int);
- void setGeometry(const QRect &rect);
+ void addItem(QLayoutItem *item) override;
+ QSize sizeHint() const override;
+ QSize minimumSize() const override;
+ int count() const override;
+ QLayoutItem *itemAt(int) const override;
+ QLayoutItem *takeAt(int) override;
+ void setGeometry(const QRect &rect) override;
private:
QList<QLayoutItem*> list;
diff --git a/src/widgets/doc/snippets/code/src_gui_graphicsview_qgraphicsitem.cpp b/src/widgets/doc/snippets/code/src_gui_graphicsview_qgraphicsitem.cpp
index 7511c83b3c..8d8c63db9e 100644
--- a/src/widgets/doc/snippets/code/src_gui_graphicsview_qgraphicsitem.cpp
+++ b/src/widgets/doc/snippets/code/src_gui_graphicsview_qgraphicsitem.cpp
@@ -52,7 +52,7 @@
class SimpleItem : public QGraphicsItem
{
public:
- QRectF boundingRect() const
+ QRectF boundingRect() const override
{
qreal penWidth = 1;
return QRectF(-10 - penWidth / 2, -10 - penWidth / 2,
@@ -60,7 +60,7 @@ public:
}
void paint(QPainter *painter, const QStyleOptionGraphicsItem *option,
- QWidget *widget)
+ QWidget *widget) override
{
painter->drawRoundedRect(-10, -10, 20, 20, 5, 5);
}
@@ -74,7 +74,7 @@ class CustomItem : public QGraphicsItem
public:
enum { Type = UserType + 1 };
- int type() const
+ int type() const override
{
// Enable the use of qgraphicsitem_cast with this item.
return Type;
@@ -260,7 +260,7 @@ class QGraphicsPathItem : public QAbstractGraphicsShapeItem
{
public:
enum { Type = 2 };
- int type() const { return Type; }
+ int type() const override { return Type; }
...
};
//! [18]
diff --git a/src/widgets/doc/snippets/code/src_gui_qproxystyle.cpp b/src/widgets/doc/snippets/code/src_gui_qproxystyle.cpp
index 33d5fab321..3169d1c193 100644
--- a/src/widgets/doc/snippets/code/src_gui_qproxystyle.cpp
+++ b/src/widgets/doc/snippets/code/src_gui_qproxystyle.cpp
@@ -54,7 +54,7 @@ class MyProxyStyle : public QProxyStyle
public:
int styleHint(StyleHint hint, const QStyleOption *option = 0,
- const QWidget *widget = 0, QStyleHintReturn *returnData = 0) const
+ const QWidget *widget = 0, QStyleHintReturn *returnData = 0) const override
{
if (hint == QStyle::SH_UnderlineShortcut)
return 1;
@@ -73,7 +73,7 @@ class MyProxyStyle : public QProxyStyle
{
public:
int styleHint(StyleHint hint, const QStyleOption *option = 0,
- const QWidget *widget = 0, QStyleHintReturn *returnData = 0) const
+ const QWidget *widget = 0, QStyleHintReturn *returnData = 0) const override
{
if (hint == QStyle::SH_UnderlineShortcut)
return 0;
diff --git a/src/widgets/doc/snippets/code/src_gui_util_qundostack.cpp b/src/widgets/doc/snippets/code/src_gui_util_qundostack.cpp
index e191c74287..8f59fe9cb3 100644
--- a/src/widgets/doc/snippets/code/src_gui_util_qundostack.cpp
+++ b/src/widgets/doc/snippets/code/src_gui_util_qundostack.cpp
@@ -54,9 +54,9 @@ class AppendText : public QUndoCommand
public:
AppendText(QString *doc, const QString &text)
: m_document(doc), m_text(text) { setText("append text"); }
- virtual void undo()
+ void undo() override
{ m_document->chop(m_text.length()); }
- virtual void redo()
+ void redo() override
{ m_document->append(m_text); }
private:
QString *m_document;
diff --git a/src/widgets/doc/snippets/customstyle/customstyle.h b/src/widgets/doc/snippets/customstyle/customstyle.h
index addb1dfb6e..be9edf0bf4 100644
--- a/src/widgets/doc/snippets/customstyle/customstyle.h
+++ b/src/widgets/doc/snippets/customstyle/customstyle.h
@@ -63,7 +63,7 @@ public:
~CustomStyle() {}
void drawPrimitive(PrimitiveElement element, const QStyleOption *option,
- QPainter *painter, const QWidget *widget) const;
+ QPainter *painter, const QWidget *widget) const override;
};
//! [0]
diff --git a/src/widgets/doc/snippets/graphicssceneadditemsnippet.cpp b/src/widgets/doc/snippets/graphicssceneadditemsnippet.cpp
index b3ace9ce46..96e6bd650c 100644
--- a/src/widgets/doc/snippets/graphicssceneadditemsnippet.cpp
+++ b/src/widgets/doc/snippets/graphicssceneadditemsnippet.cpp
@@ -58,7 +58,7 @@ public:
void drawItems(QPainter *painter, int numItems, QGraphicsItem *items[],
const QStyleOptionGraphicsItem options[],
- QWidget *widget = 0);
+ QWidget *widget = 0) override;
};
//! [0]
diff --git a/src/widgets/doc/snippets/myscrollarea.cpp b/src/widgets/doc/snippets/myscrollarea.cpp
index 477b041fe1..dbf8da1603 100644
--- a/src/widgets/doc/snippets/myscrollarea.cpp
+++ b/src/widgets/doc/snippets/myscrollarea.cpp
@@ -57,8 +57,8 @@ public:
void setWidget(QWidget *w);
protected:
- void scrollContentsBy(int dx, int dy);
- void resizeEvent(QResizeEvent *event);
+ void scrollContentsBy(int dx, int dy) override;
+ void resizeEvent(QResizeEvent *event) override;
private:
void updateWidgetPosition();
diff --git a/src/widgets/doc/snippets/qlistview-dnd/model.h b/src/widgets/doc/snippets/qlistview-dnd/model.h
index 7635d2f21a..3d418dca14 100644
--- a/src/widgets/doc/snippets/qlistview-dnd/model.h
+++ b/src/widgets/doc/snippets/qlistview-dnd/model.h
@@ -61,15 +61,15 @@ class DragDropListModel : public QStringListModel
public:
DragDropListModel(const QStringList &strings, QObject *parent = 0);
- Qt::ItemFlags flags(const QModelIndex &index) const;
+ Qt::ItemFlags flags(const QModelIndex &index) const override;
bool canDropMimeData(const QMimeData *data, Qt::DropAction action,
- int row, int column, const QModelIndex &parent);
+ int row, int column, const QModelIndex &parent) override;
bool dropMimeData(const QMimeData *data, Qt::DropAction action,
- int row, int column, const QModelIndex &parent);
- QMimeData *mimeData(const QModelIndexList &indexes) const;
- QStringList mimeTypes() const;
- Qt::DropActions supportedDropActions() const;
+ int row, int column, const QModelIndex &parent) override;
+ QMimeData *mimeData(const QModelIndexList &indexes) const override;
+ QStringList mimeTypes() const override;
+ Qt::DropActions supportedDropActions() const override;
};
#endif
diff --git a/src/widgets/doc/snippets/qstyleoption/main.cpp b/src/widgets/doc/snippets/qstyleoption/main.cpp
index 659a5f945b..529f88f1d9 100644
--- a/src/widgets/doc/snippets/qstyleoption/main.cpp
+++ b/src/widgets/doc/snippets/qstyleoption/main.cpp
@@ -56,7 +56,7 @@ class MyPushButton : public QPushButton
public:
MyPushButton(QWidget *parent = 0);
- void paintEvent(QPaintEvent *);
+ void paintEvent(QPaintEvent *) override;
};
MyPushButton::MyPushButton(QWidget *parent)
@@ -87,7 +87,7 @@ class MyStyle : public QStyle
public:
void drawPrimitive(PrimitiveElement element, const QStyleOption *option,
- QPainter *painter, const QWidget *widget);
+ QPainter *painter, const QWidget *widget) override;
};
//! [4]
diff --git a/src/widgets/doc/snippets/qstyleplugin/main.cpp b/src/widgets/doc/snippets/qstyleplugin/main.cpp
index 2cc7040e93..1c61581572 100644
--- a/src/widgets/doc/snippets/qstyleplugin/main.cpp
+++ b/src/widgets/doc/snippets/qstyleplugin/main.cpp
@@ -59,7 +59,7 @@ class MyStylePlugin : public QStylePlugin
public:
MyStylePlugin(QObject *parent = 0);
- QStyle *create(const QString &key);
+ QStyle *create(const QString &key) override;
};
//! [0]
diff --git a/src/widgets/doc/snippets/splitterhandle/splitter.h b/src/widgets/doc/snippets/splitterhandle/splitter.h
index 49ef20a620..8df7bc14a2 100644
--- a/src/widgets/doc/snippets/splitterhandle/splitter.h
+++ b/src/widgets/doc/snippets/splitterhandle/splitter.h
@@ -64,7 +64,7 @@ public:
Splitter(Qt::Orientation orientation, QWidget *parent = 0);
protected:
- QSplitterHandle *createHandle();
+ QSplitterHandle *createHandle() override;
};
//! [0]
@@ -74,7 +74,7 @@ public:
SplitterHandle(Qt::Orientation orientation, QSplitter *parent);
protected:
- void paintEvent(QPaintEvent *event);
+ void paintEvent(QPaintEvent *event) override;
private:
QLinearGradient gradient;
diff --git a/src/widgets/doc/snippets/styles/styles.cpp b/src/widgets/doc/snippets/styles/styles.cpp
index 116c807f39..77fde0693d 100644
--- a/src/widgets/doc/snippets/styles/styles.cpp
+++ b/src/widgets/doc/snippets/styles/styles.cpp
@@ -55,7 +55,7 @@
class MyWidget : public QWidget
{
protected:
- void paintEvent(QPaintEvent *event);
+ void paintEvent(QPaintEvent *event) override;
void paintEvent2(QPaintEvent *event);
};
diff --git a/src/widgets/graphicsview/qgraphicsanchorlayout.h b/src/widgets/graphicsview/qgraphicsanchorlayout.h
index e392be1568..9bea43dd8e 100644
--- a/src/widgets/graphicsview/qgraphicsanchorlayout.h
+++ b/src/widgets/graphicsview/qgraphicsanchorlayout.h
@@ -70,7 +70,6 @@ private:
Q_DECLARE_PRIVATE(QGraphicsAnchor)
friend class QGraphicsAnchorLayoutPrivate;
- friend struct AnchorData;
};
class Q_WIDGETS_EXPORT QGraphicsAnchorLayout : public QGraphicsLayout
diff --git a/src/widgets/graphicsview/qgraphicsanchorlayout_p.cpp b/src/widgets/graphicsview/qgraphicsanchorlayout_p.cpp
index 86c1fa243c..008560d856 100644
--- a/src/widgets/graphicsview/qgraphicsanchorlayout_p.cpp
+++ b/src/widgets/graphicsview/qgraphicsanchorlayout_p.cpp
@@ -167,7 +167,7 @@ AnchorData::~AnchorData()
if (graphicsAnchor) {
// Remove reference to ourself to avoid double removal in
// QGraphicsAnchorPrivate dtor.
- graphicsAnchor->d_func()->data = 0;
+ QGraphicsAnchorPrivate::get(graphicsAnchor)->data = nullptr;
delete graphicsAnchor;
}
@@ -215,7 +215,7 @@ void AnchorData::refreshSizeHints(const QLayoutStyleInfo *styleInfo)
} else {
// It is a user-created anchor, fetch size information from the associated QGraphicsAnchor
Q_ASSERT(graphicsAnchor);
- QGraphicsAnchorPrivate *anchorPrivate = graphicsAnchor->d_func();
+ QGraphicsAnchorPrivate *anchorPrivate = QGraphicsAnchorPrivate::get(graphicsAnchor);
// Policy, min and max sizes are straightforward
policy = anchorPrivate->sizePolicy;
diff --git a/src/widgets/graphicsview/qgraphicsanchorlayout_p.h b/src/widgets/graphicsview/qgraphicsanchorlayout_p.h
index 6b2408b2eb..699ca32bfe 100644
--- a/src/widgets/graphicsview/qgraphicsanchorlayout_p.h
+++ b/src/widgets/graphicsview/qgraphicsanchorlayout_p.h
@@ -73,6 +73,7 @@ QT_BEGIN_NAMESPACE
respectively.
*/
+namespace QtGraphicsAnchorLayout {
/*!
\internal
@@ -326,6 +327,9 @@ public:
QSet<AnchorData *> positives;
QSet<AnchorData *> negatives;
};
+} // namespace QtGraphicsAnchorLayout
+using namespace QtGraphicsAnchorLayout;
+
Q_DECLARE_TYPEINFO(GraphPath, Q_MOVABLE_TYPE);
class QGraphicsAnchorLayoutPrivate;
@@ -346,6 +350,9 @@ public:
void setSizePolicy(QSizePolicy::Policy policy);
+ static QGraphicsAnchorPrivate *get(QGraphicsAnchor *q)
+ { return q->d_func(); }
+
QGraphicsAnchorLayoutPrivate *layoutPrivate;
AnchorData *data;
diff --git a/src/widgets/itemviews/qtreewidget.cpp b/src/widgets/itemviews/qtreewidget.cpp
index d0728b1af2..a0af27115d 100644
--- a/src/widgets/itemviews/qtreewidget.cpp
+++ b/src/widgets/itemviews/qtreewidget.cpp
@@ -1001,6 +1001,7 @@ void QTreeModel::timerEvent(QTimerEvent *ev)
*/
/*!
+ \fn void QTreeWidgetItem::setHidden(bool hide)
\since 4.2
Hides the item if \a hide is true, otherwise shows the item.
diff --git a/src/widgets/kernel/qwidget.cpp b/src/widgets/kernel/qwidget.cpp
index 0a4efc980c..23d8d32b0d 100644
--- a/src/widgets/kernel/qwidget.cpp
+++ b/src/widgets/kernel/qwidget.cpp
@@ -1138,7 +1138,7 @@ void QWidgetPrivate::init(QWidget *parentWidget, Qt::WindowFlags f)
q->data = &data;
-#ifndef QT_NO_THREAD
+#if QT_CONFIG(thread)
if (!parent) {
Q_ASSERT_X(q->thread() == qApp->thread(), "QWidget",
"Widgets must be created in the GUI thread.");
diff --git a/src/widgets/styles/qwindowsstyle.cpp b/src/widgets/styles/qwindowsstyle.cpp
index 4b9d0b5adc..d4ccd0931e 100644
--- a/src/widgets/styles/qwindowsstyle.cpp
+++ b/src/widgets/styles/qwindowsstyle.cpp
@@ -840,7 +840,7 @@ void QWindowsStyle::drawPrimitive(PrimitiveElement pe, const QStyleOption *opt,
: opt->palette.text().color());
if (opt->state & State_NoChange)
p->setBrush(opt->palette.brush(QPalette::Button));
- p->drawRect(opt->rect.x() + 1, opt->rect.y() + 1, 11, 11);
+ p->drawRect(opt->rect.x() + 1, opt->rect.y() + 1, opt->rect.width() - 2, opt->rect.height() - 2);
}
#endif // QT_CONFIG(itemviews)
if (!(opt->state & State_Off)) {
diff --git a/src/widgets/util/qcompleter.cpp b/src/widgets/util/qcompleter.cpp
index 96dde64ccc..df280119cb 100644
--- a/src/widgets/util/qcompleter.cpp
+++ b/src/widgets/util/qcompleter.cpp
@@ -144,6 +144,7 @@
#include "qcompleter_p.h"
#include "QtWidgets/qscrollbar.h"
+#include "QtCore/qdir.h"
#include "QtCore/qstringlistmodel.h"
#if QT_CONFIG(dirmodel)
#include "QtWidgets/qdirmodel.h"
@@ -181,10 +182,10 @@ int QCompletionModel::columnCount(const QModelIndex &) const
void QCompletionModel::setSourceModel(QAbstractItemModel *source)
{
- bool hadModel = (sourceModel() != 0);
+ bool hadModel = (sourceModel() != nullptr);
if (hadModel)
- QObject::disconnect(sourceModel(), 0, this, 0);
+ QObject::disconnect(sourceModel(), nullptr, this, nullptr);
QAbstractProxyModel::setSourceModel(source);
@@ -401,7 +402,7 @@ QVariant QCompletionModel::data(const QModelIndex& index, int role) const
void QCompletionModel::modelDestroyed()
{
- QAbstractProxyModel::setSourceModel(0); // switch to static empty model
+ QAbstractProxyModel::setSourceModel(nullptr); // switch to static empty model
invalidate();
}
@@ -470,13 +471,13 @@ QMatchData QCompletionEngine::filterHistory()
return QMatchData();
#if QT_CONFIG(dirmodel)
- const bool isDirModel = (qobject_cast<QDirModel *>(source) != 0);
+ const bool isDirModel = (qobject_cast<QDirModel *>(source) != nullptr);
#else
const bool isDirModel = false;
#endif
Q_UNUSED(isDirModel)
#if QT_CONFIG(filesystemmodel)
- const bool isFsModel = (qobject_cast<QFileSystemModel *>(source) != 0);
+ const bool isFsModel = (qobject_cast<QFileSystemModel *>(source) != nullptr);
#else
const bool isFsModel = false;
#endif
@@ -827,9 +828,18 @@ QMatchData QUnsortedModelEngine::filter(const QString& part, const QModelIndex&
///////////////////////////////////////////////////////////////////////////////
QCompleterPrivate::QCompleterPrivate()
-: widget(0), proxy(0), popup(0), filterMode(Qt::MatchStartsWith), cs(Qt::CaseSensitive),
- role(Qt::EditRole), column(0), maxVisibleItems(7), sorting(QCompleter::UnsortedModel),
- wrap(true), eatFocusOut(true), hiddenBecauseNoMatch(false)
+ : widget(nullptr),
+ proxy(nullptr),
+ popup(nullptr),
+ filterMode(Qt::MatchStartsWith),
+ cs(Qt::CaseSensitive),
+ role(Qt::EditRole),
+ column(0),
+ maxVisibleItems(7),
+ sorting(QCompleter::UnsortedModel),
+ wrap(true),
+ eatFocusOut(true),
+ hiddenBecauseNoMatch(false)
{
}
@@ -1145,7 +1155,7 @@ void QCompleter::setCompletionMode(QCompleter::CompletionMode mode)
d->widget->removeEventFilter(this);
if (d->popup) {
d->popup->deleteLater();
- d->popup = 0;
+ d->popup = nullptr;
}
} else {
if (d->widget)
@@ -1221,8 +1231,8 @@ void QCompleter::setPopup(QAbstractItemView *popup)
Q_D(QCompleter);
Q_ASSERT(popup != 0);
if (d->popup) {
- QObject::disconnect(d->popup->selectionModel(), 0, this, 0);
- QObject::disconnect(d->popup, 0, this, 0);
+ QObject::disconnect(d->popup->selectionModel(), nullptr, this, nullptr);
+ QObject::disconnect(d->popup, nullptr, this, nullptr);
}
if (d->popup != popup)
delete d->popup;
@@ -1233,7 +1243,7 @@ void QCompleter::setPopup(QAbstractItemView *popup)
Qt::FocusPolicy origPolicy = Qt::NoFocus;
if (d->widget)
origPolicy = d->widget->focusPolicy();
- popup->setParent(0, Qt::Popup);
+ popup->setParent(nullptr, Qt::Popup);
popup->setFocusPolicy(Qt::NoFocus);
if (d->widget)
d->widget->setFocusPolicy(origPolicy);
@@ -1487,7 +1497,7 @@ void QCompleter::complete(const QRect& rect)
return;
}
- Q_ASSERT(d->widget != 0);
+ Q_ASSERT(d->widget);
if ((d->mode == QCompleter::PopupCompletion && !idx.isValid())
|| (d->mode == QCompleter::UnfilteredPopupCompletion && d->proxy->rowCount() == 0)) {
if (d->popup)
@@ -1797,10 +1807,10 @@ QString QCompleter::pathFromIndex(const QModelIndex& index) const
bool isDirModel = false;
bool isFsModel = false;
#if QT_CONFIG(dirmodel)
- isDirModel = qobject_cast<QDirModel *>(d->proxy->sourceModel()) != 0;
+ isDirModel = qobject_cast<QDirModel *>(d->proxy->sourceModel()) != nullptr;
#endif
#if QT_CONFIG(filesystemmodel)
- isFsModel = qobject_cast<QFileSystemModel *>(d->proxy->sourceModel()) != 0;
+ isFsModel = qobject_cast<QFileSystemModel *>(d->proxy->sourceModel()) != nullptr;
#endif
if (!isDirModel && !isFsModel)
return sourceModel->data(index, d->role).toString();
@@ -1847,13 +1857,13 @@ QStringList QCompleter::splitPath(const QString& path) const
bool isFsModel = false;
#if QT_CONFIG(dirmodel)
Q_D(const QCompleter);
- isDirModel = qobject_cast<QDirModel *>(d->proxy->sourceModel()) != 0;
+ isDirModel = qobject_cast<QDirModel *>(d->proxy->sourceModel()) != nullptr;
#endif
#if QT_CONFIG(filesystemmodel)
#if !QT_CONFIG(dirmodel)
Q_D(const QCompleter);
#endif
- isFsModel = qobject_cast<QFileSystemModel *>(d->proxy->sourceModel()) != 0;
+ isFsModel = qobject_cast<QFileSystemModel *>(d->proxy->sourceModel()) != nullptr;
#endif
if ((!isDirModel && !isFsModel) || path.isEmpty())
diff --git a/src/widgets/util/qcompleter.h b/src/widgets/util/qcompleter.h
index fd1191d123..5620b55589 100644
--- a/src/widgets/util/qcompleter.h
+++ b/src/widgets/util/qcompleter.h
@@ -87,7 +87,7 @@ public:
#if QT_CONFIG(stringlistmodel)
QCompleter(const QStringList& completions, QObject *parent = nullptr);
#endif
- ~QCompleter();
+ ~QCompleter() override;
void setWidget(QWidget *widget);
QWidget *widget() const;
diff --git a/src/widgets/widgets/qabstractspinbox.cpp b/src/widgets/widgets/qabstractspinbox.cpp
index 822d896ee6..1eafb73ba8 100644
--- a/src/widgets/widgets/qabstractspinbox.cpp
+++ b/src/widgets/widgets/qabstractspinbox.cpp
@@ -127,6 +127,13 @@ QT_BEGIN_NAMESPACE
*/
/*!
+ \enum QAbstractSpinBox::StepType
+
+ \value DefaultStepType
+ \value AdaptiveDecimalStepType
+*/
+
+/*!
\fn void QAbstractSpinBox::editingFinished()
This signal is emitted editing is finished. This happens when the
diff --git a/src/widgets/widgets/qcombobox.cpp b/src/widgets/widgets/qcombobox.cpp
index 04a44e1f37..e20a0892b4 100644
--- a/src/widgets/widgets/qcombobox.cpp
+++ b/src/widgets/widgets/qcombobox.cpp
@@ -3160,7 +3160,6 @@ void QComboBoxPrivate::showPopupFromMouseEvent(QMouseEvent *e)
#endif
// We've restricted the next couple of lines, because by not calling
// viewContainer(), we avoid creating the QComboBoxPrivateContainer.
- viewContainer()->blockMouseReleaseTimer.start(QApplication::doubleClickInterval());
viewContainer()->initialClickPosition = q->mapToGlobal(e->pos());
#ifdef QT_KEYPAD_NAVIGATION
}
@@ -3169,8 +3168,10 @@ void QComboBoxPrivate::showPopupFromMouseEvent(QMouseEvent *e)
// The code below ensures that regular mousepress and pick item still works
// If it was not called the viewContainer would ignore event since it didn't have
// a mousePressEvent first.
- if (viewContainer())
+ if (viewContainer()) {
+ viewContainer()->blockMouseReleaseTimer.start(QApplication::doubleClickInterval());
viewContainer()->maybeIgnoreMouseButtonRelease = false;
+ }
} else {
#ifdef QT_KEYPAD_NAVIGATION
if (QApplication::keypadNavigationEnabled() && sc == QStyle::SC_ComboBoxEditField && lineEdit) {
diff --git a/src/widgets/widgets/qmenu.h b/src/widgets/widgets/qmenu.h
index 86d927e919..628f818b5e 100644
--- a/src/widgets/widgets/qmenu.h
+++ b/src/widgets/widgets/qmenu.h
@@ -46,7 +46,7 @@
#include <QtGui/qicon.h>
#include <QtWidgets/qaction.h>
-#ifdef Q_OS_OSX
+#if defined(Q_OS_MACOS) || defined(Q_CLANG_QDOC)
Q_FORWARD_DECLARE_OBJC_CLASS(NSMenu);
#endif
@@ -81,7 +81,7 @@ public:
QAction *addAction(const QString &text, const QObject *receiver, const char* member, const QKeySequence &shortcut = 0);
QAction *addAction(const QIcon &icon, const QString &text, const QObject *receiver, const char* member, const QKeySequence &shortcut = 0);
-#ifdef Q_QDOC
+#ifdef Q_CLANG_QDOC
template<typename PointerToMemberFunction>
QAction *addAction(const QString &text, const QObject *receiver, PointerToMemberFunction method, const QKeySequence &shortcut = 0);
template<typename Functor>
@@ -151,7 +151,7 @@ public:
connect(result, &QAction::triggered, std::move(slot));
return result;
}
-#endif // !Q_QDOC
+#endif // !Q_CLANG_QDOC
QAction *addMenu(QMenu *menu);
QMenu *addMenu(const QString &title);
@@ -211,7 +211,7 @@ public:
QPlatformMenu *platformMenu();
void setPlatformMenu(QPlatformMenu *platformMenu);
-#ifdef Q_OS_OSX
+#if defined(Q_OS_MACOS) || defined(Q_CLANG_QDOC)
NSMenu* toNSMenu();
void setAsDockMenu();
#endif
diff --git a/src/widgets/widgets/qmenu_mac.mm b/src/widgets/widgets/qmenu_mac.mm
index 0d680fb4dc..0872da803d 100644
--- a/src/widgets/widgets/qmenu_mac.mm
+++ b/src/widgets/widgets/qmenu_mac.mm
@@ -73,6 +73,7 @@ inline QPlatformNativeInterface::NativeResourceForIntegrationFunction resolvePla
/*!
+ \fn NSMenu *QMenu::toNSMenu()
\since 5.2
Returns the native NSMenu for this menu. Available on \macos only.
@@ -94,6 +95,7 @@ NSMenu *QMenu::toNSMenu()
/*!
+ \fn void QMenu::setAsDockMenu()
\since 5.2
Set this menu to be the dock menu available by option-clicking
@@ -149,6 +151,7 @@ void QMenuPrivate::moveWidgetToPlatformItem(QWidget *widget, QPlatformMenuItem*
#if QT_CONFIG(menubar)
/*!
+ \fn NSMenu *QMenuBar::toNSMenu()
\since 5.2
Returns the native NSMenu for this menu bar. Available on \macos only.
diff --git a/src/widgets/widgets/qmenubar.h b/src/widgets/widgets/qmenubar.h
index 2f071e7e3b..cf6663f94a 100644
--- a/src/widgets/widgets/qmenubar.h
+++ b/src/widgets/widgets/qmenubar.h
@@ -67,7 +67,7 @@ public:
QAction *addAction(const QString &text);
QAction *addAction(const QString &text, const QObject *receiver, const char* member);
-#ifdef Q_QDOC
+#ifdef Q_CLANG_QDOC
template<typename Obj, typename PointerToMemberFunctionOrFunctor>
QAction *addAction(const QString &text, const Obj *receiver, PointerToMemberFunctionOrFunctor method);
template<typename Functor>
@@ -91,7 +91,7 @@ public:
connect(result, &QAction::triggered, std::move(slot));
return result;
}
-#endif // !Q_QDOC
+#endif // !Q_CLANG_QDOC
QAction *addMenu(QMenu *menu);
QMenu *addMenu(const QString &title);
@@ -121,7 +121,7 @@ public:
void setCornerWidget(QWidget *w, Qt::Corner corner = Qt::TopRightCorner);
QWidget *cornerWidget(Qt::Corner corner = Qt::TopRightCorner) const;
-#ifdef Q_OS_OSX
+#if defined(Q_OS_MACOS) || defined(Q_CLANG_QDOC)
NSMenu* toNSMenu();
#endif
diff --git a/src/widgets/widgets/qspinbox.cpp b/src/widgets/widgets/qspinbox.cpp
index 7f29c0c52c..dcf3906dd7 100644
--- a/src/widgets/widgets/qspinbox.cpp
+++ b/src/widgets/widgets/qspinbox.cpp
@@ -421,8 +421,8 @@ void QSpinBox::setRange(int minimum, int maximum)
}
/*!
- Sets the step type for the spin box: single step or adaptive
- decimal step.
+ Sets the step type for the spin box to \a stepType, which is single
+ step or adaptive decimal step.
Adaptive decimal step means that the step size will continuously be
adjusted to one power of ten below the current \l value. So when
@@ -439,7 +439,6 @@ void QSpinBox::setRange(int minimum, int maximum)
\l singleStep, although it is preserved so that \l singleStep
comes into effect if adaptive decimal step is later turned off.
- \sa QAbstractSpinBox::groupSeparator()
\since 5.12
*/
@@ -449,6 +448,13 @@ void QSpinBox::setStepType(QAbstractSpinBox::StepType stepType)
d->stepType = stepType;
}
+/*!
+ \property QSpinBox::stepType
+ \brief The step type.
+
+ The step type can be single step or adaptive decimal step.
+*/
+
QAbstractSpinBox::StepType QSpinBox::stepType() const
{
Q_D(const QSpinBox);
@@ -888,8 +894,8 @@ void QDoubleSpinBox::setRange(double minimum, double maximum)
}
/*!
- Sets the step type for the spin box: single step or adaptive
- decimal step.
+ Sets the step type for the spin box to \a stepType, which is single
+ step or adaptive decimal step.
Adaptive decimal step means that the step size will continuously be
adjusted to one power of ten below the current \l value. So when
@@ -909,7 +915,6 @@ void QDoubleSpinBox::setRange(double minimum, double maximum)
\l singleStep, although it is preserved so that \l singleStep
comes into effect if adaptive decimal step is later turned off.
- \sa QAbstractSpinBox::groupSeparator()
\since 5.12
*/
@@ -919,6 +924,13 @@ void QDoubleSpinBox::setStepType(StepType stepType)
d->stepType = stepType;
}
+/*!
+ \property QDoubleSpinBox::stepType
+ \brief The step type.
+
+ The step type can be single step or adaptive decimal step.
+*/
+
QAbstractSpinBox::StepType QDoubleSpinBox::stepType() const
{
Q_D(const QDoubleSpinBox);