Chatterino
Toasts.hpp
Go to the documentation of this file.
1 #pragma once
2 
3 #include "Application.hpp"
4 #include "common/Singleton.hpp"
5 
6 #include <pajlada/settings/setting.hpp>
7 
8 namespace chatterino {
9 
10 enum class Platform : uint8_t;
11 
12 enum class ToastReaction {
13  OpenInBrowser = 0,
14  OpenInPlayer = 1,
15  OpenInStreamlink = 2,
16  DontOpen = 3
17 };
18 
19 class Toasts final : public Singleton
20 {
21 public:
22  void sendChannelNotification(const QString &channelName,
23  const QString &channelTitle, Platform p);
24  static QString findStringFromReaction(const ToastReaction &reaction);
25  static QString findStringFromReaction(
26  const pajlada::Settings::Setting<int> &reaction);
27  static std::map<ToastReaction, QString> reactionToString;
28 
29  static bool isEnabled();
30 
31 private:
32 #ifdef Q_OS_WIN
33  void sendWindowsNotification(const QString &channelName,
34  const QString &channelTitle, Platform p);
35 #endif
36 };
37 } // namespace chatterino
ToastReaction
Definition: Toasts.hpp:12
Definition: Singleton.hpp:10
static std::map< ToastReaction, QString > reactionToString
Definition: Toasts.hpp:27
Definition: Application.cpp:48
Definition: Toasts.hpp:19
Platform
Definition: NotificationController.hpp:16