comparison src/gtkaccount.c @ 11638:3a05b53a589e

[gaim-migrate @ 13914] Some bits'n'pieces: A bunch of memory leak fixes Fix newly created accounts to connect in the currently active global status Fix the modify account dialog to only show relevant user options etc. Update sametime to use some more of the new status stuff, it still needs more love though. Some s/online/available/ for consistency across prpls Fix a racyness in disconnecting connections that want to die (fixes the Yahoo crash when signing on somewhere else) Sorry if I caused any conflicts! committer: Tailor Script <tailor@pidgin.im>
author Stu Tomlinson <stu@nosnilmot.com>
date Mon, 10 Oct 2005 17:59:48 +0000
parents fb702c34794b
children bf6ba37db13b
comparison
equal deleted inserted replaced
11637:cedd48571c90 11638:3a05b53a589e
1621 1621
1622 account_win_destroy_cb(NULL, NULL, dialog); 1622 account_win_destroy_cb(NULL, NULL, dialog);
1623 1623
1624 gaim_signal_emit(gaim_gtk_account_get_handle(), "account-modified", ret); 1624 gaim_signal_emit(gaim_gtk_account_get_handle(), "account-modified", ret);
1625 1625
1626 /* XXX: make the new account sign on with the currently active global status 1626 if (new) {
1627 * instead of hardcoding "online" */ 1627 GaimGtkBuddyList *gtkblist;
1628 if (new) 1628 GtkGaimStatusBox *status_box;
1629 gaim_presence_set_status_active(ret->presence, "online", TRUE); 1629 char *status_type_id;
1630
1631 gtkblist = GAIM_GTK_BLIST(gaim_get_blist());
1632 status_box = GTK_GAIM_STATUS_BOX(gtkblist->statusbox);
1633
1634 status_type_id = gtk_gaim_status_box_get_active_type(status_box);
1635 gaim_presence_set_status_active(ret->presence, status_type_id, TRUE);
1636 g_free(status_type_id);
1637 }
1630 1638
1631 return ret; 1639 return ret;
1632 } 1640 }
1633 1641
1634 static void 1642 static void
1715 gtk_container_add(GTK_CONTAINER(win), main_vbox); 1723 gtk_container_add(GTK_CONTAINER(win), main_vbox);
1716 gtk_widget_show(main_vbox); 1724 gtk_widget_show(main_vbox);
1717 1725
1718 notebook = gtk_notebook_new(); 1726 notebook = gtk_notebook_new();
1719 gtk_box_pack_start(GTK_BOX(main_vbox), notebook, FALSE, FALSE, 0); 1727 gtk_box_pack_start(GTK_BOX(main_vbox), notebook, FALSE, FALSE, 0);
1728 gtk_widget_show(GTK_WIDGET(notebook));
1720 1729
1721 /* Setup the inner vbox */ 1730 /* Setup the inner vbox */
1722 dialog->top_vbox = vbox = gtk_vbox_new(FALSE, GAIM_HIG_BORDER); 1731 dialog->top_vbox = vbox = gtk_vbox_new(FALSE, GAIM_HIG_BORDER);
1723 gtk_container_set_border_width(GTK_CONTAINER(vbox), GAIM_HIG_BORDER); 1732 gtk_container_set_border_width(GTK_CONTAINER(vbox), GAIM_HIG_BORDER);
1724 gtk_notebook_append_page(GTK_NOTEBOOK(notebook), vbox, 1733 gtk_notebook_append_page(GTK_NOTEBOOK(notebook), vbox,
1732 /* Setup the page with 'Advanced'. */ 1741 /* Setup the page with 'Advanced'. */
1733 dialog->bottom_vbox = dbox = gtk_vbox_new(FALSE, GAIM_HIG_BORDER); 1742 dialog->bottom_vbox = dbox = gtk_vbox_new(FALSE, GAIM_HIG_BORDER);
1734 gtk_container_set_border_width(GTK_CONTAINER(dbox), GAIM_HIG_BORDER); 1743 gtk_container_set_border_width(GTK_CONTAINER(dbox), GAIM_HIG_BORDER);
1735 gtk_notebook_append_page(GTK_NOTEBOOK(notebook), dbox, 1744 gtk_notebook_append_page(GTK_NOTEBOOK(notebook), dbox,
1736 gtk_label_new_with_mnemonic("_Advanced")); 1745 gtk_label_new_with_mnemonic("_Advanced"));
1746 gtk_widget_show(dbox);
1737 1747
1738 /** Setup the bottom frames. */ 1748 /** Setup the bottom frames. */
1739 add_protocol_options(dialog, dbox); 1749 add_protocol_options(dialog, dbox);
1740 gtk_widget_show_all(GTK_WIDGET(notebook));
1741 add_proxy_options(dialog, dbox); 1750 add_proxy_options(dialog, dbox);
1742 1751
1743 /* Setup the button box */ 1752 /* Setup the button box */
1744 bbox = gtk_hbutton_box_new(); 1753 bbox = gtk_hbutton_box_new();
1745 gtk_box_set_spacing(GTK_BOX(bbox), GAIM_HIG_BOX_SPACE); 1754 gtk_box_set_spacing(GTK_BOX(bbox), GAIM_HIG_BOX_SPACE);