a more reliable/robust/less complex version of previous commit
[ardour.git] / gtk2_ardour / session_import_dialog.h
index 4144d07c880d27da5c050a7c7e8f4544cc466b2b..b31751115f4ede5d4641a45248209a14739517fc 100644 (file)
 #include <gtkmm.h>
 
 #include "pbd/xml++.h"
-#include "ardour/element_importer.h"
-#include "ardour/element_import_handler.h"
 
 #include "ardour_dialog.h"
-
 namespace ARDOUR {
+       class ElementImportHandler;
+       class ElementImporter;
        class Session;
 }
 
@@ -48,7 +47,7 @@ class SessionImportDialog : public ArdourDialog
        typedef std::list<ElementPtr> ElementList;
 
   public:
-       SessionImportDialog (ARDOUR::Session & target);
+       SessionImportDialog (ARDOUR::Session* target);
 
        virtual Gtk::FileChooserAction browse_action() const { return Gtk::FILE_CHOOSER_ACTION_OPEN; }
 
@@ -68,7 +67,6 @@ class SessionImportDialog : public ArdourDialog
        // Data
        HandlerList        handlers;
        XMLTree            tree;
-       ARDOUR::Session   &target;
 
        // GUI
        Gtk::Frame                    file_frame;
@@ -94,6 +92,8 @@ class SessionImportDialog : public ArdourDialog
 
        Gtk::Button*                  ok_button;
        Gtk::Button*                  cancel_button;
+
+       PBD::ScopedConnectionList connections;
 };
 
 #endif