Preferences: add handler for loading factory preferences
Allows app-templates to define their own adjustments to preferences. This matches `load_factory_startup_post`, use when loading preferences.
This commit is contained in:
@@ -52,6 +52,7 @@ typedef enum {
|
|||||||
BLI_CB_EVT_DEPSGRAPH_UPDATE_PRE,
|
BLI_CB_EVT_DEPSGRAPH_UPDATE_PRE,
|
||||||
BLI_CB_EVT_DEPSGRAPH_UPDATE_POST,
|
BLI_CB_EVT_DEPSGRAPH_UPDATE_POST,
|
||||||
BLI_CB_EVT_VERSION_UPDATE,
|
BLI_CB_EVT_VERSION_UPDATE,
|
||||||
|
BLI_CB_EVT_LOAD_FACTORY_USERDEF_POST,
|
||||||
BLI_CB_EVT_LOAD_FACTORY_STARTUP_POST,
|
BLI_CB_EVT_LOAD_FACTORY_STARTUP_POST,
|
||||||
BLI_CB_EVT_TOT,
|
BLI_CB_EVT_TOT,
|
||||||
} eCbEvent;
|
} eCbEvent;
|
||||||
|
|||||||
@@ -61,6 +61,7 @@ static PyStructSequence_Field app_cb_info_fields[] = {
|
|||||||
{(char *)"depsgraph_update_pre", (char *)"on depsgraph update (pre)"},
|
{(char *)"depsgraph_update_pre", (char *)"on depsgraph update (pre)"},
|
||||||
{(char *)"depsgraph_update_post", (char *)"on depsgraph update (post)"},
|
{(char *)"depsgraph_update_post", (char *)"on depsgraph update (post)"},
|
||||||
{(char *)"version_update", (char *)"on ending the versioning code"},
|
{(char *)"version_update", (char *)"on ending the versioning code"},
|
||||||
|
{(char *)"load_factory_preferences_post", (char *)"on loading factory preferences (after)"},
|
||||||
{(char *)"load_factory_startup_post", (char *)"on loading factory startup (after)"},
|
{(char *)"load_factory_startup_post", (char *)"on loading factory startup (after)"},
|
||||||
|
|
||||||
/* sets the permanent tag */
|
/* sets the permanent tag */
|
||||||
|
|||||||
@@ -491,7 +491,7 @@ static void wm_file_read_post(bContext *C,
|
|||||||
const bool is_startup_file,
|
const bool is_startup_file,
|
||||||
const bool is_factory_startup,
|
const bool is_factory_startup,
|
||||||
const bool use_data,
|
const bool use_data,
|
||||||
const bool UNUSED(use_userdef),
|
const bool use_userdef,
|
||||||
const bool reset_app_template)
|
const bool reset_app_template)
|
||||||
{
|
{
|
||||||
bool addons_loaded = false;
|
bool addons_loaded = false;
|
||||||
@@ -537,15 +537,23 @@ static void wm_file_read_post(bContext *C,
|
|||||||
|
|
||||||
Main *bmain = CTX_data_main(C);
|
Main *bmain = CTX_data_main(C);
|
||||||
|
|
||||||
if (use_data) {
|
if (use_userdef) {
|
||||||
WM_operatortype_last_properties_clear_all();
|
if (is_factory_startup) {
|
||||||
|
BLI_callback_exec(bmain, NULL, BLI_CB_EVT_LOAD_FACTORY_USERDEF_POST);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (use_data) {
|
||||||
/* important to do before NULL'ing the context */
|
/* important to do before NULL'ing the context */
|
||||||
BLI_callback_exec(bmain, NULL, BLI_CB_EVT_VERSION_UPDATE);
|
BLI_callback_exec(bmain, NULL, BLI_CB_EVT_VERSION_UPDATE);
|
||||||
BLI_callback_exec(bmain, NULL, BLI_CB_EVT_LOAD_POST);
|
BLI_callback_exec(bmain, NULL, BLI_CB_EVT_LOAD_POST);
|
||||||
if (is_factory_startup) {
|
if (is_factory_startup) {
|
||||||
BLI_callback_exec(bmain, NULL, BLI_CB_EVT_LOAD_FACTORY_STARTUP_POST);
|
BLI_callback_exec(bmain, NULL, BLI_CB_EVT_LOAD_FACTORY_STARTUP_POST);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (use_data) {
|
||||||
|
WM_operatortype_last_properties_clear_all();
|
||||||
|
|
||||||
/* After load post, so for example the driver namespace can be filled
|
/* After load post, so for example the driver namespace can be filled
|
||||||
* before evaluating the depsgraph. */
|
* before evaluating the depsgraph. */
|
||||||
|
|||||||
Reference in New Issue
Block a user