summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/ui/dialog/symbols.cpp9
-rw-r--r--src/ui/dialog/symbols.h1
2 files changed, 10 insertions, 0 deletions
diff --git a/src/ui/dialog/symbols.cpp b/src/ui/dialog/symbols.cpp
index 6427eb9cc..f5d275c90 100644
--- a/src/ui/dialog/symbols.cpp
+++ b/src/ui/dialog/symbols.cpp
@@ -271,6 +271,10 @@ SymbolsDialog::SymbolsDialog( gchar const* prefsPath ) :
sigc::mem_fun(*this, &SymbolsDialog::selectionChanged));
instanceConns.push_back(selectionChangedConn);
+ sigc::connection documentReplacedConn = currentDesktop->connectDocumentReplaced(
+ sigc::mem_fun(*this, &SymbolsDialog::documentReplaced));
+ instanceConns.push_back(documentReplacedConn);
+
get_symbols();
draw_symbols( currentDocument ); /* Defaults to current document */
@@ -378,6 +382,11 @@ void SymbolsDialog::selectionChanged(Inkscape::Selection *selection) {
}
}
+void SymbolsDialog::documentReplaced(SPDesktop *desktop, SPDocument *document)
+{
+ rebuild();
+}
+
SPDocument* SymbolsDialog::selectedSymbols() {
/* OK, we know symbol name... now we need to copy it to clipboard, bon chance! */
Glib::ustring symbolSetString = symbolSet->get_active_text();
diff --git a/src/ui/dialog/symbols.h b/src/ui/dialog/symbols.h
index 54b1a3ab0..074af6764 100644
--- a/src/ui/dialog/symbols.h
+++ b/src/ui/dialog/symbols.h
@@ -72,6 +72,7 @@ private:
void revertSymbol();
void defsModified(SPObject *object, guint flags);
void selectionChanged(Inkscape::Selection *selection);
+ void documentReplaced(SPDesktop *desktop, SPDocument *document);
SPDocument* selectedSymbols();
Glib::ustring selectedSymbolId();
void iconChanged();