]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/dolphindetailsview.cpp
${CMAKE_SOURCE_DIR}/libkonq doesn't exist now
[dolphin.git] / src / dolphindetailsview.cpp
index b4f42cf50fc2682e968c254e9708b5a9d4ee09f1..15f108dbb174fc975c5952a30f9c6b8536b19761 100644 (file)
@@ -108,6 +108,15 @@ DolphinDetailsView::DolphinDetailsView(QWidget* parent, DolphinController* contr
     m_viewOptions.font = font;
     m_viewOptions.showDecorationSelected = true;
 
+// TODO: Remove this check when 4.3.2 is released and KDE requires it... this
+//       check avoids a division by zero happening on versions before 4.3.1.
+//       Right now KDE in theory can be shipped with Qt 4.3.0 and above.
+//       ereslibre
+#if (QT_VERSION >= QT_VERSION_CHECK(4, 3, 2) || defined(QT_KDE_QT_COPY))
+    setVerticalScrollMode(QTreeView::ScrollPerPixel);
+    setHorizontalScrollMode(QTreeView::ScrollPerPixel);
+#endif
+
     updateDecorationSize();
 }
 
@@ -125,6 +134,7 @@ bool DolphinDetailsView::event(QEvent* event)
         headerView->setStretchLastSection(false);
         headerView->setResizeMode(QHeaderView::ResizeToContents);
         headerView->setResizeMode(0, QHeaderView::Stretch);
+        headerView->setMovable(false);
 
         // hide columns if this is indicated by the settings
         const DetailsModeSettings* settings = DolphinSettings::instance().detailsModeSettings();
@@ -152,6 +162,18 @@ bool DolphinDetailsView::event(QEvent* event)
         hideColumn(DolphinModel::Rating);
         hideColumn(DolphinModel::Tags);
     }
+// TODO: Remove this check when 4.3.2 is released and KDE requires it... this
+//       check avoids a division by zero happening on versions before 4.3.1.
+//       Right now KDE in theory can be shipped with Qt 4.3.0 and above.
+//       ereslibre
+#if (QT_VERSION >= QT_VERSION_CHECK(4, 3, 2) || defined(QT_KDE_QT_COPY))
+    else if (event->type() == QEvent::UpdateRequest) {
+        // a wheel movement will scroll 4 items
+        if (model()->rowCount() > 0) {
+            verticalScrollBar()->setSingleStep((sizeHintForRow(0) / 3) * 4);
+        }
+    }
+#endif
 
     return QTreeView::event(event);
 }
@@ -381,10 +403,9 @@ void DolphinDetailsView::zoomIn()
 {
     if (isZoomInPossible()) {
         DetailsModeSettings* settings = DolphinSettings::instance().detailsModeSettings();
-        // TODO: get rid of K3Icon sizes
         switch (settings->iconSize()) {
-        case K3Icon::SizeSmall:  settings->setIconSize(K3Icon::SizeMedium); break;
-        case K3Icon::SizeMedium: settings->setIconSize(K3Icon::SizeLarge); break;
+        case KIconLoader::SizeSmall:  settings->setIconSize(KIconLoader::SizeMedium); break;
+        case KIconLoader::SizeMedium: settings->setIconSize(KIconLoader::SizeLarge); break;
         default: Q_ASSERT(false); break;
         }
         updateDecorationSize();
@@ -395,10 +416,9 @@ void DolphinDetailsView::zoomOut()
 {
     if (isZoomOutPossible()) {
         DetailsModeSettings* settings = DolphinSettings::instance().detailsModeSettings();
-        // TODO: get rid of K3Icon sizes
         switch (settings->iconSize()) {
-        case K3Icon::SizeLarge:  settings->setIconSize(K3Icon::SizeMedium); break;
-        case K3Icon::SizeMedium: settings->setIconSize(K3Icon::SizeSmall); break;
+        case KIconLoader::SizeLarge:  settings->setIconSize(KIconLoader::SizeMedium); break;
+        case KIconLoader::SizeMedium: settings->setIconSize(KIconLoader::SizeSmall); break;
         default: Q_ASSERT(false); break;
         }
         updateDecorationSize();
@@ -459,13 +479,13 @@ void DolphinDetailsView::configureColumns(const QPoint& pos)
 bool DolphinDetailsView::isZoomInPossible() const
 {
     DetailsModeSettings* settings = DolphinSettings::instance().detailsModeSettings();
-    return settings->iconSize() < K3Icon::SizeLarge;
+    return settings->iconSize() < KIconLoader::SizeLarge;
 }
 
 bool DolphinDetailsView::isZoomOutPossible() const
 {
     DetailsModeSettings* settings = DolphinSettings::instance().detailsModeSettings();
-    return settings->iconSize() > K3Icon::SizeSmall;
+    return settings->iconSize() > KIconLoader::SizeSmall;
 }
 
 void DolphinDetailsView::updateDecorationSize()