add subscription support

This commit is contained in:
Dmitry Podgorny
2012-11-11 14:00:21 +02:00
parent 7958a450bd
commit c3b0e80432
10 changed files with 173 additions and 19 deletions

View File

@@ -21,6 +21,7 @@
*/
#include "config.h"
#include "preferences.h"
#include <stdlib.h>
#include <string.h>
@@ -41,6 +42,7 @@ static GKeyFile *prefs;
static PAutocomplete login_ac;
static PAutocomplete boolean_choice_ac;
static PAutocomplete sub_cmd_ac;
struct colour_string_t {
char *str;
@@ -116,6 +118,11 @@ prefs_load(void)
p_autocomplete_add(boolean_choice_ac, strdup("on"));
p_autocomplete_add(boolean_choice_ac, strdup("off"));
sub_cmd_ac = p_autocomplete_new();
p_autocomplete_add(sub_cmd_ac, strdup("add"));
p_autocomplete_add(sub_cmd_ac, strdup("del"));
p_autocomplete_add(sub_cmd_ac, strdup("request"));
p_autocomplete_add(sub_cmd_ac, strdup("show"));
}
void
@@ -123,6 +130,7 @@ prefs_close(void)
{
p_autocomplete_clear(login_ac);
p_autocomplete_clear(boolean_choice_ac);
p_autocomplete_clear(sub_cmd_ac);
g_key_file_free(prefs);
}
@@ -222,6 +230,22 @@ prefs_reset_boolean_choice(void)
p_autocomplete_reset(boolean_choice_ac);
}
char *
prefs_autocomplete_sub_cmd(char *prefix)
{
char *result;
result = p_autocomplete_complete(sub_cmd_ac, prefix);
/* TODO: fix the problem with ac->last_found instead of this hack */
prefs_reset_sub_cmd();
return result;
}
void
prefs_reset_sub_cmd(void)
{
p_autocomplete_reset(sub_cmd_ac);
}
gboolean
prefs_get_beep(void)
{