open un-writable sessions without complaining, and desensitize all/most actions that...
[ardour.git] / gtk2_ardour / location_ui.h
index 4c6b2da8e2370b241b7ec606139e6f71c81d1b77..3c32f02025fffa08b60fff8591beefa24b4be771 100644 (file)
@@ -15,7 +15,6 @@
     along with this program; if not, write to the Free Software
     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 
-    $Id$
 */
 
 #ifndef __ardour_location_ui_h__
@@ -32,7 +31,6 @@
 #include <ardour/session.h>
 
 #include "ardour_dialog.h"
-#include "keyboard_target.h"
 
 namespace ARDOUR {
        class LocationStack;
@@ -52,6 +50,7 @@ class LocationEditRow  : public Gtk::HBox
        void set_session (ARDOUR::Session *);
 
        void set_number (int);
+       void focus_name();
        
        sigc::signal<void,ARDOUR::Location*> remove_requested;  
        sigc::signal<void> redraw_ranges;  
@@ -116,6 +115,7 @@ class LocationEditRow  : public Gtk::HBox
        void go_button_pressed (LocationPart part);
 
        void clock_changed (LocationPart part);
+       void change_aborted (LocationPart part);
 
        void cd_toggled ();
        void hide_toggled ();
@@ -147,14 +147,14 @@ class LocationUI : public ArdourDialog
 
        void set_session (ARDOUR::Session *);
 
-  private:
-
-
-       ARDOUR::LocationStack          *locations;
+       void on_show();
 
+  private:
+       ARDOUR::LocationStack* locations;
+       ARDOUR::Location *newest_location;
+        
        void session_gone();
 
-
        Gtk::VBox  location_vpacker;
        Gtk::HBox  location_hpacker;
 
@@ -197,6 +197,9 @@ class LocationUI : public ArdourDialog
        void location_removed (ARDOUR::Location *);
        void location_added (ARDOUR::Location *);
        void map_locations (ARDOUR::Locations::LocationList&);
+
+  protected:
+       bool on_delete_event (GdkEventAny*);
 };
 
 #endif // __ardour_location_ui_h__