prefs.c: consistent indentation

This commit is contained in:
wdlkmpx 2021-01-14 22:52:00 +08:00
parent 08f868a3e0
commit 88feee2703

View File

@ -34,207 +34,212 @@ gchar _default_theme_name[] = "Default";
gchar *_theme_name = NULL;
gint pref_get_show_next_colors(void) {
return _show_next_colors;
return _show_next_colors;
}
void pref_set_show_next_colors(gint val) {
_show_next_colors = val;
_show_next_colors = val;
}
gint pref_get_show_path(void) {
return _show_path;
return _show_path;
}
void pref_set_show_path(gint val) {
_show_path = val;
_show_path = val;
}
gint pref_get_show_footprints(void) {
return _show_footprints;
return _show_footprints;
}
void pref_set_show_footprints(gint val) {
_show_footprints = val;
_show_footprints = val;
}
gint pref_get_show_destroy(void) {
return _show_destroy;
return _show_destroy;
}
void pref_set_show_destroy(gint val) {
_show_destroy = val;
_show_destroy = val;
}
gint pref_get_show_highlight(void) {
return _show_highlight;
return _show_highlight;
}
void pref_set_show_highlight(gint val) {
_show_highlight = val;
_show_highlight = val;
}
gint prefs_get_hl_dr(void) {
return _hl_dr;
return _hl_dr;
}
void prefs_set_hl_dr(gint dr) {
_hl_dr = dr;
_hl_dr = dr;
}
gint prefs_get_hl_dg(void) {
return _hl_dg;
return _hl_dg;
}
void prefs_set_hl_dg(gint dg) {
_hl_dg = dg;
_hl_dg = dg;
}
gint prefs_get_hl_db(void) {
return _hl_db;
return _hl_db;
}
void prefs_set_hl_db(gint db) {
_hl_db = db;
_hl_db = db;
}
gchar *pref_get_theme_name(void) {
return _theme_name;
return _theme_name;
}
gchar *pref_get_default_theme_name(void) {
return _default_theme_name;
return _default_theme_name;
}
void pref_set_theme_name(gchar *name) {
if(_theme_name) {
g_free(_theme_name);
}
_theme_name = g_strdup(name);
if (_theme_name) {
g_free(_theme_name);
}
_theme_name = g_strdup(name);
}
gchar *find_rc_file(void) {
gchar *rc_file = NULL;
gchar *rc_file = NULL;
if(getenv("HOME")) {
rc_file = g_strdup_printf("%s/%s", getenv ("HOME"), CONFIG_FILE_NAME);
} else { /* unable to find $HOME, assuming current directory */
rc_file = g_strdup(CONFIG_FILE_NAME);
}
if (getenv("HOME")) {
rc_file = g_strdup_printf("%s/%s", getenv ("HOME"), CONFIG_FILE_NAME);
} else { /* unable to find $HOME, assuming current directory */
rc_file = g_strdup(CONFIG_FILE_NAME);
}
return rc_file;
return rc_file;
}
/* converts string to TRUE/FALSE. "true", "yes" or "1" is TRUE, otherwise - FALSE */
gboolean pref_str_to_bool(gchar *val) {
if(!g_ascii_strcasecmp(val, "true") ||
!g_ascii_strcasecmp(val, "yes") ||
!g_ascii_strcasecmp(val, "1")) {
return TRUE;
}
return FALSE;
if (!g_ascii_strcasecmp(val, "true") ||
!g_ascii_strcasecmp(val, "yes") ||
!g_ascii_strcasecmp(val, "1")) {
return TRUE;
}
return FALSE;
}
/* converts boolean to string
returns _pointer_ to "yes" or "no". returned string should NOT be free()'d! */
gchar *pref_bool_to_str(gboolean val) {
return val ? "yes" : "no";
return val ? "yes" : "no";
}
/* we use very lame preferences file format: ``property=value\n''.
so - there must be no whitespaces on begin/end of line =) */
void load_preferences(void) {
FILE *fp;
gchar *rc_file;
gchar buffer[BUFFER_SIZE];
gchar **prop_val;
void load_preferences(void)
{
FILE *fp;
gchar *rc_file;
gchar buffer[BUFFER_SIZE];
gchar **prop_val;
if(!_theme_name) {
_theme_name = g_strdup(_default_theme_name);
}
rc_file = find_rc_file();
if((fp = fopen(rc_file, "r"))) {
while(fgets(buffer, BUFFER_SIZE, fp)) {
g_strchomp(buffer);
prop_val = g_strsplit(buffer, "=", 2);
if(prop_val[0] && prop_val[0][0] && prop_val[1] && prop_val[1][0]) {
if(!g_ascii_strcasecmp(prop_val[0], "show_hints")) {
_show_next_colors = pref_str_to_bool(prop_val[1]);
} else if(!g_ascii_strcasecmp(prop_val[0], "show_path")) {
_show_path = pref_str_to_bool(prop_val[1]);
} else if(!g_ascii_strcasecmp(prop_val[0], "show_footprints")) {
_show_footprints = pref_str_to_bool(prop_val[1]);
} else if(!g_ascii_strcasecmp(prop_val[0], "show_destroy")) {
_show_destroy = pref_str_to_bool(prop_val[1]);
} else if(!g_ascii_strcasecmp(prop_val[0], "show_highlight")) {
_show_highlight = pref_str_to_bool(prop_val[1]);
} else if(!g_ascii_strcasecmp(prop_val[0], "theme_name")) {
if(_theme_name) {
g_free(_theme_name);
}
_theme_name = g_strdup(prop_val[1]);
} else if(!g_ascii_strcasecmp(prop_val[0], "rules_xsize")) {
rules_set_width(atoi(prop_val[1]));
} else if(!g_ascii_strcasecmp(prop_val[0], "rules_ysize")) {
rules_set_height(atoi(prop_val[1]));
} else if(!g_ascii_strcasecmp(prop_val[0], "rules_colors")) {
rules_set_colors(atoi(prop_val[1]));
} else if(!g_ascii_strcasecmp(prop_val[0], "rules_next")) {
rules_set_next(atoi(prop_val[1]));
} else if(!g_ascii_strcasecmp(prop_val[0], "rules_destroy")) {
rules_set_destroy(atoi(prop_val[1]));
} else if(!g_ascii_strcasecmp(prop_val[0], "time_limit")) {
timer_set_limit(atoi(prop_val[1]));
} else if(!g_ascii_strcasecmp(prop_val[0], "highlight_dr")) {
prefs_set_hl_dr(atoi(prop_val[1]));
} else if(!g_ascii_strcasecmp(prop_val[0], "highlight_dg")) {
prefs_set_hl_dg(atoi(prop_val[1]));
} else if(!g_ascii_strcasecmp(prop_val[0], "highlight_db")) {
prefs_set_hl_db(atoi(prop_val[1]));
}
}
g_strfreev(prop_val);
}
fclose(fp);
}
g_free(rc_file);
if (!_theme_name) {
_theme_name = g_strdup(_default_theme_name);
}
rc_file = find_rc_file();
if ((fp = fopen(rc_file, "r")))
{
while(fgets(buffer, BUFFER_SIZE, fp))
{
g_strchomp(buffer);
prop_val = g_strsplit(buffer, "=", 2);
if (prop_val[0] && prop_val[0][0] && prop_val[1] && prop_val[1][0])
{
if (!g_ascii_strcasecmp(prop_val[0], "show_hints")) {
_show_next_colors = pref_str_to_bool(prop_val[1]);
} else if (!g_ascii_strcasecmp(prop_val[0], "show_path")) {
_show_path = pref_str_to_bool(prop_val[1]);
} else if (!g_ascii_strcasecmp(prop_val[0], "show_footprints")) {
_show_footprints = pref_str_to_bool(prop_val[1]);
} else if (!g_ascii_strcasecmp(prop_val[0], "show_destroy")) {
_show_destroy = pref_str_to_bool(prop_val[1]);
} else if (!g_ascii_strcasecmp(prop_val[0], "show_highlight")) {
_show_highlight = pref_str_to_bool(prop_val[1]);
} else if (!g_ascii_strcasecmp(prop_val[0], "theme_name")) {
if (_theme_name) {
g_free(_theme_name);
}
_theme_name = g_strdup(prop_val[1]);
} else if (!g_ascii_strcasecmp(prop_val[0], "rules_xsize")) {
rules_set_width(atoi(prop_val[1]));
} else if (!g_ascii_strcasecmp(prop_val[0], "rules_ysize")) {
rules_set_height(atoi(prop_val[1]));
} else if (!g_ascii_strcasecmp(prop_val[0], "rules_colors")) {
rules_set_colors(atoi(prop_val[1]));
} else if (!g_ascii_strcasecmp(prop_val[0], "rules_next")) {
rules_set_next(atoi(prop_val[1]));
} else if (!g_ascii_strcasecmp(prop_val[0], "rules_destroy")) {
rules_set_destroy(atoi(prop_val[1]));
} else if (!g_ascii_strcasecmp(prop_val[0], "time_limit")) {
timer_set_limit(atoi(prop_val[1]));
} else if (!g_ascii_strcasecmp(prop_val[0], "highlight_dr")) {
prefs_set_hl_dr(atoi(prop_val[1]));
} else if (!g_ascii_strcasecmp(prop_val[0], "highlight_dg")) {
prefs_set_hl_dg(atoi(prop_val[1]));
} else if (!g_ascii_strcasecmp(prop_val[0], "highlight_db")) {
prefs_set_hl_db(atoi(prop_val[1]));
}
}
g_strfreev(prop_val);
}
fclose(fp);
}
g_free(rc_file);
}
/* writes ``property=value\n'' to fp.
why i made it separate function? for "feature purposes" =) */
void write_pref_string(FILE *fp, gchar *property, gchar *value) {
fprintf(fp, "%s=%s\n", property, value);
fprintf (fp, "%s=%s\n", property, value);
}
void write_pref_int(FILE *fp, gchar *property, gint value) {
fprintf(fp, "%s=%d\n", property, value);
fprintf (fp, "%s=%d\n", property, value);
}
gchar *save_preferences(void) {
FILE *fp;
gchar *rc_file/*, *err*/;
gchar *ret = NULL;
gchar *save_preferences (void)
{
FILE *fp;
gchar *rc_file/*, *err*/;
gchar *ret = NULL;
rc_file = find_rc_file();
if((fp = fopen(rc_file, "w"))) {
write_pref_string(fp, "show_hints", pref_bool_to_str(_show_next_colors));
write_pref_string(fp, "show_path", pref_bool_to_str(_show_path));
write_pref_string(fp, "show_footprints", pref_bool_to_str(_show_footprints));
write_pref_string(fp, "show_destroy", pref_bool_to_str(_show_destroy));
write_pref_string(fp, "show_highlight", pref_bool_to_str(_show_highlight));
write_pref_string(fp, "theme_name", _theme_name);
write_pref_int(fp, "rules_xsize", rules_get_width());
write_pref_int(fp, "rules_ysize", rules_get_height());
write_pref_int(fp, "rules_colors", rules_get_colors());
write_pref_int(fp, "rules_next", rules_get_next());
write_pref_int(fp, "rules_destroy", rules_get_destroy());
write_pref_int(fp, "time_limit", timer_get_limit());
write_pref_int(fp, "highlight_dr", prefs_get_hl_dr());
write_pref_int(fp, "highlight_dg", prefs_get_hl_dg());
write_pref_int(fp, "highlight_db", prefs_get_hl_db());
fclose(fp);
} else {
ret = g_strdup_printf(_("Can't write to %s: %s"), rc_file, strerror(errno));
}
g_free(rc_file);
return ret;
rc_file = find_rc_file();
if ((fp = fopen(rc_file, "w"))) {
write_pref_string(fp, "show_hints", pref_bool_to_str(_show_next_colors));
write_pref_string(fp, "show_path", pref_bool_to_str(_show_path));
write_pref_string(fp, "show_footprints", pref_bool_to_str(_show_footprints));
write_pref_string(fp, "show_destroy", pref_bool_to_str(_show_destroy));
write_pref_string(fp, "show_highlight", pref_bool_to_str(_show_highlight));
write_pref_string(fp, "theme_name", _theme_name);
write_pref_int(fp, "rules_xsize", rules_get_width());
write_pref_int(fp, "rules_ysize", rules_get_height());
write_pref_int(fp, "rules_colors", rules_get_colors());
write_pref_int(fp, "rules_next", rules_get_next());
write_pref_int(fp, "rules_destroy", rules_get_destroy());
write_pref_int(fp, "time_limit", timer_get_limit());
write_pref_int(fp, "highlight_dr", prefs_get_hl_dr());
write_pref_int(fp, "highlight_dg", prefs_get_hl_dg());
write_pref_int(fp, "highlight_db", prefs_get_hl_db());
fclose(fp);
} else {
ret = g_strdup_printf(_("Can't write to %s: %s"), rc_file, strerror(errno));
}
g_free(rc_file);
return ret;
}