feat: add search engine selection and context menu search functionality (#6743)
Reviewed-by: pajlada <rasmus.karlsson@pajlada.com>
This commit is contained in:
@@ -66,6 +66,7 @@
|
||||
#include <QPainter>
|
||||
#include <QScreen>
|
||||
#include <QStringBuilder>
|
||||
#include <QUrl>
|
||||
#include <QVariantAnimation>
|
||||
|
||||
#include <algorithm>
|
||||
@@ -2710,6 +2711,25 @@ void ChannelView::addMessageContextMenuItems(QMenu *menu,
|
||||
}
|
||||
}
|
||||
|
||||
// Add search action when text is selected and search feature is enabled
|
||||
if (!this->selection_.isEmpty() && getSettings()->searchEnabled.getValue())
|
||||
{
|
||||
QString searchURL = getSettings()->searchEngineUrl.getValue();
|
||||
QString searchName = getSettings()->searchEngineName.getValue();
|
||||
|
||||
if (!searchURL.isEmpty())
|
||||
{
|
||||
QString actionText =
|
||||
searchName.isEmpty() ? "&Search" : "&Search with " + searchName;
|
||||
|
||||
menu->addAction(actionText, [this, searchURL] {
|
||||
QString query = this->getSelectedText().trimmed();
|
||||
QString encodedQuery = QUrl::toPercentEncoding(query);
|
||||
QDesktopServices::openUrl(QUrl(searchURL + encodedQuery));
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
auto *twitchChannel =
|
||||
dynamic_cast<TwitchChannel *>(this->underlyingChannel_.get());
|
||||
if (!layout->getMessage()->id.isEmpty() && twitchChannel &&
|
||||
|
||||
Reference in New Issue
Block a user