1 #pragma once
2 
3 #include "pajlada/signals/signalholder.hpp"
4 #include "singletons/Updates.hpp"
5 #include "widgets/BaseWindow.hpp"
6 #include "widgets/Label.hpp"
7 
8 class QPushButton;
9 
10 namespace chatterino {
11 
12 class UpdateDialog : public BaseWindow
13 {
14 public:
15     enum Button { Dismiss, Install };
16 
17     UpdateDialog();
18 
19     pajlada::Signals::Signal<Button> buttonClicked;
20 
21 private:
22     void updateStatusChanged(Updates::Status status);
23 
24     struct {
25         Label *label = nullptr;
26         QPushButton *installButton = nullptr;
27     } ui_;
28 
29     pajlada::Signals::SignalHolder connections_;
30 };
31 
32 }  // namespace chatterino
33