diff options
| author | Martin Owens <doctormo@gmail.com> | 2014-01-08 21:54:06 +0000 |
|---|---|---|
| committer | Martin Owens <doctormo@gmail.com> | 2014-01-08 21:54:06 +0000 |
| commit | 4aaff709f6ceebac5903502da1ff55be55871cdc (patch) | |
| tree | a9c0eed8616624b71bbafea984a6e137b9755a3e /src/ui | |
| parent | Add id switch to unsymbol to stop clones from being deleted. (diff) | |
| download | inkscape-4aaff709f6ceebac5903502da1ff55be55871cdc.tar.gz inkscape-4aaff709f6ceebac5903502da1ff55be55871cdc.zip | |
Rebuild symbols collection if opening or closing documents.
(bzr r12900)
Diffstat (limited to 'src/ui')
| -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(); |
