summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarlo Vanini <silhusk@gmail.com>2016-01-11 13:49:49 (GMT)
committerAleix Pol <aleixpol@kde.org>2016-01-11 13:49:49 (GMT)
commit8f21836cff78f9834f9052e301363f106d5d1ded (patch)
tree5c4f556c8587ff8016b24a32526350715332552a
parent09eb704a0eea433712b90a7f215d64490e613e57 (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.cpp10
-rw-r--r--src/MainWindow.h1
-rw-r--r--src/PackageModel/PackageWidget.cpp7
-rw-r--r--src/PackageModel/PackageWidget.h1
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();