]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/dolphinviewcontainer.cpp
Get rid of obsolete DolphinPlacesModel
[dolphin.git] / src / dolphinviewcontainer.cpp
index 22be3a8332a5c65c03f689e6cad83d9a93dbbfc7..7c7d7d309173055888e527ed54d0af983e394b3b 100644 (file)
 #include <KRun>
 
 #include "dolphin_generalsettings.h"
-#include "dolphinmainwindow.h"
 #include "filterbar/filterbar.h"
 #include "search/dolphinsearchbox.h"
 #include "statusbar/dolphinstatusbar.h"
-#include "views/dolphinplacesmodel.h"
 #include "views/draganddrophelper.h"
 #include "views/viewmodecontroller.h"
 #include "views/viewproperties.h"
@@ -64,7 +62,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();
 
@@ -72,7 +71,7 @@ DolphinViewContainer::DolphinViewContainer(const KUrl& url, QWidget* parent) :
     m_topLayout->setSpacing(0);
     m_topLayout->setMargin(0);
 
-    m_urlNavigator = new KUrlNavigator(DolphinPlacesModel::instance(), url, this);
+    m_urlNavigator = new KUrlNavigator(new KFilePlacesModel(this), url, this);
     connect(m_urlNavigator, SIGNAL(urlsDropped(KUrl,QDropEvent*)),
             this, SLOT(dropUrls(KUrl,QDropEvent*)));
     connect(m_urlNavigator, SIGNAL(activated()),
@@ -90,7 +89,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 +179,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;
@@ -287,6 +296,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();
@@ -496,7 +507,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.
@@ -575,11 +586,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);
     }
 }