src/server.c

changeset 9594
7a1f902b9494
parent 9584
1a6198375303
child 9613
cd81e0c76ec0
--- a/src/server.c	Sun Jul 25 17:52:22 2004 +0000
+++ b/src/server.c	Sun Jul 25 22:13:03 2004 +0000
@@ -260,6 +260,7 @@
 	GaimConversation *c;
 	int val = -EINVAL;
 	GaimPluginProtocolInfo *prpl_info = NULL;
+	const gchar *auto_reply_pref;
 
 	if (gc != NULL && gc->prpl != NULL)
 		prpl_info = GAIM_PLUGIN_PROTOCOL_INFO(gc->prpl);
@@ -272,8 +273,13 @@
 	if (!(imflags & GAIM_CONV_IM_AUTO_RESP))
 		serv_touch_idle(gc);
 
+	/*
+	 * XXX - If "only auto-reply when away & idle" is set, then shouldn't
+	 * this only reset lar->sent if we're away AND idle?
+	 */
+	auto_reply_pref = gaim_prefs_get_string("/core/away/auto_reply");
 	if (gc->away &&	(gc->flags & GAIM_CONNECTION_AUTO_RESP) &&
-		gaim_prefs_get_bool("/core/away/auto_response/enabled")) {
+		strcmp(auto_reply_pref, "never")) {
 
 		struct last_auto_response *lar;
 		lar = get_last_auto_response(gc, name);
@@ -897,6 +903,7 @@
 		const char *alias = b ? gaim_get_buddy_alias(b) : name;
 		int row;
 		struct last_auto_response *lar;
+		const gchar *auto_reply_pref;
 
 		/*
 		 * Either we're going to queue it or not. Because of the way
@@ -972,16 +979,17 @@
 		 * Don't autorespond if:
 		 *
 		 *  - it's not supported on this connection
+		 *  - or the away message is empty
 		 *  - or it's disabled
-		 *  - or the away message is empty
 		 *  - or we're not idle and the 'only auto respond if idle' pref
 		 *    is set
 		 */
+		auto_reply_pref = gaim_prefs_get_string("/core/away/auto_reply");
 		if (!(gc->flags & GAIM_CONNECTION_AUTO_RESP) ||
-			!gaim_prefs_get_bool("/core/away/auto_response/enabled") ||
 			*gc->away == '\0' ||
+			!strcmp(auto_reply_pref, "never") ||
 			(!gc->is_idle &&
-			 gaim_prefs_get_bool("/core/away/auto_response/idle_only"))) {
+			 !strcmp(auto_reply_pref, "awayidle"))) {
 
 			g_free(name);
 			g_free(message);

mercurial