┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Penz <[email protected]>2010-11-07 14:55:33 +0000
committerPeter Penz <[email protected]>2010-11-07 14:55:33 +0000
commit456d529295b7e9ee2a776480dce3a7151528b0dd (patch)
tree3b148b94223b1c06b8afc80e5a8b6879574f67e5
parent4fa931ae25eda718ab3a1666f385f9db6228d3a6 (diff)
Make the filter-behavior similar to applications like Kate, where activating the filter lets focus it again.
BUG: 256160 FIXED-IN: 4.6.0 svn path=/trunk/KDE/kdebase/apps/; revision=1193912
-rw-r--r--src/dolphinmainwindow.cpp8
-rw-r--r--src/dolphinmainwindow.h5
-rw-r--r--src/dolphinviewcontainer.cpp1
-rw-r--r--src/dolphinviewcontainer.h2
-rw-r--r--src/filterbar/filterbar.cpp1
5 files changed, 9 insertions, 8 deletions
diff --git a/src/dolphinmainwindow.cpp b/src/dolphinmainwindow.cpp
index 8017e9c82..8bba990c7 100644
--- a/src/dolphinmainwindow.cpp
+++ b/src/dolphinmainwindow.cpp
@@ -841,9 +841,9 @@ void DolphinMainWindow::disableStopAction()
actionCollection()->action("stop")->setEnabled(false);
}
-void DolphinMainWindow::toggleFilterBarVisibility(bool show)
+void DolphinMainWindow::showFilterBar()
{
- m_activeViewContainer->setFilterBarVisible(show);
+ m_activeViewContainer->setFilterBarVisible(true);
}
void DolphinMainWindow::toggleEditLocation()
@@ -1517,11 +1517,11 @@ void DolphinMainWindow::setupActions()
KStandardAction::home(this, SLOT(goHome()), actionCollection());
// setup 'Tools' menu
- KToggleAction* showFilterBar = actionCollection()->add<KToggleAction>("show_filter_bar");
+ KAction* showFilterBar = actionCollection()->addAction("show_filter_bar");
showFilterBar->setText(i18nc("@action:inmenu Tools", "Show Filter Bar"));
showFilterBar->setIcon(KIcon("view-filter"));
showFilterBar->setShortcut(Qt::CTRL | Qt::Key_I);
- connect(showFilterBar, SIGNAL(triggered(bool)), this, SLOT(toggleFilterBarVisibility(bool)));
+ connect(showFilterBar, SIGNAL(triggered()), this, SLOT(showFilterBar()));
KAction* compareFiles = actionCollection()->addAction("compare_files");
compareFiles->setText(i18nc("@action:inmenu Tools", "Compare Files"));
diff --git a/src/dolphinmainwindow.h b/src/dolphinmainwindow.h
index 4a747ac5a..fdfa93144 100644
--- a/src/dolphinmainwindow.h
+++ b/src/dolphinmainwindow.h
@@ -250,10 +250,7 @@ private slots:
void enableStopAction();
void disableStopAction();
- /**
- * Toggles between showing and hiding of the filter bar
- */
- void toggleFilterBarVisibility(bool show);
+ void showFilterBar();
/**
* Toggles between edit and browse mode of the navigation bar.
diff --git a/src/dolphinviewcontainer.cpp b/src/dolphinviewcontainer.cpp
index 7fd0cfa29..9e927ee98 100644
--- a/src/dolphinviewcontainer.cpp
+++ b/src/dolphinviewcontainer.cpp
@@ -303,6 +303,7 @@ void DolphinViewContainer::setFilterBarVisible(bool visible)
Q_ASSERT(m_filterBar != 0);
if (visible) {
m_filterBar->show();
+ m_filterBar->setFocus();
} else {
closeFilterBar();
}
diff --git a/src/dolphinviewcontainer.h b/src/dolphinviewcontainer.h
index 6abeab4b0..44f5dd906 100644
--- a/src/dolphinviewcontainer.h
+++ b/src/dolphinviewcontainer.h
@@ -111,6 +111,8 @@ public slots:
/**
* Popups the filter bar above the status bar if \a visible is true.
+ * It \a visible is true, it is assured that the filter bar gains
+ * the keyboard focus.
*/
void setFilterBarVisible(bool visible);
diff --git a/src/filterbar/filterbar.cpp b/src/filterbar/filterbar.cpp
index b108570ce..c5dd99d78 100644
--- a/src/filterbar/filterbar.cpp
+++ b/src/filterbar/filterbar.cpp
@@ -48,6 +48,7 @@ FilterBar::FilterBar(QWidget* parent) :
m_filterInput->setClearButtonShown(true);
connect(m_filterInput, SIGNAL(textChanged(const QString&)),
this, SIGNAL(filterChanged(const QString&)));
+ setFocusProxy(m_filterInput);
// Apply layout
QHBoxLayout* hLayout = new QHBoxLayout(this);