diff options
Diffstat (limited to 'src/libs/gui')
-rw-r--r-- | src/libs/gui/App.cpp | 17 | ||||
-rw-r--r-- | src/libs/gui/App.hpp | 1 |
2 files changed, 16 insertions, 2 deletions
diff --git a/src/libs/gui/App.cpp b/src/libs/gui/App.cpp index 46737d01..8b3013ad 100644 --- a/src/libs/gui/App.cpp +++ b/src/libs/gui/App.cpp @@ -186,6 +186,9 @@ App::attach(SharedPtr<EngineInterface> engine, SharedPtr<SigClientInterface> cli _loader = SharedPtr<ThreadedLoader>(new ThreadedLoader(engine)); _patch_tree_window->init(*_store); + + _client->signal_response_error.connect(sigc::mem_fun(this, &App::error_response)); + _client->signal_error.connect(sigc::mem_fun(this, &App::error_message)); } @@ -205,11 +208,21 @@ App::detach() void +App::error_response(int32_t id, const string& str) +{ + error_message(str); +} + + +void App::error_message(const string& str) { _messages_window->post(str); - _messages_window->show(); - _messages_window->raise(); + + if (!_messages_window->is_visible()) + _messages_window->present(); + + _messages_window->set_urgency_hint(true); } diff --git a/src/libs/gui/App.hpp b/src/libs/gui/App.hpp index bfe58f53..6bb7083b 100644 --- a/src/libs/gui/App.hpp +++ b/src/libs/gui/App.hpp @@ -136,6 +136,7 @@ protected: App(Ingen::Shared::World* world); bool animate(); + void error_response(int32_t id, const string& str); static void* icon_destroyed(void* data); |