diff options
| author | Aldrik Ramaekers <aldrik.ramaekers@protonmail.com> | 2020-02-24 12:24:45 +0100 |
|---|---|---|
| committer | Aldrik Ramaekers <aldrik.ramaekers@protonmail.com> | 2020-02-24 12:24:45 +0100 |
| commit | 91121900746eb0c27a828f369b8123bedb8b19e1 (patch) | |
| tree | b5fd58cca09631be119cd1a1861e9c0d5c15985b | |
| parent | 7c9d21ac1db0647624a5206d6d34208aef78f77f (diff) | |
recent projects list saving
| -rw-r--r-- | src/mo_edit.c | 31 |
1 files changed, 30 insertions, 1 deletions
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();
|
