fix #6588. use ardour-codename only for Ardour.
[ardour.git] / gtk2_ardour / session_dialog.h
index ac4c1a7925b853729b2b5ec8f4f40c44c435b727..b2896c6b219772b8fe1bad0d44587ee7c3872bea 100644 (file)
@@ -47,12 +47,16 @@ class EngineControl;
 
 class SessionDialog : public ArdourDialog {
   public:
-        SessionDialog (bool require_new, const std::string& session_name, const std::string& session_path, const std::string& template_name);
+        SessionDialog (bool require_new, const std::string& session_name, const std::string& session_path, 
+                      const std::string& template_name, bool cancel_not_quit);
+        SessionDialog ();
        ~SessionDialog ();
 
+        void clear_given ();
+
        std::string session_name (bool& should_be_new);
        std::string session_folder ();
-
+    
        bool use_session_template();
        std::string session_template_name();
 
@@ -86,9 +90,12 @@ class SessionDialog : public ArdourDialog {
 
         bool back_button_pressed (GdkEventButton*);
 
+        Gtk::Frame info_frame;
+
        /* initial choice page */
 
        void setup_initial_choice_box ();
+       void setup_recent_sessions ();
        Gtk::VBox ic_vbox;
        Gtk::Button ic_new_session_button;
         void new_session_button_clicked ();
@@ -99,7 +106,7 @@ class SessionDialog : public ArdourDialog {
 
        struct RecentSessionsSorter {
            bool operator() (std::pair<std::string,std::string> a, std::pair<std::string,std::string> b) const {
-                   return cmp_nocase(a.first, b.first) == -1;
+                   return ARDOUR::cmp_nocase(a.first, b.first) == -1;
            }
        };
 
@@ -108,10 +115,18 @@ class SessionDialog : public ArdourDialog {
                    add (visible_name);
                    add (tip);
                    add (fullpath);
+                   add (sample_rate);
+                   add (disk_format);
+                   add (time_modified);
+                   add (time_formatted);
            }
            Gtk::TreeModelColumn<std::string> visible_name;
            Gtk::TreeModelColumn<std::string> tip;
            Gtk::TreeModelColumn<std::string> fullpath;
+           Gtk::TreeModelColumn<std::string> sample_rate;
+           Gtk::TreeModelColumn<std::string> disk_format;
+           Gtk::TreeModelColumn<int64_t>     time_modified;
+           Gtk::TreeModelColumn<std::string> time_formatted;
        };
 
        RecentSessionModelColumns    recent_session_columns;
@@ -122,6 +137,7 @@ class SessionDialog : public ArdourDialog {
        Gtk::FileChooserButton       existing_session_chooser;
        int redisplay_recent_sessions ();
        void recent_session_row_selected ();
+       void recent_session_sort_changed ();
        void recent_row_activated (const Gtk::TreePath& path, Gtk::TreeViewColumn* col);
 
        void existing_session_selected ();