Make sure that tests are rebuilt even when only their headers change.
[ardour.git] / gtk2_ardour / session_metadata_dialog.cc
index 62ea31918c665882a7c848b7524358c1812e321f..f93c57abe4489dae451235eaed54a6565154776d 100644 (file)
@@ -22,7 +22,6 @@
 #include <sstream>
 
 #include <gtkmm2ext/utils.h>
-#include <gtkmm2ext/window_title.h>
 
 #include "pbd/xml++.h"
 #include "ardour/session.h"
@@ -217,7 +216,6 @@ NumberMetadataField::str_to_uint (ustring const & str) const
 SessionMetadataSet::SessionMetadataSet (ustring const & name) :
   name (name)
 {
-       session = 0;
 }
 
 void
@@ -248,9 +246,13 @@ SessionMetadataSetEditable::get_tab_widget ()
 void
 SessionMetadataSetEditable::set_session (ARDOUR::Session * s)
 {
-       session = s;
+       SessionHandlePtr::set_session (s);
 
-       ARDOUR::SessionMetadata const & data = session->metadata();
+       if (!_session) {
+               return;
+       }
+
+       ARDOUR::SessionMetadata const & data = _session->metadata();
 
        table.resize (list.size(), 2);
        uint32_t row = 0;
@@ -267,7 +269,7 @@ SessionMetadataSetEditable::set_session (ARDOUR::Session * s)
 void
 SessionMetadataSetEditable::save_data ()
 {
-       ARDOUR::SessionMetadata & data = session->metadata();
+       ARDOUR::SessionMetadata & data = _session->metadata();
        for (DataList::const_iterator it = list.begin(); it != list.end(); ++it) {
                (*it)->save_data(data);
        }
@@ -301,8 +303,6 @@ SessionMetadataSetImportable::SessionMetadataSetImportable (ustring const & name
        tree_view.append_column (*viewcol);
 
        select_all_check.signal_toggled().connect (sigc::mem_fun(*this, &SessionMetadataSetImportable::select_all));
-
-       session = 0;
 }
 
 Gtk::Widget &
@@ -322,12 +322,12 @@ SessionMetadataSetImportable::get_select_all_widget ()
 void
 SessionMetadataSetImportable::load_extra_data (ARDOUR::SessionMetadata const & data)
 {
-       if (!session) {
+       if (!_session) {
                std::cerr << "Programming error: no session set for SessionMetaDataSetImportable (in load_data)!" << std::endl;
                return;
        }
 
-       ARDOUR::SessionMetadata & session_data = session->metadata();
+       ARDOUR::SessionMetadata & session_data = _session->metadata();
 
        MetadataPtr session_field;
        MetadataPtr import_field;
@@ -370,12 +370,12 @@ SessionMetadataSetImportable::load_extra_data (ARDOUR::SessionMetadata const & d
 void
 SessionMetadataSetImportable::save_data ()
 {
-       if (!session) {
+       if (!_session) {
                std::cerr << "Programming error: no session set for SessionMetaDataSetImportable (in import_data)!" << std::endl;
                return;
        }
 
-       ARDOUR::SessionMetadata & session_data = session->metadata();
+       ARDOUR::SessionMetadata & session_data = _session->metadata();
 
        Gtk::TreeModel::Children fields = tree->children();
        Gtk::TreeModel::Children::iterator it;
@@ -417,16 +417,16 @@ SessionMetadataDialog<DataSet>::SessionMetadataDialog (ustring const & name) :
   ArdourDialog (name, true)
 {
        cancel_button = add_button (Gtk::Stock::CANCEL, Gtk::RESPONSE_CANCEL);
-       cancel_button->signal_clicked().connect (mem_fun(*this, &SessionMetadataDialog::end_dialog));
+       cancel_button->signal_clicked().connect (sigc::mem_fun(*this, &SessionMetadataDialog::end_dialog));
        save_button = add_button (Gtk::Stock::SAVE, Gtk::RESPONSE_ACCEPT);
-       save_button->signal_clicked().connect (mem_fun(*this, &SessionMetadataDialog::save_and_close));
+       save_button->signal_clicked().connect (sigc::mem_fun(*this, &SessionMetadataDialog::save_and_close));
 }
 
 template <typename DataSet>
 void
 SessionMetadataDialog<DataSet>::init_data ()
 {
-       if (!session) {
+       if (!_session) {
                std::cerr << "Programming error: no session set for SessionMetaDataDialog (in init_data)!" << std::endl;
                return;
        }
@@ -436,7 +436,7 @@ SessionMetadataDialog<DataSet>::init_data ()
        init_people_data ();
 
        for (DataSetList::iterator it = data_list.begin(); it != data_list.end(); ++it) {
-               (*it)->set_session (session);
+               (*it)->set_session (_session);
 
                notebook.append_page ((*it)->get_widget(), (*it)->get_tab_widget());
        }
@@ -615,7 +615,7 @@ SessionMetadataDialog<DataSet>::init_people_data ()
 /* SessionMetadataEditor */
 
 SessionMetadataEditor::SessionMetadataEditor () :
-  SessionMetadataDialog<SessionMetadataSetEditable> (_("Edit session metadata"))
+  SessionMetadataDialog<SessionMetadataSetEditable> (_("Edit Session Metadata"))
 {
 
 }
@@ -660,7 +660,7 @@ SessionMetadataImporter::~SessionMetadataImporter ()
 void
 SessionMetadataImporter::run ()
 {
-       if (!session) {
+       if (!_session) {
                std::cerr << "Programming error: no session set for SessionMetaDataImporter (in run)!" << std::endl;
                return;
        }
@@ -674,7 +674,7 @@ SessionMetadataImporter::run ()
 
        Gtk::FileFilter session_filter;
        session_filter.add_pattern ("*.ardour");
-       session_filter.set_name (_("Ardour sessions"));
+       session_filter.set_name (string_compose (_("%1 sessions"), PROGRAM_NAME));
        session_selector.add_filter (session_filter);
        session_selector.set_filter (session_filter);
 
@@ -705,7 +705,7 @@ SessionMetadataImporter::run ()
        string filename = Glib::build_filename (path, name + ".ardour");
        XMLTree session_tree;
        if (!session_tree.read (filename)) {
-               warn_user (_("A proper ardour session file was not selected!"));
+               warn_user (_("This session file could not be read!"));
                return;
        }