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)