diff options
author | Campbell Barton <ideasman42@gmail.com> | 2010-12-13 08:02:23 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2010-12-13 08:02:23 +0300 |
commit | dec478957114ddaed1512a47a590ff7fa52ade70 (patch) | |
tree | 4589c09c1945185b5aa720979ef3e0f1b75b07bc /source/blender/editors/space_image | |
parent | f2d4b7dfb813b6dde7f7bf6a43a72c7b1bcce429 (diff) |
option to reverse cycle through render slots (Alt+J).
Diffstat (limited to 'source/blender/editors/space_image')
-rw-r--r-- | source/blender/editors/space_image/image_ops.c | 8 | ||||
-rw-r--r-- | source/blender/editors/space_image/space_image.c | 1 |
2 files changed, 7 insertions, 2 deletions
diff --git a/source/blender/editors/space_image/image_ops.c b/source/blender/editors/space_image/image_ops.c index a2aa2419e49..594de9b943d 100644 --- a/source/blender/editors/space_image/image_ops.c +++ b/source/blender/editors/space_image/image_ops.c @@ -2094,13 +2094,15 @@ static int cycle_render_slot_poll(bContext *C) return (ima && ima->type == IMA_TYPE_R_RESULT); } -static int cycle_render_slot_exec(bContext *C, wmOperator *UNUSED(op)) +static int cycle_render_slot_exec(bContext *C, wmOperator *op) { Image *ima= CTX_data_edit_image(C); int a, slot, cur= ima->render_slot; + const short use_reverse= RNA_boolean_get(op->ptr, "reverse"); for(a=1; a<IMA_MAX_RENDER_SLOT; a++) { - slot= (cur+a)%IMA_MAX_RENDER_SLOT; + slot= (cur + (use_reverse ? -a:a))%IMA_MAX_RENDER_SLOT; + if(slot<0) slot+=IMA_MAX_RENDER_SLOT; if(ima->renders[slot] || slot == ima->last_render_slot) { ima->render_slot= slot; @@ -2132,6 +2134,8 @@ void IMAGE_OT_cycle_render_slot(wmOperatorType *ot) /* flags */ ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO; + + RNA_def_boolean(ot->srna, "reverse", 0, "Cycle in Reverse", ""); } /******************** TODO ********************/ diff --git a/source/blender/editors/space_image/space_image.c b/source/blender/editors/space_image/space_image.c index 9d5b5048d75..cebc0666eb0 100644 --- a/source/blender/editors/space_image/space_image.c +++ b/source/blender/editors/space_image/space_image.c @@ -505,6 +505,7 @@ void image_keymap(struct wmKeyConfig *keyconf) WM_keymap_add_item(keymap, "IMAGE_OT_scopes", PKEY, KM_PRESS, 0, 0); WM_keymap_add_item(keymap, "IMAGE_OT_cycle_render_slot", JKEY, KM_PRESS, 0, 0); + RNA_boolean_set(WM_keymap_add_item(keymap, "IMAGE_OT_cycle_render_slot", JKEY, KM_PRESS, KM_ALT, 0)->ptr, "reverse", TRUE); keymap= WM_keymap_find(keyconf, "Image", SPACE_IMAGE, 0); |