Changeset View
Changeset View
Standalone View
Standalone View
src/widgets/quickselectdialog.cpp
Show First 20 Lines • Show All 83 Lines • ▼ Show 20 Line(s) | |||||
84 | 84 | | |||
85 | void QuickSelectDialog::applyFilterChanged(const QString &textFilter) | 85 | void QuickSelectDialog::applyFilterChanged(const QString &textFilter) | ||
86 | { | 86 | { | ||
87 | if (textFilter.isEmpty()) | 87 | if (textFilter.isEmpty()) | ||
88 | m_label->setText(i18n("You can start typing to filter the list of available pages")); | 88 | m_label->setText(i18n("You can start typing to filter the list of available pages")); | ||
89 | else | 89 | else | ||
90 | m_label->setText(i18n("Path: %1", textFilter)); | 90 | m_label->setText(i18n("Path: %1", textFilter)); | ||
91 | 91 | | |||
92 | m_filterProxyModel->setFilterFixedString(textFilter); | 92 | m_filterProxyModel->setFilterRegularExpression(QRegularExpression::escape(textFilter)); | ||
93 | m_tree->expandAll(); | 93 | m_tree->expandAll(); | ||
94 | } | 94 | } | ||
95 | 95 | | |||
96 | bool QuickSelectDialog::eventFilter(QObject *, QEvent *ev) | 96 | bool QuickSelectDialog::eventFilter(QObject *, QEvent *ev) | ||
97 | { | 97 | { | ||
98 | if (ev->type() == QEvent::KeyPress) { | 98 | if (ev->type() == QEvent::KeyPress) { | ||
99 | auto event = static_cast<QKeyEvent*>(ev); | 99 | auto event = static_cast<QKeyEvent*>(ev); | ||
100 | auto filter = m_filterProxyModel->filterRegExp().pattern(); | 100 | auto filter = m_filterProxyModel->filterRegularExpression().pattern(); | ||
101 | 101 | | |||
102 | switch (event->key()) { | 102 | switch (event->key()) { | ||
103 | case Qt::Key_Backspace: | 103 | case Qt::Key_Backspace: | ||
104 | filter.chop(1); | 104 | filter.chop(1); | ||
105 | break; | 105 | break; | ||
106 | case Qt::Key_Delete: | 106 | case Qt::Key_Delete: | ||
107 | filter = QString(); | 107 | filter = QString(); | ||
108 | break; | 108 | break; | ||
109 | default: | 109 | default: | ||
110 | if (event->text().contains(QRegExp("^(\\w| )+$"))) { | 110 | if (event->text().contains(QRegularExpression(QStringLiteral("^(\\w| )+$")))) { | ||
111 | filter += event->text(); | 111 | filter += event->text(); | ||
112 | } | 112 | } | ||
113 | break; | 113 | break; | ||
114 | } | 114 | } | ||
115 | 115 | | |||
116 | applyFilterChanged(filter); | 116 | applyFilterChanged(filter); | ||
117 | } | 117 | } | ||
118 | return false; | 118 | return false; | ||
Show All 11 Lines |