1
0
mirror of https://github.com/irssi/irssi.git synced 2024-09-29 04:45:57 -04:00

Moved /SAVE and /RELOAD to fe-common. Print "config saved" and

"config reloaded" messages.


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@510 dbcabf3a-b0e7-0310-adc4-f8d773084564
This commit is contained in:
Timo Sirainen 2000-07-22 22:05:29 +00:00 committed by cras
parent 511f95ccaf
commit d9b661a1fb
6 changed files with 40 additions and 28 deletions

View File

@ -673,21 +673,6 @@ static void cmd_cd(const char *data)
g_free(str);
}
static void cmd_reload(const char *data)
{
char *fname;
fname = *data != '\0' ? g_strdup(data) :
g_strdup_printf("%s/.irssi/config", g_get_home_dir());
settings_reread(fname);
g_free(fname);
}
static void cmd_save(const char *data)
{
settings_save(*data != '\0' ? data : NULL);
}
void commands_init(void)
{
commands = NULL;
@ -701,8 +686,6 @@ void commands_init(void)
command_bind("eval", NULL, (SIGNAL_FUNC) cmd_eval);
command_bind("cd", NULL, (SIGNAL_FUNC) cmd_cd);
command_bind("reload", NULL, (SIGNAL_FUNC) cmd_reload);
command_bind("save", NULL, (SIGNAL_FUNC) cmd_save);
}
void commands_deinit(void)
@ -714,6 +697,4 @@ void commands_deinit(void)
command_unbind("eval", (SIGNAL_FUNC) cmd_eval);
command_unbind("cd", (SIGNAL_FUNC) cmd_cd);
command_unbind("reload", (SIGNAL_FUNC) cmd_reload);
command_unbind("save", (SIGNAL_FUNC) cmd_save);
}

View File

@ -285,7 +285,7 @@ static void init_configfile(void)
signal(SIGTERM, sig_term);
}
void settings_reread(const char *fname)
int settings_reread(const char *fname)
{
CONFIG_REC *tempconfig;
char *str;
@ -298,7 +298,7 @@ void settings_reread(const char *fname)
if (tempconfig == NULL) {
signal_emit("gui dialog", 2, "error", g_strerror(errno));
return;
return FALSE;
}
if (config_last_error(tempconfig) != NULL) {
@ -308,7 +308,7 @@ void settings_reread(const char *fname)
g_free(str);
config_close(tempconfig);
return;
return FALSE;
}
config_close(mainconfig);
@ -316,20 +316,22 @@ void settings_reread(const char *fname)
signal_emit("setup changed", 0);
signal_emit("setup reread", 0);
return TRUE;
}
void settings_save(const char *fname)
int settings_save(const char *fname)
{
char *str;
if (config_write(mainconfig, fname, 0660) == 0)
return;
return TRUE;
/* error */
str = g_strdup_printf(_("Couldn't save configuration file: %s"),
config_last_error(mainconfig));
signal_emit("gui dialog", 2, "error", str);
g_free(str);
return FALSE;
}
void settings_init(void)

View File

@ -54,8 +54,8 @@ GSList *settings_get_sorted(void);
SETTINGS_REC *settings_get_record(const char *key);
/* if `fname' is NULL, the default is used */
void settings_reread(const char *fname);
void settings_save(const char *fname);
int settings_reread(const char *fname);
int settings_save(const char *fname);
void settings_init(void);
void settings_deinit(void);

View File

@ -227,12 +227,36 @@ static void cmd_unalias(const char *data)
alias_remove(data);
}
static void cmd_reload(const char *data)
{
char *fname;
fname = *data != '\0' ? g_strdup(data) :
g_strdup_printf("%s/.irssi/config", g_get_home_dir());
if (settings_reread(fname)) {
printformat(NULL, NULL, MSGLEVEL_CLIENTNOTICE,
IRCTXT_CONFIG_RELOADED, fname);
}
g_free(fname);
}
static void cmd_save(const char *data)
{
if (settings_save(*data != '\0' ? data : NULL)) {
printformat(NULL, NULL, MSGLEVEL_CLIENTNOTICE,
IRCTXT_CONFIG_SAVED, *data != '\0' ? data :
mainconfig->fname);
}
}
void fe_settings_init(void)
{
command_bind("set", NULL, (SIGNAL_FUNC) cmd_set);
command_bind("toggle", NULL, (SIGNAL_FUNC) cmd_toggle);
command_bind("alias", NULL, (SIGNAL_FUNC) cmd_alias);
command_bind("unalias", NULL, (SIGNAL_FUNC) cmd_unalias);
command_bind("reload", NULL, (SIGNAL_FUNC) cmd_reload);
command_bind("save", NULL, (SIGNAL_FUNC) cmd_save);
command_set_options("set", "clear");
}
@ -243,4 +267,6 @@ void fe_settings_deinit(void)
command_unbind("toggle", (SIGNAL_FUNC) cmd_toggle);
command_unbind("alias", (SIGNAL_FUNC) cmd_alias);
command_unbind("unalias", (SIGNAL_FUNC) cmd_unalias);
command_unbind("reload", (SIGNAL_FUNC) cmd_reload);
command_unbind("save", (SIGNAL_FUNC) cmd_save);
}

View File

@ -121,6 +121,8 @@ FORMAT_REC fecommon_core_formats[] = {
{ "perl_error", "Perl error: $0", 1, { 0 } },
{ "bind_key", "$[10]0 $1 $2", 3, { 0, 0, 0 } },
{ "bind_unknown_id", "Unknown bind action: $0", 1, { 0 } },
{ "config_saved", "Saved configuration to file $0", 1, { 0 } },
{ "config_reloaded", "Reloaded configuration", 1, { 0 } },
{ NULL, NULL, 0 }
};

View File

@ -91,8 +91,9 @@ enum {
IRCTXT_NOT_TOGGLE,
IRCTXT_PERL_ERROR,
IRCTXT_BIND_KEY,
IRCTXT_BIND_UNKNOWN_ID
IRCTXT_BIND_UNKNOWN_ID,
IRCTXT_CONFIG_SAVED,
IRCTXT_CONFIG_RELOADED
};
extern FORMAT_REC fecommon_core_formats[];