diff --git a/src/psirosterwidget.cpp b/src/psirosterwidget.cpp index 5a9d683c..928a4b13 100644 --- a/src/psirosterwidget.cpp +++ b/src/psirosterwidget.cpp @@ -151,6 +151,7 @@ PsiRosterWidget::PsiRosterWidget(QWidget *parent) : connect(filterPageView_, SIGNAL(quitFilteringMode()), SLOT(quitFilteringMode())); filterPageView_->installEventFilter(this); filterPageLayout->addWidget(filterPageView_); + connect(filterPageView_, &ContactListView::contactSelected, this, &PsiRosterWidget::contactPick); } PsiRosterWidget::~PsiRosterWidget() { } @@ -317,6 +318,8 @@ void PsiRosterWidget::setPickContactMode(bool value) filterPageView_->setActivateAction(value ? ContactListView::SignalSelected : ContactListView::Activate); } +QList PsiRosterWidget::selectedContacts() const { return {}; } + void PsiRosterWidget::clearFilterEdit() { if (filterEdit_->text().isEmpty() && !pickContactMode_) diff --git a/src/psirosterwidget.h b/src/psirosterwidget.h index 7ef85d67..63c9ecb1 100644 --- a/src/psirosterwidget.h +++ b/src/psirosterwidget.h @@ -41,7 +41,8 @@ class PsiRosterWidget : public QWidget { void setContactList(PsiContactList *contactList); - void setPickContactMode(bool); + void setPickContactMode(bool); + QList selectedContacts() const; signals: void contactPick(PsiContact *); diff --git a/themes/chatview/psi/bubble/index.html b/themes/chatview/psi/bubble/index.html index 468040de..a888250c 100644 --- a/themes/chatview/psi/bubble/index.html +++ b/themes/chatview/psi/bubble/index.html @@ -134,6 +134,9 @@ function setupContextMenu() { chatMenu.addItemProvider((event) => { + if (event.target.href || getSelection().toString()) { + return []; // C++ will handle this + } const isNick = event.target.classList.contains("nick"); let msgNode = undefined; let msgGroup = isNick? event.target.parentElement.parentElement : event.target; diff --git a/version b/version index 9defa7a9..7bc67533 100644 --- a/version +++ b/version @@ -1 +1 @@ -1.5.2038 (2024-07-11, 34299372) +1.5.2039 (2024-07-11, 449720c1)