diff options
| author | bulia byak <buliabyak@gmail.com> | 2006-05-10 04:03:48 +0000 |
|---|---|---|
| committer | buliabyak <buliabyak@users.sourceforge.net> | 2006-05-10 04:03:48 +0000 |
| commit | b94896a8e7b3a034d89175129231c0f10945ed4e (patch) | |
| tree | dd09bf99803788dab63f4d9080024865ce41cf9d /src | |
| parent | added new tutorials (diff) | |
| download | inkscape-b94896a8e7b3a034d89175129231c0f10945ed4e.tar.gz inkscape-b94896a8e7b3a034d89175129231c0f10945ed4e.zip | |
patch 1484602 by Niko Kiirala
(bzr r802)
Diffstat (limited to 'src')
| -rw-r--r-- | src/selection-chemistry.cpp | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/src/selection-chemistry.cpp b/src/selection-chemistry.cpp index 2be0b9282..43ff53a7c 100644 --- a/src/selection-chemistry.cpp +++ b/src/selection-chemistry.cpp @@ -1225,6 +1225,7 @@ void sp_selection_to_next_layer () const GSList *items = g_slist_copy ((GSList *) selection->itemList()); + bool no_more = false; // Set to true, if no more layers above SPObject *next=Inkscape::next_layer(dt->currentRoot(), dt->currentLayer()); if (next) { GSList *temp_clip = NULL; @@ -1236,13 +1237,18 @@ void sp_selection_to_next_layer () copied = sp_selection_paste_impl (sp_desktop_document (dt), next, &temp_clip, NULL); } else { copied = sp_selection_paste_impl (sp_desktop_document (dt), dt->currentLayer(), &temp_clip, NULL); + no_more = true; } selection->setReprList((GSList const *) copied); g_slist_free (copied); if (temp_clip) g_slist_free (temp_clip); - dt->setCurrentLayer(next); + if (next) dt->setCurrentLayer(next); sp_document_done(sp_desktop_document (dt)); } else { + no_more = true; + } + + if (no_more) { dt->messageStack()->flash(Inkscape::WARNING_MESSAGE, _("No more layers above.")); } @@ -1263,6 +1269,7 @@ void sp_selection_to_prev_layer () const GSList *items = g_slist_copy ((GSList *) selection->itemList()); + bool no_more = false; // Set to true, if no more layers below SPObject *next=Inkscape::previous_layer(dt->currentRoot(), dt->currentLayer()); if (next) { GSList *temp_clip = NULL; @@ -1274,13 +1281,18 @@ void sp_selection_to_prev_layer () copied = sp_selection_paste_impl (sp_desktop_document (dt), next, &temp_clip, NULL); } else { copied = sp_selection_paste_impl (sp_desktop_document (dt), dt->currentLayer(), &temp_clip, NULL); + no_more = true; } selection->setReprList((GSList const *) copied); g_slist_free (copied); if (temp_clip) g_slist_free (temp_clip); - dt->setCurrentLayer(next); + if (next) dt->setCurrentLayer(next); sp_document_done(sp_desktop_document (dt)); } else { + no_more = true; + } + + if (no_more) { dt->messageStack()->flash(Inkscape::WARNING_MESSAGE, _("No more layers below.")); } |
