From 7b8db971d42f6d6b7b1c74959758266ce8c859e0 Mon Sep 17 00:00:00 2001 From: Valentin Date: Mon, 2 Mar 2020 16:05:59 +0100 Subject: Cleanup: Use generics properties for arrow keys navigation (walk-select) This patch refactors arrow keys navigation to move properties and enum to generic ED_select_utils.h and property to WM_operator_properties_select_walk_direction() No functional change Reviewed By: Julian Eisel Differential Revision: https://developer.blender.org/D4771 --- source/blender/editors/space_file/file_ops.c | 35 +++++++++------------------- 1 file changed, 11 insertions(+), 24 deletions(-) (limited to 'source/blender/editors/space_file/file_ops.c') diff --git a/source/blender/editors/space_file/file_ops.c b/source/blender/editors/space_file/file_ops.c index 32c5cdde0a3..9281653efa5 100644 --- a/source/blender/editors/space_file/file_ops.c +++ b/source/blender/editors/space_file/file_ops.c @@ -626,11 +626,11 @@ static bool file_walk_select_selection_set(bContext *C, } else { /* select last file */ - if (ELEM(direction, FILE_SELECT_WALK_UP, FILE_SELECT_WALK_LEFT)) { + if (ELEM(direction, UI_SELECT_WALK_UP, UI_SELECT_WALK_LEFT)) { params->active_file = active = numfiles - 1; } /* select first file */ - else if (ELEM(direction, FILE_SELECT_WALK_DOWN, FILE_SELECT_WALK_RIGHT)) { + else if (ELEM(direction, UI_SELECT_WALK_DOWN, UI_SELECT_WALK_RIGHT)) { params->active_file = active = 0; } else { @@ -721,23 +721,23 @@ static bool file_walk_select_do(bContext *C, FileLayout *layout = ED_fileselect_get_layout(sfile, ar); const int idx_shift = (layout->flag & FILE_LAYOUT_HOR) ? layout->rows : layout->flow_columns; - if ((layout->flag & FILE_LAYOUT_HOR && direction == FILE_SELECT_WALK_UP) || - (layout->flag & FILE_LAYOUT_VER && direction == FILE_SELECT_WALK_LEFT)) { + if ((layout->flag & FILE_LAYOUT_HOR && direction == UI_SELECT_WALK_UP) || + (layout->flag & FILE_LAYOUT_VER && direction == UI_SELECT_WALK_LEFT)) { active_new = active_old - 1; other_site = active_old + 1; } - else if ((layout->flag & FILE_LAYOUT_HOR && direction == FILE_SELECT_WALK_DOWN) || - (layout->flag & FILE_LAYOUT_VER && direction == FILE_SELECT_WALK_RIGHT)) { + else if ((layout->flag & FILE_LAYOUT_HOR && direction == UI_SELECT_WALK_DOWN) || + (layout->flag & FILE_LAYOUT_VER && direction == UI_SELECT_WALK_RIGHT)) { active_new = active_old + 1; other_site = active_old - 1; } - else if ((layout->flag & FILE_LAYOUT_HOR && direction == FILE_SELECT_WALK_LEFT) || - (layout->flag & FILE_LAYOUT_VER && direction == FILE_SELECT_WALK_UP)) { + else if ((layout->flag & FILE_LAYOUT_HOR && direction == UI_SELECT_WALK_LEFT) || + (layout->flag & FILE_LAYOUT_VER && direction == UI_SELECT_WALK_UP)) { active_new = active_old - idx_shift; other_site = active_old + idx_shift; } - else if ((layout->flag & FILE_LAYOUT_HOR && direction == FILE_SELECT_WALK_RIGHT) || - (layout->flag & FILE_LAYOUT_VER && direction == FILE_SELECT_WALK_DOWN)) { + else if ((layout->flag & FILE_LAYOUT_HOR && direction == UI_SELECT_WALK_RIGHT) || + (layout->flag & FILE_LAYOUT_VER && direction == UI_SELECT_WALK_DOWN)) { active_new = active_old + idx_shift; other_site = active_old - idx_shift; @@ -793,13 +793,6 @@ static int file_walk_select_invoke(bContext *C, wmOperator *op, const wmEvent *U void FILE_OT_select_walk(wmOperatorType *ot) { - static const EnumPropertyItem direction_items[] = { - {FILE_SELECT_WALK_UP, "UP", 0, "Prev", ""}, - {FILE_SELECT_WALK_DOWN, "DOWN", 0, "Next", ""}, - {FILE_SELECT_WALK_LEFT, "LEFT", 0, "Left", ""}, - {FILE_SELECT_WALK_RIGHT, "RIGHT", 0, "Right", ""}, - {0, NULL, 0, NULL, NULL}, - }; PropertyRNA *prop; /* identifiers */ @@ -812,13 +805,7 @@ void FILE_OT_select_walk(wmOperatorType *ot) ot->poll = ED_operator_file_active; /* properties */ - prop = RNA_def_enum(ot->srna, - "direction", - direction_items, - 0, - "Walk Direction", - "Select/Deselect file in this direction"); - RNA_def_property_flag(prop, PROP_SKIP_SAVE); + WM_operator_properties_select_walk_direction(ot); prop = RNA_def_boolean(ot->srna, "extend", false, -- cgit v1.2.3