X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/f0e54ea52b3934bbb64b4d43a8c7dcdfd6b50de7..3beca2e7f1fa88015dabaa2a492b4763736cb589:/src/dolphincolumnview.cpp diff --git a/src/dolphincolumnview.cpp b/src/dolphincolumnview.cpp index 8a1453ce1..6d265c01f 100644 --- a/src/dolphincolumnview.cpp +++ b/src/dolphincolumnview.cpp @@ -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()); } @@ -347,15 +356,6 @@ void DolphinColumnView::leaveEvent(QEvent* event) m_container->m_controller->emitViewportEntered(); } -void DolphinColumnView::selectionChanged(const QItemSelection& selected, const QItemSelection& deselected) -{ - QListView::selectionChanged(selected, deselected); - - //QItemSelectionModel* selModel = m_container->selectionModel(); - //selModel->select(selected, QItemSelectionModel::Select); - //selModel->select(deselected, QItemSelectionModel::Deselect); -} - void DolphinColumnView::currentChanged(const QModelIndex& current, const QModelIndex& previous) { QListView::currentChanged(current, previous); @@ -385,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(); } }