comparison src/savedstatuses.c @ 12857:e5f780a6137b

[gaim-migrate @ 15208] This is the ability to set a startup status to be used instead of the status when you last exited. The savedstatus stuff was missing from Changelog.API, so I added it. committer: Tailor Script <tailor@pidgin.im>
author Daniel Atallah <daniel.atallah@gmail.com>
date Fri, 13 Jan 2006 02:47:12 +0000
parents f88f145884c0
children e3b9c6c7bcf6
comparison
equal deleted inserted replaced
12856:be1cd5952a48 12857:e5f780a6137b
689 689
690 return truncated; 690 return truncated;
691 } 691 }
692 692
693 GaimSavedStatus * 693 GaimSavedStatus *
694 gaim_savedstatus_get_startup()
695 {
696 int creation_time;
697 GaimSavedStatus *saved_status = NULL;
698
699 creation_time = gaim_prefs_get_int("/core/savedstatus/startup");
700
701 if (creation_time != 0)
702 saved_status = g_hash_table_lookup(creation_times, &creation_time);
703
704 if (saved_status == NULL)
705 {
706 /* We don't have a status to apply.
707 * This may be the first login, or the user wants to
708 * restore the "current" status */
709 saved_status = gaim_savedstatus_get_current();
710 }
711
712 return saved_status;
713 }
714
715
716 GaimSavedStatus *
694 gaim_savedstatus_get_current() 717 gaim_savedstatus_get_current()
695 { 718 {
696 int creation_time; 719 int creation_time;
697 GaimSavedStatus *saved_status = NULL; 720 GaimSavedStatus *saved_status = NULL;
698 721
907 for (node = accounts; node != NULL; node = node->next) 930 for (node = accounts; node != NULL; node = node->next)
908 { 931 {
909 GaimAccount *account; 932 GaimAccount *account;
910 933
911 account = node->data; 934 account = node->data;
935
912 gaim_savedstatus_activate_for_account(saved_status, account); 936 gaim_savedstatus_activate_for_account(saved_status, account);
913 } 937 }
914 938
915 g_list_free(accounts); 939 g_list_free(accounts);
916 940
976 * sees a creation_time of 0, then it will create a default 1000 * sees a creation_time of 0, then it will create a default
977 * saved status and return that to the user. 1001 * saved status and return that to the user.
978 */ 1002 */
979 gaim_prefs_add_none("/core/savedstatus"); 1003 gaim_prefs_add_none("/core/savedstatus");
980 gaim_prefs_add_int("/core/savedstatus/current", 0); 1004 gaim_prefs_add_int("/core/savedstatus/current", 0);
1005 gaim_prefs_add_int("/core/savedstatus/startup", 0);
1006 gaim_prefs_add_bool("/core/savedstatus/startup_current_status", TRUE);
981 gaim_prefs_add_int("/core/savedstatus/idleaway", 0); 1007 gaim_prefs_add_int("/core/savedstatus/idleaway", 0);
982 1008
983 load_statuses(); 1009 load_statuses();
984 } 1010 }
985 1011