From 4eb3340b59c82f4d54d570af1399dd62ef9f19a5 Mon Sep 17 00:00:00 2001 From: Tim Redfern Date: Thu, 21 Sep 2017 13:34:10 +0100 Subject: Delete playing image + whole bank --- gui/src/chainImageSet.cpp | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) (limited to 'gui/src/chainImageSet.cpp') diff --git a/gui/src/chainImageSet.cpp b/gui/src/chainImageSet.cpp index 252e4e6..7af446f 100644 --- a/gui/src/chainImageSet.cpp +++ b/gui/src/chainImageSet.cpp @@ -260,13 +260,19 @@ void chainImageSet::keyPressed(ofKeyEventArgs &keyargs){ (*selected)->linkPos.x++; break; case OF_KEY_BACKSPACE:{ - - if (images.size()==1){ + if (images.size()==1||keyargs.modifiers==2){ + //ctrl-backspace to delete whole bank //also OF_KEY_DEL ? images.clear(); filename.clear(); break; } + + bool setCurrent=false; + if (currentImage==selected){ + //we are deleting the playing image + setCurrent=true; + } auto previous=selected; if (previous==images.begin()){ @@ -277,16 +283,16 @@ void chainImageSet::keyPressed(ofKeyEventArgs &keyargs){ previous--; } (*previous)->link=(*selected)->link; - printf("DELETING: %s \n",(*selected)->filename.c_str()); - printf("LINKING %s to %s\n",(*previous)->filename.c_str(),(*selected)->link->filename.c_str()); images.erase(selected); - //printf("%s is now selected\n",(*selected)->filename.c_str()); //crashes selected=previous; selected++; if (selected==images.end()){ selected=images.begin(); } - printf("%s is set selected\n",(*selected)->filename.c_str()); + if (setCurrent){ + //we have just deleted the playing image + currentImage=selected; + } break; -- cgit v1.2.3