]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/dolphincolumnview.cpp
* No need to reload all tags when one is deleted.
[dolphin.git] / src / dolphincolumnview.cpp
index ac131497e5a20608aa232c0d50a82c8f90f210c3..6d265c01fac932c910a9a749b10da09f570a7b20 100644 (file)
@@ -85,13 +85,12 @@ DolphinColumnView::DolphinColumnView(QWidget* parent,
         m_font = KGlobalSettings::generalFont();
     } else {
         m_font = QFont(settings->fontFamily(),
-                       settings->fontSize(),
+                       qRound(settings->fontSize()),
                        settings->fontWeight(),
                        settings->italicFont());
+        m_font.setPointSizeF(settings->fontSize());
     }
 
-    activate();
-
     connect(this, SIGNAL(viewportEntered()),
             m_container->m_controller, SLOT(emitViewportEntered()));
     connect(this, SIGNAL(entered(const QModelIndex&)),
@@ -131,7 +130,7 @@ DolphinColumnView::DolphinColumnView(QWidget* parent,
 
     const QString nameFilter = controller->nameFilter();
     if (!nameFilter.isEmpty()) {
-        m_proxyModel->setFilterRegExp(nameFilter);
+        m_proxyModel->setFilterFixedString(nameFilter);
     }
 
     updateDecorationSize(dolphinView->showPreview());
@@ -192,6 +191,22 @@ KFileItem DolphinColumnView::itemAt(const QPoint& pos) const
     return item;
 }
 
+void DolphinColumnView::setSelectionModel(QItemSelectionModel* model)
+{
+    // If a change of the selection is done although the view is not active
+    // (e. g. by the selection markers), the column must be activated. This
+    // is done by listening to the current selectionChanged() signal.
+    if (selectionModel() != 0) {
+        disconnect(selectionModel(), SIGNAL(selectionChanged(QItemSelection, QItemSelection)),
+                   this, SLOT(requestActivation()));
+    }
+
+    QListView::setSelectionModel(model);
+
+    connect(selectionModel(), SIGNAL(selectionChanged(QItemSelection, QItemSelection)),
+            this, SLOT(requestActivation()));
+}
+
 QStyleOptionViewItem DolphinColumnView::viewOptions() const
 {
     QStyleOptionViewItem viewOptions = QListView::viewOptions();
@@ -320,13 +335,7 @@ void DolphinColumnView::keyPressEvent(QKeyEvent* event)
 
 void DolphinColumnView::contextMenuEvent(QContextMenuEvent* event)
 {
-    if (!m_active) {
-        m_container->requestActivation(this);
-        Q_ASSERT(m_container->m_controller->itemView() == this);
-        m_container->m_controller->triggerUrlChangeRequest(m_url);
-    }
-    Q_ASSERT(m_active);
-
+    requestActivation();
     QListView::contextMenuEvent(event);
     m_container->m_controller->triggerContextMenuRequest(event->pos());
 }
@@ -376,11 +385,8 @@ void DolphinColumnView::slotEntered(const QModelIndex& index)
 
 void DolphinColumnView::requestActivation()
 {
-    m_container->m_controller->setItemView(this);
-    m_container->m_controller->requestActivation();
     if (!m_active) {
         m_container->requestActivation(this);
-        m_container->m_controller->triggerUrlChangeRequest(m_url);
         selectionModel()->clear();
     }
 }