summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Owens <doctormo@gmail.com>2014-01-08 21:54:06 +0000
committerMartin Owens <doctormo@gmail.com>2014-01-08 21:54:06 +0000
commit4aaff709f6ceebac5903502da1ff55be55871cdc (patch)
treea9c0eed8616624b71bbafea984a6e137b9755a3e
parentAdd id switch to unsymbol to stop clones from being deleted. (diff)
downloadinkscape-4aaff709f6ceebac5903502da1ff55be55871cdc.tar.gz
inkscape-4aaff709f6ceebac5903502da1ff55be55871cdc.zip
Rebuild symbols collection if opening or closing documents.
(bzr r12900)
-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();