#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>());
}
// ************************************************************
for(int i = 0; i < regExpCount; i++) {
if(matches[i] < 0 || matchEnd[i] > str.length()) continue;
if(idx >= matchEnd[i]) {
- matches[i] = str.indexOf(regExp[i], qMax(matchEnd[i], idx));
+ matches[i] = regExp[i].indexIn(str, qMax(matchEnd[i], idx));
if(matches[i] >= 0) matchEnd[i] = matches[i] + regExp[i].cap(1).length();
}
if(matches[i] >= 0 && matches[i] < minidx) {
}
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);
}
}