diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/ui/dialog/symbols.cpp | 9 | ||||
| -rw-r--r-- | src/ui/dialog/symbols.h | 1 |
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(); |
