diff options
| author | Carlo Vanini <silhusk@gmail.com> | 2016-01-11 13:49:49 (GMT) |
|---|---|---|
| committer | Aleix Pol <aleixpol@kde.org> | 2016-01-11 13:49:49 (GMT) |
| commit | 8f21836cff78f9834f9052e301363f106d5d1ded (patch) | |
| tree | 5c4f556c8587ff8016b24a32526350715332552a | |
| parent | 09eb704a0eea433712b90a7f215d64490e613e57 (diff) | |
add keyboard shortcut to focus search box
Add keyboard shortcut to move focus to the search box, and give it focus at startup.
If the box is hidden, e.g. by changes preview, the focus is not changed. Otherwise you could change the content of the search box without seeing it.
(if accepted, please push it for me)
REVIEW: 126709
BUG: 299763
BUG: 312568
BUG: 325536
| -rw-r--r-- | src/MainWindow.cpp | 10 | ||||
| -rw-r--r-- | src/MainWindow.h | 1 | ||||
| -rw-r--r-- | src/PackageModel/PackageWidget.cpp | 7 | ||||
| -rw-r--r-- | src/PackageModel/PackageWidget.h | 1 |
4 files changed, 19 insertions, 0 deletions
diff --git a/src/MainWindow.cpp b/src/MainWindow.cpp index c3d6a83..466ea4b 100644 --- a/src/MainWindow.cpp +++ b/src/MainWindow.cpp @@ -170,6 +170,9 @@ void MainWindow::setupActions() QAction *quitAction = KStandardAction::quit(QCoreApplication::instance(), SLOT(quit()), actionCollection()); actionCollection()->addAction("file_quit", quitAction); + QAction *focusSearchAction = KStandardAction::find(this, SLOT(setFocusSearchEdit()), actionCollection()); + actionCollection()->addAction("find", focusSearchAction); + m_safeUpgradeAction = actionCollection()->addAction("safeupgrade"); m_safeUpgradeAction->setIcon(QIcon::fromTheme("go-up")); m_safeUpgradeAction->setText(i18nc("@action Marks upgradeable packages for upgrade", "Cautious Upgrade")); @@ -212,6 +215,13 @@ void MainWindow::setupActions() setupGUI(StandardWindowOption(KXmlGuiWindow::Default & ~KXmlGuiWindow::StatusBar)); } +void MainWindow::setFocusSearchEdit() +{ + if (m_managerWidget->isVisible()) { + m_managerWidget->setFocusSearchEdit(); + } +} + void MainWindow::markUpgrade() { m_backend->saveCacheState(); diff --git a/src/MainWindow.h b/src/MainWindow.h index 0d6c022..ffc019c 100644 --- a/src/MainWindow.h +++ b/src/MainWindow.h @@ -93,6 +93,7 @@ private Q_SLOTS: void loadSettings(); void saveSplitterSizes(); void setupActions(); + void setFocusSearchEdit(); void markUpgrade(); void markDistUpgrade(); void markAutoRemove(); diff --git a/src/PackageModel/PackageWidget.cpp b/src/PackageModel/PackageWidget.cpp index 1d0c377..264db78 100644 --- a/src/PackageModel/PackageWidget.cpp +++ b/src/PackageModel/PackageWidget.cpp @@ -229,6 +229,12 @@ void PackageWidget::showSearchEdit() m_searchEdit->show(); } +void PackageWidget::setFocusSearchEdit() +{ + m_searchEdit->setFocus(); + m_searchEdit->selectAll(); +} + void PackageWidget::setBackend(QApt::Backend *backend) { m_backend = backend; @@ -371,6 +377,7 @@ void PackageWidget::setSortedPackages() QApt::PackageList packageList = m_watcher->future().result(); m_model->setPackages(packageList); m_searchEdit->setEnabled(true); + m_searchEdit->setFocus(); m_busyWidget->stop(); QApplication::restoreOverrideCursor(); } diff --git a/src/PackageModel/PackageWidget.h b/src/PackageModel/PackageWidget.h index 02abcfc..681b59e 100644 --- a/src/PackageModel/PackageWidget.h +++ b/src/PackageModel/PackageWidget.h @@ -106,6 +106,7 @@ private: public Q_SLOTS: void setBackend(QApt::Backend *backend); void reload(); + void setFocusSearchEdit(); void startSearch(); void invalidateFilter(); |
