Mercurial > pidgin
changeset 5560:b7319c094153
[gaim-migrate @ 5961]
It compiles now, but if you use it, you won't have any accounts.
committer: Tailor Script <tailor@pidgin.im>
author | Christian Hammond <chipx86@chipx86.com> |
---|---|
date | Fri, 30 May 2003 03:25:39 +0000 |
parents | f8f1586e8bc3 |
children | d67b5b4e1323 |
files | src/away.c src/browser.c src/dialogs.c src/gaim.h src/gaimrc.c src/gtkprefs.c src/idle.c src/log.c src/multi.c src/server.c src/ui.h |
diffstat | 11 files changed, 115 insertions(+), 543 deletions(-) [+] |
line wrap: on
line diff
--- a/src/away.c Fri May 30 03:17:13 2003 +0000 +++ b/src/away.c Fri May 30 03:25:39 2003 +0000 @@ -339,6 +339,10 @@ serv_set_away(gc, awy, NULL); } +/* XXX This needs to be fixed, NOW! */ +extern GtkListStore *prefs_away_store; +extern GtkWidget *prefs_away_menu; + void do_away_menu() { GtkWidget *menuitem; @@ -622,6 +626,7 @@ } } } + if (prefs_away_menu) { l = gtk_container_get_children(GTK_CONTAINER(prefs_away_menu)); while (l) {
--- a/src/browser.c Fri May 30 03:17:13 2003 +0000 +++ b/src/browser.c Fri May 30 03:25:39 2003 +0000 @@ -540,67 +540,69 @@ { char *command = NULL; GError *error = NULL; - - switch (web_browser) { - case BROWSER_NETSCAPE: { - char *args = NULL; + const char *web_browser; + + web_browser = gaim_prefs_get_string("/gaim/gtk/browsers/browser"); - if (gaim_prefs_get_bool("/gaim/gtk/browsers/new_window")) - args = g_strdup_printf("OpenURL(%s, new-window)", url); - else - args = g_strdup_printf("OpenURL(%s)", url); + if (!strcmp(web_browser, "netscape")) { + char *args = NULL; - if (netscape_command(args)) { - g_free(args); - return; - } - - /* if netscape is running ... - command = g_strdup_printf("netscape -remote %s", args); */ + if (gaim_prefs_get_bool("/gaim/gtk/browsers/new_window")) + args = g_strdup_printf("OpenURL(%s, new-window)", url); + else + args = g_strdup_printf("OpenURL(%s)", url); - command = g_strdup_printf("netscape \"%s\"", url); + if (netscape_command(args)) { g_free(args); - } break; + return; + } - case BROWSER_OPERA: - if (gaim_prefs_get_bool("/gaim/gtk/browsers/new_window")) - command = g_strdup_printf("opera -newwindow \"%s\"", url); - else - command = g_strdup_printf("opera \"%s\"", url); - break; + /* if netscape is running ... + command = g_strdup_printf("netscape -remote %s", args); */ - case BROWSER_KONQ: - command = g_strdup_printf("kfmclient openURL \"%s\"", url); - break; - - case BROWSER_GALEON: - if (gaim_prefs_get_bool("/gaim/gtk/browsers/new_window")) - command = g_strdup_printf("galeon -w \"%s\"", url); - else - command = g_strdup_printf("galeon \"%s\"", url); - break; - - case BROWSER_MOZILLA: - command = g_strdup_printf("mozilla \"%s\"", url); - break; + command = g_strdup_printf("netscape \"%s\"", url); + g_free(args); + } + else if (!strcmp(web_browser, "opera")) { + if (gaim_prefs_get_bool("/gaim/gtk/browsers/new_window")) + command = g_strdup_printf("opera -newwindow \"%s\"", url); + else + command = g_strdup_printf("opera \"%s\"", url); + } + else if (!strcmp(web_browser, "kfmclient")) { + command = g_strdup_printf("kfmclient openURL \"%s\"", url); + } + else if (!strcmp(web_browser, "galeon")) { + if (gaim_prefs_get_bool("/gaim/gtk/browsers/new_window")) + command = g_strdup_printf("galeon -w \"%s\"", url); + else + command = g_strdup_printf("galeon \"%s\"", url); + } + else if (!strcmp(web_browser, "mozilla")) { + command = g_strdup_printf("mozilla \"%s\"", url); + } + else if (!strcmp(web_browser, "custom")) { + const char *web_command; - case BROWSER_MANUAL: { - if (!web_command[0]) { - gaim_notify_error(NULL, NULL, - _("Unable to launch your browser because " - "the 'Manual' browser command has been " - "chosen, but no command has been set."), - NULL); - return; - } + + web_command = gaim_prefs_get_string("/gaim/gtk/browsers/command"); - if (strstr(web_command, "%s")) - command = gaim_strreplace(web_command, "%s", url); - else - /* There is no "%s" in the browser command. Assume the user - * wanted the URL tacked on to the end of the command. */ - command = g_strdup_printf("%s %s", web_command, url); - } break; + if (web_command == NULL || *web_command == '\0') { + gaim_notify_error(NULL, NULL, + _("Unable to launch your browser because " + "the 'Manual' browser command has been " + "chosen, but no command has been set."), + NULL); + return; + } + + if (strstr(web_command, "%s")) + command = gaim_strreplace(web_command, "%s", url); + else { + /* There is no "%s" in the browser command. Assume the user + * wanted the URL tacked on to the end of the command. */ + command = g_strdup_printf("%s %s", web_command, url); + } } if (g_spawn_command_line_async(command, &error) == FALSE) { @@ -615,7 +617,11 @@ void add_bookmark(GtkWidget *w, char *url) { - if (web_browser == BROWSER_NETSCAPE) { + const char *web_browser; + + web_browser = gaim_prefs_get_string("/gaim/gtk/browsers/browser"); + + if (!strcmp(web_browser, "netscape")) { char *command = g_strdup_printf("AddBookmark(%s)", url); netscape_command(command); @@ -623,7 +629,7 @@ } } -#else +#else /* _WIN32 */ /* Sooner or later, I shall support Windows clicking! */ @@ -635,5 +641,4 @@ ShellExecute(NULL, NULL, url, NULL, ".\\", 0); } - #endif /* _WIN32 */
--- a/src/dialogs.c Fri May 30 03:17:13 2003 +0000 +++ b/src/dialogs.c Fri May 30 03:25:39 2003 +0000 @@ -66,6 +66,7 @@ static GtkWidget *alias_dialog = NULL; static GtkWidget *rename_dialog = NULL; static GtkWidget *rename_bud_dialog = NULL; +static GtkWidget *fontseld = NULL; struct confirm_del { @@ -3279,7 +3280,7 @@ } save_prefs(); - do_away_menu(); + do_away_menu(NULL); return am; }
--- a/src/gaim.h Fri May 30 03:17:13 2003 +0000 +++ b/src/gaim.h Fri May 30 03:25:39 2003 +0000 @@ -198,17 +198,10 @@ extern char *opt_rcfile_arg; extern int opt_debug; -extern guint away_resend; -extern int report_idle; -extern int web_browser; extern GSList *gaim_accounts; extern GSList *message_queue; extern GSList *unread_message_queue; extern GSList *away_time_queue; -extern char web_command[2048]; -extern char sort_method[64]; -extern struct save_pos blist_pos; -extern struct window_size conv_size, buddy_chat_size; /* Functions in main.c */ extern void do_quit();
--- a/src/gaimrc.c Fri May 30 03:17:13 2003 +0000 +++ b/src/gaimrc.c Fri May 30 03:25:39 2003 +0000 @@ -72,9 +72,6 @@ #define OPT_LOG_INDIVIDUAL 0x00000040 #define OPT_LOG_CHATS 0x00000100 -/* #define OPT_BLIST_APP_BUDDY_SHOW 0x00000001 -#define OPT_BLIST_SAVED_WINDOWS 0x00000002 -#define OPT_BLIST_NEAR_APPLET 0x00000004 */ #define OPT_BLIST_SHOW_GRPNUM 0x00000008 #define OPT_BLIST_SHOW_PIXMAPS 0x00000010 #define OPT_BLIST_SHOW_IDLETIME 0x00000020 @@ -83,7 +80,6 @@ #define OPT_BLIST_NO_MT_GRP 0x00000100 #define OPT_BLIST_SHOW_WARN 0x00000200 #define OPT_BLIST_GREY_IDLERS 0x00000400 -/* define OPT_BLIST_TOMBSTONE 0x00000800 */ #define OPT_BLIST_POPUP 0x00001000 #define OPT_BLIST_SHOW_ICONS 0x00002000 #define OPT_BLIST_SHOW_OFFLINE 0x00004000 @@ -149,7 +145,6 @@ #define OPT_SOUND_CHAT_NICK 0x00040000 #define OPT_AWAY_BACK_ON_IM 0x00000002 -/* #define OPT_AWAY_TOMBSTONE 0x00000004 */ #define OPT_AWAY_AUTO 0x00000008 #define OPT_AWAY_NO_AUTO_RESP 0x00000010 #define OPT_AWAY_QUEUE 0x00000020 @@ -334,41 +329,6 @@ return -1; } -static char *escape_text2(const char *msg) -{ - char *c, *cpy; - char *woo; - int cnt = 0; - /* Assumes you have a buffer able to cary at least BUF_LEN * 2 bytes */ - - woo = malloc(strlen(msg) * 4 + 1); - cpy = g_strndup(msg, 2048); - c = cpy; - while (*c) { - switch (*c) { - case '\n': - woo[cnt++] = '<'; - woo[cnt++] = 'B'; - woo[cnt++] = 'R'; - woo[cnt++] = '>'; - break; - case '{': - case '}': - case '\\': - case '"': - woo[cnt++] = '\\'; - /* Fall through */ - default: - woo[cnt++] = *c; - } - c++; - } - woo[cnt] = '\0'; - - g_free(cpy); - return woo; -} - static void gaimrc_read_away(FILE *f) { struct parse parse_buffer; @@ -407,40 +367,6 @@ } } -static void gaimrc_write_away(FILE *f) -{ - GSList *awy = away_messages; - struct away_message *a; - - fprintf(f, "away {\n"); - - if (awy) { - while (awy) { - char *str1, *str2; - - a = (struct away_message *)awy->data; - - str1 = escape_text2(a->name); - str2 = escape_text2(a->message); - - fprintf(f, "\tmessage { %s } { %s }\n", str1, str2); - - /* escape_text2 uses malloc(), so we don't want to g_free these */ - free(str1); - free(str2); - - awy = g_slist_next(awy); - } - fprintf(f, "\tauto { %d } { %d }\n", auto_away, - g_slist_index(away_messages, default_away)); - } else { - fprintf(f, "\tmessage { %s } { %s }\n", _("boring default"), BORING_DEFAULT_AWAY_MSG); - fprintf(f, "\tauto { 0 } { 0 }\n"); - } - - fprintf(f, "}\n"); -} - /* * This is temporary, and we're using it to translate the new event * and action values into the old ones. We're also adding entries for @@ -478,39 +404,6 @@ static int pounce_act_trans_table_size = (sizeof(pounce_act_trans_table) / sizeof(*pounce_act_trans_table)); -static int -new_pounce_opts_to_old(struct gaim_pounce *pounce) -{ - struct gaim_gtkpounce_data *gtkpounce; - - int opts = 0; - int i; - - gtkpounce = GAIM_GTKPOUNCE(pounce); - - /* First, convert events */ - for (i = 0; i < pounce_evt_trans_table_size; i += 2) - { - GaimPounceEvent evt = pounce_evt_trans_table[i + 1]; - - if ((gaim_pounce_get_events(pounce) & evt) == evt) - opts |= pounce_evt_trans_table[i]; - } - - for (i = 0; i < pounce_act_trans_table_size; i += 2) - { - GaimGtkPounceAction act = pounce_act_trans_table[i + 1]; - - if ((gtkpounce->actions & act) == act) - opts |= pounce_act_trans_table[i]; - } - - if (gtkpounce->save) - opts |= 0x100; - - return opts; -} - static void old_pounce_opts_to_new(int opts, GaimPounceEvent *events, GaimGtkPounceAction *actions) @@ -576,97 +469,6 @@ } } -static void -gaimrc_write_pounce(FILE *f) -{ - GList *pnc; - struct gaim_pounce *pounce; - struct gaim_gtkpounce_data *pounce_data; - - fprintf(f, "pounce {\n"); - - for (pnc = gaim_get_pounces(); pnc != NULL; pnc = pnc->next) { - char *str1, *str2, *str3, *str4; - struct gaim_account *account; - - pounce = (struct gaim_pounce *)pnc->data; - pounce_data = GAIM_GTKPOUNCE(pounce); - account = gaim_pounce_get_pouncer(pounce); - - /* Pouncee name */ - str1 = escape_text2(gaim_pounce_get_pouncee(pounce)); - - if (pounce_data == NULL) - { - fprintf(f, "\tentry { %s } { } { } { %d } { %s } { %d } { }\n", - str1, new_pounce_opts_to_old(pounce), - account->username, account->protocol); - - free(str1); - - continue; - } - - /* Message */ - if (pounce_data->message != NULL) - str2 = escape_text2(pounce_data->message); - else { - str2 = malloc(1); - *str2 = '\0'; - } - - /* Command */ - if (pounce_data->command != NULL) - str3 = escape_text2(pounce_data->command); - else { - str3 = malloc(1); - *str3 = '\0'; - } - - /* Sound file */ - if (pounce_data->sound != NULL) - str4 = escape_text2(pounce_data->sound); - else { - str4 = malloc(1); - *str4 = '\0'; - } - - fprintf(f, "\tentry { %s } { %s } { %s } { %d } { %s } { %d } { %s }\n", - str1, str2, str3, new_pounce_opts_to_old(pounce), - account->username, account->protocol, str4); - - /* escape_text2 uses malloc(), so we don't want to g_free these */ - free(str1); - free(str2); - free(str3); - free(str4); - } - - fprintf(f, "}\n"); -} - -static void gaimrc_write_plugins(FILE *f) -{ - GList *pl; - GaimPlugin *p; - - fprintf(f, "plugins {\n"); - - for (pl = gaim_plugins_get_loaded(); pl != NULL; pl = pl->next) { - char *path; - - p = (GaimPlugin *)pl->data; - - if (p->info->type != GAIM_PLUGIN_PROTOCOL) { - path = escape_text2(p->path); - fprintf(f, "\tplugin { %s }\n", path); - free(path); - } - } - - fprintf(f, "}\n"); -} - static void gaimrc_read_plugins(FILE *f) { struct parse parse_buffer; @@ -821,66 +623,6 @@ } -static void gaimrc_write_user(FILE *f, struct gaim_account *account) -{ - char *c, *d; - int nl = 1, i; - - if (account->options & OPT_ACCT_REM_PASS) { - fprintf(f, "\t\tident { %s } { %s }\n", (d = escape_text2(account->username)), (c = escape_text2(account->password))); - free(c); - free(d); - } else { - fprintf(f, "\t\tident { %s } { }\n", (d = escape_text2(account->username))); - free(d); - } - fprintf(f, "\t\tuser_info {"); - c = account->user_info; - while (*c) { - /* This is not as silly as it looks. */ - if (*c == '\n') { - nl++; - } else { - if (nl) { - while (nl) { - fprintf(f, "\n\t\t\t"); - nl--; - } - } - fprintf(f, "%c", *c); - } - c++; - } - fprintf(f, "\n\t\t}\n"); - fprintf(f, "\t\tuser_opts { %d } { %d }\n", account->options, account->protocol); - fprintf(f, "\t\tproto_opts"); - for (i = 0; i < 7; i++) - fprintf(f, " { %s }", account->proto_opt[i]); - fprintf(f, "\n"); -#ifndef _WIN32 - fprintf(f, "\t\ticonfile { %s }\n", account->iconfile); -#else - { - /* Make sure windows dir speparators arn't swallowed up when - path is read back in from resource file */ - char* tmp=wgaim_escape_dirsep(account->iconfile); - fprintf(f, "\t\ticonfile { %s }\n", tmp); - g_free(tmp); - } -#endif - fprintf(f, "\t\talias { %s }\n", account->alias); - fprintf(f, "\t\tproxy_opts "); - if(account->gpi) { - fprintf(f, "{ %d } { %s } { %d } { %s } { %s }\n", - account->gpi->proxytype, account->gpi->proxyhost, - account->gpi->proxyport, account->gpi->proxyuser, - (c = escape_text2(account->gpi->proxypass))); - free(c); - } else { - fprintf(f, "{ %d }\n", PROXY_USE_GLOBAL); - } -} - static void gaimrc_read_users(FILE *f) { char buf[2048]; @@ -911,26 +653,6 @@ } } -static void gaimrc_write_users(FILE *f) -{ - GSList *usr = gaim_accounts; - struct gaim_account *account; - - fprintf(f, "users {\n"); - - while (usr) { - account = (struct gaim_account *)usr->data; - fprintf(f, "\tuser {\n"); - gaimrc_write_user(f, account); - - fprintf(f, "\t}\n"); - - usr = usr->next; - } - - fprintf(f, "}\n"); -} - struct replace { int old; guint *val; @@ -939,13 +661,10 @@ static struct replace gen_replace[] = { { /* OPT_GEN_ENTER_SENDS */ 0x00000001, &convo_options, OPT_CONVO_ENTER_SENDS }, -{ /* OPT_GEN_APP_BUDDY_SHOW */ 0x00000010, &blist_options, OPT_BLIST_APP_BUDDY_SHOW }, { /* OPT_GEN_POPUP_WINDOWS */ 0x00000020, &im_options, OPT_IM_POPUP }, { /* OPT_GEN_SEND_LINKS */ 0x00000040, &convo_options, OPT_CONVO_SEND_LINKS }, { /* OPT_GEN_DEBUG */ 0x00000100, &misc_options, OPT_MISC_DEBUG }, { /* OPT_GEN_BROWSER_POPUP */ 0x00000800, &misc_options, OPT_MISC_BROWSER_POPUP }, -{ /* OPT_GEN_SAVED_WINDOWS */ 0x00001000, &blist_options, OPT_BLIST_SAVED_WINDOWS }, -{ /* OPT_GEN_NEAR_APPLET */ 0x00004000, &blist_options, OPT_BLIST_NEAR_APPLET }, { /* OPT_GEN_CHECK_SPELLING */ 0x00008000, &convo_options, OPT_CONVO_CHECK_SPELLING }, { /* OPT_GEN_POPUP_CHAT */ 0x00010000, &chat_options, OPT_CHAT_POPUP }, { /* OPT_GEN_BACK_ON_IM */ 0x00020000, &away_options, OPT_AWAY_BACK_ON_IM }, @@ -1114,7 +833,7 @@ blist_pos.width = atoi(p->value[2]); blist_pos.height = atoi(p->value[3]); } else if (!strcmp(p->option, "sort_method")) { - strcpy(sort_method, p->value[0]); + gaim_prefs_set_string("/gaim/gtk/blist/sort_type", p->value[0]); } } @@ -1183,49 +902,6 @@ } } -static void gaimrc_write_options(FILE *f) -{ - - fprintf(f, "options {\n"); - - fprintf(f, "\tmisc_options { %u }\n", misc_options); - fprintf(f, "\tlogging_options { %u }\n", logging_options); - fprintf(f, "\tblist_options { %u }\n", blist_options); - fprintf(f, "\tconvo_options { %u }\n", convo_options); - fprintf(f, "\tim_options { %u }\n", im_options); - fprintf(f, "\tconv_placement { %u }\n", conv_placement_option); - fprintf(f, "\tchat_options { %u }\n", chat_options); - fprintf(f, "\tfont_options { %u }\n", font_options); - fprintf(f, "\tsound_options { %u }\n", sound_options); - fprintf(f, "\taway_options { %u } { %u }\n", away_options, away_resend); - fprintf(f, "\tfont_face { %s }\n", gaim_prefs_get_string("/gaim/gtk/conversations/font_face")); - fprintf(f, "\tfont_size { %d }\n", gaim_prefs_get_int("/gaim/gtk/conversations/font_size")); - fprintf(f, "\tforeground { %d } { %d } { %d }\n", fgcolor.red, fgcolor.green, fgcolor.blue); - fprintf(f, "\tbackground { %d } { %d } { %d }\n", bgcolor.red, bgcolor.green, bgcolor.blue); - fprintf(f, "\treport_idle { %d }\n", report_idle); - fprintf(f, "\tweb_browser { %d }\n", web_browser); - fprintf(f, "\tweb_command { %s }\n", web_command); - fprintf(f, "\tsort_method { %s }\n", sort_method); - if (current_smiley_theme) { -#ifndef _WIN32 - fprintf(f, "\tsmiley_theme { %s }\n", current_smiley_theme->path); -#else - char* tmp=wgaim_escape_dirsep(current_smiley_theme->path); - fprintf(f, "\tsmiley_theme { %s }\n", tmp); - g_free(tmp); -#endif - } - fprintf(f, "\tblist_pos { %d } { %d } { %d } { %d }\n", - blist_pos.x, blist_pos.y, blist_pos.width, blist_pos.height); - fprintf(f, "\tconv_size { %d } { %d } { %d }\n", - conv_size.width, conv_size.height, conv_size.entry_height); - fprintf(f, "\tbuddy_chat_size { %d } { %d } { %d }\n", - buddy_chat_size.width, buddy_chat_size.height, buddy_chat_size.entry_height); - - fprintf(f, "}\n"); -} - - static void gaimrc_read_sounds(FILE *f) { int i; @@ -1260,39 +936,6 @@ } } -static void gaimrc_write_sounds(FILE *f) -{ - int i; -#ifndef _WIN32 - char *cmd; -#endif - fprintf(f, "sound_files {\n"); - for (i = 0; i < GAIM_NUM_SOUNDS; i++) { - char *file = gaim_sound_get_event_file(i); - if (file) { -#ifndef _WIN32 - fprintf(f, "\tsound%c { %s }\n", i + 'A', file); -#else - /* Make sure windows dir speparators arn't swallowed up when - path is read back in from resource file */ - char* tmp=wgaim_escape_dirsep(file); - fprintf(f, "\tsound%c { %s }\n", i + 'A', tmp); - g_free(tmp); -#endif - } - else - fprintf(f, "\tsound%c { }\n", i + 'A'); - } -#ifndef _WIN32 - cmd = gaim_sound_get_command(); - if(cmd) - fprintf(f, "\tsound_cmd { %s }\n", cmd); - else - fprintf(f, "\tsound_cmd { }\n"); -#endif - fprintf(f, "}\n"); -} - static gboolean gaimrc_parse_proxy_uri(const char *proxy) { char *c, *d; @@ -1494,29 +1137,6 @@ } } -static void gaimrc_write_proxy(FILE *f) -{ - char *str; - - fprintf(f, "proxy {\n"); - if (proxy_info_is_from_gaimrc) { - fprintf(f, "\thost { %s }\n", global_proxy_info.proxyhost); - fprintf(f, "\tport { %d }\n", global_proxy_info.proxyport); - fprintf(f, "\ttype { %d }\n", global_proxy_info.proxytype); - fprintf(f, "\tuser { %s }\n", global_proxy_info.proxyuser); - fprintf(f, "\tpass { %s }\n", - (str = escape_text2(global_proxy_info.proxypass))); - free(str); - } else { - fprintf(f, "\thost { %s }\n", ""); - fprintf(f, "\tport { %d }\n", 0); - fprintf(f, "\ttype { %d }\n", 0); - fprintf(f, "\tuser { %s }\n", ""); - fprintf(f, "\tpass { %s }\n", ""); - } - fprintf(f, "}\n"); -} - static void set_defaults() { int i; @@ -1528,9 +1148,6 @@ logging_options = 0; blist_options = - OPT_BLIST_APP_BUDDY_SHOW | - OPT_BLIST_SAVED_WINDOWS | - OPT_BLIST_NEAR_APPLET | OPT_BLIST_SHOW_GRPNUM | OPT_BLIST_SHOW_PIXMAPS | OPT_BLIST_SHOW_IDLETIME | @@ -1701,72 +1318,7 @@ void save_prefs() { - FILE *f; - gchar *filename; - gchar *filename_temp; - - gaim_debug(GAIM_DEBUG_INFO, "gaimrc", "Entering save_prefs\n"); - if (!prefs_initial_load) - return; - - if (is_loading_prefs) { - request_save_prefs = 1; - gaim_debug(GAIM_DEBUG_INFO, "gaimrc", - "Currently loading. Will request save.\n"); - return; - } - - if (opt_rcfile_arg) - filename = g_build_filename(opt_rcfile_arg, NULL); - else if (gaim_home_dir()) - filename = g_build_filename(gaim_home_dir(), ".gaimrc", NULL); - else - return; - filename_temp = g_strdup_printf("%s.save", filename); - - if ((f = fopen(filename_temp, "w"))) { - chmod(filename_temp, S_IRUSR | S_IWUSR); - is_saving_prefs = 1; - fprintf(f, "# .gaimrc v%d\n", 4); - gaimrc_write_users(f); - gaimrc_write_options(f); - gaimrc_write_sounds(f); - gaimrc_write_away(f); - gaimrc_write_pounce(f); - - if (gaim_plugins_enabled()) - gaimrc_write_plugins(f); - - gaimrc_write_proxy(f); - if (fprintf(f, "\n") == 1) { - fclose(f); - if (rename(filename_temp, filename) < 0) - gaim_debug(GAIM_DEBUG_ERROR, "gaimrc", - "Error renaming %s to %s\n", filename_temp, filename); - } else { - fclose(f); - gaim_notify_error(NULL, NULL, - _("Unable to Save Preferences"), - _("Gaim was unable to save your preferences. " - "Please verify that you have enough " - "free space.")); - } - is_saving_prefs = 0; - } else - gaim_debug(GAIM_DEBUG_ERROR, "gaimrc", - "Error opening %s\n", filename_temp); - - if (request_load_prefs) { - gaim_debug(GAIM_DEBUG_INFO, "gaimrc", - "Loading preferences on request.\n"); - load_prefs(); - request_load_prefs = 0; - } - - g_free(filename); - g_free(filename_temp); - - gaim_debug(GAIM_DEBUG_INFO, "gaimrc", "Exiting save_prefs\n"); + gaim_debug(GAIM_DEBUG_INFO, "gaimrc", "save_prefs() called. Rejected!\n"); }
--- a/src/gtkprefs.c Fri May 30 03:17:13 2003 +0000 +++ b/src/gtkprefs.c Fri May 30 03:25:39 2003 +0000 @@ -59,10 +59,12 @@ #define PROXYUSER 3 #define PROXYPASS 4 +/* XXX This needs to be made static after we solve the away.c mess. */ +GtkListStore *prefs_away_store = NULL; +GtkWidget *prefs_away_menu = NULL; + static GtkWidget *tree_v = NULL; -static GtkWidget *prefs_away_menu = NULL; - -static GtkListStore *prefs_away_store = NULL; + static int sound_row_sel = 0; static char *last_sound_dir = NULL; @@ -866,7 +868,6 @@ GtkWidget *ret; GtkWidget *vbox; GtkWidget *button, *warn_checkbox, *idle_checkbox; - gboolean fnd = FALSE; GList *l= NULL; GSList *sl = gaim_gtk_blist_sort_methods; ret = gtk_vbox_new(FALSE, 18); @@ -875,11 +876,10 @@ vbox = gaim_gtk_make_frame (ret, _("Buddy List Sorting")); while (sl) { - l = g_list_append(l, ((struct gaim_gtk_blist_sort_method*)sl->data)->name); - l = g_list_append(l, ((struct gaim_gtk_blist_sort_method*)sl->data)->name); - if (!fnd && !gaim_utf8_strcasecmp(((struct gaim_gtk_blist_sort_method*)sl->data)->name, sort_method)) - fnd = TRUE; - sl = sl->next; + char *name = ((struct gaim_gtk_blist_sort_method*)sl->data)->name; + + l = g_list_append(l, name); + l = g_list_append(l, name); } prefs_dropdown_from_list(vbox, _("Sorting:"), GAIM_PREF_STRING, @@ -1198,7 +1198,7 @@ gaim_notify_warning(NULL, NULL, error, NULL); } - g_strlcpy(web_command, program, sizeof(web_command)); + gaim_prefs_set_string("/gaim/gtk/browsers/command", program); /* carry on normally */ return FALSE; @@ -1270,12 +1270,16 @@ browser_entry = gtk_entry_new(); gtk_label_set_mnemonic_widget(GTK_LABEL(label), browser_entry); - if (web_browser != BROWSER_MANUAL) + + if (strcmp(gaim_prefs_get_string("/gaim/gtk/browsers/browser"), "custom")) gtk_widget_set_sensitive(hbox, FALSE); + gtk_box_pack_start (GTK_BOX (hbox), browser_entry, FALSE, FALSE, 0); - gtk_entry_set_text(GTK_ENTRY(browser_entry), web_command); - g_signal_connect(G_OBJECT(browser_entry), "focus-out-event", G_CALLBACK(manual_browser_set), NULL); + gtk_entry_set_text(GTK_ENTRY(browser_entry), + gaim_prefs_get_string("/gaim/gtk/browsers/command")); + g_signal_connect(G_OBJECT(browser_entry), "focus-out-event", + G_CALLBACK(manual_browser_set), NULL); if (browsers != NULL) { vbox = gaim_gtk_make_frame (ret, _("Browser Options")); @@ -2671,6 +2675,7 @@ /* Browsers */ gaim_prefs_add_none("/gaim/gtk/browsers"); gaim_prefs_add_bool("/gaim/gtk/browsers/new_window", FALSE); + gaim_prefs_add_string("/gaim/gtk/browsers/command", ""); gaim_prefs_add_string("/gaim/gtk/browsers/browser", "mozilla"); /* Buddy List */ @@ -2686,6 +2691,10 @@ gaim_prefs_add_bool("/gaim/gtk/blist/show_offline_buddies", FALSE); gaim_prefs_add_bool("/gaim/gtk/blist/show_warning_level", TRUE); gaim_prefs_add_string("/gaim/gtk/blist/sort_type", ""); + gaim_prefs_add_int("/gaim/gtk/blist/x", 0); + gaim_prefs_add_int("/gaim/gtk/blist/y", 0); + gaim_prefs_add_int("/gaim/gtk/blist/width", 0); + gaim_prefs_add_int("/gaim/gtk/blist/height", 0); /* Conversations */ gaim_prefs_add_none("/gaim/gtk/conversations");
--- a/src/idle.c Fri May 30 03:17:13 2003 +0000 +++ b/src/idle.c Fri May 30 03:25:39 2003 +0000 @@ -25,6 +25,7 @@ #include <time.h> #include <stdio.h> #include <unistd.h> +#include <string.h> #ifdef USE_SCREENSAVER #ifndef _WIN32 @@ -46,6 +47,7 @@ gint check_idle(gpointer data) { + const char *report_idle; struct gaim_connection *gc = data; time_t t; #ifdef USE_SCREENSAVER @@ -59,9 +61,10 @@ time(&t); + report_idle = gaim_prefs_get_string("/gaim/gtk/idle/reporting_method"); #ifdef USE_SCREENSAVER - if (report_idle == IDLE_SCREENSAVER) { + if (!strcmp(report_idle, "system")) { #ifndef _WIN32 int event_base, error_base; if (XScreenSaverQueryExtension(GDK_DISPLAY(), &event_base, &error_base)) { @@ -79,7 +82,9 @@ #endif /* USE_SCREENSAVER */ idle_time = t - gc->lastsent; - if (gaim_prefs_get_bool("/core/away/away_when_idle") && (idle_time > (60 * auto_away)) && (!gc->is_auto_away)) { + if (gaim_prefs_get_bool("/core/away/away_when_idle") && + (idle_time > (60 * auto_away)) && (!gc->is_auto_away)) { + if (!gc->away) { gaim_debug(GAIM_DEBUG_INFO, "idle", "Making %s away automatically\n", gc->username); @@ -117,9 +122,9 @@ /* If we're not reporting idle times to the server, still use Gaim usage for auto-away, but quit here so we don't report to the server */ - if (report_idle == IDLE_NONE) { + + if (!strcmp(report_idle, "none")) return TRUE; - } if (idle_time >= IDLEMARK && !gc->is_idle) { gaim_debug(GAIM_DEBUG_INFO, "idle", "Setting %s idle %d seconds\n",
--- a/src/log.c Fri May 30 03:17:13 2003 +0000 +++ b/src/log.c Fri May 30 03:25:39 2003 +0000 @@ -289,10 +289,13 @@ FILE *fd; char text[256], html[256]; - if ((logging_options & why) != why) + if (((why & OPT_LOG_MY_SIGNON) && + !gaim_prefs_get_bool("/gaim/gtk/logging/log_own_states"))) { + return; + } - if (logging_options & OPT_LOG_INDIVIDUAL) { + if (gaim_prefs_get_bool("/gaim/gtk/logging/individual_logs")) { if (why & OPT_LOG_MY_SIGNON) fd = open_system_log_file(gc ? gc->username : NULL); else @@ -418,14 +421,12 @@ } } - if (gaim_prefs_get_bool("/gaim/gtk/logging/strip_html")) { + if (gaim_prefs_get_bool("/gaim/gtk/logging/strip_html")) fprintf(fd, "---- %s ----\n", text); - } else { - if (logging_options & OPT_LOG_INDIVIDUAL) - fprintf(fd, "<HR>%s<BR><HR><BR>\n", html); - else - fprintf(fd, "%s<BR>\n", html); - } + else if (gaim_prefs_get_bool("/gaim/gtk/logging/individual_logs")) + fprintf(fd, "<HR>%s<BR><HR><BR>\n", html); + else + fprintf(fd, "%s<BR>\n", html); fclose(fd); }
--- a/src/multi.c Fri May 30 03:17:13 2003 +0000 +++ b/src/multi.c Fri May 30 03:25:39 2003 +0000 @@ -1732,7 +1732,7 @@ gaim_blist_show(); update_privacy_connections(); - do_away_menu(); + do_away_menu(NULL); do_proto_menu(); gaim_blist_add_account(gc->account);
--- a/src/server.c Fri May 30 03:17:13 2003 +0000 +++ b/src/server.c Fri May 30 03:25:39 2003 +0000 @@ -952,7 +952,9 @@ qar->sent_away = 0; away_time_queue = g_slist_append(away_time_queue, qar); } - if ((t - qar->sent_away) < away_resend) { + if ((t - qar->sent_away) < + gaim_prefs_get_int("/core/away/auto_response/sec_before_resend")) { + g_free(name); g_free(message); return;