X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/1ea09b24e16d98ac2f1033b21462323fb295ae2f..4e2f3dcffe2c2388e9d2d63e626ee6d03abce953:/src/dolphinviewcontainer.cpp diff --git a/src/dolphinviewcontainer.cpp b/src/dolphinviewcontainer.cpp index ce602be99..9e297364b 100644 --- a/src/dolphinviewcontainer.cpp +++ b/src/dolphinviewcontainer.cpp @@ -45,7 +45,6 @@ #include #include "dolphin_generalsettings.h" -#include "dolphinmainwindow.h" #include "filterbar/filterbar.h" #include "search/dolphinsearchbox.h" #include "statusbar/dolphinstatusbar.h" @@ -64,7 +63,8 @@ DolphinViewContainer::DolphinViewContainer(const KUrl& url, QWidget* parent) : m_filterBar(0), m_statusBar(0), m_statusBarTimer(0), - m_statusBarTimestamp() + m_statusBarTimestamp(), + m_autoGrabFocus(true) { hide(); @@ -90,7 +90,7 @@ DolphinViewContainer::DolphinViewContainer(const KUrl& url, QWidget* parent) : m_searchBox = new DolphinSearchBox(this); m_searchBox->hide(); connect(m_searchBox, SIGNAL(closeRequest()), this, SLOT(closeSearchBox())); - connect(m_searchBox, SIGNAL(search(QString)), this, SLOT(startSearching(QString))); + connect(m_searchBox, SIGNAL(searchRequest()), this, SLOT(startSearching())); connect(m_searchBox, SIGNAL(returnPressed(QString)), this, SLOT(requestFocus())); m_messageWidget = new KMessageWidget(this); @@ -180,6 +180,16 @@ bool DolphinViewContainer::isActive() const return m_view->isActive(); } +void DolphinViewContainer::setAutoGrabFocus(bool grab) +{ + m_autoGrabFocus = grab; +} + +bool DolphinViewContainer::autoGrabFocus() const +{ + return m_autoGrabFocus; +} + const DolphinStatusBar* DolphinViewContainer::statusBar() const { return m_statusBar; @@ -210,16 +220,6 @@ DolphinView* DolphinViewContainer::view() return m_view; } -const DolphinSearchBox* DolphinViewContainer::searchBox() const -{ - return m_searchBox; -} - -DolphinSearchBox* DolphinViewContainer::searchBox() -{ - return m_searchBox; -} - void DolphinViewContainer::showMessage(const QString& msg, MessageType type) { if (msg.isEmpty()) { @@ -297,6 +297,8 @@ void DolphinViewContainer::setSearchModeEnabled(bool enabled) m_searchBox->setSearchPath(url); } } else { + m_view->setViewPropertiesContext(QString()); + // Restore the URL for the URL navigator. If Dolphin has been // started with a search-URL, the home URL is used as fallback. const KUrl url = m_searchBox->searchPath(); @@ -308,8 +310,6 @@ void DolphinViewContainer::setSearchModeEnabled(bool enabled) } } } - - emit searchModeChanged(enabled); } bool DolphinViewContainer::isSearchModeEnabled() const @@ -508,7 +508,7 @@ void DolphinViewContainer::slotUrlNavigatorLocationChanged(const KUrl& url) setSearchModeEnabled(isSearchUrl(url)); m_view->setUrl(url); - if (isActive() && !isSearchUrl(url)) { + if (m_autoGrabFocus && isActive() && !isSearchUrl(url)) { // When an URL has been entered, the view should get the focus. // The focus must be requested asynchronously, as changing the URL might create // a new view widget. @@ -587,11 +587,11 @@ void DolphinViewContainer::slotHistoryChanged() } } -void DolphinViewContainer::startSearching(const QString &text) +void DolphinViewContainer::startSearching() { - Q_UNUSED(text); const KUrl url = m_searchBox->urlForSearching(); if (url.isValid() && !url.isEmpty()) { + m_view->setViewPropertiesContext("search"); m_urlNavigator->setLocationUrl(url); } }