diff --git a/chatterino.pro b/chatterino.pro index f13ae1139..c0fa05981 100644 --- a/chatterino.pro +++ b/chatterino.pro @@ -339,6 +339,7 @@ HEADERS += \ src/widgets/AccountSwitchPopupWidget.hpp \ src/widgets/AccountSwitchWidget.hpp \ src/widgets/AttachedWindow.hpp \ + src/widgets/CommonTexts.hpp \ src/widgets/dialogs/EmotePopup.hpp \ src/widgets/dialogs/LastRunCrashDialog.hpp \ src/widgets/dialogs/LoginDialog.hpp \ diff --git a/src/singletons/Settings.hpp b/src/singletons/Settings.hpp index 17ff94637..34252c8c7 100644 --- a/src/singletons/Settings.hpp +++ b/src/singletons/Settings.hpp @@ -4,6 +4,7 @@ #include "controllers/highlights/HighlightPhrase.hpp" #include "controllers/moderationactions/ModerationAction.hpp" +#include "widgets/helper/CommonTexts.hpp" #include #include @@ -172,7 +173,8 @@ public: "qrc:/sounds/ping3.wav"}; BoolSetting notificationToast = {"/notifications/enableToast", false}; - QStringSetting openFromToast = {"/notifications/openFromToast", "in browser"}; + QStringSetting openFromToast = {"/notifications/openFromToast", + OPEN_IN_BROWSER}; /// External tools // Streamlink diff --git a/src/singletons/Toasts.cpp b/src/singletons/Toasts.cpp index 9ccefbb3d..e2f396e91 100644 --- a/src/singletons/Toasts.cpp +++ b/src/singletons/Toasts.cpp @@ -9,6 +9,7 @@ #include "providers/twitch/TwitchServer.hpp" #include "singletons/Paths.hpp" #include "util/StreamLink.hpp" +#include "widgets/helper/CommonTexts.hpp" #ifdef Q_OS_WIN @@ -88,7 +89,7 @@ public: { QString openingMode = getSettings()->openFromToast; QString link; - if (openingMode == "in browser") + if (openingMode == OPEN_IN_BROWSER) { if (platform_ == Platform::Twitch) { @@ -96,7 +97,7 @@ public: } QDesktopServices::openUrl(QUrl(link)); } - else if (openingMode == "player in browser") + else if (openingMode == OPEN_PLAYER_IN_BROWSER) { if (platform_ == Platform::Twitch) { @@ -104,12 +105,12 @@ public: } QDesktopServices::openUrl(QUrl(link)); } - else if (openingMode == "in streamlink") + else if (openingMode == OPEN_IN_STREAMLINK) { - openStreamlinkForChannel(channelName_); + openStreamlinkForChannel(channelName_); } - //the fourth and last option is "don't open" - //in this case obviously nothing should happen + // the fourth and last option is "don't open" + // in this case obviously nothing should happen } void toastActivated(int actionIndex) const @@ -135,10 +136,12 @@ void Toasts::sendWindowsNotification(const QString &channelName, Platform p) templ.setTextField(widestr, WinToastLib::WinToastTemplate::FirstLine); - if (getSettings()->openFromToast != "don't open") { - QString mode = getSettings()->openFromToast ; + if (getSettings()->openFromToast != DONT_OPEN) + { + QString mode = getSettings()->openFromToast; + mode = mode.toLower(); - templ.setTextField(L"Click here to open " + mode.toStdWString(), + templ.setTextField(L"Click here to " + mode.toStdWString(), WinToastLib::WinToastTemplate::SecondLine); } diff --git a/src/widgets/helper/CommonTexts.hpp b/src/widgets/helper/CommonTexts.hpp new file mode 100644 index 000000000..c5ea14091 --- /dev/null +++ b/src/widgets/helper/CommonTexts.hpp @@ -0,0 +1,10 @@ +#ifndef COMMONTEXTS_HPP +#define COMMONTEXTS_HPP + +#define OPEN_IN_BROWSER "Open in browser" +#define OPEN_PLAYER_IN_BROWSER "Open in player in browser" +#define OPEN_IN_STREAMLINK "Open in streamlink" +#define DONT_OPEN "Don't open" + + +#endif // COMMONTEXTS_HPP diff --git a/src/widgets/settingspages/NotificationPage.cpp b/src/widgets/settingspages/NotificationPage.cpp index c1f5fd84e..69a25ea7d 100644 --- a/src/widgets/settingspages/NotificationPage.cpp +++ b/src/widgets/settingspages/NotificationPage.cpp @@ -5,6 +5,7 @@ #include "controllers/notifications/NotificationModel.hpp" #include "singletons/Settings.hpp" #include "util/LayoutCreator.hpp" +#include "widgets/helper/CommonTexts.hpp" #include "widgets/helper/EditableModelView.hpp" #include @@ -17,10 +18,6 @@ #include #include - -#define TOAST_REACTIONS \ -"in browser", "player in browser", "in streamlink", "don't open" - namespace chatterino { NotificationPage::NotificationPage() @@ -43,17 +40,20 @@ NotificationPage::NotificationPage() settings.append( this->createCheckBox("Enable toasts (Windows 8 or later)", getSettings()->notificationToast)); - auto openIn = - settings.emplace().withoutMargin(); + auto openIn = settings.emplace().withoutMargin(); { - openIn.emplace("Open stream from Toast: ")->setSizePolicy( - QSizePolicy::Maximum, QSizePolicy::Preferred); - openIn.append( - this->createComboBox({TOAST_REACTIONS}, - getSettings()->openFromToast))->setSizePolicy( - QSizePolicy::Maximum, QSizePolicy::Preferred); + openIn.emplace("Open stream from Toast: ") + ->setSizePolicy(QSizePolicy::Maximum, + QSizePolicy::Preferred); + openIn + .append(this->createComboBox( + {OPEN_IN_BROWSER, OPEN_PLAYER_IN_BROWSER, + OPEN_IN_STREAMLINK, DONT_OPEN}, + getSettings()->openFromToast)) + ->setSizePolicy(QSizePolicy::Maximum, + QSizePolicy::Preferred); } - openIn->setContentsMargins(40,0,0,0); + openIn->setContentsMargins(40, 0, 0, 0); openIn->setSizeConstraint(QLayout::SetMaximumSize); #endif auto customSound = diff --git a/src/widgets/splits/SplitHeader.cpp b/src/widgets/splits/SplitHeader.cpp index 0ba3ca728..8f4baa179 100644 --- a/src/widgets/splits/SplitHeader.cpp +++ b/src/widgets/splits/SplitHeader.cpp @@ -15,6 +15,7 @@ #include "widgets/Label.hpp" #include "widgets/TooltipWidget.hpp" #include "widgets/dialogs/SettingsDialog.hpp" +#include "widgets/helper/CommonTexts.hpp" #include "widgets/helper/EffectLabel.hpp" #include "widgets/splits/Split.hpp" #include "widgets/splits/SplitContainer.hpp" @@ -268,13 +269,12 @@ std::unique_ptr SplitHeader::createMainMenu() }); #endif - menu->addAction("Open in browser", this->split_, &Split::openInBrowser); + menu->addAction(OPEN_IN_BROWSER, this->split_, &Split::openInBrowser); #ifndef USEWEBENGINE - menu->addAction("Open player in browser", this->split_, + menu->addAction(OPEN_PLAYER_IN_BROWSER, this->split_, &Split::openBrowserPlayer); #endif - menu->addAction("Open in streamlink", this->split_, - &Split::openInStreamlink); + menu->addAction(OPEN_IN_STREAMLINK, this->split_, &Split::openInStreamlink); menu->addSeparator(); // sub menu