missing dialog cleanups and logic improvements
[ardour.git] / gtk2_ardour / missing_file_dialog.h
1 #ifndef __gtk_ardour_missing_file_dialog_h__
2 #define __gtk_ardour_missing_file_dialog_h__
3
4 #include <string>
5 #include <gtkmm/label.h>
6 #include <gtkmm/filechooserbutton.h>
7 #include <gtkmm/radiobutton.h>
8
9 #include "ardour/types.h"
10
11 #include "ardour_dialog.h"
12
13 namespace ARDOUR {
14         class Session;
15 }
16
17 class MissingFileDialog : public ArdourDialog
18 {
19   public:
20         MissingFileDialog (ARDOUR::Session*, const std::string& path, ARDOUR::DataType type);
21
22         int get_action();
23
24   private:
25         ARDOUR::DataType filetype;
26
27         Gtk::FileChooserButton chooser;
28         Gtk::RadioButton use_chosen;
29         Gtk::RadioButton::Group choice_group;
30         Gtk::RadioButton use_chosen_and_no_more_questions;
31         Gtk::RadioButton stop_loading_button;
32         Gtk::RadioButton all_missing_ok;
33         Gtk::RadioButton this_missing_ok;
34         Gtk::Label msg;
35
36         void add_chosen ();
37 };
38
39 #endif /* __gtk_ardour_missing_file_dialog_h__ */