summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorbulia byak <buliabyak@gmail.com>2006-05-10 04:03:48 +0000
committerbuliabyak <buliabyak@users.sourceforge.net>2006-05-10 04:03:48 +0000
commitb94896a8e7b3a034d89175129231c0f10945ed4e (patch)
treedd09bf99803788dab63f4d9080024865ce41cf9d /src
parentadded new tutorials (diff)
downloadinkscape-b94896a8e7b3a034d89175129231c0f10945ed4e.tar.gz
inkscape-b94896a8e7b3a034d89175129231c0f10945ed4e.zip
patch 1484602 by Niko Kiirala
(bzr r802)
Diffstat (limited to 'src')
-rw-r--r--src/selection-chemistry.cpp16
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."));
}