summaryrefslogtreecommitdiffstats
path: root/src/gui/BreadCrumbs.cpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2017-12-16 17:57:49 +0100
committerDavid Robillard <d@drobilla.net>2017-12-16 18:05:19 +0100
commit7513e0b53a36e96b9e1fa1884b78077a95da3081 (patch)
treefc96befa9b2c2f5255ada0d589c524e22626c16d /src/gui/BreadCrumbs.cpp
parent2b88ebdcb7a438a8419ab6a815742b115b2dce03 (diff)
downloadingen-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.cpp12
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) {