diff options
author | Qt Forward Merge Bot <qt_forward_merge_bot@qt-project.org> | 2018-03-05 13:15:31 +0100 |
---|---|---|
committer | Qt Forward Merge Bot <qt_forward_merge_bot@qt-project.org> | 2018-03-05 13:15:31 +0100 |
commit | 954fe2c35d0b0435b7f0443d917a5145dfd0c2a4 (patch) | |
tree | 13d2d5c76823fa2a3664f2a06219cd1fcc26f7a4 /src | |
parent | 70057dfc0e53b7996acd5ef2c0f9c40aa3f66062 (diff) | |
parent | 681933c5b8656543c4974a1db5fde093f2934189 (diff) |
Merge remote-tracking branch 'origin/5.11' into dev
Change-Id: Ifce6ddeb4dab8c672732ec6aa6c19a6c4bce447e
Diffstat (limited to 'src')
-rw-r--r-- | src/android/java/src/org/qtproject/qt5/android/bindings/QtActivity.java | 2 | ||||
-rw-r--r-- | src/android/java/src/org/qtproject/qt5/android/bindings/QtLoader.java | 1 | ||||
-rw-r--r-- | src/gui/text/qtextdocument.cpp | 6 | ||||
-rw-r--r-- | src/tools/moc/moc.cpp | 3 | ||||
-rw-r--r-- | src/widgets/itemviews/qheaderview.cpp | 128 | ||||
-rw-r--r-- | src/widgets/itemviews/qheaderview.h | 9 | ||||
-rw-r--r-- | src/widgets/itemviews/qheaderview_p.h | 8 |
7 files changed, 99 insertions, 58 deletions
diff --git a/src/android/java/src/org/qtproject/qt5/android/bindings/QtActivity.java b/src/android/java/src/org/qtproject/qt5/android/bindings/QtActivity.java index 2728988362..3348527b3c 100644 --- a/src/android/java/src/org/qtproject/qt5/android/bindings/QtActivity.java +++ b/src/android/java/src/org/qtproject/qt5/android/bindings/QtActivity.java @@ -132,7 +132,7 @@ public class QtActivity extends Activity } public boolean super_dispatchPopulateAccessibilityEvent(AccessibilityEvent event) { - return super_dispatchPopulateAccessibilityEvent(event); + return super.dispatchPopulateAccessibilityEvent(event); } //--------------------------------------------------------------------------- diff --git a/src/android/java/src/org/qtproject/qt5/android/bindings/QtLoader.java b/src/android/java/src/org/qtproject/qt5/android/bindings/QtLoader.java index fb6f61e31e..424bf45c53 100644 --- a/src/android/java/src/org/qtproject/qt5/android/bindings/QtLoader.java +++ b/src/android/java/src/org/qtproject/qt5/android/bindings/QtLoader.java @@ -438,7 +438,6 @@ public abstract class QtLoader { { String key = BUNDLED_IN_LIB_RESOURCE_ID_KEY; - java.util.Set<String> keys = m_contextInfo.metaData.keySet(); if (m_contextInfo.metaData.containsKey(key)) { String[] list = m_context.getResources().getStringArray(m_contextInfo.metaData.getInt(key)); diff --git a/src/gui/text/qtextdocument.cpp b/src/gui/text/qtextdocument.cpp index e58cd02af5..1c0751fbad 100644 --- a/src/gui/text/qtextdocument.cpp +++ b/src/gui/text/qtextdocument.cpp @@ -1349,7 +1349,7 @@ QTextCursor QTextDocument::find(const QString &subString, int from, FindFlags op If the given \a cursor has a selection, the search begins after the selection; otherwise it begins at the cursor's position. - By default the search is case-sensitive, and can match text anywhere in the + By default the search is case insensitive, and can match text anywhere in the document. */ QTextCursor QTextDocument::find(const QString &subString, const QTextCursor &cursor, FindFlags options) const @@ -1472,7 +1472,7 @@ QTextCursor QTextDocument::find(const QRegExp & expr, int from, FindFlags option If the given \a cursor has a selection, the search begins after the selection; otherwise it begins at the cursor's position. - By default the search is case-sensitive, and can match text anywhere in the + By default the search is case insensitive, and can match text anywhere in the document. */ QTextCursor QTextDocument::find(const QRegExp &expr, const QTextCursor &cursor, FindFlags options) const @@ -1599,7 +1599,7 @@ QTextCursor QTextDocument::find(const QRegularExpression &expr, int from, FindFl If the given \a cursor has a selection, the search begins after the selection; otherwise it begins at the cursor's position. - By default the search is case-sensitive, and can match text anywhere in the + By default the search is case insensitive, and can match text anywhere in the document. */ QTextCursor QTextDocument::find(const QRegularExpression &expr, const QTextCursor &cursor, FindFlags options) const diff --git a/src/tools/moc/moc.cpp b/src/tools/moc/moc.cpp index b9f71ddb15..61a5542c83 100644 --- a/src/tools/moc/moc.cpp +++ b/src/tools/moc/moc.cpp @@ -674,6 +674,9 @@ void Moc::parse() if (test(NAMESPACE)) { while (test(SCOPE) || test(IDENTIFIER)) ; + // Ignore invalid code such as: 'using namespace __identifier("x")' (QTBUG-63772) + if (test(LPAREN)) + until(RPAREN); next(SEMIC); } break; diff --git a/src/widgets/itemviews/qheaderview.cpp b/src/widgets/itemviews/qheaderview.cpp index 708b9b44ca..5cbf642802 100644 --- a/src/widgets/itemviews/qheaderview.cpp +++ b/src/widgets/itemviews/qheaderview.cpp @@ -353,35 +353,35 @@ void QHeaderView::setModel(QAbstractItemModel *model) Q_D(QHeaderView); d->layoutChangePersistentSections.clear(); if (d->model && d->model != QAbstractItemModelPrivate::staticEmptyModel()) { - if (d->orientation == Qt::Horizontal) { - QObject::disconnect(d->model, SIGNAL(columnsInserted(QModelIndex,int,int)), - this, SLOT(sectionsInserted(QModelIndex,int,int))); - QObject::disconnect(d->model, SIGNAL(columnsAboutToBeRemoved(QModelIndex,int,int)), - this, SLOT(sectionsAboutToBeRemoved(QModelIndex,int,int))); - QObject::disconnect(d->model, SIGNAL(columnsRemoved(QModelIndex,int,int)), - this, SLOT(_q_sectionsRemoved(QModelIndex,int,int))); - QObject::disconnect(d->model, SIGNAL(columnsAboutToBeMoved(QModelIndex,int,int,QModelIndex,int)), - this, SLOT(_q_sectionsAboutToBeChanged())); - QObject::disconnect(d->model, SIGNAL(columnsMoved(QModelIndex,int,int,QModelIndex,int)), - this, SLOT(_q_sectionsChanged())); - } else { - QObject::disconnect(d->model, SIGNAL(rowsInserted(QModelIndex,int,int)), - this, SLOT(sectionsInserted(QModelIndex,int,int))); - QObject::disconnect(d->model, SIGNAL(rowsAboutToBeRemoved(QModelIndex,int,int)), - this, SLOT(sectionsAboutToBeRemoved(QModelIndex,int,int))); - QObject::disconnect(d->model, SIGNAL(rowsRemoved(QModelIndex,int,int)), - this, SLOT(_q_sectionsRemoved(QModelIndex,int,int))); - QObject::disconnect(d->model, SIGNAL(rowsAboutToBeMoved(QModelIndex,int,int,QModelIndex,int)), - this, SLOT(_q_sectionsAboutToBeChanged())); - QObject::disconnect(d->model, SIGNAL(rowsMoved(QModelIndex,int,int,QModelIndex,int)), - this, SLOT(_q_sectionsChanged())); - } - QObject::disconnect(d->model, SIGNAL(headerDataChanged(Qt::Orientation,int,int)), - this, SLOT(headerDataChanged(Qt::Orientation,int,int))); - QObject::disconnect(d->model, SIGNAL(layoutAboutToBeChanged()), - this, SLOT(_q_sectionsAboutToBeChanged())); - QObject::disconnect(d->model, SIGNAL(layoutChanged()), - this, SLOT(_q_sectionsChanged())); + if (d->orientation == Qt::Horizontal) { + QObject::disconnect(d->model, SIGNAL(columnsInserted(QModelIndex,int,int)), + this, SLOT(sectionsInserted(QModelIndex,int,int))); + QObject::disconnect(d->model, SIGNAL(columnsAboutToBeRemoved(QModelIndex,int,int)), + this, SLOT(sectionsAboutToBeRemoved(QModelIndex,int,int))); + QObject::disconnect(d->model, SIGNAL(columnsRemoved(QModelIndex,int,int)), + this, SLOT(_q_sectionsRemoved(QModelIndex,int,int))); + QObject::disconnect(d->model, SIGNAL(columnsAboutToBeMoved(QModelIndex,int,int,QModelIndex,int)), + this, SLOT(_q_sectionsAboutToBeMoved(QModelIndex,int,int,QModelIndex,int))); + QObject::disconnect(d->model, SIGNAL(columnsMoved(QModelIndex,int,int,QModelIndex,int)), + this, SLOT(_q_sectionsMoved(QModelIndex,int,int,QModelIndex,int))); + } else { + QObject::disconnect(d->model, SIGNAL(rowsInserted(QModelIndex,int,int)), + this, SLOT(sectionsInserted(QModelIndex,int,int))); + QObject::disconnect(d->model, SIGNAL(rowsAboutToBeRemoved(QModelIndex,int,int)), + this, SLOT(sectionsAboutToBeRemoved(QModelIndex,int,int))); + QObject::disconnect(d->model, SIGNAL(rowsRemoved(QModelIndex,int,int)), + this, SLOT(_q_sectionsRemoved(QModelIndex,int,int))); + QObject::disconnect(d->model, SIGNAL(rowsAboutToBeMoved(QModelIndex,int,int,QModelIndex,int)), + this, SLOT(_q_sectionsAboutToBeMoved(QModelIndex,int,int,QModelIndex,int))); + QObject::disconnect(d->model, SIGNAL(rowsMoved(QModelIndex,int,int,QModelIndex,int)), + this, SLOT(_q_sectionsMoved(QModelIndex,int,int,QModelIndex,int))); + } + QObject::disconnect(d->model, SIGNAL(headerDataChanged(Qt::Orientation,int,int)), + this, SLOT(headerDataChanged(Qt::Orientation,int,int))); + QObject::disconnect(d->model, SIGNAL(layoutAboutToBeChanged(QList<QPersistentModelIndex>,QAbstractItemModel::LayoutChangeHint)), + this, SLOT(_q_sectionsAboutToBeChanged(QList<QPersistentModelIndex>,QAbstractItemModel::LayoutChangeHint))); + QObject::disconnect(d->model, SIGNAL(layoutChanged(QList<QPersistentModelIndex>,QAbstractItemModel::LayoutChangeHint)), + this, SLOT(_q_sectionsChanged(QList<QPersistentModelIndex>,QAbstractItemModel::LayoutChangeHint))); } if (model && model != QAbstractItemModelPrivate::staticEmptyModel()) { @@ -393,9 +393,9 @@ void QHeaderView::setModel(QAbstractItemModel *model) QObject::connect(model, SIGNAL(columnsRemoved(QModelIndex,int,int)), this, SLOT(_q_sectionsRemoved(QModelIndex,int,int))); QObject::connect(model, SIGNAL(columnsAboutToBeMoved(QModelIndex,int,int,QModelIndex,int)), - this, SLOT(_q_sectionsAboutToBeChanged())); + this, SLOT(_q_sectionsAboutToBeMoved(QModelIndex,int,int,QModelIndex,int))); QObject::connect(model, SIGNAL(columnsMoved(QModelIndex,int,int,QModelIndex,int)), - this, SLOT(_q_sectionsChanged())); + this, SLOT(_q_sectionsMoved(QModelIndex,int,int,QModelIndex,int))); } else { QObject::connect(model, SIGNAL(rowsInserted(QModelIndex,int,int)), this, SLOT(sectionsInserted(QModelIndex,int,int))); @@ -404,16 +404,16 @@ void QHeaderView::setModel(QAbstractItemModel *model) QObject::connect(model, SIGNAL(rowsRemoved(QModelIndex,int,int)), this, SLOT(_q_sectionsRemoved(QModelIndex,int,int))); QObject::connect(model, SIGNAL(rowsAboutToBeMoved(QModelIndex,int,int,QModelIndex,int)), - this, SLOT(_q_sectionsAboutToBeChanged())); + this, SLOT(_q_sectionsAboutToBeMoved(QModelIndex,int,int,QModelIndex,int))); QObject::connect(model, SIGNAL(rowsMoved(QModelIndex,int,int,QModelIndex,int)), - this, SLOT(_q_sectionsChanged())); + this, SLOT(_q_sectionsMoved(QModelIndex,int,int,QModelIndex,int))); } QObject::connect(model, SIGNAL(headerDataChanged(Qt::Orientation,int,int)), this, SLOT(headerDataChanged(Qt::Orientation,int,int))); - QObject::connect(model, SIGNAL(layoutAboutToBeChanged()), - this, SLOT(_q_sectionsAboutToBeChanged())); - QObject::connect(model, SIGNAL(layoutChanged()), - this, SLOT(_q_sectionsChanged())); + QObject::connect(model, SIGNAL(layoutAboutToBeChanged(QList<QPersistentModelIndex>,QAbstractItemModel::LayoutChangeHint)), + this, SLOT(_q_sectionsAboutToBeChanged(QList<QPersistentModelIndex>,QAbstractItemModel::LayoutChangeHint))); + QObject::connect(model, SIGNAL(layoutChanged(QList<QPersistentModelIndex>,QAbstractItemModel::LayoutChangeHint)), + this, SLOT(_q_sectionsChanged(QList<QPersistentModelIndex>,QAbstractItemModel::LayoutChangeHint))); } d->state = QHeaderViewPrivate::NoClear; @@ -2150,8 +2150,33 @@ void QHeaderViewPrivate::_q_sectionsRemoved(const QModelIndex &parent, viewport->update(); } -void QHeaderViewPrivate::_q_sectionsAboutToBeChanged() +void QHeaderViewPrivate::_q_sectionsAboutToBeMoved(const QModelIndex &sourceParent, int logicalStart, int logicalEnd, const QModelIndex &destinationParent, int logicalDestination) +{ + if (sourceParent != root || destinationParent != root) + return; // we only handle changes in the root level + Q_UNUSED(logicalStart); + Q_UNUSED(logicalEnd); + Q_UNUSED(logicalDestination); + _q_sectionsAboutToBeChanged(); +} + +void QHeaderViewPrivate::_q_sectionsMoved(const QModelIndex &sourceParent, int logicalStart, int logicalEnd, const QModelIndex &destinationParent, int logicalDestination) +{ + if (sourceParent != root || destinationParent != root) + return; // we only handle changes in the root level + Q_UNUSED(logicalStart); + Q_UNUSED(logicalEnd); + Q_UNUSED(logicalDestination); + _q_sectionsChanged(); +} + +void QHeaderViewPrivate::_q_sectionsAboutToBeChanged(const QList<QPersistentModelIndex> &, + QAbstractItemModel::LayoutChangeHint hint) { + if ((hint == QAbstractItemModel::VerticalSortHint && orientation == Qt::Horizontal) || + (hint == QAbstractItemModel::HorizontalSortHint && orientation == Qt::Vertical)) + return; + //if there is no row/column we can't have mapping for columns //because no QModelIndex in the model would be valid // ### this is far from being bullet-proof and we would need a real system to @@ -2190,8 +2215,13 @@ void QHeaderViewPrivate::_q_sectionsAboutToBeChanged() } } -void QHeaderViewPrivate::_q_sectionsChanged() +void QHeaderViewPrivate::_q_sectionsChanged(const QList<QPersistentModelIndex> &, + QAbstractItemModel::LayoutChangeHint hint) { + if ((hint == QAbstractItemModel::VerticalSortHint && orientation == Qt::Horizontal) || + (hint == QAbstractItemModel::HorizontalSortHint && orientation == Qt::Vertical)) + return; + Q_Q(QHeaderView); viewport->update(); @@ -2282,8 +2312,8 @@ void QHeaderView::initializeSections() const int oldCount = d->sectionCount(); const int newCount = d->modelSectionCount(); if (newCount <= 0) { - d->clear(); - emit sectionCountChanged(oldCount, 0); + d->clear(); + emit sectionCountChanged(oldCount, 0); } else if (newCount != oldCount) { const int min = qBound(0, oldCount, newCount - 1); initializeSections(min, newCount - 1); @@ -3655,14 +3685,14 @@ void QHeaderViewPrivate::removeSectionsFromSectionItems(int start, int end) void QHeaderViewPrivate::clear() { if (state != NoClear) { - length = 0; - visualIndices.clear(); - logicalIndices.clear(); - sectionSelected.clear(); - hiddenSectionSize.clear(); - sectionItems.clear(); - lastSectionLogicalIdx = -1; - invalidateCachedSizeHint(); + length = 0; + visualIndices.clear(); + logicalIndices.clear(); + sectionSelected.clear(); + hiddenSectionSize.clear(); + sectionItems.clear(); + lastSectionLogicalIdx = -1; + invalidateCachedSizeHint(); } } diff --git a/src/widgets/itemviews/qheaderview.h b/src/widgets/itemviews/qheaderview.h index cfe2d24453..c09081cd80 100644 --- a/src/widgets/itemviews/qheaderview.h +++ b/src/widgets/itemviews/qheaderview.h @@ -251,9 +251,14 @@ protected: friend class QTreeView; private: + // ### Qt6: make them protected slots in QHeaderViewPrivate Q_PRIVATE_SLOT(d_func(), void _q_sectionsRemoved(const QModelIndex &parent, int logicalFirst, int logicalLast)) - Q_PRIVATE_SLOT(d_func(), void _q_sectionsAboutToBeChanged()) - Q_PRIVATE_SLOT(d_func(), void _q_sectionsChanged()) + Q_PRIVATE_SLOT(d_func(), void _q_sectionsAboutToBeMoved(const QModelIndex &sourceParent, int logicalStart, int logicalEnd, const QModelIndex &destinationParent, int logicalDestination)) + Q_PRIVATE_SLOT(d_func(), void _q_sectionsMoved(const QModelIndex &sourceParent, int logicalStart, int logicalEnd, const QModelIndex &destinationParent, int logicalDestination)) + Q_PRIVATE_SLOT(d_func(), void _q_sectionsAboutToBeChanged(const QList<QPersistentModelIndex> &parents = QList<QPersistentModelIndex>(), + QAbstractItemModel::LayoutChangeHint hint = QAbstractItemModel::NoLayoutChangeHint)) + Q_PRIVATE_SLOT(d_func(), void _q_sectionsChanged(const QList<QPersistentModelIndex> &parents = QList<QPersistentModelIndex>(), + QAbstractItemModel::LayoutChangeHint hint = QAbstractItemModel::NoLayoutChangeHint)) Q_DECLARE_PRIVATE(QHeaderView) Q_DISABLE_COPY(QHeaderView) }; diff --git a/src/widgets/itemviews/qheaderview_p.h b/src/widgets/itemviews/qheaderview_p.h index 24dc3bf075..d9fc1baec5 100644 --- a/src/widgets/itemviews/qheaderview_p.h +++ b/src/widgets/itemviews/qheaderview_p.h @@ -120,8 +120,12 @@ public: void updateHiddenSections(int logicalFirst, int logicalLast); void resizeSections(QHeaderView::ResizeMode globalMode, bool useGlobalMode = false); void _q_sectionsRemoved(const QModelIndex &,int,int); - void _q_sectionsAboutToBeChanged(); - void _q_sectionsChanged(); + void _q_sectionsAboutToBeMoved(const QModelIndex &sourceParent, int logicalStart, int logicalEnd, const QModelIndex &destinationParent, int logicalDestination); + void _q_sectionsMoved(const QModelIndex &sourceParent, int logicalStart, int logicalEnd, const QModelIndex &destinationParent, int logicalDestination); + void _q_sectionsAboutToBeChanged(const QList<QPersistentModelIndex> &parents = QList<QPersistentModelIndex>(), + QAbstractItemModel::LayoutChangeHint hint = QAbstractItemModel::NoLayoutChangeHint); + void _q_sectionsChanged(const QList<QPersistentModelIndex> &parents = QList<QPersistentModelIndex>(), + QAbstractItemModel::LayoutChangeHint hint = QAbstractItemModel::NoLayoutChangeHint); bool isSectionSelected(int section) const; bool isFirstVisibleSection(int section) const; |