Mercurial > pidgin
comparison plugins/chatlist.c @ 3565:154c4a9d9b6d
[gaim-migrate @ 3660]
Now you can configure your plugins.
committer: Tailor Script <tailor@pidgin.im>
author | Sean Egan <seanegan@gmail.com> |
---|---|
date | Sat, 28 Sep 2002 21:39:45 +0000 |
parents | cd938f18f3f8 |
children | 9682c0e022c6 |
comparison
equal
deleted
inserted
replaced
3564:83a54877f1ae | 3565:154c4a9d9b6d |
---|---|
291 if (parent) | 291 if (parent) |
292 gtk_widget_destroy(parent); | 292 gtk_widget_destroy(parent); |
293 parent = NULL; | 293 parent = NULL; |
294 } | 294 } |
295 | 295 |
296 void gaim_plugin_config() | 296 GtkWidget *gaim_plugin_config_gtk() |
297 { | 297 { |
298 GtkWidget *vbox; | 298 GtkWidget *ret, *vbox; |
299 GtkWidget *frame; | |
300 GtkWidget *box; | |
301 GtkWidget *table; | |
302 GtkWidget *rem_button, *add_button, *ref_button; | |
303 GtkWidget *list1, *list2; | 299 GtkWidget *list1, *list2; |
304 GtkWidget *label; | |
305 GtkWidget *sw1, *sw2; | 300 GtkWidget *sw1, *sw2; |
306 GtkWidget *item; | 301 GtkWidget *ref_button, *add_button, *rem_button; |
307 GtkWidget *hbox; | 302 GtkWidget *table, *label; |
308 GtkWidget *button; | 303 struct chat_room *cr = NULL; |
304 GList *items = NULL; | |
309 GList *crs = chat_rooms; | 305 GList *crs = chat_rooms; |
310 GList *items = NULL; | 306 |
311 struct chat_room *cr; | |
312 | |
313 if (parent) { | |
314 gtk_widget_show(parent); | |
315 return; | |
316 } | |
317 | |
318 if (cp) | 307 if (cp) |
319 g_free(cp); | 308 g_free(cp); |
320 cp = g_new0(struct chat_page, 1); | 309 cp = g_new0(struct chat_page, 1); |
321 | 310 |
322 parent = gtk_window_new(GTK_WINDOW_TOPLEVEL); | 311 |
323 gtk_widget_set_usize(parent, 300, 400); | 312 ret = gtk_vbox_new(FALSE, 18); |
324 gtk_window_set_title(GTK_WINDOW(parent), "Chat Rooms"); | 313 gtk_container_set_border_width (GTK_CONTAINER (ret), 12); |
325 gtk_window_set_wmclass(GTK_WINDOW(parent), "chatlist", "Gaim"); | 314 |
326 gtk_widget_realize(parent); | 315 vbox = make_frame(ret, _("Chat Rooms")); |
327 gtk_signal_connect(GTK_OBJECT(parent), "destroy", | |
328 GTK_SIGNAL_FUNC(parent_destroy), NULL); | |
329 | |
330 vbox = gtk_vbox_new(FALSE, 0); | |
331 gtk_container_add(GTK_CONTAINER(parent), vbox); | |
332 gtk_widget_show(vbox); | |
333 | |
334 hbox = gtk_hbox_new(FALSE, 0); | |
335 gtk_box_pack_end(GTK_BOX(vbox), hbox, FALSE, FALSE, 5); | |
336 gtk_widget_show(hbox); | |
337 | |
338 button = picture_button(parent, _("Close"), cancel_xpm); | |
339 gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 5); | |
340 gtk_signal_connect(GTK_OBJECT(button), "clicked", | |
341 GTK_SIGNAL_FUNC(parent_destroy), NULL); | |
342 | |
343 frame = gtk_frame_new(_("Chat Rooms")); | |
344 gtk_box_pack_start(GTK_BOX(vbox), frame, TRUE, TRUE, 5); | |
345 gtk_widget_show(frame); | |
346 | |
347 box = gtk_vbox_new(FALSE, 5); | |
348 gtk_container_set_border_width(GTK_CONTAINER(box), 5); | |
349 gtk_container_add(GTK_CONTAINER(frame), box); | |
350 gtk_widget_show(box); | |
351 | 316 |
352 table = gtk_table_new(4, 2, FALSE); | 317 table = gtk_table_new(4, 2, FALSE); |
353 gtk_widget_show(table); | 318 gtk_widget_show(table); |
354 | 319 |
355 gtk_box_pack_start(GTK_BOX(box), table, TRUE, TRUE, 0); | 320 gtk_box_pack_start(GTK_BOX(vbox), table, TRUE, TRUE, 0); |
356 | 321 |
357 list1 = gtk_list_new(); | 322 list1 = gtk_list_new(); |
358 list2 = gtk_list_new(); | 323 list2 = gtk_list_new(); |
359 sw1 = gtk_scrolled_window_new(NULL, NULL); | 324 sw1 = gtk_scrolled_window_new(NULL, NULL); |
360 sw2 = gtk_scrolled_window_new(NULL, NULL); | 325 sw2 = gtk_scrolled_window_new(NULL, NULL); |
361 | 326 |
362 ref_button = picture_button(parent, _("Refresh"), refresh_xpm); | 327 ref_button = picture_button(prefs, _("Refresh"), refresh_xpm); |
363 add_button = picture_button(parent, _("Add"), gnome_add_xpm); | 328 add_button = picture_button(prefs, _("Add"), gnome_add_xpm); |
364 rem_button = picture_button(parent, _("Remove"), gnome_remove_xpm); | 329 rem_button = picture_button(prefs, _("Remove"), gnome_remove_xpm); |
365 gtk_widget_show(list1); | 330 gtk_widget_show(list1); |
366 gtk_widget_show(sw1); | 331 gtk_widget_show(sw1); |
367 gtk_widget_show(list2); | 332 gtk_widget_show(list2); |
368 gtk_widget_show(sw2); | 333 gtk_widget_show(sw2); |
369 | 334 |
370 gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(sw1), list1); | 335 gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(sw1), list1); |
371 gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(sw2), list2); | 336 gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(sw2), list2); |
372 | 337 |
373 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw1), | |
374 GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS); | |
375 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw2), | |
376 GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS); | |
377 | |
378 cp->list1 = list1; | 338 cp->list1 = list1; |
379 cp->list2 = list2; | 339 cp->list2 = list2; |
380 | 340 |
381 gtk_signal_connect(GTK_OBJECT(ref_button), "clicked", GTK_SIGNAL_FUNC(refresh_list), cp); | 341 gtk_signal_connect(GTK_OBJECT(ref_button), "clicked", GTK_SIGNAL_FUNC(refresh_list), cp); |
382 gtk_signal_connect(GTK_OBJECT(rem_button), "clicked", GTK_SIGNAL_FUNC(remove_chat), cp); | 342 gtk_signal_connect(GTK_OBJECT(rem_button), "clicked", GTK_SIGNAL_FUNC(remove_chat), cp); |
383 gtk_signal_connect(GTK_OBJECT(add_button), "clicked", GTK_SIGNAL_FUNC(add_chat), cp); | 343 gtk_signal_connect(GTK_OBJECT(add_button), "clicked", GTK_SIGNAL_FUNC(add_chat), cp); |
384 | |
385 | |
386 | 344 |
387 label = gtk_label_new(_("List of available chats")); | 345 label = gtk_label_new(_("List of available chats")); |
388 gtk_widget_show(label); | 346 gtk_widget_show(label); |
389 | 347 |
390 gtk_table_attach(GTK_TABLE(table), label, 0, 1, 0, 1, GTK_SHRINK, GTK_SHRINK, 0, 0); | 348 gtk_table_attach(GTK_TABLE(table), label, 0, 1, 0, 1, GTK_SHRINK, GTK_SHRINK, 0, 0); |
421 | 379 |
422 crs = crs->next; | 380 crs = crs->next; |
423 } | 381 } |
424 | 382 |
425 gtk_list_append_items(GTK_LIST(list2), items); | 383 gtk_list_append_items(GTK_LIST(list2), items); |
426 | 384 gtk_widget_show_all(ret); |
427 gtk_widget_show(parent); | 385 return ret; |
428 } | 386 } |
429 | 387 |
430 static void handle_signon(struct gaim_connection *gc) | 388 static void handle_signon(struct gaim_connection *gc) |
431 { | 389 { |
432 setup_buddy_chats(); | 390 setup_buddy_chats(); |