diff --git a/src/controllers/notifications/NotificationController.cpp b/src/controllers/notifications/NotificationController.cpp index 2b68b130f..653db98c9 100644 --- a/src/controllers/notifications/NotificationController.cpp +++ b/src/controllers/notifications/NotificationController.cpp @@ -180,8 +180,13 @@ void NotificationController::getFakeTwitchChannelLiveStatus( getApp()->notifications->playSound(); } if (getSettings()->notificationFlashTaskbar) { - QApplication::alert( - getApp()->windows->getMainWindow().window(), 2500); + if (getSettings()->longAlerts) { + QApplication::alert( + getApp()->windows->getMainWindow().window(), 0); + } else { + QApplication::alert( + getApp()->windows->getMainWindow().window(), 2500); + } } } return Success; diff --git a/src/providers/twitch/TwitchChannel.cpp b/src/providers/twitch/TwitchChannel.cpp index a219ce690..55d9b6506 100644 --- a/src/providers/twitch/TwitchChannel.cpp +++ b/src/providers/twitch/TwitchChannel.cpp @@ -408,8 +408,14 @@ void TwitchChannel::setLive(bool newLiveStatus) getApp()->notifications->playSound(); } if (getSettings()->notificationFlashTaskbar) { - QApplication::alert( - getApp()->windows->getMainWindow().window(), 2500); + if (getSettings()->longAlerts) { + QApplication::alert( + getApp()->windows->getMainWindow().window(), 0); + } else { + QApplication::alert( + getApp()->windows->getMainWindow().window(), + 2500); + } } } auto live = makeSystemMessage(this->getName() + " is live"); diff --git a/src/providers/twitch/TwitchMessageBuilder.cpp b/src/providers/twitch/TwitchMessageBuilder.cpp index 7589d54d0..16c967b1a 100644 --- a/src/providers/twitch/TwitchMessageBuilder.cpp +++ b/src/providers/twitch/TwitchMessageBuilder.cpp @@ -788,8 +788,13 @@ void TwitchMessageBuilder::parseHighlights(bool isPastMsg) } if (doAlert) { - QApplication::alert(getApp()->windows->getMainWindow().window(), - 2500); + if (getSettings()->longAlerts) { + QApplication::alert( + getApp()->windows->getMainWindow().window(), 0); + } else { + QApplication::alert( + getApp()->windows->getMainWindow().window(), 2500); + } } } } diff --git a/src/singletons/Settings.hpp b/src/singletons/Settings.hpp index 5a2fae91a..491b0db81 100644 --- a/src/singletons/Settings.hpp +++ b/src/singletons/Settings.hpp @@ -117,7 +117,8 @@ public: BoolSetting enableLowercaseLink = {"/links/linkLowercase", true}; /// Ignored phrases - QStringSetting ignoredPhraseReplace = {"/ignore/ignoredPhraseReplace", "***"}; + QStringSetting ignoredPhraseReplace = {"/ignore/ignoredPhraseReplace", + "***"}; /// Ingored Users BoolSetting enableTwitchIgnoredUsers = {"/ignore/enableTwitchIgnoredUsers", @@ -143,6 +144,8 @@ public: "/highlighting/whisperHighlight/enableTaskbarFlashing", false}; QStringSetting highlightColor = {"/highlighting/color", "#4B282C"}; + BoolSetting longAlerts = {"/highlighting/alerts", false}; + /// Logging BoolSetting enableLogging = {"/logging/enabled", false}; diff --git a/src/widgets/settingspages/HighlightingPage.cpp b/src/widgets/settingspages/HighlightingPage.cpp index 8d8ce400d..eb49b3452 100644 --- a/src/widgets/settingspages/HighlightingPage.cpp +++ b/src/widgets/settingspages/HighlightingPage.cpp @@ -149,6 +149,9 @@ HighlightingPage::HighlightingPage() layout.append(createCheckBox(ALWAYS_PLAY, getSettings()->highlightAlwaysPlaySound)); + layout.append(createCheckBox( + "Flash taskbar only stops highlighting when chatterino is focused", + getSettings()->longAlerts)); } // ---- misc