summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/extension/execution-env.cpp5
-rw-r--r--src/extension/extension.cpp14
-rw-r--r--src/extension/extension.h2
3 files changed, 20 insertions, 1 deletions
diff --git a/src/extension/execution-env.cpp b/src/extension/execution-env.cpp
index f9e099c26..a2550024a 100644
--- a/src/extension/execution-env.cpp
+++ b/src/extension/execution-env.cpp
@@ -141,7 +141,10 @@ ExecutionEnv::createWorkingDialog (void) {
true); // modal
_visibleDialog->signal_response().connect(sigc::mem_fun(this, &ExecutionEnv::workingCanceled));
g_free(dlgmessage);
- _visibleDialog->show();
+
+ if (!_effect->is_silent()){
+ _visibleDialog->show();
+ }
return;
}
diff --git a/src/extension/extension.cpp b/src/extension/extension.cpp
index e67a4b95f..a70c79943 100644
--- a/src/extension/extension.cpp
+++ b/src/extension/extension.cpp
@@ -59,6 +59,7 @@ Parameter * get_param (const gchar * name);
*/
Extension::Extension (Inkscape::XML::Node * in_repr, Implementation::Implementation * in_imp)
: _help(NULL)
+ , silent(false)
, _gui(true)
{
repr = in_repr;
@@ -105,6 +106,9 @@ Extension::Extension (Inkscape::XML::Node * in_repr, Implementation::Implementat
if (!strcmp(chname, "dependency")) {
_deps.push_back(new Dependency(child_repr));
} /* dependency */
+ if (!strcmp(chname, "options")) {
+ silent = !strcmp( child_repr->attribute("silent"), "true" );
+ }
child_repr = sp_repr_next(child_repr);
}
@@ -310,6 +314,16 @@ Extension::get_repr (void)
}
/**
+ \return bool
+ \brief Whether this extension should hide the "working, please wait" dialog
+*/
+bool
+Extension::is_silent (void)
+{
+ return silent;
+}
+
+/**
\return The textual id of this extension
\brief Get the ID of this extension - not a copy don't delete!
*/
diff --git a/src/extension/extension.h b/src/extension/extension.h
index 936d2a907..dba8eeb45 100644
--- a/src/extension/extension.h
+++ b/src/extension/extension.h
@@ -99,6 +99,7 @@ private:
state_t _state; /**< Which state the Extension is currently in */
std::vector<Dependency *> _deps; /**< Dependencies for this extension */
static std::ofstream error_file; /**< This is the place where errors get reported */
+ bool silent;
bool _gui;
protected:
@@ -120,6 +121,7 @@ public:
gchar * get_name (void);
/** \brief Gets the help string for this extension */
gchar const * get_help (void) { return _help; }
+ bool is_silent (void);
void deactivate (void);
bool deactivated (void);
void printFailure (Glib::ustring reason);