most of the 2.X->3.0 commit (up to rev 4299) except for gtk2_ardour/editor_canvas...
[ardour.git] / gtk2_ardour / nag.h
1 #ifndef __gtk_ardour_nag_h__
2 #define __gtk_ardour_nag_h__
3
4 #include "ardour_dialog.h"
5
6 #include <gtkmm/label.h>
7 #include <gtkmm/radiobutton.h>
8 #include <gtkmm/buttonbox.h>
9
10 class NagScreen : public ArdourDialog
11 {
12   public:
13         ~NagScreen();
14         
15         static NagScreen* maybe_nag (std::string context);
16         void nag ();
17
18   private:
19         NagScreen (std::string context, bool maybe_subscriber);
20
21         Gtk::Label message;
22         Gtk::VButtonBox button_box;
23         Gtk::RadioButtonGroup button_group;
24         Gtk::RadioButton donate_button;
25         Gtk::RadioButton subscribe_button;
26         Gtk::RadioButton existing_button;
27         Gtk::RadioButton next_time_button;
28         Gtk::RadioButton never_again_button;
29
30         void mark_never_again ();
31         void mark_subscriber ();
32         void mark_affirmed_subscriber ();
33         void offer_to_donate ();
34         void offer_to_subscribe ();
35         bool open_uri (const char*);
36         static bool is_subscribed (bool& really);
37 };
38
39 #endif /* __gtk_ardour_nag_h__ */