#include "bufferview.h"
#include "chatitem.h"
#include "chatlinemodel.h"
+#include "contextmenuactionprovider.h"
#include "iconloader.h"
#include "mainwin.h"
#include "qtui.h"
}
void ChatItem::mouseReleaseEvent(QGraphicsSceneMouseEvent *event) {
- if(_selectionMode != NoSelection && !event->buttons() & Qt::LeftButton) {
+ if(_selectionMode != NoSelection && event->button() == Qt::LeftButton) {
chatScene()->selectionToClipboard(QClipboard::Selection);
event->accept();
} else
}
void ChatItem::addActionsToMenu(QMenu *menu, const QPointF &pos) {
- Q_UNUSED(menu);
Q_UNUSED(pos);
+ GraphicalUi::contextMenuActionProvider()->addActions(menu, chatScene()->filter(), data(MessageModel::BufferIdRole).value<BufferId>());
}
// ************************************************************
}
void ContentsChatItem::addActionsToMenu(QMenu *menu, const QPointF &pos) {
- Q_UNUSED(pos); // we assume that the current mouse cursor pos is the point of invocation
-
if(privateData()->currentClickable.isValid()) {
Clickable click = privateData()->currentClickable;
switch(click.type) {
foreach(QAction *action, menu->actions())
action->setVisible(false);
QString name = data(ChatLineModel::DisplayRole).toString().mid(click.start, click.length);
- Client::mainUi()->actionProvider()->addActions(menu, chatScene()->filter(), data(MessageModel::BufferIdRole).value<BufferId>(), name);
+ GraphicalUi::contextMenuActionProvider()->addActions(menu, chatScene()->filter(), data(MessageModel::BufferIdRole).value<BufferId>(), name);
break;
}
default:
break;
}
} else {
-
// Buffer-specific actions
- Client::mainUi()->actionProvider()->addActions(menu, chatScene()->filter(), data(MessageModel::BufferIdRole).value<BufferId>());
+ ChatItem::addActionsToMenu(menu, pos);
}
}