From 91121900746eb0c27a828f369b8123bedb8b19e1 Mon Sep 17 00:00:00 2001 From: Aldrik Ramaekers Date: Mon, 24 Feb 2020 12:24:45 +0100 Subject: recent projects list saving --- src/mo_edit.c | 31 ++++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) (limited to 'src/mo_edit.c') diff --git a/src/mo_edit.c b/src/mo_edit.c index 0c51705..67d3516 100644 --- a/src/mo_edit.c +++ b/src/mo_edit.c @@ -373,6 +373,7 @@ void load_config(settings_config *config) { char *path = settings_config_get_string(config, "ACTIVE_PROJECT"); char *locale_id = settings_config_get_string(config, "LOCALE"); + char *rprojs = settings_config_get_string(config, "RECENT_PROJECTS"); if (path) { @@ -388,6 +389,17 @@ void load_config(settings_config *config) } } + if (rprojs && !string_equals(rprojs, "")) + { + char* token = strtok(rprojs, ""); + + while (token != NULL) { + add_recent_project_path(token); + token = strtok(NULL, ""); + } + } + + if (locale_id) set_locale(locale_id); else @@ -495,7 +507,7 @@ int main(int argc, char **argv) tb_translation_list = array_create(sizeof(textbox_state)); load_config(&config); - while(window.is_open) { + while(window.is_open) { u64 last_stamp = platform_get_time(TIME_FULL, TIME_US); platform_handle_events(&window, &mouse, &keyboard); platform_set_cursor(&window, CURSOR_DEFAULT); @@ -968,6 +980,23 @@ int main(int argc, char **argv) settings_config_set_number(&config, "WINDOW_WIDTH", win_size.x); settings_config_set_number(&config, "WINDOW_HEIGHT", win_size.y); + { + char *recent_project_list_buffer = mem_alloc(recent_projects_list.length*MAX_INPUT_LENGTH); + char *seperator = ""; + recent_project_list_buffer[0] = 0; + for (s32 i = 0; i < recent_projects_list.length; i++) + { + string_appendn(recent_project_list_buffer, array_at(&recent_projects_list, i), MAX_INPUT_LENGTH); + + if (i < recent_projects_list.length-1) + { + string_appendn(recent_project_list_buffer, seperator, MAX_INPUT_LENGTH); + } + } + settings_config_set_string(&config, "RECENT_PROJECTS", recent_project_list_buffer); + mem_free(recent_project_list_buffer); + } + if (global_localization.active_localization != 0) { char *current_locale_id = locale_get_id(); -- cgit v1.2.3-70-g09d2