diff options
author | Qt Forward Merge Bot <qt_forward_merge_bot@qt-project.org> | 2019-08-29 21:25:13 +0200 |
---|---|---|
committer | Qt Forward Merge Bot <qt_forward_merge_bot@qt-project.org> | 2019-08-29 21:25:13 +0200 |
commit | 56dc77d2f230f0d46b220dfd83d8b7ee5d92a3b1 (patch) | |
tree | 8ee9632889e1da06d73c62ac897b30b1afacf23f | |
parent | fb9703effba15e4c2a3f40d73960d78bcf6cccf7 (diff) | |
parent | b5e21475344d575a7f07f9d6f3dd2a9d82cf4a50 (diff) |
Merge remote-tracking branch 'origin/5.14' into dev
Change-Id: Ic99d3c6fdec9198dda8b55e271461174f2a50ae6
-rw-r--r-- | src/assistant/assistant/preferencesdialog.cpp | 34 | ||||
-rw-r--r-- | src/assistant/assistant/preferencesdialog.h | 2 | ||||
-rw-r--r-- | src/assistant/assistant/topicchooser.cpp | 25 | ||||
-rw-r--r-- | src/designer/src/designer/qdesigner_actions.cpp | 2 |
4 files changed, 43 insertions, 20 deletions
diff --git a/src/assistant/assistant/preferencesdialog.cpp b/src/assistant/assistant/preferencesdialog.cpp index 67f91326c..66d6381d3 100644 --- a/src/assistant/assistant/preferencesdialog.cpp +++ b/src/assistant/assistant/preferencesdialog.cpp @@ -103,6 +103,16 @@ PreferencesDialog::PreferencesDialog(QWidget *parent) this, &PreferencesDialog::addDocumentation); connect(m_ui.docRemoveButton, &QAbstractButton::clicked, this, &PreferencesDialog::removeDocumentation); + connect(m_ui.registeredDocsFilterLineEdit, &QLineEdit::textChanged, + this, [this](const QString &) { + for (const auto item : m_namespaceToItem) + applyDocListFilter(item); + }); + connect(m_ui.registeredDocsListWidget, &QListWidget::itemSelectionChanged, + this, [this](){ + m_ui.docRemoveButton->setEnabled( + !m_ui.registeredDocsListWidget->selectedItems().isEmpty()); + }); updateDocumentationPage(); } @@ -234,8 +244,23 @@ void PreferencesDialog::updateDocumentationPage() QListWidgetItem *item = new QListWidgetItem(namespaceName); m_namespaceToItem.insert(namespaceName, item); m_itemToNamespace.insert(item, namespaceName); + applyDocListFilter(item); m_ui.registeredDocsListWidget->addItem(item); } + m_ui.docRemoveButton->setEnabled( + !m_ui.registeredDocsListWidget->selectedItems().isEmpty()); +} + +void PreferencesDialog::applyDocListFilter(QListWidgetItem *item) +{ + const QString namespaceName = m_itemToNamespace.value(item); + const QString nameFilter = m_ui.registeredDocsFilterLineEdit->text(); + + const bool matches = nameFilter.isEmpty() || namespaceName.contains(nameFilter); + + if (!matches) + item->setSelected(false); + item->setHidden(!matches); } void PreferencesDialog::filterSelected(QListWidgetItem *item) @@ -405,12 +430,17 @@ void PreferencesDialog::addDocumentation() m_currentSetup.m_namespaceToVersion.insert(namespaceName, version); m_currentSetup.m_versionToNamespace[version].append(namespaceName); + if (!added) { + added = true; + m_ui.registeredDocsListWidget->clearSelection(); + } + QListWidgetItem *item = new QListWidgetItem(namespaceName); m_namespaceToItem.insert(namespaceName, item); m_itemToNamespace.insert(item, namespaceName); m_ui.registeredDocsListWidget->insertItem(m_namespaceToItem.keys().indexOf(namespaceName), item); - - added = true; + item->setSelected(true); + applyDocListFilter(item); } if (added) diff --git a/src/assistant/assistant/preferencesdialog.h b/src/assistant/assistant/preferencesdialog.h index 1ff39e326..b0601e280 100644 --- a/src/assistant/assistant/preferencesdialog.h +++ b/src/assistant/assistant/preferencesdialog.h @@ -95,6 +95,8 @@ private: QString suggestedNewFilterName(const QString &initialFilterName) const; QString getUniqueFilterName(const QString &windowTitle, const QString &initialFilterName = QString()); + void applyDocListFilter(QListWidgetItem *item); + void updateFilterPage(); void updateCurrentFilter(); void updateDocumentationPage(); diff --git a/src/assistant/assistant/topicchooser.cpp b/src/assistant/assistant/topicchooser.cpp index 478ca65ed..d058646c5 100644 --- a/src/assistant/assistant/topicchooser.cpp +++ b/src/assistant/assistant/topicchooser.cpp @@ -120,23 +120,14 @@ bool TopicChooser::eventFilter(QObject *object, QEvent *event) { TRACE_OBJ if (object == ui.lineEdit && event->type() == QEvent::KeyPress) { - QModelIndex idx = ui.listWidget->currentIndex(); - switch ((static_cast<QKeyEvent*>(event)->key())) { - case Qt::Key_Up: - idx = m_filterModel->index(idx.row() - 1, idx.column(), - idx.parent()); - if (idx.isValid()) - ui.listWidget->setCurrentIndex(idx); - break; - - case Qt::Key_Down: - idx = m_filterModel->index(idx.row() + 1, idx.column(), - idx.parent()); - if (idx.isValid()) - ui.listWidget->setCurrentIndex(idx); - break; - - default: ; + QKeyEvent *keyEvent = static_cast<QKeyEvent*>(event); + switch (keyEvent->key()) { + case Qt::Key_Up: + case Qt::Key_Down: + case Qt::Key_PageUp: + case Qt::Key_PageDown: + QCoreApplication::sendEvent(ui.listWidget, event); + break; } } else if (ui.lineEdit && event->type() == QEvent::FocusIn && static_cast<QFocusEvent *>(event)->reason() != Qt::MouseFocusReason) { diff --git a/src/designer/src/designer/qdesigner_actions.cpp b/src/designer/src/designer/qdesigner_actions.cpp index aaeaef4cc..71a02f759 100644 --- a/src/designer/src/designer/qdesigner_actions.cpp +++ b/src/designer/src/designer/qdesigner_actions.cpp @@ -854,7 +854,7 @@ bool QDesignerActions::writeOutForm(QDesignerFormWindowInterface *fw, const QStr QMessageBox::Cancel, fw); box.setWindowModality(Qt::WindowModal); box.setInformativeText(tr("It was not possible to write the file %1 to disk." - "\nReason:%2") + "\nReason: %2") .arg(f.fileName(), f.errorString())); box.exec(); return false; |