1
0
mirror of https://github.com/irssi/irssi.git synced 2024-06-16 06:25:24 +00:00
This commit is contained in:
ailin-nemui 2017-11-10 22:02:36 +01:00
parent 4d6822b1c4
commit 02c677f467
4 changed files with 23 additions and 17 deletions

View File

@ -39,7 +39,7 @@ static GString *last_errors;
static GSList *last_invalid_modules;
static int fe_initialized;
static int config_changed; /* FIXME: remove after .98 (unless needed again) */
static int user_settings_changed;
static unsigned int user_settings_changed;
static GHashTable *settings;
static int timeout_tag;
@ -467,7 +467,7 @@ SETTINGS_REC *settings_get_record(const char *key)
static void sig_init_userinfo_changed(gpointer changedp)
{
user_settings_changed = GPOINTER_TO_INT(changedp);
user_settings_changed |= GPOINTER_TO_UINT(changedp);
}
static void sig_init_finished(void)
@ -486,7 +486,7 @@ static void sig_init_finished(void)
signal_emit("setup changed", 0);
}
signal_emit("settings userinfo changed", 1, GINT_TO_POINTER(user_settings_changed));
signal_emit("settings userinfo changed", 1, GUINT_TO_POINTER(user_settings_changed));
}
static void settings_clean_invalid_module(const char *module)

View File

@ -30,6 +30,13 @@ typedef struct {
char **choices;
} SETTINGS_REC;
enum {
USER_SETTINGS_REAL_NAME = 0x1,
USER_SETTINGS_USER_NAME = 0x2,
USER_SETTINGS_NICK = 0x4,
USER_SETTINGS_HOSTNAME = 0x8,
};
/* macros for handling the default Irssi configuration */
#define iconfig_get_str(a, b, c) config_get_str(mainconfig, a, b, c)
#define iconfig_get_int(a, b, c) config_get_int(mainconfig, a, b, c)

View File

@ -81,7 +81,7 @@ static GMainLoop *main_loop;
int quitting;
static int display_firsttimer = FALSE;
static int user_settings_changed = 0;
static unsigned int user_settings_changed = 0;
static void sig_exit(void)
@ -91,7 +91,7 @@ static void sig_exit(void)
static void sig_settings_userinfo_changed(gpointer changedp)
{
user_settings_changed = GPOINTER_TO_INT(changedp);
user_settings_changed = GPOINTER_TO_UINT(changedp);
}
/* redraw irssi's screen.. */
@ -199,13 +199,13 @@ static void textui_finish_init(void)
/* see irc-servers-setup.c:init_userinfo */
if (user_settings_changed)
printformat(NULL, NULL, MSGLEVEL_CLIENTNOTICE, TXT_WELCOME_INIT_SETTINGS);
if (user_settings_changed & (1<<0))
if (user_settings_changed & USER_SETTINGS_REAL_NAME)
fe_settings_set_print("real_name");
if (user_settings_changed & (1<<1))
if (user_settings_changed & USER_SETTINGS_USER_NAME)
fe_settings_set_print("user_name");
if (user_settings_changed & (1<<2))
if (user_settings_changed & USER_SETTINGS_NICK)
fe_settings_set_print("nick");
if (user_settings_changed & (1<<3))
if (user_settings_changed & USER_SETTINGS_HOSTNAME)
fe_settings_set_print("hostname");
}
@ -222,7 +222,7 @@ static void textui_deinit(void)
fe_perl_deinit();
#endif
dirty_check(); /* one last time to print any quit messages */
dirty_check(); /* one last time to print any quit messages */
signal_remove("settings userinfo changed", (SIGNAL_FUNC) sig_settings_userinfo_changed);
signal_remove("gui exit", (SIGNAL_FUNC) sig_exit);
@ -250,7 +250,6 @@ static void textui_deinit(void)
core_deinit();
}
static void check_files(void)
{
struct stat statbuf;

View File

@ -116,7 +116,7 @@ static void sig_server_setup_fill_chatnet(IRC_SERVER_CONNECT_REC *conn,
static void init_userinfo(void)
{
int changed;
unsigned int changed;
const char *set, *nick, *user_name, *str;
changed = 0;
@ -126,7 +126,7 @@ static void init_userinfo(void)
str = g_getenv("IRCNAME");
settings_set_str("real_name",
str != NULL ? str : g_get_real_name());
changed |= 1<<0;
changed |= USER_SETTINGS_REAL_NAME;
}
/* username */
@ -137,7 +137,7 @@ static void init_userinfo(void)
str != NULL ? str : g_get_user_name());
user_name = settings_get_str("user_name");
changed |= 1<<1;
changed |= USER_SETTINGS_USER_NAME;
}
/* nick */
@ -147,7 +147,7 @@ static void init_userinfo(void)
settings_set_str("nick", str != NULL ? str : user_name);
nick = settings_get_str("nick");
changed |= 1<<2;
changed |= USER_SETTINGS_NICK;
}
/* host name */
@ -156,11 +156,11 @@ static void init_userinfo(void)
str = g_getenv("IRCHOST");
if (str != NULL) {
settings_set_str("hostname", str);
changed |= 1<<3;
changed |= USER_SETTINGS_HOSTNAME;
}
}
signal_emit("irssi init userinfo changed", 1, GINT_TO_POINTER(changed));
signal_emit("irssi init userinfo changed", 1, GUINT_TO_POINTER(changed));
}
static void sig_server_setup_read(IRC_SERVER_SETUP_REC *rec, CONFIG_NODE *node)