Mercurial > pidgin.yaz
comparison src/away.c @ 6479:b808f9734879
[gaim-migrate @ 6992]
(19:12:00) Robot101: replacing some slightly crufty old code which makes assumptions like AIM-only, ignores gcs, could've messed up in certain obscure circumstances.
(19:12:10) Robot101: my code's probably more efficient in cpu and memory too.
(19:12:28) Robot101: and it's orthogonal to my message queue work so I split it off.
committer: Tailor Script <tailor@pidgin.im>
author | Luke Schierer <lschiere@pidgin.im> |
---|---|
date | Fri, 15 Aug 2003 23:13:42 +0000 |
parents | 8f94cce8faa5 |
children | 314111e7b601 |
comparison
equal
deleted
inserted
replaced
6478:338147ea6896 | 6479:b808f9734879 |
---|---|
35 #include "gtkprefs.h" | 35 #include "gtkprefs.h" |
36 #include "gtkutils.h" | 36 #include "gtkutils.h" |
37 #include "ui.h" | 37 #include "ui.h" |
38 | 38 |
39 GtkWidget *imaway = NULL; | 39 GtkWidget *imaway = NULL; |
40 | |
41 GtkWidget *awaymenu = NULL; | 40 GtkWidget *awaymenu = NULL; |
42 GtkWidget *awayqueue = NULL; | 41 GtkWidget *awayqueue = NULL; |
43 GtkListStore *awayqueuestore = NULL; | 42 GtkListStore *awayqueuestore = NULL; |
44 GtkWidget *awayqueuesw; | 43 GtkWidget *awayqueuesw; |
45 | 44 |
45 GSList *message_queue = NULL; | |
46 GSList *unread_message_queue = NULL; | |
47 | |
48 GSList *away_messages = NULL; | |
46 struct away_message *awaymessage = NULL; | 49 struct away_message *awaymessage = NULL; |
47 int auto_away; | |
48 | 50 |
49 static void dequeue_message(GtkTreeIter *iter) | 51 static void dequeue_message(GtkTreeIter *iter) |
50 { | 52 { |
51 gchar *name; | 53 gchar *name; |
52 GSList *templist; | 54 GSList *templist; |
168 | 170 |
169 imaway = NULL; | 171 imaway = NULL; |
170 gtk_widget_destroy(tmp); | 172 gtk_widget_destroy(tmp); |
171 if (w != tmp) | 173 if (w != tmp) |
172 return; | 174 return; |
173 } | |
174 | |
175 while (away_time_queue) { | |
176 struct queued_away_response *qar = away_time_queue->data; | |
177 away_time_queue = g_slist_remove(away_time_queue, qar); | |
178 g_free(qar); | |
179 } | 175 } |
180 | 176 |
181 awaymessage = NULL; | 177 awaymessage = NULL; |
182 awayqueue = NULL; | 178 awayqueue = NULL; |
183 awayqueuesw = NULL; | 179 awayqueuesw = NULL; |
274 g_signal_connect(G_OBJECT(back), "clicked", G_CALLBACK(do_im_back), imaway); | 270 g_signal_connect(G_OBJECT(back), "clicked", G_CALLBACK(do_im_back), imaway); |
275 gtk_window_set_focus(GTK_WINDOW(imaway), back); | 271 gtk_window_set_focus(GTK_WINDOW(imaway), back); |
276 gtk_widget_show(back); | 272 gtk_widget_show(back); |
277 | 273 |
278 awaymessage = a; | 274 awaymessage = a; |
279 | |
280 /* New away message... Clear out the old sent_aways */ | |
281 while (away_time_queue) { | |
282 struct queued_away_response *qar = away_time_queue->data; | |
283 away_time_queue = g_slist_remove(away_time_queue, qar); | |
284 g_free(qar); | |
285 } | |
286 | 275 |
287 gtk_widget_show(imaway); | 276 gtk_widget_show(imaway); |
288 serv_set_away_all(awaymessage->message); | 277 serv_set_away_all(awaymessage->message); |
289 } | 278 } |
290 | 279 |