| 154 static void edit_bp_callback(GtkWidget *w, struct buddy_pounce *b) |
154 static void edit_bp_callback(GtkWidget *w, struct buddy_pounce *b) |
| 155 { |
155 { |
| 156 show_new_bp(NULL, NULL, 0, 0, b); |
156 show_new_bp(NULL, NULL, 0, 0, b); |
| 157 } |
157 } |
| 158 |
158 |
| 159 /*static GtkTooltips *bp_tooltip = NULL; |
159 static GtkTooltips *bp_tooltip = NULL; |
| 160 void do_bp_menu() |
160 void do_bp_menu() |
| 161 { |
161 { |
| 162 GtkWidget *menuitem, *mess, *messmenu; |
162 GtkWidget *menuitem, *mess, *messmenu; |
| 163 static GtkWidget *remmenu; |
163 static GtkWidget *remmenu; |
| 164 GtkWidget *remitem; |
164 GtkWidget *remitem; |
| 165 GtkWidget *sep; |
165 GtkWidget *sep; |
| 166 GList *l; |
166 GList *l; |
| 167 struct buddy_pounce *b; |
167 struct buddy_pounce *b; |
| 168 GList *bp = buddy_pounces; |
168 GList *bp = buddy_pounces; |
| 169 |
169 |
| 170 /* Tooltip for editing bp's |
170 /* Tooltip for editing bp's */ |
| 171 if(!bp_tooltip) |
171 if(!bp_tooltip) |
| 172 bp_tooltip = gtk_tooltips_new(); |
172 bp_tooltip = gtk_tooltips_new(); |
| 173 |
173 |
| 174 l = gtk_container_children(GTK_CONTAINER(bpmenu)); |
174 l = gtk_container_get_children(GTK_CONTAINER(bpmenu)); |
| 175 |
175 |
| 176 while (l) { |
176 while (l) { |
| 177 gtk_widget_destroy(GTK_WIDGET(l->data)); |
177 gtk_widget_destroy(GTK_WIDGET(l->data)); |
| 178 l = l->next; |
178 l = l->next; |
| 179 } |
179 } |
| 180 |
180 |
| 181 remmenu = gtk_menu_new(); |
181 remmenu = gtk_menu_new(); |
| 182 |
182 |
| 183 menuitem = gtk_menu_item_new_with_label(_("New Buddy Pounce")); |
183 menuitem = gtk_menu_item_new_with_label(_("New Buddy Pounce")); |
| 184 gtk_menu_shell_append(GTK_MENU(bpmenu), menuitem); |
184 gtk_menu_shell_append(GTK_MENU_SHELL(bpmenu), menuitem); |
| 185 gtk_widget_show(menuitem); |
185 gtk_widget_show(menuitem); |
| 186 g_signal_connect(GTK_OBJECT(menuitem), "activate", G_CALLBACK(new_bp_callback), NULL); |
186 g_signal_connect(GTK_OBJECT(menuitem), "activate", G_CALLBACK(new_bp_callback), NULL); |
| 187 |
187 |
| 188 |
188 |
| 189 while (bp) { |
189 while (bp) { |
| 190 |
190 |
| 191 b = (struct buddy_pounce *)bp->data; |
191 b = (struct buddy_pounce *)bp->data; |
| 192 remitem = gtk_menu_item_new_with_label(b->name); |
192 remitem = gtk_menu_item_new_with_label(b->name); |
| 193 gtk_menu_shell_append(GTK_MENU(remmenu), remitem); |
193 gtk_menu_shell_append(GTK_MENU_SHELL(remmenu), remitem); |
| 194 gtk_widget_show(remitem); |
194 gtk_widget_show(remitem); |
| 195 g_signal_connect(GTK_OBJECT(remitem), "activate", G_CALLBACK(rem_bp), b); |
195 g_signal_connect(GTK_OBJECT(remitem), "activate", G_CALLBACK(rem_bp), b); |
| 196 |
196 |
| 197 bp = bp->next; |
197 bp = bp->next; |
| 198 |
198 |
| 199 } |
199 } |
| 200 |
200 |
| 201 menuitem = gtk_menu_item_new_with_label(_("Remove Buddy Pounce")); |
201 menuitem = gtk_menu_item_new_with_label(_("Remove Buddy Pounce")); |
| 202 gtk_menu_shell_append(GTK_MENU(bpmenu), menuitem); |
202 gtk_menu_shell_append(GTK_MENU_SHELL(bpmenu), menuitem); |
| 203 gtk_widget_show(menuitem); |
203 gtk_widget_show(menuitem); |
| 204 gtk_menu_item_set_submenu(GTK_MENU_ITEM(menuitem), remmenu); |
204 gtk_menu_item_set_submenu(GTK_MENU_ITEM(menuitem), remmenu); |
| 205 gtk_widget_show(remmenu); |
205 gtk_widget_show(remmenu); |
| 206 |
206 |
| 207 sep = gtk_hseparator_new(); |
207 sep = gtk_hseparator_new(); |
| 208 menuitem = gtk_menu_item_new(); |
208 menuitem = gtk_menu_item_new(); |
| 209 gtk_menu_shell_append(GTK_MENU(bpmenu), menuitem); |
209 gtk_menu_shell_append(GTK_MENU_SHELL(bpmenu), menuitem); |
| 210 gtk_container_add(GTK_CONTAINER(menuitem), sep); |
210 gtk_container_add(GTK_CONTAINER(menuitem), sep); |
| 211 gtk_widget_set_sensitive(menuitem, FALSE); |
211 gtk_widget_set_sensitive(menuitem, FALSE); |
| 212 gtk_widget_show(menuitem); |
212 gtk_widget_show(menuitem); |
| 213 gtk_widget_show(sep); |
213 gtk_widget_show(sep); |
| 214 |
214 |
| 217 while (bp) { |
217 while (bp) { |
| 218 |
218 |
| 219 b = (struct buddy_pounce *)bp->data; |
219 b = (struct buddy_pounce *)bp->data; |
| 220 |
220 |
| 221 menuitem = gtk_menu_item_new_with_label(b->name); |
221 menuitem = gtk_menu_item_new_with_label(b->name); |
| 222 gtk_menu_shell_append(GTK_MENU(bpmenu), menuitem); |
222 gtk_menu_shell_append(GTK_MENU_SHELL(bpmenu), menuitem); |
| 223 messmenu = gtk_menu_new(); |
223 messmenu = gtk_menu_new(); |
| 224 gtk_menu_item_set_submenu(GTK_MENU_ITEM(menuitem), messmenu); |
224 gtk_menu_item_set_submenu(GTK_MENU_ITEM(menuitem), messmenu); |
| 225 gtk_widget_show(menuitem); |
225 gtk_widget_show(menuitem); |
| 226 |
226 |
| 227 if (strlen(b->message)) |
227 if (strlen(b->message)) |
| 228 mess = gtk_menu_item_new_with_label(b->message); |
228 mess = gtk_menu_item_new_with_label(b->message); |
| 229 else |
229 else |
| 230 mess = gtk_menu_item_new_with_label(_("[no message]")); |
230 mess = gtk_menu_item_new_with_label(_("[no message]")); |
| 231 gtk_menu_shell_append(GTK_MENU(messmenu), mess); |
231 gtk_menu_shell_append(GTK_MENU_SHELL(messmenu), mess); |
| 232 gtk_tooltips_set_tip(bp_tooltip, GTK_WIDGET(mess), _("[Click to edit]"), NULL); |
232 gtk_tooltips_set_tip(bp_tooltip, GTK_WIDGET(mess), _("[Click to edit]"), NULL); |
| 233 gtk_widget_show(mess); |
233 gtk_widget_show(mess); |
| 234 g_signal_connect(GTK_OBJECT(mess), "activate", G_CALLBACK(edit_bp_callback), b); |
234 g_signal_connect(GTK_OBJECT(mess), "activate", G_CALLBACK(edit_bp_callback), b); |
| 235 bp = bp->next; |
235 bp = bp->next; |
| 236 |
236 |
| 237 } |
237 } |
| 238 |
238 |
| 239 } |
239 } |
| 240 */ |
240 |
| 241 /*------------------------------------------------------------------------*/ |
241 /*------------------------------------------------------------------------*/ |
| 242 /* The dialog for new buddy pounces */ |
242 /* The dialog for new buddy pounces */ |
| 243 /*------------------------------------------------------------------------*/ |
243 /*------------------------------------------------------------------------*/ |
| 244 |
244 |
| 245 |
245 |
| 603 gtk_box_pack_end(GTK_BOX(bbox), button, FALSE, FALSE, 0); |
603 gtk_box_pack_end(GTK_BOX(bbox), button, FALSE, FALSE, 0); |
| 604 gtk_widget_show(button); |
604 gtk_widget_show(button); |
| 605 |
605 |
| 606 button = gaim_pixbuf_button_from_stock(_("C_ancel"), "gtk-cancel", GAIM_BUTTON_HORIZONTAL); |
606 button = gaim_pixbuf_button_from_stock(_("C_ancel"), "gtk-cancel", GAIM_BUTTON_HORIZONTAL); |
| 607 gtk_size_group_add_widget(sg, button); |
607 gtk_size_group_add_widget(sg, button); |
| 608 g_signal_connect(GTK_OBJECT(button), "clicked", G_CALLBACK(gtk_widget_destroy), b->window); |
608 g_signal_connect_swapped(GTK_OBJECT(button), "clicked", G_CALLBACK(gtk_widget_destroy), b->window); |
| 609 gtk_box_pack_end(GTK_BOX(bbox), button, FALSE, FALSE, 0); |
609 gtk_box_pack_end(GTK_BOX(bbox), button, FALSE, FALSE, 0); |
| 610 gtk_widget_show(button); |
610 gtk_widget_show(button); |
| 611 |
611 |
| 612 |
612 |
| 613 gtk_widget_show(b->window); |
613 gtk_widget_show(b->window); |