#include <QClipboard>
#include <QDir>
+Qt::MouseButtons DolphinController::m_mouseButtons = Qt::NoButton;
+
DolphinController::DolphinController(DolphinView* dolphinView) :
QObject(dolphinView),
m_zoomLevel(0),
- m_mouseButtons(Qt::NoButton),
m_url(),
m_dolphinView(dolphinView),
m_itemView(0)
if (m_itemView != 0) {
m_zoomLevel = ZoomLevelInfo::zoomLevelForIconSize(m_itemView->iconSize());
-
+
// TODO: this is a workaround until Qt-issue 176832 has been fixed
connect(m_itemView, SIGNAL(pressed(const QModelIndex&)),
this, SLOT(updateMouseButtonState()));
}
}
-void DolphinController::triggerContextMenuRequest(const QPoint& pos)
+void DolphinController::triggerContextMenuRequest(const QPoint& pos,
+ const QList<QAction*>& customActions)
{
emit activated();
- emit requestContextMenu(pos);
+ emit requestContextMenu(pos, customActions);
}
void DolphinController::requestActivation()
const QItemSelectionModel* selModel = m_itemView->selectionModel();
const QModelIndex currentIndex = selModel->currentIndex();
const bool trigger = currentIndex.isValid()
- && (event->key() == Qt::Key_Return)
+ && ((event->key() == Qt::Key_Return)
+ || (event->key() == Qt::Key_Enter))
&& (selModel->selectedIndexes().count() > 0);
if (trigger) {
const QModelIndexList indexList = selModel->selectedIndexes();
foreach (const QModelIndex& index, indexList) {
- triggerItem(index);
+ emit itemTriggered(itemForIndex(index));
}
}
}
emit hideToolTip();
}
+void DolphinController::emitItemTriggered(const KFileItem& item)
+{
+ emit itemTriggered(item);
+}
+
KFileItem DolphinController::itemForIndex(const QModelIndex& index) const
{
Q_ASSERT(m_itemView != 0);
m_itemView->clearSelection();
emit itemEntered(KFileItem());
}
- m_mouseButtons = Qt::NoButton;
- } else if (m_mouseButtons & Qt::RightButton) {
- m_mouseButtons = Qt::NoButton;
}
}
if (validRequest) {
emit tabRequested(item.url());
}
- m_mouseButtons = Qt::NoButton;
- } else if (m_mouseButtons & Qt::RightButton) {
- m_mouseButtons = Qt::NoButton;
}
}