diff options
| -rw-r--r-- | src/dolphinviewcontainer.cpp | 5 | ||||
| -rw-r--r-- | src/filterbar/filterbar.cpp | 7 | ||||
| -rw-r--r-- | src/filterbar/filterbar.h | 9 | ||||
| -rw-r--r-- | src/search/dolphinsearchbox.cpp | 6 | ||||
| -rw-r--r-- | src/search/dolphinsearchbox.h | 5 |
5 files changed, 29 insertions, 3 deletions
diff --git a/src/dolphinviewcontainer.cpp b/src/dolphinviewcontainer.cpp index 830dc5e74..508c0360d 100644 --- a/src/dolphinviewcontainer.cpp +++ b/src/dolphinviewcontainer.cpp @@ -239,6 +239,10 @@ bool DolphinViewContainer::isFilterBarVisible() const void DolphinViewContainer::setSearchModeEnabled(bool enabled) { if (enabled == isSearchModeEnabled()) { + if (enabled && !m_searchBox->hasFocus()) { + m_searchBox->setFocus(); + m_searchBox->selectAll(); + } return; } @@ -295,6 +299,7 @@ void DolphinViewContainer::setFilterBarVisible(bool visible) if (visible) { m_filterBar->show(); m_filterBar->setFocus(); + m_filterBar->selectAll(); } else { closeFilterBar(); } diff --git a/src/filterbar/filterbar.cpp b/src/filterbar/filterbar.cpp index c5dd99d78..8e4dfcc9b 100644 --- a/src/filterbar/filterbar.cpp +++ b/src/filterbar/filterbar.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2006 by Peter Penz <[email protected]> * + * Copyright (C) 2006-2010 by Peter Penz <[email protected]> * * Copyright (C) 2006 by Gregor Kališnik <[email protected]> * * * * This program is free software; you can redistribute it and/or modify * @@ -64,6 +64,11 @@ FilterBar::~FilterBar() { } +void FilterBar::selectAll() +{ + m_filterInput->selectAll(); +} + void FilterBar::clear() { m_filterInput->clear(); diff --git a/src/filterbar/filterbar.h b/src/filterbar/filterbar.h index bf1bce684..cc26ebe67 100644 --- a/src/filterbar/filterbar.h +++ b/src/filterbar/filterbar.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2006 by Peter Penz <[email protected]> * + * Copyright (C) 2006-2010 by Peter Penz <[email protected]> * * Copyright (C) 2006 by Gregor Kališnik <[email protected]> * * * * This program is free software; you can redistribute it and/or modify * @@ -17,6 +17,7 @@ * Free Software Foundation, Inc., * * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * ***************************************************************************/ + #ifndef FILTERBAR_H #define FILTERBAR_H @@ -28,7 +29,6 @@ class KLineEdit; * @brief Provides an input field for filtering the currently shown items. * * @author Gregor Kališnik <[email protected]> - * @author Peter Penz <[email protected]> */ class FilterBar : public QWidget { @@ -38,6 +38,11 @@ public: FilterBar(QWidget* parent = 0); virtual ~FilterBar(); + /** + * Selects the whole text of the filter bar. + */ + void selectAll(); + public slots: /** Clears the input field. */ void clear(); diff --git a/src/search/dolphinsearchbox.cpp b/src/search/dolphinsearchbox.cpp index 71c227501..bcee7e9af 100644 --- a/src/search/dolphinsearchbox.cpp +++ b/src/search/dolphinsearchbox.cpp @@ -134,6 +134,11 @@ KUrl DolphinSearchBox::urlForSearching() const return url; } +void DolphinSearchBox::selectAll() +{ + m_searchInput->selectAll(); +} + bool DolphinSearchBox::event(QEvent* event) { if (event->type() == QEvent::Polish) { @@ -243,6 +248,7 @@ void DolphinSearchBox::init() m_searchInput = new KLineEdit(this); m_searchInput->setClearButtonShown(true); m_searchInput->setFont(KGlobalSettings::generalFont()); + setFocusProxy(m_searchInput); connect(m_searchInput, SIGNAL(returnPressed(QString)), this, SLOT(slotReturnPressed(QString))); connect(m_searchInput, SIGNAL(textChanged(QString)), diff --git a/src/search/dolphinsearchbox.h b/src/search/dolphinsearchbox.h index cbe164502..5fc707e91 100644 --- a/src/search/dolphinsearchbox.h +++ b/src/search/dolphinsearchbox.h @@ -64,6 +64,11 @@ public: /** @return URL that will start the searching of files. */ KUrl urlForSearching() const; + /** + * Selects the whole text of the search box. + */ + void selectAll(); + protected: virtual bool event(QEvent* event); virtual void showEvent(QShowEvent* event); |
