X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;ds=inline;f=src%2Fapplication%2Feditor.cpp;h=8f9638f82f40555caad580524ee5d711893be7a1;hb=99fae8b11f74e464ad0f55a7bfcc02933c4c1747;hp=6c3dbf896480564d0dab720bbd7da20f93320caf;hpb=6b15695578f07a3f72c4c9475c1a261a3021472a;p=inkscape.git diff --git a/src/application/editor.cpp b/src/application/editor.cpp index 6c3dbf896..8f9638f82 100644 --- a/src/application/editor.cpp +++ b/src/application/editor.cpp @@ -55,7 +55,7 @@ Editor::create (gint argc, char **argv) return _instance; } -Editor::Editor (gint argc, char **argv) +Editor::Editor (gint /*argc*/, char **argv) : _documents (0), _desktops (0), _argv0 (argv[0]), @@ -100,7 +100,7 @@ SPDocument* Editor::getActiveDocument() { if (getActiveDesktop()) { - return SP_DT_DOCUMENT (getActiveDesktop()); + return sp_desktop_document (getActiveDesktop()); } return NULL; @@ -109,15 +109,19 @@ Editor::getActiveDocument() void Editor::addDocument (SPDocument *doc) { - g_assert (!g_slist_find (_instance->_documents, doc)); - _instance->_documents = g_slist_append (_instance->_documents, doc); + if ( _instance->_document_set.find(doc) == _instance->_document_set.end() ) { + _instance->_documents = g_slist_append (_instance->_documents, doc); + } + _instance->_document_set.insert(doc); } void Editor::removeDocument (SPDocument *doc) { - g_assert (g_slist_find (_instance->_documents, doc)); - _instance->_documents = g_slist_remove (_instance->_documents, doc); + _instance->_document_set.erase(doc); + if ( _instance->_document_set.find(doc) == _instance->_document_set.end() ) { + _instance->_documents = g_slist_remove (_instance->_documents, doc); + } } SPDesktop* @@ -153,9 +157,9 @@ Editor::addDesktop (SPDesktop *dt) if (isDesktopActive (dt)) { _instance->_desktop_activated_signal.emit (dt); - _instance->_event_context_set_signal.emit (SP_DT_EVENTCONTEXT (dt)); - _instance->_selection_set_signal.emit (SP_DT_SELECTION (dt)); - _instance->_selection_changed_signal.emit (SP_DT_SELECTION (dt)); + _instance->_event_context_set_signal.emit (sp_desktop_event_context (dt)); + _instance->_selection_set_signal.emit (sp_desktop_selection (dt)); + _instance->_selection_changed_signal.emit (sp_desktop_selection (dt)); } } @@ -173,13 +177,13 @@ Editor::removeDesktop (SPDesktop *dt) _instance->_desktops = g_slist_remove (_instance->_desktops, new_desktop); _instance->_desktops = g_slist_prepend (_instance->_desktops, new_desktop); _instance->_desktop_activated_signal.emit (new_desktop); - _instance->_event_context_set_signal.emit (SP_DT_EVENTCONTEXT (new_desktop)); - _instance->_selection_set_signal.emit (SP_DT_SELECTION (new_desktop)); - _instance->_selection_changed_signal.emit (SP_DT_SELECTION (new_desktop)); + _instance->_event_context_set_signal.emit (sp_desktop_event_context (new_desktop)); + _instance->_selection_set_signal.emit (sp_desktop_selection (new_desktop)); + _instance->_selection_changed_signal.emit (sp_desktop_selection (new_desktop)); } else { _instance->_event_context_set_signal.emit (0); - if (SP_DT_SELECTION(dt)) - SP_DT_SELECTION(dt)->clear(); + if (sp_desktop_selection(dt)) + sp_desktop_selection(dt)->clear(); } } @@ -207,9 +211,9 @@ Editor::activateDesktop (SPDesktop* dt) _instance->_desktops = g_slist_prepend (_instance->_desktops, dt); _instance->_desktop_activated_signal.emit (dt); - _instance->_event_context_set_signal.emit (SP_DT_EVENTCONTEXT(dt)); - _instance->_selection_set_signal.emit (SP_DT_SELECTION(dt)); - _instance->_selection_changed_signal.emit (SP_DT_SELECTION(dt)); + _instance->_event_context_set_signal.emit (sp_desktop_event_context(dt)); + _instance->_selection_set_signal.emit (sp_desktop_selection(dt)); + _instance->_selection_changed_signal.emit (sp_desktop_selection(dt)); } void @@ -242,7 +246,7 @@ Editor::isDuplicatedView (SPDesktop* dt) //Editor::getEventContext() //{ // if (getActiveDesktop()) { -// return SP_DT_EVENTCONTEXT (getActiveDesktop()); +// return sp_desktop_event_context (getActiveDesktop()); // } // // return NULL;