diff options
| author | Peter Penz <[email protected]> | 2008-02-21 12:49:11 +0000 |
|---|---|---|
| committer | Peter Penz <[email protected]> | 2008-02-21 12:49:11 +0000 |
| commit | 188754a3e5b298683b88fbe6786c524c172ed6a9 (patch) | |
| tree | d17b3f04bf2fe17c380862ec3f9b28f090ca9cd2 /src/dolphincolumnwidget.cpp | |
| parent | e287058acb772b55b679a694062361d3fb0e8f89 (diff) | |
Let the DolphinController be aware on which QAbstractItemView instance he is working. This allows to connect signals from the view implementations (icons view, details view, column view) directly to the slots of the DolphinController without a helper slot.
svn path=/trunk/KDE/kdebase/apps/; revision=777737
Diffstat (limited to 'src/dolphincolumnwidget.cpp')
| -rw-r--r-- | src/dolphincolumnwidget.cpp | 26 |
1 files changed, 14 insertions, 12 deletions
diff --git a/src/dolphincolumnwidget.cpp b/src/dolphincolumnwidget.cpp index 6f4f10d36..ca4db00c7 100644 --- a/src/dolphincolumnwidget.cpp +++ b/src/dolphincolumnwidget.cpp @@ -277,7 +277,8 @@ void DolphinColumnWidget::dragMoveEvent(QDragMoveEvent* event) m_dropRect.setSize(QSize()); // set as invalid if (index.isValid()) { - const KFileItem item = m_view->m_controller->itemForIndex(index, this); + m_view->m_controller->setItemView(this); + const KFileItem item = m_view->m_controller->itemForIndex(index); if (!item.isNull() && item.isDir()) { m_dropRect = visualRect(index); } @@ -295,7 +296,8 @@ void DolphinColumnWidget::dropEvent(QDropEvent* event) const KUrl::List urls = KUrl::List::fromMimeData(event->mimeData()); if (!urls.isEmpty()) { const QModelIndex index = indexAt(event->pos()); - const KFileItem item = m_view->m_controller->itemForIndex(index, this); + m_view->m_controller->setItemView(this); + const KFileItem item = m_view->m_controller->itemForIndex(index); m_view->m_controller->indicateDroppedUrls(urls, url(), item); @@ -344,13 +346,15 @@ void DolphinColumnWidget::mousePressEvent(QMouseEvent* event) void DolphinColumnWidget::keyPressEvent(QKeyEvent* event) { QListView::keyPressEvent(event); - m_view->m_controller->handleKeyPressEvent(event, this); + Q_ASSERT(m_view->m_controller->itemView() == this); + m_view->m_controller->handleKeyPressEvent(event); } void DolphinColumnWidget::contextMenuEvent(QContextMenuEvent* event) { if (!m_active) { m_view->requestActivation(this); + Q_ASSERT(m_view->m_controller->itemView() == this); m_view->m_controller->triggerUrlChangeRequest(m_url); } @@ -361,6 +365,7 @@ void DolphinColumnWidget::contextMenuEvent(QContextMenuEvent* event) // Only open a context menu above an item or if the mouse is above // the active column. const QPoint pos = m_view->viewport()->mapFromGlobal(event->globalPos()); + Q_ASSERT(m_view->m_controller->itemView() == this); m_view->m_controller->triggerContextMenuRequest(pos); } } @@ -370,7 +375,7 @@ void DolphinColumnWidget::wheelEvent(QWheelEvent* event) // let Ctrl+wheel events propagate to the DolphinView for icon zooming if ((event->modifiers() & Qt::ControlModifier) == Qt::ControlModifier) { event->ignore(); - return; + return; } QListView::wheelEvent(event); } @@ -384,14 +389,10 @@ void DolphinColumnWidget::selectionChanged(const QItemSelection& selected, const selModel->select(deselected, QItemSelectionModel::Deselect); } -void DolphinColumnWidget::triggerItem(const QModelIndex& index) -{ - m_view->m_controller->triggerItem(index, this); -} - void DolphinColumnWidget::slotEntered(const QModelIndex& index) { - m_view->m_controller->emitItemEntered(index, this); + m_view->m_controller->setItemView(this); + m_view->m_controller->emitItemEntered(index); } void DolphinColumnWidget::requestActivation() @@ -402,6 +403,7 @@ void DolphinColumnWidget::requestActivation() m_view->m_controller->triggerUrlChangeRequest(m_url); selectionModel()->clear(); } + Q_ASSERT(m_view->m_controller->itemView() == this); } void DolphinColumnWidget::updateFont() @@ -423,10 +425,10 @@ void DolphinColumnWidget::activate() // necessary connecting the signal 'singleClick()' or 'doubleClick'. if (KGlobalSettings::singleClick()) { connect(this, SIGNAL(clicked(const QModelIndex&)), - this, SLOT(triggerItem(const QModelIndex&))); + m_view->m_controller, SLOT(triggerItem(const QModelIndex&))); } else { connect(this, SIGNAL(doubleClicked(const QModelIndex&)), - this, SLOT(triggerItem(const QModelIndex&))); + m_view->m_controller, SLOT(triggerItem(const QModelIndex&))); } if (selectionModel() && selectionModel()->currentIndex().isValid()) |
