Mercurial > pidgin
comparison src/away.c @ 4491:3196d9044a45
[gaim-migrate @ 4766]
aim_user is dead. long live gaim_account.
committer: Tailor Script <tailor@pidgin.im>
author | Nathan Walp <nwalp@pidgin.im> |
---|---|
date | Fri, 31 Jan 2003 13:03:47 +0000 |
parents | 62c1e5e656d0 |
children | 5fcb44d771d2 |
comparison
equal
deleted
inserted
replaced
4490:70b892694e0b | 4491:3196d9044a45 |
---|---|
61 gchar *name; | 61 gchar *name; |
62 GSList *templist; | 62 GSList *templist; |
63 struct gaim_conversation *cnv; | 63 struct gaim_conversation *cnv; |
64 | 64 |
65 gtk_tree_model_get(GTK_TREE_MODEL(awayqueuestore), iter, 0, &name, -1); | 65 gtk_tree_model_get(GTK_TREE_MODEL(awayqueuestore), iter, 0, &name, -1); |
66 | 66 |
67 debug_printf("Unqueueing messages from %s.\n", name); | 67 debug_printf("Unqueueing messages from %s.\n", name); |
68 | 68 |
69 templist = message_queue; | 69 templist = message_queue; |
70 | 70 |
71 while (templist) { | 71 while (templist) { |
72 struct queued_message *qm = templist->data; | 72 struct queued_message *qm = templist->data; |
73 if (templist->data) { | 73 if (templist->data) { |
74 if (!g_strcasecmp(qm->name, name)) { | 74 if (!g_strcasecmp(qm->name, name)) { |
75 struct aim_user *user = NULL; | 75 struct gaim_account *account = NULL; |
76 | 76 |
77 if (g_slist_index(connections, qm->gc) >= 0) | 77 if (g_slist_index(connections, qm->gc) >= 0) |
78 user = qm->gc->user; | 78 account = qm->gc->account; |
79 | 79 |
80 cnv = gaim_find_conversation(name); | 80 cnv = gaim_find_conversation(name); |
81 | 81 |
82 if (!cnv) | 82 if (!cnv) |
83 cnv = gaim_conversation_new(GAIM_CONV_IM, user, qm->name); | 83 cnv = gaim_conversation_new(GAIM_CONV_IM, account, qm->name); |
84 else | 84 else |
85 gaim_conversation_set_user(cnv, user); | 85 gaim_conversation_set_account(cnv, account); |
86 | 86 |
87 gaim_im_write(GAIM_IM(cnv), NULL, qm->message, qm->len, | 87 gaim_im_write(GAIM_IM(cnv), NULL, qm->message, qm->len, |
88 qm->flags, qm->tm); | 88 qm->flags, qm->tm); |
89 g_free(qm->message); | 89 g_free(qm->message); |
90 g_free(qm); | 90 g_free(qm); |
91 templist = message_queue = g_slist_remove(message_queue, qm); | 91 templist = message_queue = g_slist_remove(message_queue, qm); |
92 | 92 |
93 } else { | 93 } else { |
94 templist = templist->next; | 94 templist = templist->next; |
95 } | 95 } |
96 } | 96 } |
97 } | 97 } |
105 void purge_away_queue(GSList **queue) | 105 void purge_away_queue(GSList **queue) |
106 { | 106 { |
107 GSList *q = *queue; | 107 GSList *q = *queue; |
108 struct queued_message *qm; | 108 struct queued_message *qm; |
109 struct gaim_conversation *cnv; | 109 struct gaim_conversation *cnv; |
110 struct aim_user *user; | 110 struct gaim_account *account; |
111 | 111 |
112 while (q) { | 112 while (q) { |
113 qm = q->data; | 113 qm = q->data; |
114 | 114 |
115 user = NULL; | 115 account = NULL; |
116 | 116 |
117 if (g_slist_index(connections, qm->gc) >= 0) | 117 if (g_slist_index(connections, qm->gc) >= 0) |
118 user = qm->gc->user; | 118 account = qm->gc->account; |
119 | 119 |
120 cnv = gaim_find_conversation(qm->name); | 120 cnv = gaim_find_conversation(qm->name); |
121 | 121 |
122 if (!cnv) | 122 if (!cnv) |
123 cnv = gaim_conversation_new(GAIM_CONV_IM, user, qm->name); | 123 cnv = gaim_conversation_new(GAIM_CONV_IM, account, qm->name); |
124 else | 124 else |
125 gaim_conversation_set_user(cnv, user); | 125 gaim_conversation_set_account(cnv, account); |
126 | 126 |
127 gaim_im_write(GAIM_IM(cnv), NULL, qm->message, -1, qm->flags, qm->tm); | 127 gaim_im_write(GAIM_IM(cnv), NULL, qm->message, -1, qm->flags, qm->tm); |
128 | 128 |
129 g_free(qm->message); | 129 g_free(qm->message); |
130 g_free(qm); | 130 g_free(qm); |
138 } | 138 } |
139 | 139 |
140 gint dequeue_cb(GtkWidget *treeview, GdkEventButton *event, gpointer data) { | 140 gint dequeue_cb(GtkWidget *treeview, GdkEventButton *event, gpointer data) { |
141 GtkTreeIter iter; | 141 GtkTreeIter iter; |
142 GtkTreeSelection *select; | 142 GtkTreeSelection *select; |
143 | 143 |
144 if(!(event->type == GDK_2BUTTON_PRESS && event->button == 1)) | 144 if(!(event->type == GDK_2BUTTON_PRESS && event->button == 1)) |
145 return FALSE; /* Double clicking on the list will unqueue that user's messages. */ | 145 return FALSE; /* Double clicking on the list will unqueue that user's messages. */ |
146 | 146 |
147 select = gtk_tree_view_get_selection(GTK_TREE_VIEW(treeview)); | 147 select = gtk_tree_view_get_selection(GTK_TREE_VIEW(treeview)); |
148 if(gtk_tree_selection_get_selected(select, NULL, &iter)) | 148 if(gtk_tree_selection_get_selected(select, NULL, &iter)) |
149 dequeue_message(&iter); | 149 dequeue_message(&iter); |
150 | 150 |
151 return FALSE; | 151 return FALSE; |
152 } | 152 } |
153 | 153 |
154 | 154 |
155 | 155 |
156 void toggle_away_queue() | 156 void toggle_away_queue() |
157 { | 157 { |
158 if (!awayqueue || !awayqueuesw) | 158 if (!awayqueue || !awayqueuesw) |