Add stacked lanes mode which displays regions on different layers at different positi...
[ardour.git] / gtk2_ardour / sfdb_ui.h
index c8a0d316a5c5fa4509da2764d6a9c2b80c5a2e51..34c3f558bbd8cd245ce98e746df6964fbdf75d67 100644 (file)
 #include <gtkmm/box.h>
 #include <gtkmm/button.h>
 #include <gtkmm/checkbutton.h>
+#include <gtkmm/comboboxtext.h>
 #include <gtkmm/dialog.h>
 #include <gtkmm/entry.h>
 #include <gtkmm/filechooserwidget.h>
-#include <gtkmm/comboboxtext.h>
 #include <gtkmm/frame.h>
 #include <gtkmm/label.h>
 
@@ -70,7 +70,6 @@ class SoundFileBox : public Gtk::VBox
        
        Gtk::VBox main_box;
        Gtk::VBox path_box;
-       Gtk::HBox top_box;
        Gtk::HBox bottom_box;
        
        Gtk::Button play_btn;
@@ -89,15 +88,39 @@ class SoundFileBrowser : public ArdourDialog
 {
   public:
        SoundFileBrowser (std::string title, ARDOUR::Session* _s = 0);
-       virtual ~SoundFileBrowser () {}; 
+       virtual ~SoundFileBrowser ();
        
        virtual void set_session (ARDOUR::Session*);
 
   protected:
        Gtk::FileChooserWidget chooser;
+       Gtk::FileFilter custom_filter;
+       Gtk::FileFilter matchall_filter;
        SoundFileBox preview;
+
+       static Glib::ustring persistent_folder;
+
+       class FoundTagColumns : public Gtk::TreeModel::ColumnRecord
+       {
+         public:
+               Gtk::TreeModelColumn<string> pathname;
+               
+               FoundTagColumns() { add(pathname); }
+       };
+       
+       FoundTagColumns found_list_columns;
+       Glib::RefPtr<Gtk::ListStore> found_list;
+       Gtk::TreeView found_list_view;
+       Gtk::Entry found_entry;
+       Gtk::Button found_search_btn;
+
+       Gtk::Notebook notebook;
        
        void update_preview ();
+       void found_list_view_selected ();
+       void found_search_clicked ();
+       
+       bool on_custom (const Gtk::FileFilter::Info& filter_info);
 };
 
 class SoundFileChooser : public SoundFileBrowser
@@ -106,7 +129,7 @@ class SoundFileChooser : public SoundFileBrowser
        SoundFileChooser (std::string title, ARDOUR::Session* _s = 0);
        virtual ~SoundFileChooser () {};
        
-       std::string get_filename () {return chooser.get_filename();};
+       std::string get_filename ();
 };
 
 class SoundFileOmega : public SoundFileBrowser