]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/dolphiniconsview.cpp
assure that the widgets of the panels are resized after receiving the Polish event
[dolphin.git] / src / dolphiniconsview.cpp
index e06b7b3780aea508c7a2a9e993b3e0dff4006495..a8188d9717e09fc0264df175cf2c164f0a775440 100644 (file)
@@ -78,8 +78,6 @@ DolphinIconsView::DolphinIconsView(QWidget* parent,
             controller, SLOT(emitItemEntered(const QModelIndex&)));
     connect(this, SIGNAL(viewportEntered()),
             controller, SLOT(emitViewportEntered()));
-    connect(controller, SIGNAL(nameFilterChanged(const QString&)),
-            this, SLOT(setNameFilter(const QString&)));
     connect(controller, SIGNAL(zoomLevelChanged(int)),
             this, SLOT(setZoomLevel(int)));
 
@@ -122,8 +120,8 @@ DolphinIconsView::DolphinIconsView(QWidget* parent,
     connect(KGlobalSettings::self(), SIGNAL(settingsChanged(int)),
             this, SLOT(slotGlobalSettingsChanged(int)));
 
-    m_extensionsFactory = new ViewExtensionsFactory(this, controller);
     updateGridSize(view->showPreview(), 0);
+    m_extensionsFactory = new ViewExtensionsFactory(this, controller);
 }
 
 DolphinIconsView::~DolphinIconsView()
@@ -148,6 +146,7 @@ QStyleOptionViewItem DolphinIconsView::viewOptions() const
 {
     QStyleOptionViewItem viewOptions = KCategorizedView::viewOptions();
     viewOptions.font = m_font;
+    viewOptions.fontMetrics = QFontMetrics(m_font);
     viewOptions.decorationPosition = m_decorationPosition;
     viewOptions.decorationSize = m_decorationSize;
     viewOptions.displayAlignment = m_displayAlignment;
@@ -201,12 +200,14 @@ void DolphinIconsView::dragEnterEvent(QDragEnterEvent* event)
 
 void DolphinIconsView::dragLeaveEvent(QDragLeaveEvent* event)
 {
-    Q_UNUSED(event);
+    KCategorizedView::dragLeaveEvent(event);
     setDirtyRegion(m_dropRect);
 }
 
 void DolphinIconsView::dragMoveEvent(QDragMoveEvent* event)
 {
+    KCategorizedView::dragMoveEvent(event);
+
     // TODO: remove this code when the issue #160611 is solved in Qt 4.4
     const QModelIndex index = indexAt(event->pos());
     setDirtyRegion(m_dropRect);
@@ -233,6 +234,8 @@ void DolphinIconsView::dropEvent(QDropEvent* event)
     const QModelIndex index = indexAt(event->pos());
     const KFileItem item = m_controller->itemForIndex(index);
     m_controller->indicateDroppedUrls(item, m_controller->url(), event);
+    // don't call KCategorizedView::dropEvent(event), as it moves
+    // the items which is not wanted
 }
 
 QModelIndex DolphinIconsView::moveCursor(CursorAction cursorAction, Qt::KeyboardModifiers modifiers)
@@ -316,14 +319,8 @@ void DolphinIconsView::keyPressEvent(QKeyEvent* event)
 
 void DolphinIconsView::wheelEvent(QWheelEvent* event)
 {
-    // let Ctrl+wheel events propagate to the DolphinView for icon zooming
-    if (event->modifiers() & Qt::ControlModifier) {
-        event->ignore();
-        return;
-    }
-
-    horizontalScrollBar()->setSingleStep(m_itemSize.width() / 10);
-    verticalScrollBar()->setSingleStep(m_itemSize.height() / 10);
+    horizontalScrollBar()->setSingleStep(m_itemSize.width() / 5);
+    verticalScrollBar()->setSingleStep(m_itemSize.height() / 5);
 
     KCategorizedView::wheelEvent(event);
     // if the icons are aligned left to right, the vertical wheel event should
@@ -384,12 +381,6 @@ void DolphinIconsView::slotAdditionalInfoChanged()
     updateGridSize(showPreview, view->additionalInfo().count());
 }
 
-void DolphinIconsView::setNameFilter(const QString& nameFilter)
-{
-    DolphinSortFilterProxyModel* proxyModel = static_cast<DolphinSortFilterProxyModel*>(model());
-    proxyModel->setFilterRegExp(nameFilter);
-}
-
 void DolphinIconsView::setZoomLevel(int level)
 {
     IconsModeSettings* settings = DolphinSettings::instance().iconsModeSettings();