]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/dolphinview.cpp
using KShell::quoteArg() "might be" helpful ;-)
[dolphin.git] / src / dolphinview.cpp
index 64722e1e219a39feb0bae9f7009c6af15baedb59..8360f037d76d871ee5a6c164e995d3090a467f7a 100644 (file)
 
 #include "dolphinview.h"
 
-#include <QApplication>
-#include <QClipboard>
-#include <QDropEvent>
-#include <QItemSelectionModel>
-#include <QMouseEvent>
-#include <QVBoxLayout>
-#include <QTimer>
-#include <QScrollBar>
+#include <QtGui/QApplication>
+#include <QtGui/QClipboard>
+#include <QtGui/QKeyEvent>
+#include <QtGui/QItemSelection>
+#include <QtGui/QBoxLayout>
+#include <QtCore/QTimer>
+#include <QtGui/QScrollBar>
 
 #include <kdirmodel.h>
 #include <kfileitemdelegate.h>
@@ -158,6 +157,10 @@ DolphinView::DolphinView(DolphinMainWindow* mainWindow,
             this, SLOT(emitSelectionChangedSignal()));
     connect(m_controller, SIGNAL(activated()),
             this, SLOT(requestActivation()));
+    connect(m_controller, SIGNAL(itemEntered(const QModelIndex&)),
+            this, SLOT(showHoverInformation(const QModelIndex&)));
+    connect(m_controller, SIGNAL(viewportEntered()),
+            this, SLOT(clearHoverInformation()));
 
     createView();
 
@@ -461,6 +464,7 @@ void DolphinView::setAdditionalInfo(KFileItemDelegate::AdditionalInformation inf
     ViewProperties props(m_urlNavigator->url());
     props.setAdditionalInfo(info);
 
+    m_controller->setShowAdditionalInfo(info != KFileItemDelegate::NoInformation);
     m_fileItemDelegate->setAdditionalInformation(info);
 
     emit additionalInfoChanged(info);
@@ -618,6 +622,11 @@ void DolphinView::reload()
     startDirLister(url, true);
 }
 
+void DolphinView::refresh()
+{
+    createView();
+}
+
 void DolphinView::mouseReleaseEvent(QMouseEvent* event)
 {
     QWidget::mouseReleaseEvent(event);
@@ -697,8 +706,8 @@ void DolphinView::changeDirectory(const KUrl& url)
 
     KFileItemDelegate::AdditionalInformation info = props.additionalInfo();
     if (info != m_fileItemDelegate->additionalInformation()) {
+        m_controller->setShowAdditionalInfo(info != KFileItemDelegate::NoInformation);
         m_fileItemDelegate->setAdditionalInformation(info);
-
         emit additionalInfoChanged(info);
     }
 
@@ -1174,6 +1183,25 @@ void DolphinView::updateCutItems()
     applyCutItemEffect();
 }
 
+void DolphinView::showHoverInformation(const QModelIndex& index)
+{
+    if (hasSelection()) {
+        return;
+    }
+
+    const KFileItem* item = fileItem(index);
+    if (item != 0) {
+        m_statusBar->setMessage(item->getStatusBarInfo(), DolphinStatusBar::Default);
+        emit requestItemInfo(item->url());
+    }
+}
+
+void DolphinView::clearHoverInformation()
+{
+    m_statusBar->clear();
+}
+
+
 void DolphinView::createView()
 {
     // delete current view