1
0
mirror of https://github.com/Tha14/toxic.git synced 2025-07-01 06:06:45 +02:00

Keybind defaults moved to settings.c; conf keybinds not reading correctly yet

This commit is contained in:
matt
2014-07-28 00:06:25 +01:00
parent f630a3e604
commit 9f01a45b1f
5 changed files with 84 additions and 37 deletions

View File

@ -23,7 +23,6 @@
#include <stdlib.h>
#include <string.h>
#include <libconfig.h>
#include "toxic.h"
#include "windows.h"
#include "configdir.h"
@ -68,7 +67,43 @@ static void ui_defaults(struct user_settings* settings)
settings->colour_theme = DFLT_COLS;
settings->history_size = 700;
}
const struct _keys_strings {
const char* self;
const char* keys;
const char* next_tab;
const char* prev_tab;
const char* scroll_line_up;
const char* scroll_line_down;
const char* half_page_up;
const char* half_page_down;
const char* page_bottom;
const char* peer_list_up;
const char* peer_list_down;
} key_strings = {
"keys",
"next_tab",
"prev_tab",
"scroll_line_up",
"scroll_line_down",
"half_page_up",
"half_page_down",
"page_bottom",
"peer_list_up",
"peer_list_down"
};
static void key_defaults(struct user_settings* settings)
{
settings->key_next_tab = 0x10;
settings->key_prev_tab = 0x0F;
settings->key_scroll_line_up = 0523; /* value from libncurses:curses.h */
settings->key_scroll_line_down = 0522;
settings->key_half_page_up = 0x06;
settings->key_half_page_down = 0x16;
settings->key_page_bottom = 0x08;
settings->key_peer_list_up = 0x1B;
settings->key_peer_list_down = 0x1D;
}
const struct _tox_strings {
const char* self;
const char* download_path;
@ -139,6 +174,7 @@ int settings_load(struct user_settings *s, const char *patharg)
/* Load default settings */
ui_defaults(s);
tox_defaults(s);
key_defaults(s);
#ifdef _AUDIO
audio_defaults(s);
#endif
@ -155,7 +191,6 @@ int settings_load(struct user_settings *s, const char *patharg)
/* make sure path exists or is created on first time running */
FILE *fp = fopen(path, "r");
if (fp == NULL) {
if ((fp = fopen(path, "w")) == NULL)
return -1;
@ -167,6 +202,8 @@ int settings_load(struct user_settings *s, const char *patharg)
}
if (!config_read_file(cfg, path)) {
char* chk = config_error_text(cfg);
int lin = config_error_line(cfg);
config_destroy(cfg);
return -1;
}
@ -188,6 +225,18 @@ int settings_load(struct user_settings *s, const char *patharg)
strcpy(s->download_path, str);
}
}
/* keys */
if((setting = config_lookup(cfg, key_strings.self)) != NULL) {
config_setting_lookup_int(setting, key_strings.next_tab, &s->key_next_tab);
config_setting_lookup_int(setting, key_strings.prev_tab, &s->key_prev_tab);
config_setting_lookup_int(setting, key_strings.scroll_line_up, &s->key_scroll_line_up);
config_setting_lookup_int(setting, key_strings.scroll_line_down, &s->key_scroll_line_down);
config_setting_lookup_int(setting, key_strings.half_page_up, &s->key_half_page_up);
config_setting_lookup_int(setting, key_strings.half_page_down, &s->key_half_page_down);
config_setting_lookup_int(setting, key_strings.page_bottom, &s->key_page_bottom);
config_setting_lookup_int(setting, key_strings.peer_list_up, &s->key_peer_list_up);
//config_setting_lookup_int(setting, key_strings.peer_list_down, &s->key_peer_list_down);
}
#ifdef _AUDIO
if ((setting = config_lookup(cfg, audio_strings.self)) != NULL) {