From 437e28d328fd12bc757245cb8aa5039172811661 Mon Sep 17 00:00:00 2001 From: Sergei Izmailov Date: Mon, 27 May 2019 00:59:36 +0300 Subject: feature: Allow effect extensions to disable working dialog Effect extensions with custom GUI don't need 'effect is working' dialog window which distracts from effect main window. New "suppress-working-dialog" optional attribute added to effect node of `.inx` file. --- src/extension/effect.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src/extension/effect.cpp') diff --git a/src/extension/effect.cpp b/src/extension/effect.cpp index f69ece42f..618b6f84a 100644 --- a/src/extension/effect.cpp +++ b/src/extension/effect.cpp @@ -63,6 +63,9 @@ Effect::Effect (Inkscape::XML::Node * in_repr, Implementation::Implementation * if (child->attribute("needs-live-preview") && !strcmp(child->attribute("needs-live-preview"), "false")) { no_live_preview = true; } + if (child->attribute("suppress-working-dialog") && !strcmp(child->attribute("suppress-working-dialog"), "true")) { + _workingDialog = false; + } for (Inkscape::XML::Node *effect_child = child->firstChild(); effect_child != nullptr; effect_child = effect_child->next()) { if (!strcmp(effect_child->name(), INKSCAPE_EXTENSION_NS "effects-menu")) { // printf("Found local effects menu in %s\n", this->get_name()); @@ -269,7 +272,7 @@ Effect::effect (Inkscape::UI::View::View * doc) if (!loaded()) set_state(Extension::STATE_LOADED); if (!loaded()) return; - ExecutionEnv executionEnv(this, doc); + ExecutionEnv executionEnv(this, doc, nullptr, _workingDialog, true); execution_env = &executionEnv; timer->lock(); executionEnv.run(); -- cgit v1.2.3