aboutsummaryrefslogtreecommitdiffstats
path: root/src/shared/help/bookmarkmanager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/shared/help/bookmarkmanager.cpp')
-rw-r--r--src/shared/help/bookmarkmanager.cpp23
1 files changed, 10 insertions, 13 deletions
diff --git a/src/shared/help/bookmarkmanager.cpp b/src/shared/help/bookmarkmanager.cpp
index c067334d4c..54817c3e7a 100644
--- a/src/shared/help/bookmarkmanager.cpp
+++ b/src/shared/help/bookmarkmanager.cpp
@@ -49,6 +49,7 @@
#include <QApplication>
#include <QDialogButtonBox>
#include <QSortFilterProxyModel>
+#include <QRegularExpression>
#include <QHelpEngine>
@@ -76,8 +77,7 @@ BookmarkDialog::BookmarkDialog(BookmarkManager *manager, const QString &title,
proxyModel->setDynamicSortFilter(true);
proxyModel->setFilterRole(Qt::UserRole + 10);
proxyModel->setSourceModel(bookmarkManager->treeBookmarkModel());
- proxyModel->setFilterRegExp(QRegExp(QLatin1String("Folder"),
- Qt::CaseSensitive, QRegExp::FixedString));
+ proxyModel->setFilterRegularExpression(QRegularExpression(QLatin1String("Folder")));
ui.treeView->setModel(proxyModel);
ui.treeView->expandAll();
@@ -95,8 +95,7 @@ BookmarkDialog::BookmarkDialog(BookmarkManager *manager, const QString &title,
&QStandardItemModel::itemChanged,
this, &BookmarkDialog::itemChanged);
- connect(ui.bookmarkFolders,
- QOverload<const QString &>::of(&QComboBox::currentIndexChanged),
+ connect(ui.bookmarkFolders, QOverload<int>::of(&QComboBox::currentIndexChanged),
this, &BookmarkDialog::selectBookmarkFolder);
connect(ui.treeView, &TreeView::customContextMenuRequested,
@@ -188,11 +187,9 @@ void BookmarkDialog::textChanged(const QString& string)
ui.buttonBox->button(QDialogButtonBox::Ok)->setEnabled(!string.isEmpty());
}
-void BookmarkDialog::selectBookmarkFolder(const QString &folderName)
+void BookmarkDialog::selectBookmarkFolder(int index)
{
- if (folderName.isEmpty())
- return;
-
+ const QString folderName = ui.bookmarkFolders->itemText(index);
if (folderName == tr("Bookmarks")) {
ui.treeView->clearSelection();
return;
@@ -273,6 +270,7 @@ bool BookmarkDialog::eventFilter(QObject *object, QEvent *e)
}
} break;
+ case Qt::Key_Backspace:
case Qt::Key_Delete: {
bookmarkManager->removeBookmarkItem(ui.treeView,
proxyModel->mapToSource(index));
@@ -319,14 +317,14 @@ void BookmarkWidget::filterChanged()
{
bool searchBookmarks = searchField->text().isEmpty();
if (!searchBookmarks) {
- regExp.setPattern(searchField->text());
+ regExp.setPattern(QRegularExpression::escape(searchField->text()));
filterBookmarkModel->setSourceModel(bookmarkManager->listBookmarkModel());
} else {
regExp.setPattern(QString());
filterBookmarkModel->setSourceModel(bookmarkManager->treeBookmarkModel());
}
- filterBookmarkModel->setFilterRegExp(regExp);
+ filterBookmarkModel->setFilterRegularExpression(regExp);
const QModelIndex &index = treeView->indexAt(QPoint(1, 1));
if (index.isValid())
@@ -407,8 +405,7 @@ void BookmarkWidget::customContextMenuRequested(const QPoint &point)
void BookmarkWidget::setup()
{
- regExp.setPatternSyntax(QRegExp::FixedString);
- regExp.setCaseSensitivity(Qt::CaseInsensitive);
+ regExp.setPatternOptions(QRegularExpression::CaseInsensitiveOption);
QLayout *vlayout = new QVBoxLayout(this);
vlayout->setContentsMargins(0, 0, 0, 0);
@@ -489,7 +486,7 @@ bool BookmarkWidget::eventFilter(QObject *object, QEvent *e)
treeView->edit(index);
item->setEditable(false);
}
- } else if (ke->key() == Qt::Key_Delete) {
+ } else if (ke->key() == Qt::Key_Delete || ke->key() == Qt::Key_Backspace) {
bookmarkManager->removeBookmarkItem(treeView, src);
}
}