UI: File Loading Waiting Feedback #112636

Merged
Harley Acheson merged 1 commits from Harley/blender:LoadingWait into main 2023-09-20 20:15:46 +02:00
1 changed files with 35 additions and 0 deletions

View File

@ -692,6 +692,8 @@ static void wm_file_read_post(bContext *C,
CTX_wm_window_set(C, static_cast<wmWindow *>(wm->windows.first));
}
WM_cursor_wait(true);
#ifdef WITH_PYTHON
if (is_startup_file) {
/* On startup (by default), Python won't have been initialized.
@ -785,6 +787,12 @@ static void wm_file_read_post(bContext *C,
#endif
}
#ifndef WITH_HEADLESS
if (!G.background) {
WM_redraw_windows(C);
}
#endif /* WITH_HEADLESS */
/* report any errors.
* currently disabled if addons aren't yet loaded */
if (addons_loaded) {
@ -818,6 +826,8 @@ static void wm_file_read_post(bContext *C,
WM_toolsystem_init(C);
}
}
WM_cursor_wait(false);
}
static void wm_read_callback_pre_wrapper(bContext *C, const char *filepath)
@ -1002,6 +1012,26 @@ bool WM_file_read(bContext *C, const char *filepath, ReportList *reports)
/* so we can get the error message */
errno = 0;
#ifndef WITH_HEADLESS
if (!G.background) {
wmWindowManager *wm = CTX_wm_manager(C);
wmWindow *win = CTX_wm_window(C);
bool win_was_null = (win == nullptr);
if (win_was_null) {
win = static_cast<wmWindow *>(wm->windows.first);
CTX_wm_window_set(C, win);
}
if (win != nullptr) {
/* Redraw to remove any open menus. */
WM_redraw_windows(C);
if (win_was_null) {
CTX_wm_window_set(C, nullptr);
}
}
}
#endif /* WITH_HEADLESS */
WM_cursor_wait(true);
/* first try to append data from exotic file formats... */
@ -1067,6 +1097,7 @@ bool WM_file_read(bContext *C, const char *filepath, ReportList *reports)
bf_reports.duration.whole = PIL_check_seconds_timer() - bf_reports.duration.whole;
file_read_reports_finalize(&bf_reports);
WM_cursor_wait(true);
success = true;
}
}
@ -1171,6 +1202,8 @@ void wm_homefile_read_ex(bContext *C,
char filepath_startup[FILE_MAX];
char filepath_userdef[FILE_MAX];
WM_cursor_wait(true);
/* When 'app_template' is set:
* '{BLENDER_USER_CONFIG}/{app_template}' */
char app_template_system[FILE_MAX];
@ -1488,6 +1521,8 @@ void wm_homefile_read_ex(bContext *C,
CTX_wm_window_set(C, nullptr);
}
}
WM_cursor_wait(false);
}
void wm_homefile_read(bContext *C,