]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/dolphinviewcontainer.cpp
SVN_SILENT made messages (.desktop file)
[dolphin.git] / src / dolphinviewcontainer.cpp
index 282230ab98be7f3160e948ac699b0bf00995b343..1042ece6335756347b1b796d8ab7478b5e5b5fab 100644 (file)
@@ -1,5 +1,5 @@
 /***************************************************************************
- *   Copyright (C) 2007 by Peter Penz <peter.penz@gmx.at>                  *
+ *   Copyright (C) 2007 by Peter Penz <peter.penz19@gmail.com>             *
  *                                                                         *
  *   This program is free software; you can redistribute it and/or modify  *
  *   it under the terms of the GNU General Public License as published by  *
  ***************************************************************************/
 
 #include "dolphinviewcontainer.h"
-#include <kprotocolmanager.h>
-
-#include <QtGui/QApplication>
-#include <QtGui/QKeyEvent>
-#include <QtGui/QItemSelection>
-#include <QtGui/QBoxLayout>
-#include <QtCore/QTimer>
-#include <QtGui/QScrollBar>
-
-#include <kdesktopfile.h>
-#include <kfileitemdelegate.h>
-#include <kfileplacesmodel.h>
-#include <kglobalsettings.h>
-#include <klocale.h>
-#include <kiconeffect.h>
-#include <kio/netaccess.h>
-#include <kio/previewjob.h>
-#include <kmenu.h>
-#include <knewmenu.h>
+#include <KProtocolManager>
+
+#include <QApplication>
+#include <QKeyEvent>
+#include <QItemSelection>
+#include <QBoxLayout>
+#include <QTimer>
+#include <QScrollBar>
+
+#include <KDesktopFile>
+#include <KFileItemDelegate>
+#include <KFilePlacesModel>
+#include <KGlobalSettings>
+#include <KLocale>
+#include <KIconEffect>
+#include <KIO/NetAccess>
+#include <KIO/PreviewJob>
+#include <KMenu>
+#include <KNewFileMenu>
 #include <konqmimedata.h>
 #include <konq_operations.h>
-#include <kshell.h>
-#include <kurl.h>
-#include <kurlcombobox.h>
-#include <kurlnavigator.h>
-#include <krun.h>
+#include <KShell>
+#include <KUrl>
+#include <KUrlComboBox>
+#include <KUrlNavigator>
+#include <KRun>
 
 #include "dolphin_generalsettings.h"
 #include "dolphinmainwindow.h"
@@ -177,6 +177,46 @@ bool DolphinViewContainer::isActive() const
     return m_view->isActive();
 }
 
+const DolphinStatusBar* DolphinViewContainer::statusBar() const
+{
+    return m_statusBar;
+}
+
+DolphinStatusBar* DolphinViewContainer::statusBar()
+{
+    return m_statusBar;
+}
+
+const KUrlNavigator* DolphinViewContainer::urlNavigator() const
+{
+    return m_urlNavigator;
+}
+
+KUrlNavigator* DolphinViewContainer::urlNavigator()
+{
+    return m_urlNavigator;
+}
+
+const DolphinView* DolphinViewContainer::view() const
+{
+    return m_view;
+}
+
+DolphinView* DolphinViewContainer::view()
+{
+    return m_view;
+}
+
+const DolphinSearchBox* DolphinViewContainer::searchBox() const
+{
+    return m_searchBox;
+}
+
+DolphinSearchBox* DolphinViewContainer::searchBox()
+{
+    return m_searchBox;
+}
+
 void DolphinViewContainer::refresh()
 {
     GeneralSettings* settings = DolphinSettings::instance().generalSettings();
@@ -212,11 +252,13 @@ void DolphinViewContainer::setSearchModeEnabled(bool enabled)
     m_urlNavigator->setVisible(!enabled);
 
     if (enabled) {
+        KUrl url = m_urlNavigator->locationUrl();
+        m_searchBox->setText(QString());
+        m_searchBox->setReadOnly(isSearchUrl(url), url);
+
         // Remember the most recent non-search URL as search path
         // of the search-box, so that it can be restored
         // when switching back to the URL navigator.
-        KUrl url = m_urlNavigator->locationUrl();
-
         int index = m_urlNavigator->historyIndex();
         const int historySize = m_urlNavigator->historySize();
         while (isSearchUrl(url) && (index < historySize)) {
@@ -257,7 +299,7 @@ void DolphinViewContainer::setUrl(const KUrl& newUrl)
 
 void DolphinViewContainer::setFilterBarVisible(bool visible)
 {
-    Q_ASSERT(m_filterBar != 0);
+    Q_ASSERT(m_filterBar);
     if (visible) {
         m_filterBar->show();
         m_filterBar->setFocus();
@@ -286,21 +328,12 @@ void DolphinViewContainer::updateStatusBar()
 {
     m_statusBarTimestamp.start();
 
-    // As the item count information is less important
-    // in comparison with other messages, it should only
-    // be shown if:
-    // - the status bar is empty or
-    // - shows already the item count information or
-    // - shows only a not very important information
     const QString newMessage = m_view->statusBarText();
-    const QString currentMessage = m_statusBar->message();
-    const bool updateStatusBarMsg = currentMessage.isEmpty()
-                                    || (currentMessage == m_statusBar->defaultText())
-                                    || (m_statusBar->type() == DolphinStatusBar::Information);
-
     m_statusBar->setDefaultText(newMessage);
 
-    if (updateStatusBarMsg) {
+    // We don't want to override errors. Other messages are only protected by
+    // the Statusbar itself depending on timings (see DolphinStatusBar::setMessage).
+    if (m_statusBar->type() != DolphinStatusBar::Error) {
         m_statusBar->setMessage(newMessage, DolphinStatusBar::Default);
     }
 }
@@ -336,7 +369,7 @@ void DolphinViewContainer::slotFinishedPathLoading()
         m_statusBar->setProgress(100);
     }
 
-    if (isSearchUrl(url()) && (m_view->items().count() == 0)) {
+    if (isSearchUrl(url()) && m_view->items().isEmpty()) {
         // The dir lister has been completed on a Nepomuk-URI and no items have been found. Instead
         // of showing the default status bar information ("0 items") a more helpful information is given:
         m_statusBar->setMessage(i18nc("@info:status", "No items found."), DolphinStatusBar::Information);
@@ -501,6 +534,7 @@ void DolphinViewContainer::closeSearchBox()
 void DolphinViewContainer::stopLoading()
 {
     m_view->stopLoading();
+    m_statusBar->setProgress(100);
 }
 
 bool DolphinViewContainer::isSearchUrl(const KUrl& url) const