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();