Apply timeout changes made in preferences dialog
Just involves a bit of refactoring.
This commit is contained in:
parent
bcbe42dd7a
commit
9e4c2ddc47
|
@ -369,6 +369,37 @@ hexchat_lag_check_update (void) /* this gets called every 0.5 seconds */
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* call whenever timeout intervals change */
|
||||||
|
void
|
||||||
|
hexchat_reinit_timers (void)
|
||||||
|
{
|
||||||
|
static int lag_check_update_tag = 0;
|
||||||
|
static int lag_check_tag = 0;
|
||||||
|
static int away_tag = 0;
|
||||||
|
|
||||||
|
if (prefs.hex_notify_timeout)
|
||||||
|
{
|
||||||
|
notify_tag = fe_timeout_add_seconds (prefs.hex_notify_timeout,
|
||||||
|
notify_checklist, NULL);
|
||||||
|
} else
|
||||||
|
{
|
||||||
|
fe_timeout_remove (notify_tag);
|
||||||
|
}
|
||||||
|
|
||||||
|
fe_timeout_remove (away_tag);
|
||||||
|
away_tag = fe_timeout_add_seconds (prefs.hex_away_timeout, away_check, NULL);
|
||||||
|
|
||||||
|
if (prefs.hex_gui_lagometer)
|
||||||
|
{
|
||||||
|
lag_check_update_tag = fe_timeout_add (500, hexchat_lag_check_update, NULL);
|
||||||
|
lag_check_tag = fe_timeout_add_seconds (30, hexchat_lag_check, NULL);
|
||||||
|
} else
|
||||||
|
{
|
||||||
|
fe_timeout_remove (lag_check_update_tag);
|
||||||
|
fe_timeout_remove (lag_check_tag);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/* executed when the first irc window opens */
|
/* executed when the first irc window opens */
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -394,16 +425,7 @@ irc_init (session *sess)
|
||||||
plugin_add (sess, NULL, NULL, dbus_plugin_init, NULL, NULL, FALSE);
|
plugin_add (sess, NULL, NULL, dbus_plugin_init, NULL, NULL, FALSE);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (prefs.hex_notify_timeout)
|
hexchat_reinit_timers ();
|
||||||
notify_tag = fe_timeout_add_seconds (prefs.hex_notify_timeout,
|
|
||||||
notify_checklist, NULL);
|
|
||||||
|
|
||||||
fe_timeout_add_seconds (prefs.hex_away_timeout, away_check, NULL);
|
|
||||||
if (prefs.hex_gui_lagometer)
|
|
||||||
{
|
|
||||||
fe_timeout_add (500, hexchat_lag_check_update, NULL);
|
|
||||||
fe_timeout_add_seconds (30, hexchat_lag_check, NULL);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (arg_url != NULL)
|
if (arg_url != NULL)
|
||||||
{
|
{
|
||||||
|
|
|
@ -50,6 +50,7 @@ extern GList *sess_list_by_lastact[];
|
||||||
session * find_channel (server *serv, char *chan);
|
session * find_channel (server *serv, char *chan);
|
||||||
session * find_dialog (server *serv, char *nick);
|
session * find_dialog (server *serv, char *nick);
|
||||||
session * new_ircwindow (server *serv, char *name, int type, int focus);
|
session * new_ircwindow (server *serv, char *name, int type, int focus);
|
||||||
|
void hexchat_reinit_timers (void);
|
||||||
void lastact_update (session * sess);
|
void lastact_update (session * sess);
|
||||||
session * lastact_getfirst (int (*filter) (session *sess));
|
session * lastact_getfirst (int (*filter) (session *sess));
|
||||||
int is_session (session * sess);
|
int is_session (session * sess);
|
||||||
|
|
|
@ -2132,6 +2132,7 @@ setup_apply_real (int new_pix, int do_ulist, int do_layout, int do_identd)
|
||||||
|
|
||||||
mg_apply_setup ();
|
mg_apply_setup ();
|
||||||
tray_apply_setup ();
|
tray_apply_setup ();
|
||||||
|
hexchat_reinit_timers ();
|
||||||
|
|
||||||
if (do_layout)
|
if (do_layout)
|
||||||
menu_change_layout ();
|
menu_change_layout ();
|
||||||
|
|
Loading…
Reference in New Issue