diff --git a/src/gui/model/project.cpp b/src/gui/model/project.cpp index 843351cc3..cc7dd6b84 100644 --- a/src/gui/model/project.cpp +++ b/src/gui/model/project.cpp @@ -43,7 +43,7 @@ Project::~Project() } -const std::list< shared_ptr >& +lumiera::observable_list< boost::shared_ptr >& Project::get_sequences() { return sequences; @@ -55,14 +55,6 @@ Project::add_new_sequence(Glib::ustring name) shared_ptr sequence(new Sequence()); sequence->set_name(name); sequences.push_back(sequence); - sequenceListChangedSignal.emit(); - -} - -sigc::signal& -Project::signal_sequence_list_changed() -{ - return sequenceListChangedSignal; } } // namespace model diff --git a/src/gui/model/project.hpp b/src/gui/model/project.hpp index cb7945204..c943496f4 100644 --- a/src/gui/model/project.hpp +++ b/src/gui/model/project.hpp @@ -28,6 +28,7 @@ #define PROJECT_HPP #include "sequence.hpp" +#include "../../common/observable-list.hpp" namespace gui { namespace model { @@ -39,18 +40,14 @@ public: ~Project(); - const std::list< boost::shared_ptr >& get_sequences(); + lumiera::observable_list< boost::shared_ptr >& + get_sequences(); void add_new_sequence(Glib::ustring name); -public: - sigc::signal& signal_sequence_list_changed(); - private: - std::list< boost::shared_ptr > sequences; - - sigc::signal sequenceListChangedSignal; + lumiera::observable_list< boost::shared_ptr > sequences; }; } // namespace model diff --git a/src/gui/panels/timeline-panel.cpp b/src/gui/panels/timeline-panel.cpp index dca7df7d5..9572ae8e6 100644 --- a/src/gui/panels/timeline-panel.cpp +++ b/src/gui/panels/timeline-panel.cpp @@ -65,7 +65,7 @@ TimelinePanel::TimelinePanel(model::Project *const owner_project) : // mem_fun(this, &TimelinePanel::on_playback_period_drag_released)); // Hook up notifications - project->signal_sequence_list_changed().connect( + project->get_sequences().signal_changed().connect( mem_fun(this, &TimelinePanel::on_sequence_list_changed)); // Setup the notebook