mirror of
https://github.com/qTox/qTox.git
synced 2024-03-22 14:00:36 +08:00
add copy to selection buffer (middle mouse-button issue #6)
This commit is contained in:
parent
5ec3a2db85
commit
e86b03b4f7
|
@ -180,6 +180,16 @@ void ChatLog::mousePressEvent(QMouseEvent* ev)
|
||||||
if(!isOverSelection(scenePos))
|
if(!isOverSelection(scenePos))
|
||||||
clearSelection();
|
clearSelection();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef Q_OS_LINUX
|
||||||
|
if(ev->button() == Qt::MiddleButton)
|
||||||
|
{
|
||||||
|
copySelectedText(true);
|
||||||
|
|
||||||
|
if(!isOverSelection(scenePos))
|
||||||
|
clearSelection();
|
||||||
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void ChatLog::mouseReleaseEvent(QMouseEvent* ev)
|
void ChatLog::mouseReleaseEvent(QMouseEvent* ev)
|
||||||
|
@ -528,13 +538,13 @@ void ChatLog::clear()
|
||||||
updateSceneRect();
|
updateSceneRect();
|
||||||
}
|
}
|
||||||
|
|
||||||
void ChatLog::copySelectedText() const
|
void ChatLog::copySelectedText(bool toSelectionBuffer) const
|
||||||
{
|
{
|
||||||
QString text = getSelectedText();
|
QString text = getSelectedText();
|
||||||
QClipboard* clipboard = QApplication::clipboard();
|
QClipboard* clipboard = QApplication::clipboard();
|
||||||
|
|
||||||
if(clipboard && !text.isNull())
|
if(clipboard && !text.isNull())
|
||||||
clipboard->setText(text);
|
clipboard->setText(text, toSelectionBuffer ? QClipboard::Selection : QClipboard::Clipboard);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ChatLog::setBusyNotification(ChatLine::Ptr notification)
|
void ChatLog::setBusyNotification(ChatLine::Ptr notification)
|
||||||
|
|
|
@ -43,7 +43,7 @@ public:
|
||||||
void insertChatlineOnTop(const QList<ChatLine::Ptr>& newLines);
|
void insertChatlineOnTop(const QList<ChatLine::Ptr>& newLines);
|
||||||
void clearSelection();
|
void clearSelection();
|
||||||
void clear();
|
void clear();
|
||||||
void copySelectedText() const;
|
void copySelectedText(bool toSelectionBuffer = false) const;
|
||||||
void setBusyNotification(ChatLine::Ptr notification);
|
void setBusyNotification(ChatLine::Ptr notification);
|
||||||
void setTypingNotification(ChatLine::Ptr notification);
|
void setTypingNotification(ChatLine::Ptr notification);
|
||||||
void setTypingNotificationVisible(bool visible);
|
void setTypingNotificationVisible(bool visible);
|
||||||
|
|
Loading…
Reference in New Issue
Block a user