diff --git a/CHANGELOG.md b/CHANGELOG.md index 5a7c7d26..ac058e16 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,7 +2,7 @@ ## Unversioned -- Minor: Add search engine selection for context menu search action. (#6743) +- Minor: Add search engine selection for context menu search action. (#6743, #6770) - Minor: Add a separate highlight option for watchstreak notifications. (#6571, #6581) - Minor: Badges now link to their home page like emotes in the context menu. (#6437) - Minor: Fixed usercard resizing improperly without recent messages. (#6496) diff --git a/src/singletons/Settings.hpp b/src/singletons/Settings.hpp index 013506cb..214d39cd 100644 --- a/src/singletons/Settings.hpp +++ b/src/singletons/Settings.hpp @@ -325,6 +325,10 @@ public: "/behaviour/search/engineName", "", }; + BoolSetting searchIncognito = { + "/behaviour/search/incognito", + false, + }; EnumSetting usernameRightClickBehavior = { "/behaviour/usernameRightClickBehavior", diff --git a/src/widgets/helper/ChannelView.cpp b/src/widgets/helper/ChannelView.cpp index 791cbd05..a862c04f 100644 --- a/src/widgets/helper/ChannelView.cpp +++ b/src/widgets/helper/ChannelView.cpp @@ -2722,10 +2722,24 @@ void ChannelView::addMessageContextMenuItems(QMenu *menu, QString actionText = searchName.isEmpty() ? "&Search" : "&Search with " + searchName; + if (getSettings()->searchIncognito && supportsIncognitoLinks()) + { + actionText += " in private mode"; + } + menu->addAction(actionText, [this, searchURL] { QString query = this->getSelectedText().trimmed(); QString encodedQuery = QUrl::toPercentEncoding(query); - QDesktopServices::openUrl(QUrl(searchURL + encodedQuery)); + QString url = searchURL + encodedQuery; + + if (getSettings()->searchIncognito && supportsIncognitoLinks()) + { + openLinkIncognito(url); + } + else + { + QDesktopServices::openUrl(QUrl(url)); + } }); } } diff --git a/src/widgets/settingspages/GeneralPage.cpp b/src/widgets/settingspages/GeneralPage.cpp index 23da0900..93766907 100644 --- a/src/widgets/settingspages/GeneralPage.cpp +++ b/src/widgets/settingspages/GeneralPage.cpp @@ -1284,6 +1284,13 @@ void GeneralPage::initLayout(GeneralPageView &layout) ->conditionallyEnabledBy(s.searchEnabled) ->addTo(layout); } + if (supportsIncognitoLinks()) + { + SettingWidget::checkbox("Search in incognito/private mode", + s.searchIncognito) + ->addTo(layout); + } + layout.addSubtitle("Miscellaneous"); if (supportsIncognitoLinks())