From 67a617e1962b4cb332b0d5d6c5c2a42948f77416 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Thu, 4 Jun 2020 16:23:07 +1000 Subject: Cleanup: move auto-execute operators into userpref_ops.c --- release/scripts/startup/bl_ui/space_userpref.py | 4 +- .../blender/editors/space_userpref/userpref_ops.c | 69 +++++++++++++++++++++- source/blender/windowmanager/intern/wm_files.c | 55 ----------------- source/blender/windowmanager/intern/wm_operators.c | 2 - source/blender/windowmanager/wm_files.h | 2 - 5 files changed, 68 insertions(+), 64 deletions(-) diff --git a/release/scripts/startup/bl_ui/space_userpref.py b/release/scripts/startup/bl_ui/space_userpref.py index 63fc44aed38..436d866886b 100644 --- a/release/scripts/startup/bl_ui/space_userpref.py +++ b/release/scripts/startup/bl_ui/space_userpref.py @@ -1284,12 +1284,12 @@ class USERPREF_PT_saveload_autorun(FilePathsPanel, Panel): box = layout.box() row = box.row() row.label(text="Excluded Paths:") - row.operator("wm.userpref_autoexec_path_add", text="", icon='ADD', emboss=False) + row.operator("preferences.autoexec_path_add", text="", icon='ADD', emboss=False) for i, path_cmp in enumerate(prefs.autoexec_paths): row = box.row() row.prop(path_cmp, "path", text="") row.prop(path_cmp, "use_glob", text="", icon='FILTER') - row.operator("wm.userpref_autoexec_path_remove", text="", icon='X', emboss=False).index = i + row.operator("preferences.autoexec_path_remove", text="", icon='X', emboss=False).index = i # ----------------------------------------------------------------------------- diff --git a/source/blender/editors/space_userpref/userpref_ops.c b/source/blender/editors/space_userpref/userpref_ops.c index 1ec459ccfca..d823530fd89 100644 --- a/source/blender/editors/space_userpref/userpref_ops.c +++ b/source/blender/editors/space_userpref/userpref_ops.c @@ -25,11 +25,15 @@ #include "DNA_screen_types.h" +#include "BLI_listbase.h" + #include "BKE_context.h" #include "BKE_global.h" #include "BKE_main.h" #include "BKE_report.h" +#include "RNA_access.h" +#include "RNA_define.h" #include "RNA_types.h" #include "UI_interface.h" @@ -41,11 +45,13 @@ #include "ED_userpref.h" +#include "MEM_guardedalloc.h" + /* -------------------------------------------------------------------- */ -/** \name Reset Default Theme +/** \name Reset Default Theme Operator * \{ */ -static int reset_default_theme_exec(bContext *C, wmOperator *UNUSED(op)) +static int preferences_reset_default_theme_exec(bContext *C, wmOperator *UNUSED(op)) { Main *bmain = CTX_data_main(C); UI_theme_init_default(); @@ -64,7 +70,7 @@ static void PREFERENCES_OT_reset_default_theme(wmOperatorType *ot) ot->description = "Reset to the default theme colors"; /* callbacks */ - ot->exec = reset_default_theme_exec; + ot->exec = preferences_reset_default_theme_exec; /* flags */ ot->flag = OPTYPE_REGISTER; @@ -72,7 +78,64 @@ static void PREFERENCES_OT_reset_default_theme(wmOperatorType *ot) /** \} */ +/* -------------------------------------------------------------------- */ +/** \name Add Auto-Execution Path Operator + * \{ */ + +static int preferences_autoexec_add_exec(bContext *UNUSED(C), wmOperator *UNUSED(op)) +{ + bPathCompare *path_cmp = MEM_callocN(sizeof(bPathCompare), "bPathCompare"); + BLI_addtail(&U.autoexec_paths, path_cmp); + U.runtime.is_dirty = true; + return OPERATOR_FINISHED; +} + +static void PREFERENCES_OT_autoexec_path_add(wmOperatorType *ot) +{ + ot->name = "Add Autoexec Path"; + ot->idname = "PREFERENCES_OT_autoexec_path_add"; + ot->description = "Add path to exclude from auto-execution"; + + ot->exec = preferences_autoexec_add_exec; + + ot->flag = OPTYPE_INTERNAL; +} + +/** \} */ + +/* -------------------------------------------------------------------- */ +/** \name Remove Auto-Execution Path Operator + * \{ */ + +static int preferences_autoexec_remove_exec(bContext *UNUSED(C), wmOperator *op) +{ + const int index = RNA_int_get(op->ptr, "index"); + bPathCompare *path_cmp = BLI_findlink(&U.autoexec_paths, index); + if (path_cmp) { + BLI_freelinkN(&U.autoexec_paths, path_cmp); + U.runtime.is_dirty = true; + } + return OPERATOR_FINISHED; +} + +static void PREFERENCES_OT_autoexec_path_remove(wmOperatorType *ot) +{ + ot->name = "Remove Autoexec Path"; + ot->idname = "PREFERENCES_OT_autoexec_path_remove"; + ot->description = "Remove path to exclude from auto-execution"; + + ot->exec = preferences_autoexec_remove_exec; + + ot->flag = OPTYPE_INTERNAL; + + RNA_def_int(ot->srna, "index", 0, 0, INT_MAX, "Index", "", 0, 1000); +} + +/** \} */ + void ED_operatortypes_userpref(void) { WM_operatortype_append(PREFERENCES_OT_reset_default_theme); + WM_operatortype_append(PREFERENCES_OT_autoexec_path_add); + WM_operatortype_append(PREFERENCES_OT_autoexec_path_remove); } diff --git a/source/blender/windowmanager/intern/wm_files.c b/source/blender/windowmanager/intern/wm_files.c index 3be5f37ce8f..ed1b29d61ce 100644 --- a/source/blender/windowmanager/intern/wm_files.c +++ b/source/blender/windowmanager/intern/wm_files.c @@ -1781,61 +1781,6 @@ void WM_OT_save_homefile(wmOperatorType *ot) /** \} */ -/* -------------------------------------------------------------------- */ -/** \name Add Auto-Execution Path Operator - * \{ */ - -static int wm_userpref_autoexec_add_exec(bContext *UNUSED(C), wmOperator *UNUSED(op)) -{ - bPathCompare *path_cmp = MEM_callocN(sizeof(bPathCompare), "bPathCompare"); - BLI_addtail(&U.autoexec_paths, path_cmp); - U.runtime.is_dirty = true; - return OPERATOR_FINISHED; -} - -void WM_OT_userpref_autoexec_path_add(wmOperatorType *ot) -{ - ot->name = "Add Autoexec Path"; - ot->idname = "WM_OT_userpref_autoexec_path_add"; - ot->description = "Add path to exclude from autoexecution"; - - ot->exec = wm_userpref_autoexec_add_exec; - - ot->flag = OPTYPE_INTERNAL; -} - -/** \} */ - -/* -------------------------------------------------------------------- */ -/** \name Remove Auto-Execution Path Operator - * \{ */ - -static int wm_userpref_autoexec_remove_exec(bContext *UNUSED(C), wmOperator *op) -{ - const int index = RNA_int_get(op->ptr, "index"); - bPathCompare *path_cmp = BLI_findlink(&U.autoexec_paths, index); - if (path_cmp) { - BLI_freelinkN(&U.autoexec_paths, path_cmp); - U.runtime.is_dirty = true; - } - return OPERATOR_FINISHED; -} - -void WM_OT_userpref_autoexec_path_remove(wmOperatorType *ot) -{ - ot->name = "Remove Autoexec Path"; - ot->idname = "WM_OT_userpref_autoexec_path_remove"; - ot->description = "Remove path to exclude from autoexecution"; - - ot->exec = wm_userpref_autoexec_remove_exec; - - ot->flag = OPTYPE_INTERNAL; - - RNA_def_int(ot->srna, "index", 0, 0, INT_MAX, "Index", "", 0, 1000); -} - -/** \} */ - /* -------------------------------------------------------------------- */ /** \name Write Preferences Operator * \{ */ diff --git a/source/blender/windowmanager/intern/wm_operators.c b/source/blender/windowmanager/intern/wm_operators.c index 39811d67b9a..145888bc2c8 100644 --- a/source/blender/windowmanager/intern/wm_operators.c +++ b/source/blender/windowmanager/intern/wm_operators.c @@ -3778,8 +3778,6 @@ void wm_operatortypes_register(void) WM_operatortype_append(WM_OT_save_userpref); WM_operatortype_append(WM_OT_read_userpref); WM_operatortype_append(WM_OT_read_factory_userpref); - WM_operatortype_append(WM_OT_userpref_autoexec_path_add); - WM_operatortype_append(WM_OT_userpref_autoexec_path_remove); WM_operatortype_append(WM_OT_window_fullscreen_toggle); WM_operatortype_append(WM_OT_quit_blender); WM_operatortype_append(WM_OT_open_mainfile); diff --git a/source/blender/windowmanager/wm_files.h b/source/blender/windowmanager/wm_files.h index e081742b904..42eab35cdb9 100644 --- a/source/blender/windowmanager/wm_files.h +++ b/source/blender/windowmanager/wm_files.h @@ -45,8 +45,6 @@ void wm_close_file_dialog(bContext *C, struct wmGenericCallback *post_action); bool wm_file_or_image_is_modified(const Main *bmain, const wmWindowManager *wm); void WM_OT_save_homefile(struct wmOperatorType *ot); -void WM_OT_userpref_autoexec_path_add(struct wmOperatorType *ot); -void WM_OT_userpref_autoexec_path_remove(struct wmOperatorType *ot); void WM_OT_save_userpref(struct wmOperatorType *ot); void WM_OT_read_userpref(struct wmOperatorType *ot); void WM_OT_read_factory_userpref(struct wmOperatorType *ot); -- cgit v1.2.3