diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2010-11-09 06:03:51 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2010-11-09 06:03:51 +0000 |
commit | 5c6ba165f684fbd45be33c83d41083567d4dd88f (patch) | |
tree | b3108d53b3a82fb1ea522038fe4500e0c38349bb /gtk2_ardour/search_path_option.h | |
parent | d29f14bf33bc807be7b95015e4f011f4ad741cc6 (diff) |
initial pass at a missing file dialog and "relocatable" source files. lots more to do here
git-svn-id: svn://localhost/ardour2/branches/3.0@7983 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/search_path_option.h')
-rw-r--r-- | gtk2_ardour/search_path_option.h | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/gtk2_ardour/search_path_option.h b/gtk2_ardour/search_path_option.h new file mode 100644 index 0000000000..7163924b8c --- /dev/null +++ b/gtk2_ardour/search_path_option.h @@ -0,0 +1,50 @@ +#ifndef __gtk_ardour_search_path_option_h__ +#define __gtk_ardour_search_path_option_h__ + +#include <string> + +#include <gtkmm/filechooserbutton.h> +#include <gtkmm/entry.h> +#include <gtkmm/button.h> +#include <gtkmm/box.h> + +#include "option_editor.h" + +class SearchPathOption : public Option +{ + public: + SearchPathOption (const std::string& pathname, const std::string& label, + sigc::slot<std::string>, sigc::slot<bool, std::string>); + ~SearchPathOption (); + + void set_state_from_config (); + void add_to_page (OptionEditorPage*); + void clear (); + + protected: + sigc::slot<std::string> _get; ///< slot to get the configuration variable's value + sigc::slot<bool, std::string> _set; ///< slot to set the configuration variable's value + + struct PathEntry { + PathEntry (const std::string& path, bool removable=true); + + Gtk::Entry entry; + Gtk::Button remove_button; + Gtk::HBox box; + + std::string path; + }; + + std::list<PathEntry*> paths; + Gtk::FileChooserButton add_chooser; + Gtk::VBox vbox; + Gtk::VBox path_box; + Gtk::Label session_label; + + void add_path (const std::string& path, bool removable=true); + void remove_path (const std::string& path); + void changed (); + void path_chosen (); +}; + +#endif /* __gtk_ardour_search_path_option_h__ */ |