X-Git-Url: http://gitweb.hugovil.com/?a=blobdiff_plain;f=src%2Fapp-config.c;h=90022f24c4c338a930a18a56bb41cedcedb5855b;hb=98b757f83d9e4be02e9373f3279d432d3f7113f5;hp=58f76e58d9fc5bbd4ba8a9fd6ac572a0a8411e8d;hpb=bd0627548f7258b54a615787d0515d3e2bde648e;p=emu8051.git diff --git a/src/app-config.c b/src/app-config.c index 58f76e5..90022f2 100644 --- a/src/app-config.c +++ b/src/app-config.c @@ -51,12 +51,18 @@ app_config_init(void) cfg->clear_ram_on_file_load = false; /* UI settings */ - cfg->layout = UI_LAYOUT1; cfg->win_width = 640; cfg->win_height = 480; cfg->hpane_pos = 100; cfg->vpane_pos = 200; cfg->main_pane_pos = 200; + + /* View menu options */ + cfg->layout = UI_LAYOUT1; + cfg->view_int_memory = 1; + cfg->view_sfr_memory = 1; + cfg->view_ext_memory = 1; + cfg->bits_per_row = 16; /* 8 or 16 */ } static int @@ -83,19 +89,27 @@ app_config_load_from_key_file(GKeyFile *kf) &cfg->clear_ram_on_file_load); /* ui */ - app_config_key_file_get_int(kf, "ui", "layout", &cfg->layout); - - if ((cfg->layout != UI_LAYOUT1) && (cfg->layout != UI_LAYOUT2)) { - log_fail_no_exit("Invalid layout, defaulting to layout 1"); - cfg->layout = UI_LAYOUT1; - } - app_config_key_file_get_int(kf, "ui", "win_width", &cfg->win_width); app_config_key_file_get_int(kf, "ui", "win_height", &cfg->win_height); app_config_key_file_get_int(kf, "ui", "hpane_pos", &cfg->hpane_pos); app_config_key_file_get_int(kf, "ui", "vpane_pos", &cfg->vpane_pos); app_config_key_file_get_int(kf, "ui", "main_pane_pos", &cfg->main_pane_pos); + + /* View */ + app_config_key_file_get_int(kf, "view", "layout", &cfg->layout); + if ((cfg->layout != UI_LAYOUT1) && (cfg->layout != UI_LAYOUT2)) { + log_err("Invalid layout, defaulting to layout 1"); + cfg->layout = UI_LAYOUT1; + } + app_config_key_file_get_int(kf, "view", "int_memory", + &cfg->view_int_memory); + app_config_key_file_get_int(kf, "view", "sfr_memory", + &cfg->view_sfr_memory); + app_config_key_file_get_int(kf, "view", "ext_memory", + &cfg->view_ext_memory); + app_config_key_file_get_int(kf, "view", "bits_per_row", + &cfg->bits_per_row); } static char * @@ -172,7 +186,6 @@ app_config_save(void) g_string_append(buf, "\n[ui]\n"); - g_string_append_printf(buf, "layout=%d\n", cfg->layout); g_string_append_printf(buf, "win_width=%d\n", cfg->win_width); g_string_append_printf(buf, "win_height=%d\n", cfg->win_height); g_string_append_printf(buf, "hpane_pos=%d\n", cfg->hpane_pos); @@ -180,6 +193,17 @@ app_config_save(void) g_string_append_printf(buf, "main_pane_pos=%d\n", cfg->main_pane_pos); + g_string_append(buf, "\n[view]\n"); + g_string_append_printf(buf, "layout=%d\n", cfg->layout); + g_string_append_printf(buf, "int_memory=%d\n", + cfg->view_int_memory); + g_string_append_printf(buf, "sfr_memory=%d\n", + cfg->view_sfr_memory); + g_string_append_printf(buf, "ext_memory=%d\n", + cfg->view_ext_memory); + g_string_append_printf(buf, "bits_per_row=%d\n", + cfg->bits_per_row); + file_path = app_config_get_file_path(); g_file_set_contents(file_path, buf->str, buf->len, NULL);