diff options
author | David Robillard <d@drobilla.net> | 2017-12-16 17:57:49 +0100 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2017-12-16 18:05:19 +0100 |
commit | 7513e0b53a36e96b9e1fa1884b78077a95da3081 (patch) | |
tree | fc96befa9b2c2f5255ada0d589c524e22626c16d /src/gui/BreadCrumbs.cpp | |
parent | 2b88ebdcb7a438a8419ab6a815742b115b2dce03 (diff) | |
download | ingen-7513e0b53a36e96b9e1fa1884b78077a95da3081.tar.gz ingen-7513e0b53a36e96b9e1fa1884b78077a95da3081.tar.bz2 ingen-7513e0b53a36e96b9e1fa1884b78077a95da3081.zip |
Add Message struct and remove tons of interface boilerplate
Diffstat (limited to 'src/gui/BreadCrumbs.cpp')
-rw-r--r-- | src/gui/BreadCrumbs.cpp | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/gui/BreadCrumbs.cpp b/src/gui/BreadCrumbs.cpp index 447b06ba..c62a1e06 100644 --- a/src/gui/BreadCrumbs.cpp +++ b/src/gui/BreadCrumbs.cpp @@ -33,8 +33,8 @@ BreadCrumbs::BreadCrumbs(App& app) , _full_path("/") , _enable_signal(true) { - app.client()->signal_object_deleted().connect( - sigc::mem_fun(this, &BreadCrumbs::object_destroyed)); + app.client()->signal_message().connect( + sigc::mem_fun(this, &BreadCrumbs::message)); set_can_focus(false); } @@ -180,6 +180,14 @@ BreadCrumbs::breadcrumb_clicked(BreadCrumb* crumb) } void +BreadCrumbs::message(const Message& msg) +{ + if (const Del* const del = boost::get<Del>(&msg)) { + object_destroyed(del->uri); + } +} + +void BreadCrumbs::object_destroyed(const Raul::URI& uri) { for (auto i = _breadcrumbs.begin(); i != _breadcrumbs.end(); ++i) { |