Thu, 29 May 2003 19:10:24 +0000
[gaim-migrate @ 5946]
I've been rewriting the prefs to move from gaimrc to prefs.xml. This will
NOT compile! I don't want to see complaints about this, as it's CVS, and
you should only be using it if you can put up with things like this. Also,
don't ask how long it'll take until it compiles again. It may be several
days. This is a big migration. Even when it works, it may not run right.
However, it's made a lot of progress, and I plan to actively work on it
today and tomorrow.
| 1 | 1 | /* |
| 2 | * gaim | |
| 3 | * | |
| 4 | * Copyright (C) 1998-1999, Mark Spencer <markster@marko.net> | |
| 5 | * | |
| 6 | * This program is free software; you can redistribute it and/or modify | |
| 7 | * it under the terms of the GNU General Public License as published by | |
| 8 | * the Free Software Foundation; either version 2 of the License, or | |
| 9 | * (at your option) any later version. | |
| 10 | * | |
| 11 | * This program is distributed in the hope that it will be useful, | |
| 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| 14 | * GNU General Public License for more details. | |
| 15 | * | |
| 16 | * You should have received a copy of the GNU General Public License | |
| 17 | * along with this program; if not, write to the Free Software | |
| 18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
| 19 | * | |
| 20 | */ | |
| 21 | ||
|
349
6f7d28b0f98d
[gaim-migrate @ 359]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
340
diff
changeset
|
22 | #ifdef HAVE_CONFIG_H |
|
2090
bab8b7e309db
[gaim-migrate @ 2100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2036
diff
changeset
|
23 | #include <config.h> |
|
349
6f7d28b0f98d
[gaim-migrate @ 359]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
340
diff
changeset
|
24 | #endif |
| 1 | 25 | #include <string.h> |
| 3630 | 26 | |
| 27 | #ifndef _WIN32 | |
| 1 | 28 | #include <sys/time.h> |
| 3630 | 29 | #include <unistd.h> |
| 30 | #endif | |
| 1 | 31 | |
| 32 | #include <sys/types.h> | |
| 33 | #include <sys/stat.h> | |
| 34 | ||
|
4201
547da94c5a14
[gaim-migrate @ 4432]
Christian Hammond <chipx86@chipx86.com>
parents:
4189
diff
changeset
|
35 | #include <ctype.h> |
| 1 | 36 | #include <stdio.h> |
| 37 | #include <stdlib.h> | |
| 38 | #include "gaim.h" | |
|
1264
80816a51169a
[gaim-migrate @ 1274]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1254
diff
changeset
|
39 | #include "prpl.h" |
| 5442 | 40 | #include "prefs.h" |
|
1881
bcd5d457cdbb
[gaim-migrate @ 1891]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1878
diff
changeset
|
41 | #include "proxy.h" |
| 4561 | 42 | #include "sound.h" |
|
5032
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
43 | #include "pounce.h" |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
44 | #include "gtkpounce.h" |
|
5436
a0e0bacaa196
[gaim-migrate @ 5818]
Christian Hammond <chipx86@chipx86.com>
parents:
5422
diff
changeset
|
45 | #include "notify.h" |
| 1 | 46 | |
| 3630 | 47 | #ifdef _WIN32 |
| 48 | #include "win32dep.h" | |
| 49 | #endif | |
| 50 | ||
|
230
5afbb3468f11
[gaim-migrate @ 240]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
180
diff
changeset
|
51 | /* for people like myself, who are too lazy to add an away msg :) */ |
|
4596
64e72bf4ece4
[gaim-migrate @ 4881]
Björn Voigt <bjoern@cs.tu-berlin.de>
parents:
4592
diff
changeset
|
52 | #define BORING_DEFAULT_AWAY_MSG _("sorry, i ran out for a while. bbl") |
| 1139 | 53 | #define MAX_VALUES 10 |
| 1 | 54 | |
|
5545
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
55 | #define OPT_FONT_BOLD 0x00000001 |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
56 | #define OPT_FONT_ITALIC 0x00000002 |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
57 | #define OPT_FONT_UNDERLINE 0x00000008 |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
58 | #define OPT_FONT_STRIKE 0x00000010 |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
59 | #define OPT_FONT_FACE 0x00000020 |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
60 | #define OPT_FONT_FGCOL 0x00000040 |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
61 | #define OPT_FONT_BGCOL 0x00000080 |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
62 | #define OPT_FONT_SIZE 0x00000100 |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
63 | |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
64 | #define OPT_MISC_DEBUG 0x00000001 |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
65 | #define OPT_MISC_BROWSER_POPUP 0x00000002 |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
66 | #define OPT_MISC_BUDDY_TICKER 0x00000004 |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
67 | #define OPT_MISC_STEALTH_TYPING 0x00000010 |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
68 | #define OPT_MISC_USE_SERVER_ALIAS 0x00000020 |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
69 | |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
70 | #define OPT_LOG_CONVOS 0x00000001 |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
71 | #define OPT_LOG_STRIP_HTML 0x00000002 |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
72 | #define OPT_LOG_INDIVIDUAL 0x00000040 |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
73 | #define OPT_LOG_CHATS 0x00000100 |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
74 | |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
75 | #define OPT_BLIST_APP_BUDDY_SHOW 0x00000001 |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
76 | #define OPT_BLIST_SAVED_WINDOWS 0x00000002 |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
77 | #define OPT_BLIST_NEAR_APPLET 0x00000004 |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
78 | #define OPT_BLIST_SHOW_GRPNUM 0x00000008 |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
79 | #define OPT_BLIST_SHOW_PIXMAPS 0x00000010 |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
80 | #define OPT_BLIST_SHOW_IDLETIME 0x00000020 |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
81 | #define OPT_BLIST_SHOW_BUTTON_XPM 0x00000040 |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
82 | #define OPT_BLIST_NO_BUTTON_TEXT 0x00000080 |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
83 | #define OPT_BLIST_NO_MT_GRP 0x00000100 |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
84 | #define OPT_BLIST_SHOW_WARN 0x00000200 |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
85 | #define OPT_BLIST_GREY_IDLERS 0x00000400 |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
86 | /* define OPT_BLIST_TOMBSTONE 0x00000800 */ |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
87 | #define OPT_BLIST_POPUP 0x00001000 |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
88 | #define OPT_BLIST_SHOW_ICONS 0x00002000 |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
89 | #define OPT_BLIST_SHOW_OFFLINE 0x00004000 |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
90 | |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
91 | #define OPT_CONVO_ENTER_SENDS 0x00000001 |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
92 | #define OPT_CONVO_SEND_LINKS 0x00000002 |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
93 | #define OPT_CONVO_CHECK_SPELLING 0x00000004 |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
94 | #define OPT_CONVO_CTL_CHARS 0x00000008 |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
95 | #define OPT_CONVO_CTL_SMILEYS 0x00000010 |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
96 | #define OPT_CONVO_ESC_CAN_CLOSE 0x00000020 |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
97 | #define OPT_CONVO_CTL_ENTER 0x00000040 |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
98 | #define OPT_CONVO_F2_TOGGLES 0x00000080 |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
99 | #define OPT_CONVO_SHOW_TIME 0x00000100 |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
100 | #define OPT_CONVO_IGNORE_COLOUR 0x00000200 |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
101 | #define OPT_CONVO_SHOW_SMILEY 0x00000400 |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
102 | #define OPT_CONVO_IGNORE_FONTS 0x00000800 |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
103 | #define OPT_CONVO_IGNORE_SIZES 0x00001000 |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
104 | #define OPT_CONVO_COMBINE 0x00002000 |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
105 | #define OPT_CONVO_CTL_W_CLOSES 0x00004000 |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
106 | #define OPT_CONVO_NO_X_ON_TAB 0x00008000 |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
107 | |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
108 | #define OPT_IM_POPUP 0x00000001 |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
109 | #define OPT_IM_LOGON 0x00000002 |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
110 | #define OPT_IM_BUTTON_TEXT 0x00000004 |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
111 | #define OPT_IM_BUTTON_XPM 0x00000008 |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
112 | #define OPT_IM_ONE_WINDOW 0x00000010 |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
113 | #define OPT_IM_SIDE_TAB 0x00000020 |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
114 | #define OPT_IM_BR_TAB 0x00000040 |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
115 | #define OPT_IM_HIDE_ICONS 0x00000080 |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
116 | #define OPT_IM_NO_ANIMATION 0x00000100 |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
117 | #define OPT_IM_ALIAS_TAB 0x00002000 |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
118 | #define OPT_IM_POPDOWN 0x00004000 |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
119 | |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
120 | #define OPT_CHAT_ONE_WINDOW 0x00000001 |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
121 | #define OPT_CHAT_BUTTON_TEXT 0x00000002 |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
122 | #define OPT_CHAT_BUTTON_XPM 0x00000004 |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
123 | #define OPT_CHAT_LOGON 0x00000008 |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
124 | #define OPT_CHAT_POPUP 0x00000010 |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
125 | #define OPT_CHAT_SIDE_TAB 0x00000020 |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
126 | #define OPT_CHAT_BR_TAB 0x00000040 |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
127 | #define OPT_CHAT_TAB_COMPLETE 0x00000080 |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
128 | #define OPT_CHAT_OLD_STYLE_TAB 0x00000100 |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
129 | #define OPT_CHAT_COLORIZE 0x00000200 |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
130 | |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
131 | #define OPT_SOUND_LOGIN 0x00000001 |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
132 | #define OPT_SOUND_LOGOUT 0x00000002 |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
133 | #define OPT_SOUND_RECV 0x00000004 |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
134 | #define OPT_SOUND_SEND 0x00000008 |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
135 | #define OPT_SOUND_FIRST_RCV 0x00000010 |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
136 | #define OPT_SOUND_WHEN_AWAY 0x00000020 |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
137 | #define OPT_SOUND_SILENT_SIGNON 0x00000040 |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
138 | #define OPT_SOUND_THROUGH_GNOME 0x00000080 |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
139 | #define OPT_SOUND_CHAT_JOIN 0x00000100 |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
140 | #define OPT_SOUND_CHAT_SAY 0x00000200 |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
141 | #define OPT_SOUND_BEEP 0x00000400 |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
142 | #define OPT_SOUND_CHAT_PART 0x00000800 |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
143 | #define OPT_SOUND_CHAT_YOU_SAY 0x00001000 |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
144 | #define OPT_SOUND_NORMAL 0x00002000 |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
145 | #define OPT_SOUND_NAS 0x00004000 |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
146 | #define OPT_SOUND_ARTS 0x00008000 |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
147 | #define OPT_SOUND_ESD 0x00010000 |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
148 | #define OPT_SOUND_CMD 0x00020000 |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
149 | #define OPT_SOUND_CHAT_NICK 0x00040000 |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
150 | |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
151 | #define OPT_AWAY_BACK_ON_IM 0x00000002 |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
152 | /* #define OPT_AWAY_TOMBSTONE 0x00000004 */ |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
153 | #define OPT_AWAY_AUTO 0x00000008 |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
154 | #define OPT_AWAY_NO_AUTO_RESP 0x00000010 |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
155 | #define OPT_AWAY_QUEUE 0x00000020 |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
156 | #define OPT_AWAY_IDLE_RESP 0x00000040 |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
157 | #define OPT_AWAY_QUEUE_UNREAD 0x00000080 |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
158 | #define OPT_AWAY_DELAY_IN_USE 0x00000100 |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
159 | |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
160 | |
| 4491 | 161 | GSList *gaim_accounts = NULL; |
|
5545
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
162 | static guint misc_options; |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
163 | static guint logging_options; |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
164 | static guint blist_options; |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
165 | static guint convo_options; |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
166 | static guint im_options; |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
167 | static guint conv_placement_option; |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
168 | static guint chat_options; |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
169 | static guint font_options; |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
170 | static guint sound_options; |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
171 | static guint away_options; |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
172 | static guint away_resend; |
| 4137 | 173 | static guint is_loading_prefs = 0; |
| 174 | static guint request_save_prefs = 0; | |
| 175 | static guint is_saving_prefs = 0; | |
| 176 | static guint request_load_prefs = 0; | |
|
5205
242b8aa81328
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5109
diff
changeset
|
177 | static guint prefs_initial_load = 0; |
| 4137 | 178 | guint proxy_info_is_from_gaimrc = 1; /* Only save proxy info if it |
| 179 | * was loaded from the file | |
| 180 | * or otherwise explicitly requested */ | |
| 1 | 181 | |
| 3630 | 182 | int report_idle; |
| 183 | int web_browser; | |
| 1 | 184 | struct save_pos blist_pos; |
|
1813
9b174ae83add
[gaim-migrate @ 1823]
Decklin Foster <decklin@red-bean.com>
parents:
1710
diff
changeset
|
185 | struct window_size conv_size, buddy_chat_size; |
| 4189 | 186 | char web_command[2048] = ""; |
| 1 | 187 | |
|
5545
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
188 | static GdkColor fgcolor; |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
189 | static GdkColor bgcolor; |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
190 | |
| 1 | 191 | struct parse { |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
192 | char option[256]; |
|
2286
bc6384ba314a
[gaim-migrate @ 2296]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2199
diff
changeset
|
193 | char value[MAX_VALUES][4096]; |
| 1 | 194 | }; |
| 195 | ||
|
5032
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
196 | /* |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
197 | * This is absolutely necessary, unfortunately. It is used to grab |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
198 | * the information on the pounce, so that we can then later register |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
199 | * them. The reason we do this (well, one of them) is because the buddy |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
200 | * list isn't processed yet. |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
201 | * |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
202 | * -- ChipX86 |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
203 | */ |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
204 | struct pounce_placeholder |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
205 | { |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
206 | char name[80]; |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
207 | char message[2048]; |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
208 | char command[2048]; |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
209 | char sound[2048]; |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
210 | char pouncer[80]; |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
211 | |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
212 | int protocol; |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
213 | int options; |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
214 | }; |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
215 | |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
216 | static GList *buddy_pounces = NULL; |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
217 | |
| 3493 | 218 | static struct parse *parse_line(char *line, struct parse *p) |
| 1 | 219 | { |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
220 | char *c = line; |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
221 | int inopt = 1, inval = 0, curval = -1; |
| 4137 | 222 | int optlen = 0, vallen = 0, last_non_space = 0; |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
223 | int x; |
| 1 | 224 | |
| 1137 | 225 | for (x = 0; x < MAX_VALUES; x++) { |
| 3493 | 226 | p->value[x][0] = 0; |
| 1137 | 227 | } |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
228 | |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
229 | while (*c) { |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
230 | if (*c == '\t') { |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
231 | c++; |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
232 | continue; |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
233 | } |
| 4049 | 234 | |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
235 | if (inopt) { |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
236 | if ((*c < 'a' || *c > 'z') && *c != '_' && (*c < 'A' || *c > 'Z')) { |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
237 | inopt = 0; |
| 3493 | 238 | p->option[optlen] = 0; |
| 1 | 239 | c++; |
| 240 | continue; | |
| 241 | } | |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
242 | |
| 3493 | 243 | p->option[optlen] = *c; |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
244 | optlen++; |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
245 | c++; |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
246 | continue; |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
247 | } else if (inval) { |
| 4049 | 248 | if (*c == '\\') { |
| 249 | /* if we have a \ take the char after it literally.. */ | |
| 250 | c++; | |
| 251 | p->value[curval][vallen] = *c; | |
| 252 | ||
| 253 | vallen++; | |
| 4137 | 254 | last_non_space = vallen; |
| 4049 | 255 | c++; |
| 256 | continue; | |
| 257 | } else if (*c == '}') { | |
| 258 | /* } that isn't escaped should end this chunk of data, and | |
| 259 | * should have a space before it.. */ | |
| 4137 | 260 | p->value[curval][last_non_space] = 0; |
| 4049 | 261 | inval = 0; |
| 262 | c++; | |
| 263 | continue; | |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
264 | } else { |
| 3493 | 265 | p->value[curval][vallen] = *c; |
| 4049 | 266 | |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
267 | vallen++; |
|
5109
2dccb0867a8b
[gaim-migrate @ 5472]
Mark Doliner <markdoliner@pidgin.im>
parents:
5108
diff
changeset
|
268 | if (isspace(*c)) |
|
2dccb0867a8b
[gaim-migrate @ 5472]
Mark Doliner <markdoliner@pidgin.im>
parents:
5108
diff
changeset
|
269 | last_non_space = vallen - 1; |
|
2dccb0867a8b
[gaim-migrate @ 5472]
Mark Doliner <markdoliner@pidgin.im>
parents:
5108
diff
changeset
|
270 | else |
| 4137 | 271 | last_non_space = vallen; |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
272 | c++; |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
273 | continue; |
| 1 | 274 | } |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
275 | } else if (*c == '{') { |
| 4049 | 276 | /* i really don't think this if ever succeeds, but i'm |
| 277 | * not brave enough to take it out... */ | |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
278 | if (*(c - 1) == '\\') { |
| 4137 | 279 | p->value[curval][vallen] = *c; |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
280 | c++; |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
281 | continue; |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
282 | } else { |
| 4049 | 283 | /* { that isn't escaped should signify the start of a |
| 284 | * piece of data and should have a space after it.. */ | |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
285 | curval++; |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
286 | vallen = 0; |
| 4137 | 287 | last_non_space = vallen; |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
288 | inval = 1; |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
289 | c++; |
| 4137 | 290 | while (*c && isspace(*c)) |
| 291 | c++; | |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
292 | continue; |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
293 | } |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
294 | } |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
295 | c++; |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
296 | } |
| 1137 | 297 | |
| 3493 | 298 | return p; |
| 1 | 299 | } |
| 300 | ||
| 301 | ||
| 302 | static int gaimrc_parse_tag(FILE *f) | |
| 303 | { | |
| 304 | char buf[2048]; | |
| 305 | char tag[256]; | |
| 306 | buf[0] = '#'; | |
| 307 | ||
| 308 | while (buf[0] == '#' && !feof(f)) | |
| 309 | fgets(buf, sizeof(buf), f); | |
| 310 | ||
| 311 | if (feof(f)) | |
| 312 | return -1; | |
| 313 | ||
|
5514
19d19a5ddaff
[gaim-migrate @ 5913]
Mark Doliner <markdoliner@pidgin.im>
parents:
5442
diff
changeset
|
314 | if (sscanf(buf, "%s {", tag) != 1) |
|
19d19a5ddaff
[gaim-migrate @ 5913]
Mark Doliner <markdoliner@pidgin.im>
parents:
5442
diff
changeset
|
315 | return -1; |
| 1 | 316 | |
| 317 | if (!strcmp(tag, "users")) { | |
| 318 | return 0; | |
| 319 | } else if (!strcmp(tag, "options")) { | |
| 320 | return 1; | |
| 321 | } else if (!strcmp(tag, "away")) { | |
| 322 | return 2; | |
|
142
fc9c79676b08
[gaim-migrate @ 152]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
131
diff
changeset
|
323 | } else if (!strcmp(tag, "plugins")) { |
|
fc9c79676b08
[gaim-migrate @ 152]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
131
diff
changeset
|
324 | return 3; |
| 673 | 325 | } else if (!strcmp(tag, "pounce")) { |
| 326 | return 4; | |
|
1006
fb2f2a403962
[gaim-migrate @ 1016]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1002
diff
changeset
|
327 | } else if (!strcmp(tag, "sound_files")) { |
|
fb2f2a403962
[gaim-migrate @ 1016]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1002
diff
changeset
|
328 | return 6; |
|
1881
bcd5d457cdbb
[gaim-migrate @ 1891]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1878
diff
changeset
|
329 | } else if (!strcmp(tag, "proxy")) { |
|
bcd5d457cdbb
[gaim-migrate @ 1891]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1878
diff
changeset
|
330 | return 7; |
|
4026
4ec5559caae9
[gaim-migrate @ 4230]
Herman Bloggs <herman@bluedigits.com>
parents:
3924
diff
changeset
|
331 | } else if (!strcmp(tag, "wgaim")) { |
|
4ec5559caae9
[gaim-migrate @ 4230]
Herman Bloggs <herman@bluedigits.com>
parents:
3924
diff
changeset
|
332 | return 8; |
| 1 | 333 | } |
| 334 | return -1; | |
| 335 | } | |
| 336 | ||
|
2379
cffc8ebf1bd4
[gaim-migrate @ 2392]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
337 | static char *escape_text2(const char *msg) |
|
cffc8ebf1bd4
[gaim-migrate @ 2392]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
338 | { |
|
cffc8ebf1bd4
[gaim-migrate @ 2392]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
339 | char *c, *cpy; |
|
cffc8ebf1bd4
[gaim-migrate @ 2392]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
340 | char *woo; |
|
cffc8ebf1bd4
[gaim-migrate @ 2392]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
341 | int cnt = 0; |
|
cffc8ebf1bd4
[gaim-migrate @ 2392]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
342 | /* Assumes you have a buffer able to cary at least BUF_LEN * 2 bytes */ |
|
cffc8ebf1bd4
[gaim-migrate @ 2392]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
343 | |
|
cffc8ebf1bd4
[gaim-migrate @ 2392]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
344 | woo = malloc(strlen(msg) * 4 + 1); |
|
cffc8ebf1bd4
[gaim-migrate @ 2392]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
345 | cpy = g_strndup(msg, 2048); |
|
cffc8ebf1bd4
[gaim-migrate @ 2392]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
346 | c = cpy; |
|
cffc8ebf1bd4
[gaim-migrate @ 2392]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
347 | while (*c) { |
|
cffc8ebf1bd4
[gaim-migrate @ 2392]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
348 | switch (*c) { |
|
cffc8ebf1bd4
[gaim-migrate @ 2392]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
349 | case '\n': |
|
cffc8ebf1bd4
[gaim-migrate @ 2392]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
350 | woo[cnt++] = '<'; |
|
cffc8ebf1bd4
[gaim-migrate @ 2392]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
351 | woo[cnt++] = 'B'; |
|
cffc8ebf1bd4
[gaim-migrate @ 2392]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
352 | woo[cnt++] = 'R'; |
|
cffc8ebf1bd4
[gaim-migrate @ 2392]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
353 | woo[cnt++] = '>'; |
|
cffc8ebf1bd4
[gaim-migrate @ 2392]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
354 | break; |
|
cffc8ebf1bd4
[gaim-migrate @ 2392]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
355 | case '{': |
|
cffc8ebf1bd4
[gaim-migrate @ 2392]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
356 | case '}': |
|
cffc8ebf1bd4
[gaim-migrate @ 2392]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
357 | case '\\': |
|
cffc8ebf1bd4
[gaim-migrate @ 2392]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
358 | case '"': |
|
cffc8ebf1bd4
[gaim-migrate @ 2392]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
359 | woo[cnt++] = '\\'; |
|
cffc8ebf1bd4
[gaim-migrate @ 2392]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
360 | /* Fall through */ |
|
cffc8ebf1bd4
[gaim-migrate @ 2392]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
361 | default: |
|
cffc8ebf1bd4
[gaim-migrate @ 2392]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
362 | woo[cnt++] = *c; |
|
cffc8ebf1bd4
[gaim-migrate @ 2392]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
363 | } |
|
cffc8ebf1bd4
[gaim-migrate @ 2392]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
364 | c++; |
|
cffc8ebf1bd4
[gaim-migrate @ 2392]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
365 | } |
|
cffc8ebf1bd4
[gaim-migrate @ 2392]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
366 | woo[cnt] = '\0'; |
|
cffc8ebf1bd4
[gaim-migrate @ 2392]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
367 | |
|
cffc8ebf1bd4
[gaim-migrate @ 2392]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
368 | g_free(cpy); |
|
cffc8ebf1bd4
[gaim-migrate @ 2392]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
369 | return woo; |
|
cffc8ebf1bd4
[gaim-migrate @ 2392]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
370 | } |
| 44 | 371 | |
| 1 | 372 | static void gaimrc_read_away(FILE *f) |
| 373 | { | |
| 3493 | 374 | struct parse parse_buffer; |
| 1 | 375 | struct parse *p; |
| 376 | char buf[4096]; | |
| 377 | struct away_message *a; | |
| 378 | ||
| 379 | buf[0] = 0; | |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
380 | |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
381 | while (buf[0] != '}') { |
| 1 | 382 | if (!fgets(buf, sizeof(buf), f)) |
| 383 | return; | |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
384 | |
| 1 | 385 | if (buf[0] == '}') |
| 386 | return; | |
| 387 | ||
| 3493 | 388 | p = parse_line(buf, &parse_buffer); |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
389 | if (!strcmp(p->option, "message")) { |
| 15 | 390 | a = g_new0(struct away_message, 1); |
| 1 | 391 | |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
392 | g_snprintf(a->name, sizeof(a->name), "%s", p->value[0]); |
| 15 | 393 | g_snprintf(a->message, sizeof(a->message), "%s", p->value[1]); |
| 1209 | 394 | away_messages = g_slist_insert_sorted(away_messages, a, sort_awaymsg_list); |
| 15 | 395 | } |
| 1109 | 396 | /* auto { time } { default message } */ |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
397 | else if (!strcmp(p->option, "auto")) { |
| 1109 | 398 | auto_away = atoi(p->value[0]); |
|
2372
c24942700dfd
[gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2369
diff
changeset
|
399 | default_away = g_slist_nth_data(away_messages, atoi(p->value[1])); |
| 1109 | 400 | } |
| 1 | 401 | } |
|
2383
712503cc80ba
[gaim-migrate @ 2396]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2379
diff
changeset
|
402 | if (!away_messages) { |
|
712503cc80ba
[gaim-migrate @ 2396]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2379
diff
changeset
|
403 | a = g_new0(struct away_message, 1); |
|
4589
e6d7d19da849
[gaim-migrate @ 4873]
Björn Voigt <bjoern@cs.tu-berlin.de>
parents:
4581
diff
changeset
|
404 | g_snprintf(a->name, sizeof(a->name), _("boring default")); |
|
2383
712503cc80ba
[gaim-migrate @ 2396]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2379
diff
changeset
|
405 | g_snprintf(a->message, sizeof(a->message), "%s", BORING_DEFAULT_AWAY_MSG); |
|
712503cc80ba
[gaim-migrate @ 2396]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2379
diff
changeset
|
406 | away_messages = g_slist_append(away_messages, a); |
|
712503cc80ba
[gaim-migrate @ 2396]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2379
diff
changeset
|
407 | } |
| 1 | 408 | } |
| 409 | ||
| 410 | static void gaimrc_write_away(FILE *f) | |
| 411 | { | |
| 940 | 412 | GSList *awy = away_messages; |
| 1 | 413 | struct away_message *a; |
| 414 | ||
| 415 | fprintf(f, "away {\n"); | |
| 416 | ||
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
417 | if (awy) { |
|
230
5afbb3468f11
[gaim-migrate @ 240]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
180
diff
changeset
|
418 | while (awy) { |
|
5afbb3468f11
[gaim-migrate @ 240]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
180
diff
changeset
|
419 | char *str1, *str2; |
| 26 | 420 | |
|
230
5afbb3468f11
[gaim-migrate @ 240]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
180
diff
changeset
|
421 | a = (struct away_message *)awy->data; |
| 26 | 422 | |
|
230
5afbb3468f11
[gaim-migrate @ 240]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
180
diff
changeset
|
423 | str1 = escape_text2(a->name); |
|
5afbb3468f11
[gaim-migrate @ 240]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
180
diff
changeset
|
424 | str2 = escape_text2(a->message); |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
425 | |
|
230
5afbb3468f11
[gaim-migrate @ 240]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
180
diff
changeset
|
426 | fprintf(f, "\tmessage { %s } { %s }\n", str1, str2); |
| 26 | 427 | |
|
230
5afbb3468f11
[gaim-migrate @ 240]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
180
diff
changeset
|
428 | /* escape_text2 uses malloc(), so we don't want to g_free these */ |
|
5afbb3468f11
[gaim-migrate @ 240]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
180
diff
changeset
|
429 | free(str1); |
|
5afbb3468f11
[gaim-migrate @ 240]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
180
diff
changeset
|
430 | free(str2); |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
431 | |
| 940 | 432 | awy = g_slist_next(awy); |
|
230
5afbb3468f11
[gaim-migrate @ 240]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
180
diff
changeset
|
433 | } |
|
2372
c24942700dfd
[gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2369
diff
changeset
|
434 | fprintf(f, "\tauto { %d } { %d }\n", auto_away, |
| 1254 | 435 | g_slist_index(away_messages, default_away)); |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
436 | } else { |
|
4596
64e72bf4ece4
[gaim-migrate @ 4881]
Björn Voigt <bjoern@cs.tu-berlin.de>
parents:
4592
diff
changeset
|
437 | fprintf(f, "\tmessage { %s } { %s }\n", _("boring default"), BORING_DEFAULT_AWAY_MSG); |
| 1109 | 438 | fprintf(f, "\tauto { 0 } { 0 }\n"); |
| 439 | } | |
| 1 | 440 | |
| 441 | fprintf(f, "}\n"); | |
| 442 | } | |
| 443 | ||
|
5032
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
444 | /* |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
445 | * This is temporary, and we're using it to translate the new event |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
446 | * and action values into the old ones. We're also adding entries for |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
447 | * new types, but if you go and use an older gaim, these will be nuked. |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
448 | * When we have a better prefs system, this can go away. |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
449 | * |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
450 | * -- ChipX86 |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
451 | */ |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
452 | static int pounce_evt_trans_table[] = |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
453 | { |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
454 | 0x010, GAIM_POUNCE_SIGNON, |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
455 | 0x020, GAIM_POUNCE_AWAY_RETURN, |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
456 | 0x040, GAIM_POUNCE_IDLE_RETURN, |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
457 | 0x080, GAIM_POUNCE_TYPING, |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
458 | /* 0x100, save, is handled separately. */ |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
459 | 0x400, GAIM_POUNCE_SIGNOFF, |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
460 | 0x800, GAIM_POUNCE_AWAY, |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
461 | 0x1000, GAIM_POUNCE_IDLE, |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
462 | 0x2000, GAIM_POUNCE_TYPING_STOPPED |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
463 | }; |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
464 | |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
465 | static int pounce_act_trans_table[] = |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
466 | { |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
467 | 0x001, GAIM_GTKPOUNCE_OPEN_WIN, |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
468 | 0x002, GAIM_GTKPOUNCE_SEND_MSG, |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
469 | 0x004, GAIM_GTKPOUNCE_EXEC_CMD, |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
470 | 0x008, GAIM_GTKPOUNCE_PLAY_SOUND, |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
471 | /* 0x100, save, is handled separately. */ |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
472 | 0x200, GAIM_GTKPOUNCE_POPUP |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
473 | }; |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
474 | |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
475 | static int pounce_evt_trans_table_size = |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
476 | (sizeof(pounce_evt_trans_table) / sizeof(*pounce_evt_trans_table)); |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
477 | |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
478 | static int pounce_act_trans_table_size = |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
479 | (sizeof(pounce_act_trans_table) / sizeof(*pounce_act_trans_table)); |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
480 | |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
481 | static int |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
482 | new_pounce_opts_to_old(struct gaim_pounce *pounce) |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
483 | { |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
484 | struct gaim_gtkpounce_data *gtkpounce; |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
485 | |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
486 | int opts = 0; |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
487 | int i; |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
488 | |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
489 | gtkpounce = GAIM_GTKPOUNCE(pounce); |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
490 | |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
491 | /* First, convert events */ |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
492 | for (i = 0; i < pounce_evt_trans_table_size; i += 2) |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
493 | { |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
494 | GaimPounceEvent evt = pounce_evt_trans_table[i + 1]; |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
495 | |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
496 | if ((gaim_pounce_get_events(pounce) & evt) == evt) |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
497 | opts |= pounce_evt_trans_table[i]; |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
498 | } |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
499 | |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
500 | for (i = 0; i < pounce_act_trans_table_size; i += 2) |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
501 | { |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
502 | GaimGtkPounceAction act = pounce_act_trans_table[i + 1]; |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
503 | |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
504 | if ((gtkpounce->actions & act) == act) |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
505 | opts |= pounce_act_trans_table[i]; |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
506 | } |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
507 | |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
508 | if (gtkpounce->save) |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
509 | opts |= 0x100; |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
510 | |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
511 | return opts; |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
512 | } |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
513 | |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
514 | static void |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
515 | old_pounce_opts_to_new(int opts, GaimPounceEvent *events, |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
516 | GaimGtkPounceAction *actions) |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
517 | { |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
518 | int i; |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
519 | |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
520 | *events = 0; |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
521 | *actions = 0; |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
522 | |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
523 | /* First, convert events */ |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
524 | for (i = 0; i < pounce_evt_trans_table_size; i += 2) |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
525 | { |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
526 | int evt = pounce_evt_trans_table[i]; |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
527 | |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
528 | if ((opts & evt) == evt) |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
529 | *events |= pounce_evt_trans_table[i + 1]; |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
530 | } |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
531 | |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
532 | for (i = 0; i < pounce_act_trans_table_size; i += 2) |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
533 | { |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
534 | int act = pounce_act_trans_table[i]; |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
535 | |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
536 | if ((opts & act) == act) |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
537 | *actions |= pounce_act_trans_table[i + 1]; |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
538 | |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
539 | } |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
540 | } |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
541 | |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
542 | static void |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
543 | gaimrc_read_pounce(FILE *f) |
| 673 | 544 | { |
| 3493 | 545 | struct parse parse_buffer; |
| 673 | 546 | struct parse *p; |
| 547 | char buf[4096]; | |
|
5032
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
548 | struct pounce_placeholder *b; |
| 673 | 549 | |
| 550 | buf[0] = 0; | |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
551 | |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
552 | while (buf[0] != '}') { |
| 673 | 553 | if (!fgets(buf, sizeof(buf), f)) |
| 554 | return; | |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
555 | |
| 673 | 556 | if (buf[0] == '}') |
| 557 | return; | |
| 558 | ||
| 3493 | 559 | p = parse_line(buf, &parse_buffer); |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
560 | if (!strcmp(p->option, "entry")) { |
|
5032
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
561 | b = g_new0(struct pounce_placeholder, 1); |
| 673 | 562 | |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
563 | g_snprintf(b->name, sizeof(b->name), "%s", p->value[0]); |
| 1155 | 564 | g_snprintf(b->message, sizeof(b->message), "%s", p->value[1]); |
|
1229
4d9315989885
[gaim-migrate @ 1239]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1214
diff
changeset
|
565 | g_snprintf(b->command, sizeof(b->command), "%s", p->value[2]); |
| 673 | 566 | |
|
1235
c8d6eef4edce
[gaim-migrate @ 1245]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1229
diff
changeset
|
567 | b->options = atoi(p->value[3]); |
| 1137 | 568 | |
|
1235
c8d6eef4edce
[gaim-migrate @ 1245]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1229
diff
changeset
|
569 | g_snprintf(b->pouncer, sizeof(b->pouncer), "%s", p->value[4]); |
|
c8d6eef4edce
[gaim-migrate @ 1245]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1229
diff
changeset
|
570 | b->protocol = atoi(p->value[5]); |
| 1137 | 571 | |
| 1694 | 572 | g_snprintf(b->sound, sizeof(b->sound), "%s", p->value[6]); |
|
2372
c24942700dfd
[gaim-migrate @ 2385]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2369
diff
changeset
|
573 | |
| 673 | 574 | buddy_pounces = g_list_append(buddy_pounces, b); |
| 575 | } | |
| 576 | } | |
| 577 | } | |
| 578 | ||
|
5032
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
579 | static void |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
580 | gaimrc_write_pounce(FILE *f) |
| 673 | 581 | { |
|
5032
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
582 | GList *pnc; |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
583 | struct gaim_pounce *pounce; |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
584 | struct gaim_gtkpounce_data *pounce_data; |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
585 | |
| 673 | 586 | fprintf(f, "pounce {\n"); |
| 587 | ||
|
5032
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
588 | for (pnc = gaim_get_pounces(); pnc != NULL; pnc = pnc->next) { |
| 1694 | 589 | char *str1, *str2, *str3, *str4; |
|
5032
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
590 | struct gaim_account *account; |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
591 | |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
592 | pounce = (struct gaim_pounce *)pnc->data; |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
593 | pounce_data = GAIM_GTKPOUNCE(pounce); |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
594 | account = gaim_pounce_get_pouncer(pounce); |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
595 | |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
596 | /* Pouncee name */ |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
597 | str1 = escape_text2(gaim_pounce_get_pouncee(pounce)); |
| 673 | 598 | |
|
5032
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
599 | if (pounce_data == NULL) |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
600 | { |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
601 | fprintf(f, "\tentry { %s } { } { } { %d } { %s } { %d } { }\n", |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
602 | str1, new_pounce_opts_to_old(pounce), |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
603 | account->username, account->protocol); |
| 673 | 604 | |
|
5032
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
605 | free(str1); |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
606 | |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
607 | continue; |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
608 | } |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
609 | |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
610 | /* Message */ |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
611 | if (pounce_data->message != NULL) |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
612 | str2 = escape_text2(pounce_data->message); |
|
1229
4d9315989885
[gaim-migrate @ 1239]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1214
diff
changeset
|
613 | else { |
|
4d9315989885
[gaim-migrate @ 1239]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1214
diff
changeset
|
614 | str2 = malloc(1); |
|
5032
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
615 | *str2 = '\0'; |
|
1229
4d9315989885
[gaim-migrate @ 1239]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1214
diff
changeset
|
616 | } |
|
5032
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
617 | |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
618 | /* Command */ |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
619 | if (pounce_data->command != NULL) |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
620 | str3 = escape_text2(pounce_data->command); |
|
1235
c8d6eef4edce
[gaim-migrate @ 1245]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1229
diff
changeset
|
621 | else { |
|
c8d6eef4edce
[gaim-migrate @ 1245]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1229
diff
changeset
|
622 | str3 = malloc(1); |
|
5032
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
623 | *str3 = '\0'; |
|
1235
c8d6eef4edce
[gaim-migrate @ 1245]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1229
diff
changeset
|
624 | } |
|
5032
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
625 | |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
626 | /* Sound file */ |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
627 | if (pounce_data->sound != NULL) |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
628 | str4 = escape_text2(pounce_data->sound); |
| 1694 | 629 | else { |
| 630 | str4 = malloc(1); | |
|
5032
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
631 | *str4 = '\0'; |
| 1694 | 632 | } |
| 673 | 633 | |
| 1694 | 634 | fprintf(f, "\tentry { %s } { %s } { %s } { %d } { %s } { %d } { %s }\n", |
|
5032
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
635 | str1, str2, str3, new_pounce_opts_to_old(pounce), |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
636 | account->username, account->protocol, str4); |
| 673 | 637 | |
|
1229
4d9315989885
[gaim-migrate @ 1239]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1214
diff
changeset
|
638 | /* escape_text2 uses malloc(), so we don't want to g_free these */ |
|
4d9315989885
[gaim-migrate @ 1239]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1214
diff
changeset
|
639 | free(str1); |
|
4d9315989885
[gaim-migrate @ 1239]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1214
diff
changeset
|
640 | free(str2); |
|
1235
c8d6eef4edce
[gaim-migrate @ 1245]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1229
diff
changeset
|
641 | free(str3); |
| 1694 | 642 | free(str4); |
| 673 | 643 | } |
| 644 | ||
| 645 | fprintf(f, "}\n"); | |
| 646 | } | |
| 647 | ||
|
142
fc9c79676b08
[gaim-migrate @ 152]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
131
diff
changeset
|
648 | static void gaimrc_write_plugins(FILE *f) |
|
fc9c79676b08
[gaim-migrate @ 152]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
131
diff
changeset
|
649 | { |
|
5205
242b8aa81328
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5109
diff
changeset
|
650 | GList *pl; |
|
242b8aa81328
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5109
diff
changeset
|
651 | GaimPlugin *p; |
| 1 | 652 | |
|
142
fc9c79676b08
[gaim-migrate @ 152]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
131
diff
changeset
|
653 | fprintf(f, "plugins {\n"); |
| 1 | 654 | |
|
5205
242b8aa81328
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5109
diff
changeset
|
655 | for (pl = gaim_plugins_get_loaded(); pl != NULL; pl = pl->next) { |
|
142
fc9c79676b08
[gaim-migrate @ 152]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
131
diff
changeset
|
656 | char *path; |
|
fc9c79676b08
[gaim-migrate @ 152]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
131
diff
changeset
|
657 | |
|
5205
242b8aa81328
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5109
diff
changeset
|
658 | p = (GaimPlugin *)pl->data; |
|
142
fc9c79676b08
[gaim-migrate @ 152]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
131
diff
changeset
|
659 | |
|
5205
242b8aa81328
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5109
diff
changeset
|
660 | if (p->info->type != GAIM_PLUGIN_PROTOCOL) { |
|
242b8aa81328
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5109
diff
changeset
|
661 | path = escape_text2(p->path); |
|
242b8aa81328
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5109
diff
changeset
|
662 | fprintf(f, "\tplugin { %s }\n", path); |
|
242b8aa81328
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5109
diff
changeset
|
663 | free(path); |
|
242b8aa81328
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5109
diff
changeset
|
664 | } |
|
142
fc9c79676b08
[gaim-migrate @ 152]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
131
diff
changeset
|
665 | } |
|
fc9c79676b08
[gaim-migrate @ 152]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
131
diff
changeset
|
666 | |
|
fc9c79676b08
[gaim-migrate @ 152]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
131
diff
changeset
|
667 | fprintf(f, "}\n"); |
|
fc9c79676b08
[gaim-migrate @ 152]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
131
diff
changeset
|
668 | } |
|
fc9c79676b08
[gaim-migrate @ 152]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
131
diff
changeset
|
669 | |
|
fc9c79676b08
[gaim-migrate @ 152]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
131
diff
changeset
|
670 | static void gaimrc_read_plugins(FILE *f) |
|
fc9c79676b08
[gaim-migrate @ 152]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
131
diff
changeset
|
671 | { |
| 3493 | 672 | struct parse parse_buffer; |
|
142
fc9c79676b08
[gaim-migrate @ 152]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
131
diff
changeset
|
673 | struct parse *p; |
|
fc9c79676b08
[gaim-migrate @ 152]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
131
diff
changeset
|
674 | char buf[4096]; |
|
fc9c79676b08
[gaim-migrate @ 152]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
131
diff
changeset
|
675 | |
|
fc9c79676b08
[gaim-migrate @ 152]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
131
diff
changeset
|
676 | buf[0] = 0; |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
677 | |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
678 | while (buf[0] != '}') { |
|
142
fc9c79676b08
[gaim-migrate @ 152]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
131
diff
changeset
|
679 | if (!fgets(buf, sizeof(buf), f)) |
|
1236
59d129db22b4
[gaim-migrate @ 1246]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1235
diff
changeset
|
680 | break; |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
681 | |
|
142
fc9c79676b08
[gaim-migrate @ 152]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
131
diff
changeset
|
682 | if (buf[0] == '}') |
|
1236
59d129db22b4
[gaim-migrate @ 1246]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1235
diff
changeset
|
683 | break; |
|
142
fc9c79676b08
[gaim-migrate @ 152]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
131
diff
changeset
|
684 | |
| 3493 | 685 | p = parse_line(buf, &parse_buffer); |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
686 | if (!strcmp(p->option, "plugin")) { |
|
5205
242b8aa81328
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5109
diff
changeset
|
687 | gaim_plugin_load(gaim_plugin_probe(p->value[0])); |
|
142
fc9c79676b08
[gaim-migrate @ 152]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
131
diff
changeset
|
688 | } |
|
fc9c79676b08
[gaim-migrate @ 152]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
131
diff
changeset
|
689 | } |
|
fc9c79676b08
[gaim-migrate @ 152]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
131
diff
changeset
|
690 | } |
| 1 | 691 | |
| 4491 | 692 | static struct gaim_account *gaimrc_read_user(FILE *f) |
| 1 | 693 | { |
| 3493 | 694 | struct parse parse_buffer; |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
695 | struct parse *p; |
| 4491 | 696 | struct gaim_account *account; |
|
1051
d65ac9e2224f
[gaim-migrate @ 1061]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1047
diff
changeset
|
697 | int i; |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
698 | char buf[4096]; |
| 1 | 699 | |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
700 | if (!fgets(buf, sizeof(buf), f)) |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
701 | return NULL; |
| 1 | 702 | |
| 3493 | 703 | p = parse_line(buf, &parse_buffer); |
| 1 | 704 | |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
705 | if (strcmp(p->option, "ident")) |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
706 | return NULL; |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
707 | |
| 4491 | 708 | account = g_new0(struct gaim_account, 1); |
| 1 | 709 | |
| 4491 | 710 | strcpy(account->username, p->value[0]); |
| 711 | strcpy(account->password, p->value[1]); | |
| 1 | 712 | |
| 4491 | 713 | account->user_info[0] = 0; |
| 714 | account->options = OPT_ACCT_REM_PASS; | |
|
5205
242b8aa81328
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5109
diff
changeset
|
715 | account->protocol = GAIM_PROTO_DEFAULT; |
| 4491 | 716 | account->permit = account->deny = NULL; |
| 1 | 717 | |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
718 | if (!fgets(buf, sizeof(buf), f)) |
| 4491 | 719 | return account; |
| 1 | 720 | |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
721 | if (strcmp(buf, "\t\tuser_info {\n")) { |
| 4491 | 722 | return account; |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
723 | } |
| 1 | 724 | |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
725 | if (!fgets(buf, sizeof(buf), f)) |
| 4491 | 726 | return account; |
| 1 | 727 | |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
728 | while (strncmp(buf, "\t\t}", 3)) { |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
729 | if (strlen(buf) > 3) |
| 4491 | 730 | strcat(account->user_info, buf + 3); |
| 1 | 731 | |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
732 | if (!fgets(buf, sizeof(buf), f)) { |
| 4491 | 733 | return account; |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
734 | } |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
735 | } |
| 1 | 736 | |
| 4491 | 737 | if ((i = strlen(account->user_info))) { |
| 738 | account->user_info[i - 1] = '\0'; | |
|
1292
82820e0a3748
[gaim-migrate @ 1302]
Decklin Foster <decklin@red-bean.com>
parents:
1264
diff
changeset
|
739 | } |
|
82820e0a3748
[gaim-migrate @ 1302]
Decklin Foster <decklin@red-bean.com>
parents:
1264
diff
changeset
|
740 | |
|
960
c4012584334f
[gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
940
diff
changeset
|
741 | if (!fgets(buf, sizeof(buf), f)) { |
| 4491 | 742 | return account; |
|
960
c4012584334f
[gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
940
diff
changeset
|
743 | } |
|
c4012584334f
[gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
940
diff
changeset
|
744 | |
|
c4012584334f
[gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
940
diff
changeset
|
745 | if (!strcmp(buf, "\t}")) { |
| 4491 | 746 | return account; |
|
960
c4012584334f
[gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
940
diff
changeset
|
747 | } |
|
c4012584334f
[gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
940
diff
changeset
|
748 | |
| 3493 | 749 | p = parse_line(buf, &parse_buffer); |
|
960
c4012584334f
[gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
940
diff
changeset
|
750 | |
|
c4012584334f
[gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
940
diff
changeset
|
751 | if (strcmp(p->option, "user_opts")) |
| 4491 | 752 | return account; |
|
960
c4012584334f
[gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
940
diff
changeset
|
753 | |
| 4491 | 754 | account->options = atoi(p->value[0]); |
| 755 | account->protocol = atoi(p->value[1]); | |
|
960
c4012584334f
[gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
940
diff
changeset
|
756 | |
|
1051
d65ac9e2224f
[gaim-migrate @ 1061]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1047
diff
changeset
|
757 | if (!fgets(buf, sizeof(buf), f)) |
| 4491 | 758 | return account; |
|
1051
d65ac9e2224f
[gaim-migrate @ 1061]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1047
diff
changeset
|
759 | |
|
d65ac9e2224f
[gaim-migrate @ 1061]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1047
diff
changeset
|
760 | if (!strcmp(buf, "\t}")) |
| 4491 | 761 | return account; |
|
1051
d65ac9e2224f
[gaim-migrate @ 1061]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1047
diff
changeset
|
762 | |
| 3493 | 763 | p = parse_line(buf, &parse_buffer); |
|
1051
d65ac9e2224f
[gaim-migrate @ 1061]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1047
diff
changeset
|
764 | |
|
d65ac9e2224f
[gaim-migrate @ 1061]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1047
diff
changeset
|
765 | if (strcmp(p->option, "proto_opts")) |
| 4491 | 766 | return account; |
|
1051
d65ac9e2224f
[gaim-migrate @ 1061]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1047
diff
changeset
|
767 | |
|
1843
aeeac3ee7ac5
[gaim-migrate @ 1853]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1813
diff
changeset
|
768 | for (i = 0; i < 7; i++) |
| 4491 | 769 | g_snprintf(account->proto_opt[i], sizeof account->proto_opt[i], "%s", p->value[i]); |
|
1051
d65ac9e2224f
[gaim-migrate @ 1061]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1047
diff
changeset
|
770 | |
|
2317
2f61c2641be6
[gaim-migrate @ 2327]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2313
diff
changeset
|
771 | if (!fgets(buf, sizeof(buf), f)) |
| 4491 | 772 | return account; |
|
2317
2f61c2641be6
[gaim-migrate @ 2327]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2313
diff
changeset
|
773 | |
|
2f61c2641be6
[gaim-migrate @ 2327]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2313
diff
changeset
|
774 | if (!strcmp(buf, "\t}")) |
| 4491 | 775 | return account; |
|
2317
2f61c2641be6
[gaim-migrate @ 2327]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2313
diff
changeset
|
776 | |
| 3493 | 777 | p = parse_line(buf, &parse_buffer); |
|
2317
2f61c2641be6
[gaim-migrate @ 2327]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2313
diff
changeset
|
778 | |
|
2f61c2641be6
[gaim-migrate @ 2327]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2313
diff
changeset
|
779 | if (strcmp(p->option, "iconfile")) |
| 4491 | 780 | return account; |
|
2317
2f61c2641be6
[gaim-migrate @ 2327]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2313
diff
changeset
|
781 | |
| 4491 | 782 | g_snprintf(account->iconfile, sizeof(account->iconfile), "%s", p->value[0]); |
|
2317
2f61c2641be6
[gaim-migrate @ 2327]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2313
diff
changeset
|
783 | |
| 3205 | 784 | if (!fgets(buf, sizeof(buf), f)) |
| 4491 | 785 | return account; |
| 3205 | 786 | |
| 787 | if (!strcmp(buf, "\t}")) | |
| 4491 | 788 | return account; |
| 3205 | 789 | |
| 3493 | 790 | p = parse_line(buf, &parse_buffer); |
| 3205 | 791 | |
| 792 | if (strcmp(p->option, "alias")) | |
| 4491 | 793 | return account; |
| 3205 | 794 | |
| 4491 | 795 | g_snprintf(account->alias, sizeof(account->alias), "%s", p->value[0]); |
| 3205 | 796 | |
| 4634 | 797 | if (!fgets(buf, sizeof(buf), f)) |
| 798 | return account; | |
| 799 | ||
| 800 | if (!strcmp(buf, "\t}")) | |
| 801 | return account; | |
| 802 | ||
| 803 | p = parse_line(buf, &parse_buffer); | |
| 804 | ||
| 805 | if (strcmp(p->option, "proxy_opts")) | |
| 806 | return account; | |
| 807 | ||
| 808 | if(atoi(p->value[0]) != PROXY_USE_GLOBAL) { | |
| 809 | account->gpi = g_new0(struct gaim_proxy_info, 1); | |
| 810 | account->gpi->proxytype = atoi(p->value[0]); | |
| 811 | g_snprintf(account->gpi->proxyhost, sizeof(account->gpi->proxyhost), | |
| 812 | "%s", p->value[1]); | |
| 813 | account->gpi->proxyport = atoi(p->value[2]); | |
| 814 | g_snprintf(account->gpi->proxyuser, sizeof(account->gpi->proxyuser), | |
| 815 | "%s", p->value[3]); | |
| 816 | g_snprintf(account->gpi->proxypass, sizeof(account->gpi->proxypass), | |
| 817 | "%s", p->value[4]); | |
| 818 | } | |
| 819 | ||
| 4491 | 820 | return account; |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
821 | |
| 1 | 822 | } |
| 823 | ||
| 4491 | 824 | static void gaimrc_write_user(FILE *f, struct gaim_account *account) |
| 1 | 825 | { |
| 4693 | 826 | char *c, *d; |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
827 | int nl = 1, i; |
|
3309
b0235333e3e9
[gaim-migrate @ 3327]
Jim Seymour <jseymour@users.sourceforge.net>
parents:
3205
diff
changeset
|
828 | |
| 4491 | 829 | if (account->options & OPT_ACCT_REM_PASS) { |
| 4693 | 830 | fprintf(f, "\t\tident { %s } { %s }\n", (d = escape_text2(account->username)), (c = escape_text2(account->password))); |
|
3309
b0235333e3e9
[gaim-migrate @ 3327]
Jim Seymour <jseymour@users.sourceforge.net>
parents:
3205
diff
changeset
|
831 | free(c); |
| 4693 | 832 | free(d); |
|
3309
b0235333e3e9
[gaim-migrate @ 3327]
Jim Seymour <jseymour@users.sourceforge.net>
parents:
3205
diff
changeset
|
833 | } else { |
| 4693 | 834 | fprintf(f, "\t\tident { %s } { }\n", (d = escape_text2(account->username))); |
| 835 | free(d); | |
|
3309
b0235333e3e9
[gaim-migrate @ 3327]
Jim Seymour <jseymour@users.sourceforge.net>
parents:
3205
diff
changeset
|
836 | } |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
837 | fprintf(f, "\t\tuser_info {"); |
| 4491 | 838 | c = account->user_info; |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
839 | while (*c) { |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
840 | /* This is not as silly as it looks. */ |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
841 | if (*c == '\n') { |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
842 | nl++; |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
843 | } else { |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
844 | if (nl) { |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
845 | while (nl) { |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
846 | fprintf(f, "\n\t\t\t"); |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
847 | nl--; |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
848 | } |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
849 | } |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
850 | fprintf(f, "%c", *c); |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
851 | } |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
852 | c++; |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
853 | } |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
854 | fprintf(f, "\n\t\t}\n"); |
| 4491 | 855 | fprintf(f, "\t\tuser_opts { %d } { %d }\n", account->options, account->protocol); |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
856 | fprintf(f, "\t\tproto_opts"); |
|
1843
aeeac3ee7ac5
[gaim-migrate @ 1853]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1813
diff
changeset
|
857 | for (i = 0; i < 7; i++) |
| 4491 | 858 | fprintf(f, " { %s }", account->proto_opt[i]); |
|
1051
d65ac9e2224f
[gaim-migrate @ 1061]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1047
diff
changeset
|
859 | fprintf(f, "\n"); |
|
4480
d8c7bc322801
[gaim-migrate @ 4755]
Herman Bloggs <herman@bluedigits.com>
parents:
4469
diff
changeset
|
860 | #ifndef _WIN32 |
| 4491 | 861 | fprintf(f, "\t\ticonfile { %s }\n", account->iconfile); |
|
4480
d8c7bc322801
[gaim-migrate @ 4755]
Herman Bloggs <herman@bluedigits.com>
parents:
4469
diff
changeset
|
862 | #else |
|
d8c7bc322801
[gaim-migrate @ 4755]
Herman Bloggs <herman@bluedigits.com>
parents:
4469
diff
changeset
|
863 | { |
|
d8c7bc322801
[gaim-migrate @ 4755]
Herman Bloggs <herman@bluedigits.com>
parents:
4469
diff
changeset
|
864 | /* Make sure windows dir speparators arn't swallowed up when |
|
d8c7bc322801
[gaim-migrate @ 4755]
Herman Bloggs <herman@bluedigits.com>
parents:
4469
diff
changeset
|
865 | path is read back in from resource file */ |
| 4491 | 866 | char* tmp=wgaim_escape_dirsep(account->iconfile); |
| 867 | fprintf(f, "\t\ticonfile { %s }\n", tmp); | |
|
4480
d8c7bc322801
[gaim-migrate @ 4755]
Herman Bloggs <herman@bluedigits.com>
parents:
4469
diff
changeset
|
868 | g_free(tmp); |
|
d8c7bc322801
[gaim-migrate @ 4755]
Herman Bloggs <herman@bluedigits.com>
parents:
4469
diff
changeset
|
869 | } |
|
d8c7bc322801
[gaim-migrate @ 4755]
Herman Bloggs <herman@bluedigits.com>
parents:
4469
diff
changeset
|
870 | #endif |
| 4491 | 871 | fprintf(f, "\t\talias { %s }\n", account->alias); |
| 4634 | 872 | fprintf(f, "\t\tproxy_opts "); |
| 873 | if(account->gpi) { | |
| 874 | fprintf(f, "{ %d } { %s } { %d } { %s } { %s }\n", | |
| 875 | account->gpi->proxytype, account->gpi->proxyhost, | |
| 876 | account->gpi->proxyport, account->gpi->proxyuser, | |
| 877 | (c = escape_text2(account->gpi->proxypass))); | |
| 878 | free(c); | |
| 879 | } else { | |
| 880 | fprintf(f, "{ %d }\n", PROXY_USE_GLOBAL); | |
| 881 | } | |
| 1 | 882 | } |
| 883 | ||
| 884 | static void gaimrc_read_users(FILE *f) | |
| 885 | { | |
| 886 | char buf[2048]; | |
| 4491 | 887 | struct gaim_account *account = NULL; |
| 3493 | 888 | struct parse parse_buffer; |
|
4410
9e593f7acd2e
[gaim-migrate @ 4683]
Herman Bloggs <herman@bluedigits.com>
parents:
4405
diff
changeset
|
889 | struct parse *p=NULL; |
| 1 | 890 | |
| 891 | buf[0] = 0; | |
| 892 | ||
|
4410
9e593f7acd2e
[gaim-migrate @ 4683]
Herman Bloggs <herman@bluedigits.com>
parents:
4405
diff
changeset
|
893 | while (fgets(buf, sizeof(buf), f)) { |
| 1 | 894 | if (buf[0] == '#') |
| 895 | continue; | |
|
4410
9e593f7acd2e
[gaim-migrate @ 4683]
Herman Bloggs <herman@bluedigits.com>
parents:
4405
diff
changeset
|
896 | else if(buf[0] == '}') |
|
9e593f7acd2e
[gaim-migrate @ 4683]
Herman Bloggs <herman@bluedigits.com>
parents:
4405
diff
changeset
|
897 | break; |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
898 | |
| 3493 | 899 | p = parse_line(buf, &parse_buffer); |
| 1 | 900 | |
|
4410
9e593f7acd2e
[gaim-migrate @ 4683]
Herman Bloggs <herman@bluedigits.com>
parents:
4405
diff
changeset
|
901 | if (strcmp(p->option, "user")==0 || |
|
9e593f7acd2e
[gaim-migrate @ 4683]
Herman Bloggs <herman@bluedigits.com>
parents:
4405
diff
changeset
|
902 | strcmp(p->option, "current_user")==0) { |
| 4491 | 903 | if((account=gaimrc_read_user(f))!=NULL) |
| 904 | gaim_accounts = g_slist_append(gaim_accounts, account); | |
|
4410
9e593f7acd2e
[gaim-migrate @ 4683]
Herman Bloggs <herman@bluedigits.com>
parents:
4405
diff
changeset
|
905 | else { |
|
5211
94d9756c381f
[gaim-migrate @ 5581]
Christian Hammond <chipx86@chipx86.com>
parents:
5205
diff
changeset
|
906 | gaim_debug(GAIM_DEBUG_ERROR, "gaimrc", |
|
94d9756c381f
[gaim-migrate @ 5581]
Christian Hammond <chipx86@chipx86.com>
parents:
5205
diff
changeset
|
907 | "Error reading in users from .gaimrc\n"); |
|
4410
9e593f7acd2e
[gaim-migrate @ 4683]
Herman Bloggs <herman@bluedigits.com>
parents:
4405
diff
changeset
|
908 | return; |
|
9e593f7acd2e
[gaim-migrate @ 4683]
Herman Bloggs <herman@bluedigits.com>
parents:
4405
diff
changeset
|
909 | } |
|
159
bd2436428efa
[gaim-migrate @ 169]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
158
diff
changeset
|
910 | } |
| 1 | 911 | } |
| 912 | } | |
| 913 | ||
| 914 | static void gaimrc_write_users(FILE *f) | |
| 915 | { | |
| 4491 | 916 | GSList *usr = gaim_accounts; |
| 917 | struct gaim_account *account; | |
| 1 | 918 | |
| 919 | fprintf(f, "users {\n"); | |
| 920 | ||
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
921 | while (usr) { |
| 4491 | 922 | account = (struct gaim_account *)usr->data; |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
923 | fprintf(f, "\tuser {\n"); |
| 4491 | 924 | gaimrc_write_user(f, account); |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
925 | |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
926 | fprintf(f, "\t}\n"); |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
927 | |
| 1 | 928 | usr = usr->next; |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
929 | } |
| 1 | 930 | |
| 931 | fprintf(f, "}\n"); | |
| 932 | } | |
| 933 | ||
|
2313
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
934 | struct replace { |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
935 | int old; |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
936 | guint *val; |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
937 | int new; |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
938 | }; |
| 1 | 939 | |
|
2313
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
940 | static struct replace gen_replace[] = { |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
941 | { /* OPT_GEN_ENTER_SENDS */ 0x00000001, &convo_options, OPT_CONVO_ENTER_SENDS }, |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
942 | { /* OPT_GEN_APP_BUDDY_SHOW */ 0x00000010, &blist_options, OPT_BLIST_APP_BUDDY_SHOW }, |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
943 | { /* OPT_GEN_POPUP_WINDOWS */ 0x00000020, &im_options, OPT_IM_POPUP }, |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
944 | { /* OPT_GEN_SEND_LINKS */ 0x00000040, &convo_options, OPT_CONVO_SEND_LINKS }, |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
945 | { /* OPT_GEN_DEBUG */ 0x00000100, &misc_options, OPT_MISC_DEBUG }, |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
946 | { /* OPT_GEN_BROWSER_POPUP */ 0x00000800, &misc_options, OPT_MISC_BROWSER_POPUP }, |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
947 | { /* OPT_GEN_SAVED_WINDOWS */ 0x00001000, &blist_options, OPT_BLIST_SAVED_WINDOWS }, |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
948 | { /* OPT_GEN_NEAR_APPLET */ 0x00004000, &blist_options, OPT_BLIST_NEAR_APPLET }, |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
949 | { /* OPT_GEN_CHECK_SPELLING */ 0x00008000, &convo_options, OPT_CONVO_CHECK_SPELLING }, |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
950 | { /* OPT_GEN_POPUP_CHAT */ 0x00010000, &chat_options, OPT_CHAT_POPUP }, |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
951 | { /* OPT_GEN_BACK_ON_IM */ 0x00020000, &away_options, OPT_AWAY_BACK_ON_IM }, |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
952 | { /* OPT_GEN_CTL_CHARS */ 0x00080000, &convo_options, OPT_CONVO_CTL_CHARS }, |
| 3792 | 953 | #if 0 |
|
5248
f4f944f4dbe0
[gaim-migrate @ 5620]
Mark Doliner <markdoliner@pidgin.im>
parents:
5211
diff
changeset
|
954 | { /* OPT_GEN_TOMBSTONE */ 0x00100000, &away_options, OPT_AWAY_TOMBSTONE }, |
| 3792 | 955 | #endif |
|
2313
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
956 | { /* OPT_GEN_CTL_SMILEYS */ 0x00200000, &convo_options, OPT_CONVO_CTL_SMILEYS }, |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
957 | { /* OPT_GEN_AUTO_AWAY */ 0x00800000, &away_options, OPT_AWAY_AUTO }, |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
958 | { /* OPT_GEN_ESC_CAN_CLOSE */ 0x01000000, &convo_options, OPT_CONVO_ESC_CAN_CLOSE }, |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
959 | { /* OPT_GEN_CTL_ENTER */ 0x02000000, &convo_options, OPT_CONVO_CTL_ENTER }, |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
960 | { /* OPT_GEN_F2_TOGGLES */ 0x04000000, &convo_options, OPT_CONVO_F2_TOGGLES }, |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
961 | { /* OPT_GEN_NO_AUTO_RESP */ 0x08000000, &away_options, OPT_AWAY_NO_AUTO_RESP }, |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
962 | { /* OPT_GEN_QUEUE_WHEN_AWAY */ 0x10000000, &away_options, OPT_AWAY_QUEUE }, |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
963 | { 0,NULL,0 } |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
964 | }; |
| 1 | 965 | |
|
2313
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
966 | #define OPT_GEN_LOG_ALL 0x00000004 |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
967 | #define OPT_GEN_STRIP_HTML 0x00000008 |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
968 | |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
969 | static struct replace disp_replace[] = { |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
970 | { /* OPT_DISP_SHOW_TIME */ 0x00000001, &convo_options, OPT_CONVO_SHOW_TIME }, |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
971 | { /* OPT_DISP_SHOW_GRPNUM */ 0x00000002, &blist_options, OPT_BLIST_SHOW_GRPNUM }, |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
972 | { /* OPT_DISP_SHOW_PIXMAPS */ 0x00000004, &blist_options, OPT_BLIST_SHOW_PIXMAPS }, |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
973 | { /* OPT_DISP_SHOW_IDLETIME */ 0x00000008, &blist_options, OPT_BLIST_SHOW_IDLETIME }, |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
974 | { /* OPT_DISP_SHOW_BUTTON_XPM */ 0x00000010, &blist_options, OPT_BLIST_SHOW_BUTTON_XPM }, |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
975 | { /* OPT_DISP_IGNORE_COLOUR */ 0x00000020, &convo_options, OPT_CONVO_IGNORE_COLOUR }, |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
976 | { /* OPT_DISP_SHOW_LOGON */ 0x00000040, &im_options, OPT_IM_LOGON }, |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
977 | { /* OPT_DISP_SHOW_SMILEY */ 0x00000100, &convo_options, OPT_CONVO_SHOW_SMILEY }, |
| 3903 | 978 | { /* OPT_DISP_COOL_LOOK */ 0x00000400, &misc_options, 0}, |
|
2313
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
979 | { /* OPT_DISP_CHAT_LOGON */ 0x00000800, &chat_options, OPT_CHAT_LOGON }, |
|
4944
032dac83798e
[gaim-migrate @ 5278]
Robert McQueen <robot101@debian.org>
parents:
4898
diff
changeset
|
980 | { /* OPT_DISP_NO_BUTTONS */ 0x00002000, &blist_options, OPT_BLIST_NO_BUTTON_TEXT }, |
|
2313
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
981 | { /* OPT_DISP_CONV_BUTTON_TEXT */ 0x00004000, &im_options, OPT_IM_BUTTON_TEXT }, |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
982 | { /* OPT_DISP_CHAT_BUTTON_TEXT */ 0x00008000, &chat_options, OPT_CHAT_BUTTON_TEXT }, |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
983 | { /* OPT_DISP_NO_MT_GRP */ 0x00040000, &blist_options, OPT_BLIST_NO_MT_GRP }, |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
984 | { /* OPT_DISP_CONV_BUTTON_XPM */ 0x00080000, &im_options, OPT_IM_BUTTON_XPM }, |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
985 | { /* OPT_DISP_CHAT_BUTTON_XPM */ 0x00100000, &chat_options, OPT_CHAT_BUTTON_XPM }, |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
986 | { /* OPT_DISP_SHOW_WARN */ 0x00200000, &blist_options, OPT_BLIST_SHOW_WARN }, |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
987 | { /* OPT_DISP_IGNORE_FONTS */ 0x00400000, &convo_options, OPT_CONVO_IGNORE_FONTS }, |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
988 | { /* OPT_DISP_IGNORE_SIZES */ 0x00800000, &convo_options, OPT_CONVO_IGNORE_SIZES }, |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
989 | { /* OPT_DISP_ONE_WINDOW */ 0x01000000, &im_options, OPT_IM_ONE_WINDOW }, |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
990 | { /* OPT_DISP_ONE_CHAT_WINDOW */ 0x02000000, &chat_options, OPT_CHAT_ONE_WINDOW }, |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
991 | { /* OPT_DISP_CONV_SIDE_TAB */ 0x04000000, &im_options, OPT_IM_SIDE_TAB }, |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
992 | { /* OPT_DISP_CONV_BR_TAB */ 0x08000000, &im_options, OPT_IM_BR_TAB }, |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
993 | { /* OPT_DISP_CHAT_SIDE_TAB */ 0x10000000, &chat_options, OPT_CHAT_SIDE_TAB }, |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
994 | { /* OPT_DISP_CHAT_BR_TAB */ 0x20000000, &chat_options, OPT_CHAT_BR_TAB }, |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
995 | { 0,NULL,0 } |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
996 | }; |
| 1 | 997 | |
| 998 | static void gaimrc_read_options(FILE *f) | |
| 999 | { | |
| 1000 | char buf[2048]; | |
| 3493 | 1001 | struct parse parse_buffer; |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
1002 | struct parse *p; |
|
2313
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1003 | gboolean read_logging = FALSE, read_general = FALSE, read_display = FALSE; |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1004 | int general_options = 0, display_options = 0; |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1005 | int i; |
| 1 | 1006 | |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
1007 | buf[0] = 0; |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
1008 | |
| 1 | 1009 | while (buf[0] != '}') { |
| 1010 | if (buf[0] == '#') | |
| 1011 | continue; | |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
1012 | |
| 1 | 1013 | if (!fgets(buf, sizeof(buf), f)) |
| 1014 | return; | |
| 1015 | ||
| 3493 | 1016 | p = parse_line(buf, &parse_buffer); |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
1017 | |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
1018 | if (!strcmp(p->option, "general_options")) { |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
1019 | general_options = atoi(p->value[0]); |
|
2313
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1020 | read_general = TRUE; |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
1021 | } else if (!strcmp(p->option, "display_options")) { |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
1022 | display_options = atoi(p->value[0]); |
|
2313
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1023 | read_display = TRUE; |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1024 | } else if (!strcmp(p->option, "misc_options")) { |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1025 | misc_options = atoi(p->value[0]); |
|
1525
b4ece1a718cd
[gaim-migrate @ 1535]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1456
diff
changeset
|
1026 | } else if (!strcmp(p->option, "logging_options")) { |
|
b4ece1a718cd
[gaim-migrate @ 1535]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1456
diff
changeset
|
1027 | logging_options = atoi(p->value[0]); |
|
b4ece1a718cd
[gaim-migrate @ 1535]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1456
diff
changeset
|
1028 | read_logging = TRUE; |
|
2313
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1029 | } else if (!strcmp(p->option, "blist_options")) { |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1030 | blist_options = atoi(p->value[0]); |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1031 | } else if (!strcmp(p->option, "convo_options")) { |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1032 | convo_options = atoi(p->value[0]); |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1033 | } else if (!strcmp(p->option, "im_options")) { |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1034 | im_options = atoi(p->value[0]); |
|
5545
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
1035 | |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
1036 | gaim_prefs_set_bool("/gaim/gtk/conversations/hide_im_on_send", |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
1037 | (im_options & OPT_IM_POPDOWN)); |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
1038 | |
|
4469
ef60c820b884
[gaim-migrate @ 4744]
Christian Hammond <chipx86@chipx86.com>
parents:
4430
diff
changeset
|
1039 | } else if (!strcmp(p->option, "conv_placement")) { |
|
ef60c820b884
[gaim-migrate @ 4744]
Christian Hammond <chipx86@chipx86.com>
parents:
4430
diff
changeset
|
1040 | conv_placement_option = atoi(p->value[0]); |
|
ef60c820b884
[gaim-migrate @ 4744]
Christian Hammond <chipx86@chipx86.com>
parents:
4430
diff
changeset
|
1041 | gaim_conv_placement_set_active(conv_placement_option); |
|
2313
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1042 | } else if (!strcmp(p->option, "chat_options")) { |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1043 | chat_options = atoi(p->value[0]); |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1044 | } else if (!strcmp(p->option, "font_options")) { |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1045 | font_options = atoi(p->value[0]); |
|
5545
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
1046 | |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
1047 | gaim_prefs_set_bool("/gaim/gtk/conversations/send_bold", |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
1048 | (font_options & OPT_FONT_BOLD)); |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
1049 | gaim_prefs_set_bool("/gaim/gtk/conversations/send_italic", |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
1050 | (font_options & OPT_FONT_ITALIC)); |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
1051 | gaim_prefs_set_bool("/gaim/gtk/conversations/send_underline", |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
1052 | (font_options & OPT_FONT_UNDERLINE)); |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
1053 | gaim_prefs_set_bool("/gaim/gtk/conversations/send_strikethrough", |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
1054 | (font_options & OPT_FONT_STRIKE)); |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
1055 | gaim_prefs_set_bool("/gaim/gtk/conversations/use_custom_font", |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
1056 | (font_options & OPT_FONT_FACE)); |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
1057 | gaim_prefs_set_bool("/gaim/gtk/conversations/use_custom_size", |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
1058 | (font_options & OPT_FONT_SIZE)); |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
1059 | gaim_prefs_set_bool("/gaim/gtk/conversations/use_custom_fgcolor", |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
1060 | (font_options & OPT_FONT_FGCOL)); |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
1061 | gaim_prefs_set_bool("/gaim/gtk/conversations/use_custom_bgcolor", |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
1062 | (font_options & OPT_FONT_BGCOL)); |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
1063 | |
|
2313
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1064 | } else if (!strcmp(p->option, "sound_options")) { |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1065 | sound_options = atoi(p->value[0]); |
| 4581 | 1066 | gaim_sound_change_output_method(); |
|
2313
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1067 | } else if (!strcmp(p->option, "away_options")) { |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1068 | away_options = atoi(p->value[0]); |
|
2906
6d1a38606840
[gaim-migrate @ 2919]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2777
diff
changeset
|
1069 | away_resend = atoi(p->value[1]); |
|
666
0a313fec9a15
[gaim-migrate @ 676]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
570
diff
changeset
|
1070 | } else if (!strcmp(p->option, "font_face")) { |
|
5545
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
1071 | gaim_prefs_set_string("/gaim/gtk/conversations/font_face", |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
1072 | p->value[0]); |
|
1441
71e46d36113b
[gaim-migrate @ 1451]
Decklin Foster <decklin@red-bean.com>
parents:
1420
diff
changeset
|
1073 | } else if (!strcmp(p->option, "font_size")) { |
|
5545
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
1074 | gaim_prefs_set_int("/gaim/gtk/conversations/font_size", atoi(p->value[0])); |
|
666
0a313fec9a15
[gaim-migrate @ 676]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
570
diff
changeset
|
1075 | } else if (!strcmp(p->option, "foreground")) { |
|
5545
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
1076 | char buf[8]; |
|
697
6091a4b5c459
[gaim-migrate @ 707]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
690
diff
changeset
|
1077 | fgcolor.red = atoi(p->value[0]); |
|
6091a4b5c459
[gaim-migrate @ 707]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
690
diff
changeset
|
1078 | fgcolor.green = atoi(p->value[1]); |
|
6091a4b5c459
[gaim-migrate @ 707]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
690
diff
changeset
|
1079 | fgcolor.blue = atoi(p->value[2]); |
|
5545
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
1080 | |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
1081 | g_snprintf(buf, sizeof(buf), "#%2x%2x%2x", |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
1082 | atoi(p->value[0]), atoi(p->value[1]), atoi(p->value[2])); |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
1083 | gaim_prefs_set_string("/gaim/gtk/conversations/fgcolor", buf); |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
1084 | |
|
666
0a313fec9a15
[gaim-migrate @ 676]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
570
diff
changeset
|
1085 | } else if (!strcmp(p->option, "background")) { |
|
5545
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
1086 | char buf[8]; |
|
697
6091a4b5c459
[gaim-migrate @ 707]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
690
diff
changeset
|
1087 | bgcolor.red = atoi(p->value[0]); |
|
6091a4b5c459
[gaim-migrate @ 707]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
690
diff
changeset
|
1088 | bgcolor.green = atoi(p->value[1]); |
|
6091a4b5c459
[gaim-migrate @ 707]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
690
diff
changeset
|
1089 | bgcolor.blue = atoi(p->value[2]); |
|
5545
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
1090 | |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
1091 | g_snprintf(buf, sizeof(buf), "#%2x%2x%2x", |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
1092 | atoi(p->value[0]), atoi(p->value[1]), atoi(p->value[2])); |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
1093 | gaim_prefs_set_string("/gaim/gtk/conversations/bgcolor", buf); |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
1094 | |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
1095 | } else if (!strcmp(p->option, "report_idle")) { |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
1096 | report_idle = atoi(p->value[0]); |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
1097 | } else if (!strcmp(p->option, "web_browser")) { |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
1098 | web_browser = atoi(p->value[0]); |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
1099 | } else if (!strcmp(p->option, "web_command")) { |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
1100 | strcpy(web_command, p->value[0]); |
| 4288 | 1101 | } else if (!strcmp(p->option, "smiley_theme")) { |
| 1102 | load_smiley_theme(p->value[0], TRUE); | |
|
1813
9b174ae83add
[gaim-migrate @ 1823]
Decklin Foster <decklin@red-bean.com>
parents:
1710
diff
changeset
|
1103 | } else if (!strcmp(p->option, "conv_size")) { |
|
9b174ae83add
[gaim-migrate @ 1823]
Decklin Foster <decklin@red-bean.com>
parents:
1710
diff
changeset
|
1104 | conv_size.width = atoi(p->value[0]); |
|
9b174ae83add
[gaim-migrate @ 1823]
Decklin Foster <decklin@red-bean.com>
parents:
1710
diff
changeset
|
1105 | conv_size.height = atoi(p->value[1]); |
|
9b174ae83add
[gaim-migrate @ 1823]
Decklin Foster <decklin@red-bean.com>
parents:
1710
diff
changeset
|
1106 | conv_size.entry_height = atoi(p->value[2]); |
|
9b174ae83add
[gaim-migrate @ 1823]
Decklin Foster <decklin@red-bean.com>
parents:
1710
diff
changeset
|
1107 | } else if (!strcmp(p->option, "buddy_chat_size")) { |
|
9b174ae83add
[gaim-migrate @ 1823]
Decklin Foster <decklin@red-bean.com>
parents:
1710
diff
changeset
|
1108 | buddy_chat_size.width = atoi(p->value[0]); |
|
9b174ae83add
[gaim-migrate @ 1823]
Decklin Foster <decklin@red-bean.com>
parents:
1710
diff
changeset
|
1109 | buddy_chat_size.height = atoi(p->value[1]); |
|
9b174ae83add
[gaim-migrate @ 1823]
Decklin Foster <decklin@red-bean.com>
parents:
1710
diff
changeset
|
1110 | buddy_chat_size.entry_height = atoi(p->value[2]); |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
1111 | } else if (!strcmp(p->option, "blist_pos")) { |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
1112 | blist_pos.x = atoi(p->value[0]); |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
1113 | blist_pos.y = atoi(p->value[1]); |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
1114 | blist_pos.width = atoi(p->value[2]); |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
1115 | blist_pos.height = atoi(p->value[3]); |
| 5422 | 1116 | } else if (!strcmp(p->option, "sort_method")) { |
| 1117 | strcpy(sort_method, p->value[0]); | |
|
82
33bc54b6c16a
[gaim-migrate @ 92]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
44
diff
changeset
|
1118 | } |
| 1 | 1119 | |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
1120 | } |
| 1 | 1121 | |
|
2592
cbbdd76cd0e4
[gaim-migrate @ 2605]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2580
diff
changeset
|
1122 | /* this is where we do bugs and compatibility stuff */ |
| 4581 | 1123 | if (!(sound_options & (OPT_SOUND_BEEP | OPT_SOUND_NORMAL | OPT_SOUND_ESD |
| 4592 | 1124 | | OPT_SOUND_ARTS | OPT_SOUND_NAS | OPT_SOUND_CMD))) { |
| 4561 | 1125 | sound_options |= OPT_SOUND_NORMAL; |
| 4592 | 1126 | gaim_sound_change_output_method(); |
| 1127 | } | |
|
2592
cbbdd76cd0e4
[gaim-migrate @ 2605]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2580
diff
changeset
|
1128 | |
|
2352
926d68fd918f
[gaim-migrate @ 2365]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2317
diff
changeset
|
1129 | if (conv_size.width == 0 && |
|
926d68fd918f
[gaim-migrate @ 2365]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2317
diff
changeset
|
1130 | conv_size.height == 0 && |
|
926d68fd918f
[gaim-migrate @ 2365]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2317
diff
changeset
|
1131 | conv_size.entry_height == 0) { |
| 3671 | 1132 | conv_size.width = 410; |
| 1133 | conv_size.height = 160; | |
|
2352
926d68fd918f
[gaim-migrate @ 2365]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2317
diff
changeset
|
1134 | conv_size.entry_height = 50; |
|
926d68fd918f
[gaim-migrate @ 2365]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2317
diff
changeset
|
1135 | } |
|
926d68fd918f
[gaim-migrate @ 2365]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2317
diff
changeset
|
1136 | |
|
926d68fd918f
[gaim-migrate @ 2365]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2317
diff
changeset
|
1137 | if (buddy_chat_size.width == 0 && |
|
926d68fd918f
[gaim-migrate @ 2365]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2317
diff
changeset
|
1138 | buddy_chat_size.height == 0 && |
|
926d68fd918f
[gaim-migrate @ 2365]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2317
diff
changeset
|
1139 | buddy_chat_size.entry_height == 0) { |
| 3671 | 1140 | buddy_chat_size.width = 410; |
|
2352
926d68fd918f
[gaim-migrate @ 2365]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2317
diff
changeset
|
1141 | buddy_chat_size.height = 160; |
|
926d68fd918f
[gaim-migrate @ 2365]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2317
diff
changeset
|
1142 | buddy_chat_size.entry_height = 50; |
|
926d68fd918f
[gaim-migrate @ 2365]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2317
diff
changeset
|
1143 | } |
|
926d68fd918f
[gaim-migrate @ 2365]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2317
diff
changeset
|
1144 | |
|
2313
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1145 | if (read_general) { |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1146 | if (!read_logging) { |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1147 | logging_options = 0; |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1148 | if (general_options & OPT_GEN_LOG_ALL) |
| 4581 | 1149 | logging_options |= OPT_LOG_CONVOS | OPT_LOG_CHATS; |
|
2313
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1150 | if (general_options & OPT_GEN_STRIP_HTML) |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1151 | logging_options |= OPT_LOG_STRIP_HTML; |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1152 | } |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1153 | for (i = 0; gen_replace[i].val; i++) |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1154 | if (general_options & gen_replace[i].old) |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1155 | *gen_replace[i].val |= gen_replace[i].new; |
|
1525
b4ece1a718cd
[gaim-migrate @ 1535]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1456
diff
changeset
|
1156 | } |
|
b4ece1a718cd
[gaim-migrate @ 1535]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1456
diff
changeset
|
1157 | |
|
2313
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1158 | if (read_display) |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1159 | for (i = 0; disp_replace[i].val; i++) |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1160 | if (display_options & disp_replace[i].old) |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1161 | *disp_replace[i].val |= disp_replace[i].new; |
|
2906
6d1a38606840
[gaim-migrate @ 2919]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2777
diff
changeset
|
1162 | |
|
6d1a38606840
[gaim-migrate @ 2919]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2777
diff
changeset
|
1163 | if (!away_resend) |
|
6d1a38606840
[gaim-migrate @ 2919]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2777
diff
changeset
|
1164 | away_resend = 120; |
| 3391 | 1165 | |
| 1166 | if (misc_options & OPT_MISC_BUDDY_TICKER) { | |
|
5205
242b8aa81328
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5109
diff
changeset
|
1167 | if (gaim_plugins_enabled()) { |
|
242b8aa81328
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5109
diff
changeset
|
1168 | gchar* buf; |
| 3630 | 1169 | |
|
5205
242b8aa81328
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5109
diff
changeset
|
1170 | buf = g_strconcat(LIBDIR, G_DIR_SEPARATOR_S, |
| 3630 | 1171 | #ifndef _WIN32 |
|
5205
242b8aa81328
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5109
diff
changeset
|
1172 | "ticker.so", |
| 3630 | 1173 | #else |
|
5205
242b8aa81328
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5109
diff
changeset
|
1174 | "ticker.dll", |
| 3630 | 1175 | #endif |
|
5205
242b8aa81328
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5109
diff
changeset
|
1176 | NULL); |
|
242b8aa81328
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5109
diff
changeset
|
1177 | |
|
242b8aa81328
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5109
diff
changeset
|
1178 | gaim_plugin_load(gaim_plugin_probe(buf)); |
|
242b8aa81328
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5109
diff
changeset
|
1179 | g_free(buf); |
|
242b8aa81328
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5109
diff
changeset
|
1180 | } |
|
242b8aa81328
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5109
diff
changeset
|
1181 | |
| 3391 | 1182 | misc_options &= ~OPT_MISC_BUDDY_TICKER; |
| 1183 | } | |
| 1 | 1184 | } |
| 1185 | ||
| 1186 | static void gaimrc_write_options(FILE *f) | |
| 1187 | { | |
| 1188 | ||
| 1189 | fprintf(f, "options {\n"); | |
|
2313
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1190 | |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1191 | fprintf(f, "\tmisc_options { %u }\n", misc_options); |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1192 | fprintf(f, "\tlogging_options { %u }\n", logging_options); |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1193 | fprintf(f, "\tblist_options { %u }\n", blist_options); |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1194 | fprintf(f, "\tconvo_options { %u }\n", convo_options); |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1195 | fprintf(f, "\tim_options { %u }\n", im_options); |
|
4469
ef60c820b884
[gaim-migrate @ 4744]
Christian Hammond <chipx86@chipx86.com>
parents:
4430
diff
changeset
|
1196 | fprintf(f, "\tconv_placement { %u }\n", conv_placement_option); |
|
2313
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1197 | fprintf(f, "\tchat_options { %u }\n", chat_options); |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1198 | fprintf(f, "\tfont_options { %u }\n", font_options); |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1199 | fprintf(f, "\tsound_options { %u }\n", sound_options); |
|
2908
4e1dc7494fe1
[gaim-migrate @ 2921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2906
diff
changeset
|
1200 | fprintf(f, "\taway_options { %u } { %u }\n", away_options, away_resend); |
|
5545
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
1201 | fprintf(f, "\tfont_face { %s }\n", gaim_prefs_get_string("/gaim/gtk/conversations/font_face")); |
|
a8b1a1262402
[gaim-migrate @ 5946]
Christian Hammond <chipx86@chipx86.com>
parents:
5537
diff
changeset
|
1202 | fprintf(f, "\tfont_size { %d }\n", gaim_prefs_get_int("/gaim/gtk/conversations/font_size")); |
|
697
6091a4b5c459
[gaim-migrate @ 707]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
690
diff
changeset
|
1203 | fprintf(f, "\tforeground { %d } { %d } { %d }\n", fgcolor.red, fgcolor.green, fgcolor.blue); |
|
6091a4b5c459
[gaim-migrate @ 707]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
690
diff
changeset
|
1204 | fprintf(f, "\tbackground { %d } { %d } { %d }\n", bgcolor.red, bgcolor.green, bgcolor.blue); |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
1205 | fprintf(f, "\treport_idle { %d }\n", report_idle); |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
1206 | fprintf(f, "\tweb_browser { %d }\n", web_browser); |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
1207 | fprintf(f, "\tweb_command { %s }\n", web_command); |
| 5422 | 1208 | fprintf(f, "\tsort_method { %s }\n", sort_method); |
|
5337
d5f1b2e0e353
[gaim-migrate @ 5713]
Herman Bloggs <herman@bluedigits.com>
parents:
5252
diff
changeset
|
1209 | if (current_smiley_theme) { |
|
d5f1b2e0e353
[gaim-migrate @ 5713]
Herman Bloggs <herman@bluedigits.com>
parents:
5252
diff
changeset
|
1210 | #ifndef _WIN32 |
| 4288 | 1211 | fprintf(f, "\tsmiley_theme { %s }\n", current_smiley_theme->path); |
|
5337
d5f1b2e0e353
[gaim-migrate @ 5713]
Herman Bloggs <herman@bluedigits.com>
parents:
5252
diff
changeset
|
1212 | #else |
|
d5f1b2e0e353
[gaim-migrate @ 5713]
Herman Bloggs <herman@bluedigits.com>
parents:
5252
diff
changeset
|
1213 | char* tmp=wgaim_escape_dirsep(current_smiley_theme->path); |
|
d5f1b2e0e353
[gaim-migrate @ 5713]
Herman Bloggs <herman@bluedigits.com>
parents:
5252
diff
changeset
|
1214 | fprintf(f, "\tsmiley_theme { %s }\n", tmp); |
|
d5f1b2e0e353
[gaim-migrate @ 5713]
Herman Bloggs <herman@bluedigits.com>
parents:
5252
diff
changeset
|
1215 | g_free(tmp); |
|
d5f1b2e0e353
[gaim-migrate @ 5713]
Herman Bloggs <herman@bluedigits.com>
parents:
5252
diff
changeset
|
1216 | #endif |
|
d5f1b2e0e353
[gaim-migrate @ 5713]
Herman Bloggs <herman@bluedigits.com>
parents:
5252
diff
changeset
|
1217 | } |
| 3541 | 1218 | fprintf(f, "\tblist_pos { %d } { %d } { %d } { %d }\n", |
| 1219 | blist_pos.x, blist_pos.y, blist_pos.width, blist_pos.height); | |
|
1813
9b174ae83add
[gaim-migrate @ 1823]
Decklin Foster <decklin@red-bean.com>
parents:
1710
diff
changeset
|
1220 | fprintf(f, "\tconv_size { %d } { %d } { %d }\n", |
|
9b174ae83add
[gaim-migrate @ 1823]
Decklin Foster <decklin@red-bean.com>
parents:
1710
diff
changeset
|
1221 | conv_size.width, conv_size.height, conv_size.entry_height); |
|
9b174ae83add
[gaim-migrate @ 1823]
Decklin Foster <decklin@red-bean.com>
parents:
1710
diff
changeset
|
1222 | fprintf(f, "\tbuddy_chat_size { %d } { %d } { %d }\n", |
|
9b174ae83add
[gaim-migrate @ 1823]
Decklin Foster <decklin@red-bean.com>
parents:
1710
diff
changeset
|
1223 | buddy_chat_size.width, buddy_chat_size.height, buddy_chat_size.entry_height); |
|
2313
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1224 | |
| 1 | 1225 | fprintf(f, "}\n"); |
| 1226 | } | |
| 1227 | ||
| 1228 | ||
|
1006
fb2f2a403962
[gaim-migrate @ 1016]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1002
diff
changeset
|
1229 | static void gaimrc_read_sounds(FILE *f) |
|
fb2f2a403962
[gaim-migrate @ 1016]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1002
diff
changeset
|
1230 | { |
|
fb2f2a403962
[gaim-migrate @ 1016]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1002
diff
changeset
|
1231 | int i; |
|
fb2f2a403962
[gaim-migrate @ 1016]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1002
diff
changeset
|
1232 | char buf[2048]; |
| 3493 | 1233 | struct parse parse_buffer; |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
1234 | struct parse *p; |
|
1006
fb2f2a403962
[gaim-migrate @ 1016]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1002
diff
changeset
|
1235 | |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
1236 | buf[0] = 0; |
|
1006
fb2f2a403962
[gaim-migrate @ 1016]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1002
diff
changeset
|
1237 | |
| 4561 | 1238 | for(i=0; i<GAIM_NUM_SOUNDS; i++) |
| 1239 | gaim_sound_set_event_file(i, NULL); | |
| 1240 | ||
|
1006
fb2f2a403962
[gaim-migrate @ 1016]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1002
diff
changeset
|
1241 | while (buf[0] != '}') { |
|
fb2f2a403962
[gaim-migrate @ 1016]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1002
diff
changeset
|
1242 | if (buf[0] == '#') |
|
fb2f2a403962
[gaim-migrate @ 1016]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1002
diff
changeset
|
1243 | continue; |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
1244 | |
|
1006
fb2f2a403962
[gaim-migrate @ 1016]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1002
diff
changeset
|
1245 | if (!fgets(buf, sizeof(buf), f)) |
|
fb2f2a403962
[gaim-migrate @ 1016]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1002
diff
changeset
|
1246 | return; |
|
fb2f2a403962
[gaim-migrate @ 1016]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1002
diff
changeset
|
1247 | |
| 3493 | 1248 | p = parse_line(buf, &parse_buffer); |
| 3630 | 1249 | #ifndef _WIN32 |
|
1214
dccd13b431d5
[gaim-migrate @ 1224]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1209
diff
changeset
|
1250 | if (!strcmp(p->option, "sound_cmd")) { |
| 4561 | 1251 | gaim_sound_set_command(p->value[0]); |
| 1252 | } else | |
| 3630 | 1253 | #endif |
| 1254 | if (!strncmp(p->option, "sound", strlen("sound"))) { | |
|
2036
4739b7aa2a84
[gaim-migrate @ 2046]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1976
diff
changeset
|
1255 | i = p->option[strlen("sound")] - 'A'; |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
1256 | |
|
1214
dccd13b431d5
[gaim-migrate @ 1224]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1209
diff
changeset
|
1257 | if (p->value[0][0]) |
| 4561 | 1258 | gaim_sound_set_event_file(i, p->value[0]); |
|
1214
dccd13b431d5
[gaim-migrate @ 1224]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1209
diff
changeset
|
1259 | } |
|
1006
fb2f2a403962
[gaim-migrate @ 1016]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1002
diff
changeset
|
1260 | } |
|
fb2f2a403962
[gaim-migrate @ 1016]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1002
diff
changeset
|
1261 | } |
|
fb2f2a403962
[gaim-migrate @ 1016]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1002
diff
changeset
|
1262 | |
|
fb2f2a403962
[gaim-migrate @ 1016]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1002
diff
changeset
|
1263 | static void gaimrc_write_sounds(FILE *f) |
|
fb2f2a403962
[gaim-migrate @ 1016]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1002
diff
changeset
|
1264 | { |
|
fb2f2a403962
[gaim-migrate @ 1016]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1002
diff
changeset
|
1265 | int i; |
|
5084
21d2e7ec99ce
[gaim-migrate @ 5439]
Herman Bloggs <herman@bluedigits.com>
parents:
5080
diff
changeset
|
1266 | #ifndef _WIN32 |
| 4561 | 1267 | char *cmd; |
|
5084
21d2e7ec99ce
[gaim-migrate @ 5439]
Herman Bloggs <herman@bluedigits.com>
parents:
5080
diff
changeset
|
1268 | #endif |
|
1006
fb2f2a403962
[gaim-migrate @ 1016]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1002
diff
changeset
|
1269 | fprintf(f, "sound_files {\n"); |
| 4561 | 1270 | for (i = 0; i < GAIM_NUM_SOUNDS; i++) { |
| 1271 | char *file = gaim_sound_get_event_file(i); | |
| 1272 | if (file) { | |
|
4405
1ba4190b83eb
[gaim-migrate @ 4674]
Herman Bloggs <herman@bluedigits.com>
parents:
4393
diff
changeset
|
1273 | #ifndef _WIN32 |
| 4561 | 1274 | fprintf(f, "\tsound%c { %s }\n", i + 'A', file); |
|
4405
1ba4190b83eb
[gaim-migrate @ 4674]
Herman Bloggs <herman@bluedigits.com>
parents:
4393
diff
changeset
|
1275 | #else |
|
1ba4190b83eb
[gaim-migrate @ 4674]
Herman Bloggs <herman@bluedigits.com>
parents:
4393
diff
changeset
|
1276 | /* Make sure windows dir speparators arn't swallowed up when |
|
1ba4190b83eb
[gaim-migrate @ 4674]
Herman Bloggs <herman@bluedigits.com>
parents:
4393
diff
changeset
|
1277 | path is read back in from resource file */ |
| 4561 | 1278 | char* tmp=wgaim_escape_dirsep(file); |
|
4405
1ba4190b83eb
[gaim-migrate @ 4674]
Herman Bloggs <herman@bluedigits.com>
parents:
4393
diff
changeset
|
1279 | fprintf(f, "\tsound%c { %s }\n", i + 'A', tmp); |
|
1ba4190b83eb
[gaim-migrate @ 4674]
Herman Bloggs <herman@bluedigits.com>
parents:
4393
diff
changeset
|
1280 | g_free(tmp); |
|
1ba4190b83eb
[gaim-migrate @ 4674]
Herman Bloggs <herman@bluedigits.com>
parents:
4393
diff
changeset
|
1281 | #endif |
|
1ba4190b83eb
[gaim-migrate @ 4674]
Herman Bloggs <herman@bluedigits.com>
parents:
4393
diff
changeset
|
1282 | } |
|
1006
fb2f2a403962
[gaim-migrate @ 1016]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1002
diff
changeset
|
1283 | else |
|
fb2f2a403962
[gaim-migrate @ 1016]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1002
diff
changeset
|
1284 | fprintf(f, "\tsound%c { }\n", i + 'A'); |
| 4561 | 1285 | } |
| 3630 | 1286 | #ifndef _WIN32 |
| 4561 | 1287 | cmd = gaim_sound_get_command(); |
| 1288 | if(cmd) | |
| 1289 | fprintf(f, "\tsound_cmd { %s }\n", cmd); | |
| 1290 | else | |
| 1291 | fprintf(f, "\tsound_cmd { }\n"); | |
| 3630 | 1292 | #endif |
|
1006
fb2f2a403962
[gaim-migrate @ 1016]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1002
diff
changeset
|
1293 | fprintf(f, "}\n"); |
|
fb2f2a403962
[gaim-migrate @ 1016]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1002
diff
changeset
|
1294 | } |
|
fb2f2a403962
[gaim-migrate @ 1016]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1002
diff
changeset
|
1295 | |
| 3435 | 1296 | static gboolean gaimrc_parse_proxy_uri(const char *proxy) |
| 1297 | { | |
| 1298 | char *c, *d; | |
| 1299 | char buffer[2048]; | |
| 1300 | ||
| 1301 | char host[128]; | |
| 1302 | char user[128]; | |
| 1303 | char pass[128]; | |
| 1304 | int port = 0; | |
| 1305 | int len = 0; | |
| 1306 | ||
| 4137 | 1307 | host[0] = '\0'; |
| 1308 | user[0] = '\0'; | |
| 1309 | pass[0] = '\0'; | |
| 1310 | ||
|
5211
94d9756c381f
[gaim-migrate @ 5581]
Christian Hammond <chipx86@chipx86.com>
parents:
5205
diff
changeset
|
1311 | gaim_debug(GAIM_DEBUG_MISC, "gaimrc", |
|
94d9756c381f
[gaim-migrate @ 5581]
Christian Hammond <chipx86@chipx86.com>
parents:
5205
diff
changeset
|
1312 | "gaimrc_parse_proxy_uri(%s)\n", proxy); |
| 4137 | 1313 | |
| 3435 | 1314 | if ((c = strchr(proxy, ':')) == NULL) |
| 1315 | { | |
|
5211
94d9756c381f
[gaim-migrate @ 5581]
Christian Hammond <chipx86@chipx86.com>
parents:
5205
diff
changeset
|
1316 | gaim_debug(GAIM_DEBUG_ERROR, "gaimrc", |
|
94d9756c381f
[gaim-migrate @ 5581]
Christian Hammond <chipx86@chipx86.com>
parents:
5205
diff
changeset
|
1317 | "No URI detected.\n"); |
| 3435 | 1318 | /* No URI detected. */ |
| 1319 | return FALSE; | |
| 1320 | } | |
| 1321 | ||
| 1322 | len = c - proxy; | |
| 1323 | ||
|
5537
812794b97b08
[gaim-migrate @ 5937]
Mark Doliner <markdoliner@pidgin.im>
parents:
5534
diff
changeset
|
1324 | if (strncmp(proxy, "http://", len + 3)) |
| 3435 | 1325 | return FALSE; |
| 1326 | ||
|
5211
94d9756c381f
[gaim-migrate @ 5581]
Christian Hammond <chipx86@chipx86.com>
parents:
5205
diff
changeset
|
1327 | gaim_debug(GAIM_DEBUG_MISC, "gaimrc", "Found HTTP proxy.\n"); |
| 3435 | 1328 | /* Get past "://" */ |
| 1329 | c += 3; | |
| 1330 | ||
|
5211
94d9756c381f
[gaim-migrate @ 5581]
Christian Hammond <chipx86@chipx86.com>
parents:
5205
diff
changeset
|
1331 | gaim_debug(GAIM_DEBUG_MISC, "gaimrc", "Looking at %s\n", c); |
| 4137 | 1332 | |
| 3435 | 1333 | for (;;) |
| 1334 | { | |
| 1335 | *buffer = '\0'; | |
| 1336 | d = buffer; | |
| 1337 | ||
| 1338 | while (*c != '\0' && *c != '@' && *c != ':' && *c != '/') | |
| 1339 | *d++ = *c++; | |
| 1340 | ||
| 1341 | *d = '\0'; | |
| 1342 | ||
| 1343 | if (*c == ':') | |
| 1344 | { | |
| 1345 | /* | |
| 1346 | * If there is a '@' in there somewhere, we are in the auth part. | |
| 1347 | * If not, host. | |
| 1348 | */ | |
| 1349 | if (strchr(c, '@') != NULL) | |
| 4137 | 1350 | strcpy(user, buffer); |
| 3435 | 1351 | else |
| 4137 | 1352 | strcpy(host, buffer); |
| 3435 | 1353 | } |
| 1354 | else if (*c == '@') | |
| 1355 | { | |
| 4137 | 1356 | if (user[0] == '\0') |
| 1357 | strcpy(user, buffer); | |
| 3435 | 1358 | else |
| 4137 | 1359 | strcpy(pass, buffer); |
| 3435 | 1360 | } |
| 1361 | else if (*c == '/' || *c == '\0') | |
| 1362 | { | |
| 4137 | 1363 | if (host[0] == '\0') |
| 1364 | strcpy(host, buffer); | |
| 3435 | 1365 | else |
| 1366 | port = atoi(buffer); | |
| 1367 | ||
| 1368 | /* Done. */ | |
| 1369 | break; | |
| 1370 | } | |
| 1371 | ||
| 1372 | c++; | |
| 1373 | } | |
| 1374 | ||
| 1375 | /* NOTE: HTTP_PROXY takes precendence. */ | |
| 4137 | 1376 | if (host[0]) |
| 4634 | 1377 | strcpy(global_proxy_info.proxyhost, host); |
| 3435 | 1378 | else |
| 4634 | 1379 | *global_proxy_info.proxyhost = '\0'; |
| 3435 | 1380 | |
| 4137 | 1381 | if (user[0]) |
| 4634 | 1382 | strcpy(global_proxy_info.proxyuser, user); |
| 3435 | 1383 | else |
| 4634 | 1384 | *global_proxy_info.proxyuser = '\0'; |
| 3435 | 1385 | |
| 4137 | 1386 | if (pass[0]) |
| 4634 | 1387 | strcpy(global_proxy_info.proxypass, pass); |
| 3435 | 1388 | else |
| 4634 | 1389 | *global_proxy_info.proxypass = '\0'; |
| 1390 | ||
| 1391 | global_proxy_info.proxyport = port; | |
| 3435 | 1392 | |
|
5211
94d9756c381f
[gaim-migrate @ 5581]
Christian Hammond <chipx86@chipx86.com>
parents:
5205
diff
changeset
|
1393 | gaim_debug(GAIM_DEBUG_MISC, "gaimrc", |
|
94d9756c381f
[gaim-migrate @ 5581]
Christian Hammond <chipx86@chipx86.com>
parents:
5205
diff
changeset
|
1394 | "Host: '%s', User: '%s', Password: '%s', Port: %d\n", |
|
94d9756c381f
[gaim-migrate @ 5581]
Christian Hammond <chipx86@chipx86.com>
parents:
5205
diff
changeset
|
1395 | global_proxy_info.proxyhost, global_proxy_info.proxyuser, |
|
94d9756c381f
[gaim-migrate @ 5581]
Christian Hammond <chipx86@chipx86.com>
parents:
5205
diff
changeset
|
1396 | global_proxy_info.proxypass, global_proxy_info.proxyport); |
| 4137 | 1397 | |
| 3435 | 1398 | return TRUE; |
| 1399 | } | |
| 1400 | ||
|
1881
bcd5d457cdbb
[gaim-migrate @ 1891]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1878
diff
changeset
|
1401 | static void gaimrc_read_proxy(FILE *f) |
|
bcd5d457cdbb
[gaim-migrate @ 1891]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1878
diff
changeset
|
1402 | { |
|
bcd5d457cdbb
[gaim-migrate @ 1891]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1878
diff
changeset
|
1403 | char buf[2048]; |
| 3493 | 1404 | struct parse parse_buffer; |
|
1881
bcd5d457cdbb
[gaim-migrate @ 1891]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1878
diff
changeset
|
1405 | struct parse *p; |
|
bcd5d457cdbb
[gaim-migrate @ 1891]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1878
diff
changeset
|
1406 | |
|
bcd5d457cdbb
[gaim-migrate @ 1891]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1878
diff
changeset
|
1407 | buf[0] = 0; |
| 4634 | 1408 | global_proxy_info.proxyhost[0] = 0; |
|
5211
94d9756c381f
[gaim-migrate @ 5581]
Christian Hammond <chipx86@chipx86.com>
parents:
5205
diff
changeset
|
1409 | gaim_debug(GAIM_DEBUG_MISC, "gaimrc", "gaimrc_read_proxy\n"); |
|
1881
bcd5d457cdbb
[gaim-migrate @ 1891]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1878
diff
changeset
|
1410 | |
|
bcd5d457cdbb
[gaim-migrate @ 1891]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1878
diff
changeset
|
1411 | while (buf[0] != '}') { |
|
bcd5d457cdbb
[gaim-migrate @ 1891]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1878
diff
changeset
|
1412 | if (buf[0] == '#') |
|
bcd5d457cdbb
[gaim-migrate @ 1891]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1878
diff
changeset
|
1413 | continue; |
|
bcd5d457cdbb
[gaim-migrate @ 1891]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1878
diff
changeset
|
1414 | |
|
bcd5d457cdbb
[gaim-migrate @ 1891]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1878
diff
changeset
|
1415 | if (!fgets(buf, sizeof(buf), f)) |
|
bcd5d457cdbb
[gaim-migrate @ 1891]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1878
diff
changeset
|
1416 | return; |
|
bcd5d457cdbb
[gaim-migrate @ 1891]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1878
diff
changeset
|
1417 | |
| 3493 | 1418 | p = parse_line(buf, &parse_buffer); |
|
1881
bcd5d457cdbb
[gaim-migrate @ 1891]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1878
diff
changeset
|
1419 | |
|
bcd5d457cdbb
[gaim-migrate @ 1891]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1878
diff
changeset
|
1420 | if (!strcmp(p->option, "host")) { |
| 4634 | 1421 | g_snprintf(global_proxy_info.proxyhost, |
| 1422 | sizeof(global_proxy_info.proxyhost), "%s", p->value[0]); | |
|
5211
94d9756c381f
[gaim-migrate @ 5581]
Christian Hammond <chipx86@chipx86.com>
parents:
5205
diff
changeset
|
1423 | gaim_debug(GAIM_DEBUG_MISC, "gaimrc", |
|
94d9756c381f
[gaim-migrate @ 5581]
Christian Hammond <chipx86@chipx86.com>
parents:
5205
diff
changeset
|
1424 | "Set proxyhost %s\n", global_proxy_info.proxyhost); |
|
1881
bcd5d457cdbb
[gaim-migrate @ 1891]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1878
diff
changeset
|
1425 | } else if (!strcmp(p->option, "port")) { |
| 4634 | 1426 | global_proxy_info.proxyport = atoi(p->value[0]); |
|
1881
bcd5d457cdbb
[gaim-migrate @ 1891]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1878
diff
changeset
|
1427 | } else if (!strcmp(p->option, "type")) { |
| 4634 | 1428 | global_proxy_info.proxytype = atoi(p->value[0]); |
|
1881
bcd5d457cdbb
[gaim-migrate @ 1891]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1878
diff
changeset
|
1429 | } else if (!strcmp(p->option, "user")) { |
| 4634 | 1430 | g_snprintf(global_proxy_info.proxyuser, |
| 1431 | sizeof(global_proxy_info.proxyuser), "%s", p->value[0]); | |
|
1881
bcd5d457cdbb
[gaim-migrate @ 1891]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1878
diff
changeset
|
1432 | } else if (!strcmp(p->option, "pass")) { |
| 4634 | 1433 | g_snprintf(global_proxy_info.proxypass, |
| 1434 | sizeof(global_proxy_info.proxypass), "%s", p->value[0]); | |
|
1881
bcd5d457cdbb
[gaim-migrate @ 1891]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1878
diff
changeset
|
1435 | } |
|
bcd5d457cdbb
[gaim-migrate @ 1891]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1878
diff
changeset
|
1436 | } |
| 4634 | 1437 | if (global_proxy_info.proxyhost[0]) |
| 4137 | 1438 | proxy_info_is_from_gaimrc = 1; |
| 4634 | 1439 | else { |
| 3435 | 1440 | gboolean getVars = TRUE; |
| 4137 | 1441 | proxy_info_is_from_gaimrc = 0; |
| 4634 | 1442 | |
|
1936
d5f4cd8c37e4
[gaim-migrate @ 1946]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1921
diff
changeset
|
1443 | if (g_getenv("HTTP_PROXY")) |
| 4634 | 1444 | g_snprintf(global_proxy_info.proxyhost, |
| 1445 | sizeof(global_proxy_info.proxyhost), "%s", | |
| 1446 | g_getenv("HTTP_PROXY")); | |
|
1938
93e5b550043b
[gaim-migrate @ 1948]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1936
diff
changeset
|
1447 | else if (g_getenv("http_proxy")) |
| 4634 | 1448 | g_snprintf(global_proxy_info.proxyhost, |
| 1449 | sizeof(global_proxy_info.proxyhost), "%s", | |
| 1450 | g_getenv("http_proxy")); | |
|
1936
d5f4cd8c37e4
[gaim-migrate @ 1946]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1921
diff
changeset
|
1451 | else if (g_getenv("HTTPPROXY")) |
| 4634 | 1452 | g_snprintf(global_proxy_info.proxyhost, |
| 1453 | sizeof(global_proxy_info.proxyhost), "%s", | |
| 1454 | g_getenv("HTTPPROXY")); | |
|
1936
d5f4cd8c37e4
[gaim-migrate @ 1946]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1921
diff
changeset
|
1455 | |
| 4634 | 1456 | if (*global_proxy_info.proxyhost != '\0') |
| 1457 | getVars = !gaimrc_parse_proxy_uri(global_proxy_info.proxyhost); | |
| 3435 | 1458 | |
| 1459 | if (getVars) | |
| 1460 | { | |
| 1461 | if (g_getenv("HTTP_PROXY_PORT")) | |
| 4634 | 1462 | global_proxy_info.proxyport = atoi(g_getenv("HTTP_PROXY_PORT")); |
| 3435 | 1463 | else if (g_getenv("http_proxy_port")) |
| 4634 | 1464 | global_proxy_info.proxyport = atoi(g_getenv("http_proxy_port")); |
| 3435 | 1465 | else if (g_getenv("HTTPPROXYPORT")) |
| 4634 | 1466 | global_proxy_info.proxyport = atoi(g_getenv("HTTPPROXYPORT")); |
|
1936
d5f4cd8c37e4
[gaim-migrate @ 1946]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1921
diff
changeset
|
1467 | |
| 3435 | 1468 | if (g_getenv("HTTP_PROXY_USER")) |
| 4634 | 1469 | g_snprintf(global_proxy_info.proxyuser, |
| 1470 | sizeof(global_proxy_info.proxyuser), "%s", | |
| 1471 | g_getenv("HTTP_PROXY_USER")); | |
| 3435 | 1472 | else if (g_getenv("http_proxy_user")) |
| 4634 | 1473 | g_snprintf(global_proxy_info.proxyuser, |
| 1474 | sizeof(global_proxy_info.proxyuser), "%s", | |
| 1475 | g_getenv("http_proxy_user")); | |
| 3435 | 1476 | else if (g_getenv("HTTPPROXYUSER")) |
| 4634 | 1477 | g_snprintf(global_proxy_info.proxyuser, |
| 1478 | sizeof(global_proxy_info.proxyuser), "%s", | |
| 1479 | g_getenv("HTTPPROXYUSER")); | |
|
1936
d5f4cd8c37e4
[gaim-migrate @ 1946]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1921
diff
changeset
|
1480 | |
| 3435 | 1481 | if (g_getenv("HTTP_PROXY_PASS")) |
| 4634 | 1482 | g_snprintf(global_proxy_info.proxypass, |
| 1483 | sizeof(global_proxy_info.proxypass), "%s", | |
| 1484 | g_getenv("HTTP_PROXY_PASS")); | |
| 3435 | 1485 | else if (g_getenv("http_proxy_pass")) |
| 4634 | 1486 | g_snprintf(global_proxy_info.proxypass, |
| 1487 | sizeof(global_proxy_info.proxypass), "%s", | |
| 1488 | g_getenv("http_proxy_pass")); | |
| 3435 | 1489 | else if (g_getenv("HTTPPROXYPASS")) |
| 4634 | 1490 | g_snprintf(global_proxy_info.proxypass, |
| 1491 | sizeof(global_proxy_info.proxypass), "%s", | |
| 1492 | g_getenv("HTTPPROXYPASS")); | |
| 3435 | 1493 | } |
|
1936
d5f4cd8c37e4
[gaim-migrate @ 1946]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1921
diff
changeset
|
1494 | } |
|
1881
bcd5d457cdbb
[gaim-migrate @ 1891]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1878
diff
changeset
|
1495 | } |
|
bcd5d457cdbb
[gaim-migrate @ 1891]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1878
diff
changeset
|
1496 | |
|
bcd5d457cdbb
[gaim-migrate @ 1891]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1878
diff
changeset
|
1497 | static void gaimrc_write_proxy(FILE *f) |
|
bcd5d457cdbb
[gaim-migrate @ 1891]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1878
diff
changeset
|
1498 | { |
|
3309
b0235333e3e9
[gaim-migrate @ 3327]
Jim Seymour <jseymour@users.sourceforge.net>
parents:
3205
diff
changeset
|
1499 | char *str; |
|
b0235333e3e9
[gaim-migrate @ 3327]
Jim Seymour <jseymour@users.sourceforge.net>
parents:
3205
diff
changeset
|
1500 | |
|
1881
bcd5d457cdbb
[gaim-migrate @ 1891]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1878
diff
changeset
|
1501 | fprintf(f, "proxy {\n"); |
| 4137 | 1502 | if (proxy_info_is_from_gaimrc) { |
| 4634 | 1503 | fprintf(f, "\thost { %s }\n", global_proxy_info.proxyhost); |
| 1504 | fprintf(f, "\tport { %d }\n", global_proxy_info.proxyport); | |
| 1505 | fprintf(f, "\ttype { %d }\n", global_proxy_info.proxytype); | |
| 1506 | fprintf(f, "\tuser { %s }\n", global_proxy_info.proxyuser); | |
| 1507 | fprintf(f, "\tpass { %s }\n", | |
| 1508 | (str = escape_text2(global_proxy_info.proxypass))); | |
| 4137 | 1509 | free(str); |
| 1510 | } else { | |
| 1511 | fprintf(f, "\thost { %s }\n", ""); | |
| 1512 | fprintf(f, "\tport { %d }\n", 0); | |
| 1513 | fprintf(f, "\ttype { %d }\n", 0); | |
| 1514 | fprintf(f, "\tuser { %s }\n", ""); | |
| 1515 | fprintf(f, "\tpass { %s }\n", ""); | |
| 1516 | } | |
|
1881
bcd5d457cdbb
[gaim-migrate @ 1891]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1878
diff
changeset
|
1517 | fprintf(f, "}\n"); |
|
bcd5d457cdbb
[gaim-migrate @ 1891]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1878
diff
changeset
|
1518 | } |
|
bcd5d457cdbb
[gaim-migrate @ 1891]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1878
diff
changeset
|
1519 | |
|
2313
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1520 | static void set_defaults() |
| 1 | 1521 | { |
|
2313
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1522 | int i; |
|
2383
712503cc80ba
[gaim-migrate @ 2396]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2379
diff
changeset
|
1523 | struct away_message *a; |
| 917 | 1524 | |
| 4227 | 1525 | misc_options = |
| 1526 | OPT_MISC_USE_SERVER_ALIAS; | |
|
2313
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1527 | |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1528 | logging_options = 0; |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1529 | |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1530 | blist_options = |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1531 | OPT_BLIST_APP_BUDDY_SHOW | |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1532 | OPT_BLIST_SAVED_WINDOWS | |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1533 | OPT_BLIST_NEAR_APPLET | |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1534 | OPT_BLIST_SHOW_GRPNUM | |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1535 | OPT_BLIST_SHOW_PIXMAPS | |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1536 | OPT_BLIST_SHOW_IDLETIME | |
| 3367 | 1537 | OPT_BLIST_GREY_IDLERS | |
| 4962 | 1538 | OPT_BLIST_SHOW_BUTTON_XPM | |
| 1539 | OPT_BLIST_SHOW_ICONS; | |
| 870 | 1540 | |
|
2313
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1541 | convo_options = |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1542 | OPT_CONVO_ENTER_SENDS | |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1543 | OPT_CONVO_SEND_LINKS | |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1544 | OPT_CONVO_CTL_CHARS | |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1545 | OPT_CONVO_CTL_SMILEYS | |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1546 | OPT_CONVO_SHOW_TIME | |
| 3919 | 1547 | OPT_CONVO_SHOW_SMILEY | |
| 1548 | OPT_CONVO_CHECK_SPELLING; | |
|
2313
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1549 | |
|
4469
ef60c820b884
[gaim-migrate @ 4744]
Christian Hammond <chipx86@chipx86.com>
parents:
4430
diff
changeset
|
1550 | conv_placement_option = 0; |
|
ef60c820b884
[gaim-migrate @ 4744]
Christian Hammond <chipx86@chipx86.com>
parents:
4430
diff
changeset
|
1551 | |
|
2313
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1552 | im_options = |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1553 | OPT_IM_LOGON | |
| 3367 | 1554 | OPT_IM_BUTTON_XPM | |
| 1555 | OPT_IM_ONE_WINDOW ; | |
|
2313
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1556 | |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1557 | chat_options = |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1558 | OPT_CHAT_LOGON | |
|
2388
daf70f99d89f
[gaim-migrate @ 2401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2383
diff
changeset
|
1559 | OPT_CHAT_BUTTON_XPM | |
| 3367 | 1560 | OPT_CHAT_TAB_COMPLETE | |
| 1561 | OPT_CHAT_ONE_WINDOW; | |
| 870 | 1562 | |
|
2313
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1563 | font_options = 0; |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1564 | |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1565 | away_options = |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1566 | OPT_AWAY_BACK_ON_IM; |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
1567 | |
| 4561 | 1568 | for (i = 0; i < GAIM_NUM_SOUNDS; i++) |
| 1569 | gaim_sound_set_event_file(i, NULL); | |
| 1570 | ||
|
2313
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1571 | font_options = 0; |
|
2580
b6e87f6ad217
[gaim-migrate @ 2593]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2397
diff
changeset
|
1572 | /* Enable all of the sound players that might be available. The first |
|
b6e87f6ad217
[gaim-migrate @ 2593]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2397
diff
changeset
|
1573 | available one will be used. */ |
|
2313
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1574 | sound_options = |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1575 | OPT_SOUND_LOGIN | |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1576 | OPT_SOUND_LOGOUT | |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1577 | OPT_SOUND_RECV | |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1578 | OPT_SOUND_SEND | |
|
2580
b6e87f6ad217
[gaim-migrate @ 2593]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2397
diff
changeset
|
1579 | OPT_SOUND_SILENT_SIGNON | |
| 4581 | 1580 | OPT_SOUND_NORMAL | |
| 1581 | OPT_SOUND_NAS; | |
|
2383
712503cc80ba
[gaim-migrate @ 2396]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2379
diff
changeset
|
1582 | |
| 2990 | 1583 | #ifdef USE_SCREENSAVER |
|
2313
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1584 | report_idle = IDLE_SCREENSAVER; |
| 2990 | 1585 | #else |
| 1586 | report_idle = IDLE_GAIM; | |
| 1587 | #endif | |
|
2313
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1588 | web_browser = BROWSER_NETSCAPE; |
| 3434 | 1589 | g_snprintf(web_command, sizeof(web_command), "xterm -e lynx %%s"); |
|
2383
712503cc80ba
[gaim-migrate @ 2396]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2379
diff
changeset
|
1590 | |
|
2313
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1591 | auto_away = 10; |
|
2383
712503cc80ba
[gaim-migrate @ 2396]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2379
diff
changeset
|
1592 | a = g_new0(struct away_message, 1); |
|
4589
e6d7d19da849
[gaim-migrate @ 4873]
Björn Voigt <bjoern@cs.tu-berlin.de>
parents:
4581
diff
changeset
|
1593 | g_snprintf(a->name, sizeof(a->name), _("boring default")); |
|
2383
712503cc80ba
[gaim-migrate @ 2396]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2379
diff
changeset
|
1594 | g_snprintf(a->message, sizeof(a->message), "%s", BORING_DEFAULT_AWAY_MSG); |
|
712503cc80ba
[gaim-migrate @ 2396]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2379
diff
changeset
|
1595 | away_messages = g_slist_append(away_messages, a); |
|
712503cc80ba
[gaim-migrate @ 2396]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2379
diff
changeset
|
1596 | default_away = a; |
|
2313
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1597 | |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1598 | blist_pos.width = 0; |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1599 | blist_pos.height = 0; |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1600 | blist_pos.x = 0; |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1601 | blist_pos.y = 0; |
|
1813
9b174ae83add
[gaim-migrate @ 1823]
Decklin Foster <decklin@red-bean.com>
parents:
1710
diff
changeset
|
1602 | |
|
2313
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1603 | conv_size.width = 320; |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1604 | conv_size.height = 175; |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1605 | conv_size.entry_height = 50; |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1606 | |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1607 | buddy_chat_size.width = 320; |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1608 | buddy_chat_size.height = 160; |
|
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1609 | buddy_chat_size.entry_height = 50; |
| 1 | 1610 | } |
| 1611 | ||
| 1612 | void load_prefs() | |
| 1613 | { | |
| 1614 | FILE *f; | |
| 1615 | char buf[1024]; | |
| 1616 | int ver = 0; | |
|
5211
94d9756c381f
[gaim-migrate @ 5581]
Christian Hammond <chipx86@chipx86.com>
parents:
5205
diff
changeset
|
1617 | |
|
94d9756c381f
[gaim-migrate @ 5581]
Christian Hammond <chipx86@chipx86.com>
parents:
5205
diff
changeset
|
1618 | gaim_debug(GAIM_DEBUG_INFO, "gaimrc", "Loading preferences.\n"); |
|
5205
242b8aa81328
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5109
diff
changeset
|
1619 | |
| 4137 | 1620 | if (is_saving_prefs) { |
| 1621 | request_load_prefs = 1; | |
|
5211
94d9756c381f
[gaim-migrate @ 5581]
Christian Hammond <chipx86@chipx86.com>
parents:
5205
diff
changeset
|
1622 | gaim_debug(GAIM_DEBUG_INFO, "gaimrc", |
|
94d9756c381f
[gaim-migrate @ 5581]
Christian Hammond <chipx86@chipx86.com>
parents:
5205
diff
changeset
|
1623 | "Currently saving. Will request load.\n"); |
| 4137 | 1624 | return; |
| 1625 | } | |
|
570
3450eeb314a1
[gaim-migrate @ 580]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
453
diff
changeset
|
1626 | |
| 1560 | 1627 | if (opt_rcfile_arg) |
| 1628 | g_snprintf(buf, sizeof(buf), "%s", opt_rcfile_arg); | |
| 3630 | 1629 | else if (gaim_home_dir()) |
| 1630 | g_snprintf(buf, sizeof(buf), "%s" G_DIR_SEPARATOR_S ".gaimrc", gaim_home_dir()); | |
| 1560 | 1631 | else { |
|
2313
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1632 | set_defaults(); |
| 1560 | 1633 | return; |
| 1634 | } | |
| 1635 | ||
| 1636 | if ((f = fopen(buf, "r"))) { | |
| 4137 | 1637 | is_loading_prefs = 1; |
|
5211
94d9756c381f
[gaim-migrate @ 5581]
Christian Hammond <chipx86@chipx86.com>
parents:
5205
diff
changeset
|
1638 | gaim_debug(GAIM_DEBUG_MISC, "gaimrc", "start load_prefs\n"); |
| 1560 | 1639 | fgets(buf, sizeof(buf), f); |
| 1640 | sscanf(buf, "# .gaimrc v%d", &ver); | |
|
2389
fa35272e9c1a
[gaim-migrate @ 2402]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2388
diff
changeset
|
1641 | if ((ver <= 3) || (buf[0] != '#')) |
|
2313
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2286
diff
changeset
|
1642 | set_defaults(); |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
1643 | |
| 1560 | 1644 | while (!feof(f)) { |
| 4137 | 1645 | int tag = gaimrc_parse_tag(f); |
|
5211
94d9756c381f
[gaim-migrate @ 5581]
Christian Hammond <chipx86@chipx86.com>
parents:
5205
diff
changeset
|
1646 | gaim_debug(GAIM_DEBUG_MISC, "gaimrc", |
|
94d9756c381f
[gaim-migrate @ 5581]
Christian Hammond <chipx86@chipx86.com>
parents:
5205
diff
changeset
|
1647 | "starting read tag %d\n", tag); |
| 4137 | 1648 | switch (tag) { |
| 1560 | 1649 | case -1: |
|
5514
19d19a5ddaff
[gaim-migrate @ 5913]
Mark Doliner <markdoliner@pidgin.im>
parents:
5442
diff
changeset
|
1650 | /* Do nothing--either EOF or empty line */ |
| 1560 | 1651 | break; |
| 1652 | case 0: | |
| 1653 | gaimrc_read_users(f); | |
| 1654 | break; | |
| 1655 | case 1: | |
| 1656 | gaimrc_read_options(f); | |
| 1657 | break; | |
| 1658 | case 2: | |
| 1659 | gaimrc_read_away(f); | |
| 1660 | break; | |
| 1661 | case 3: | |
|
5205
242b8aa81328
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5109
diff
changeset
|
1662 | if (gaim_plugins_enabled()) |
|
242b8aa81328
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5109
diff
changeset
|
1663 | gaimrc_read_plugins(f); |
| 1560 | 1664 | break; |
| 1665 | case 4: | |
| 1666 | gaimrc_read_pounce(f); | |
| 1667 | break; | |
| 1668 | case 6: | |
| 1669 | gaimrc_read_sounds(f); | |
| 1670 | break; | |
|
1881
bcd5d457cdbb
[gaim-migrate @ 1891]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1878
diff
changeset
|
1671 | case 7: |
|
bcd5d457cdbb
[gaim-migrate @ 1891]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1878
diff
changeset
|
1672 | gaimrc_read_proxy(f); |
|
bcd5d457cdbb
[gaim-migrate @ 1891]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1878
diff
changeset
|
1673 | break; |
| 1560 | 1674 | default: |
| 1675 | /* NOOP */ | |
| 1676 | break; | |
| 1 | 1677 | } |
|
5211
94d9756c381f
[gaim-migrate @ 5581]
Christian Hammond <chipx86@chipx86.com>
parents:
5205
diff
changeset
|
1678 | gaim_debug(GAIM_DEBUG_MISC, "gaimrc", |
|
94d9756c381f
[gaim-migrate @ 5581]
Christian Hammond <chipx86@chipx86.com>
parents:
5205
diff
changeset
|
1679 | "ending read tag %d\n", tag); |
| 1 | 1680 | } |
| 1560 | 1681 | fclose(f); |
| 4137 | 1682 | is_loading_prefs = 0; |
|
5211
94d9756c381f
[gaim-migrate @ 5581]
Christian Hammond <chipx86@chipx86.com>
parents:
5205
diff
changeset
|
1683 | gaim_debug(GAIM_DEBUG_MISC, "gaimrc", "end load_prefs\n"); |
| 4137 | 1684 | if (request_save_prefs) { |
|
5211
94d9756c381f
[gaim-migrate @ 5581]
Christian Hammond <chipx86@chipx86.com>
parents:
5205
diff
changeset
|
1685 | gaim_debug(GAIM_DEBUG_INFO, "gaimrc", |
|
94d9756c381f
[gaim-migrate @ 5581]
Christian Hammond <chipx86@chipx86.com>
parents:
5205
diff
changeset
|
1686 | "Saving preferences on request\n"); |
| 4137 | 1687 | save_prefs(); |
| 1688 | request_save_prefs = 0; | |
| 1689 | } | |
| 1560 | 1690 | } else if (opt_rcfile_arg) { |
| 1691 | g_snprintf(buf, sizeof(buf), _("Could not open config file %s."), opt_rcfile_arg); | |
|
5436
a0e0bacaa196
[gaim-migrate @ 5818]
Christian Hammond <chipx86@chipx86.com>
parents:
5422
diff
changeset
|
1692 | gaim_notify_error(NULL, NULL, buf, NULL); |
|
2383
712503cc80ba
[gaim-migrate @ 2396]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2379
diff
changeset
|
1693 | set_defaults(); |
|
712503cc80ba
[gaim-migrate @ 2396]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2379
diff
changeset
|
1694 | } else { |
|
712503cc80ba
[gaim-migrate @ 2396]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2379
diff
changeset
|
1695 | set_defaults(); |
|
712503cc80ba
[gaim-migrate @ 2396]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2379
diff
changeset
|
1696 | save_prefs(); |
| 1 | 1697 | } |
|
5205
242b8aa81328
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5109
diff
changeset
|
1698 | |
|
242b8aa81328
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5109
diff
changeset
|
1699 | prefs_initial_load = 1; |
| 1 | 1700 | } |
| 1701 | ||
| 1702 | void save_prefs() | |
| 1703 | { | |
| 1704 | FILE *f; | |
|
4898
285e9ff6eeb8
[gaim-migrate @ 5230]
Mark Doliner <markdoliner@pidgin.im>
parents:
4693
diff
changeset
|
1705 | gchar *filename; |
|
285e9ff6eeb8
[gaim-migrate @ 5230]
Mark Doliner <markdoliner@pidgin.im>
parents:
4693
diff
changeset
|
1706 | gchar *filename_temp; |
|
4393
910390e881e3
[gaim-migrate @ 4659]
Herman Bloggs <herman@bluedigits.com>
parents:
4381
diff
changeset
|
1707 | |
|
5211
94d9756c381f
[gaim-migrate @ 5581]
Christian Hammond <chipx86@chipx86.com>
parents:
5205
diff
changeset
|
1708 | gaim_debug(GAIM_DEBUG_INFO, "gaimrc", "Entering save_prefs\n"); |
|
5205
242b8aa81328
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5109
diff
changeset
|
1709 | if (!prefs_initial_load) |
|
242b8aa81328
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5109
diff
changeset
|
1710 | return; |
|
242b8aa81328
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5109
diff
changeset
|
1711 | |
| 4137 | 1712 | if (is_loading_prefs) { |
| 1713 | request_save_prefs = 1; | |
|
5211
94d9756c381f
[gaim-migrate @ 5581]
Christian Hammond <chipx86@chipx86.com>
parents:
5205
diff
changeset
|
1714 | gaim_debug(GAIM_DEBUG_INFO, "gaimrc", |
|
94d9756c381f
[gaim-migrate @ 5581]
Christian Hammond <chipx86@chipx86.com>
parents:
5205
diff
changeset
|
1715 | "Currently loading. Will request save.\n"); |
| 4137 | 1716 | return; |
| 1717 | } | |
| 1 | 1718 | |
|
4898
285e9ff6eeb8
[gaim-migrate @ 5230]
Mark Doliner <markdoliner@pidgin.im>
parents:
4693
diff
changeset
|
1719 | if (opt_rcfile_arg) |
|
285e9ff6eeb8
[gaim-migrate @ 5230]
Mark Doliner <markdoliner@pidgin.im>
parents:
4693
diff
changeset
|
1720 | filename = g_build_filename(opt_rcfile_arg, NULL); |
|
285e9ff6eeb8
[gaim-migrate @ 5230]
Mark Doliner <markdoliner@pidgin.im>
parents:
4693
diff
changeset
|
1721 | else if (gaim_home_dir()) |
|
285e9ff6eeb8
[gaim-migrate @ 5230]
Mark Doliner <markdoliner@pidgin.im>
parents:
4693
diff
changeset
|
1722 | filename = g_build_filename(gaim_home_dir(), ".gaimrc", NULL); |
|
285e9ff6eeb8
[gaim-migrate @ 5230]
Mark Doliner <markdoliner@pidgin.im>
parents:
4693
diff
changeset
|
1723 | else |
| 1560 | 1724 | return; |
|
4898
285e9ff6eeb8
[gaim-migrate @ 5230]
Mark Doliner <markdoliner@pidgin.im>
parents:
4693
diff
changeset
|
1725 | filename_temp = g_strdup_printf("%s.save", filename); |
|
285e9ff6eeb8
[gaim-migrate @ 5230]
Mark Doliner <markdoliner@pidgin.im>
parents:
4693
diff
changeset
|
1726 | |
|
285e9ff6eeb8
[gaim-migrate @ 5230]
Mark Doliner <markdoliner@pidgin.im>
parents:
4693
diff
changeset
|
1727 | if ((f = fopen(filename_temp, "w"))) { |
| 5080 | 1728 | chmod(filename_temp, S_IRUSR | S_IWUSR); |
| 4137 | 1729 | is_saving_prefs = 1; |
| 1560 | 1730 | fprintf(f, "# .gaimrc v%d\n", 4); |
| 1731 | gaimrc_write_users(f); | |
| 1732 | gaimrc_write_options(f); | |
| 1733 | gaimrc_write_sounds(f); | |
| 1734 | gaimrc_write_away(f); | |
| 1735 | gaimrc_write_pounce(f); | |
|
5205
242b8aa81328
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5109
diff
changeset
|
1736 | |
|
242b8aa81328
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5109
diff
changeset
|
1737 | if (gaim_plugins_enabled()) |
|
242b8aa81328
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5109
diff
changeset
|
1738 | gaimrc_write_plugins(f); |
|
242b8aa81328
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5109
diff
changeset
|
1739 | |
|
1881
bcd5d457cdbb
[gaim-migrate @ 1891]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1878
diff
changeset
|
1740 | gaimrc_write_proxy(f); |
|
5250
30b6552ff70c
[gaim-migrate @ 5622]
Mark Doliner <markdoliner@pidgin.im>
parents:
5248
diff
changeset
|
1741 | if (fprintf(f, "\n") == 1) { |
| 5251 | 1742 | fclose(f); |
|
5250
30b6552ff70c
[gaim-migrate @ 5622]
Mark Doliner <markdoliner@pidgin.im>
parents:
5248
diff
changeset
|
1743 | if (rename(filename_temp, filename) < 0) |
|
30b6552ff70c
[gaim-migrate @ 5622]
Mark Doliner <markdoliner@pidgin.im>
parents:
5248
diff
changeset
|
1744 | gaim_debug(GAIM_DEBUG_ERROR, "gaimrc", |
|
30b6552ff70c
[gaim-migrate @ 5622]
Mark Doliner <markdoliner@pidgin.im>
parents:
5248
diff
changeset
|
1745 | "Error renaming %s to %s\n", filename_temp, filename); |
| 5251 | 1746 | } else { |
| 1747 | fclose(f); | |
|
5436
a0e0bacaa196
[gaim-migrate @ 5818]
Christian Hammond <chipx86@chipx86.com>
parents:
5422
diff
changeset
|
1748 | gaim_notify_error(NULL, NULL, |
|
a0e0bacaa196
[gaim-migrate @ 5818]
Christian Hammond <chipx86@chipx86.com>
parents:
5422
diff
changeset
|
1749 | _("Unable to Save Preferences"), |
|
a0e0bacaa196
[gaim-migrate @ 5818]
Christian Hammond <chipx86@chipx86.com>
parents:
5422
diff
changeset
|
1750 | _("Gaim was unable to save your preferences. " |
|
a0e0bacaa196
[gaim-migrate @ 5818]
Christian Hammond <chipx86@chipx86.com>
parents:
5422
diff
changeset
|
1751 | "Please verify that you have enough " |
|
a0e0bacaa196
[gaim-migrate @ 5818]
Christian Hammond <chipx86@chipx86.com>
parents:
5422
diff
changeset
|
1752 | "free space.")); |
| 5251 | 1753 | } |
| 4137 | 1754 | is_saving_prefs = 0; |
|
4898
285e9ff6eeb8
[gaim-migrate @ 5230]
Mark Doliner <markdoliner@pidgin.im>
parents:
4693
diff
changeset
|
1755 | } else |
|
5211
94d9756c381f
[gaim-migrate @ 5581]
Christian Hammond <chipx86@chipx86.com>
parents:
5205
diff
changeset
|
1756 | gaim_debug(GAIM_DEBUG_ERROR, "gaimrc", |
|
94d9756c381f
[gaim-migrate @ 5581]
Christian Hammond <chipx86@chipx86.com>
parents:
5205
diff
changeset
|
1757 | "Error opening %s\n", filename_temp); |
|
4898
285e9ff6eeb8
[gaim-migrate @ 5230]
Mark Doliner <markdoliner@pidgin.im>
parents:
4693
diff
changeset
|
1758 | |
| 4137 | 1759 | if (request_load_prefs) { |
|
5211
94d9756c381f
[gaim-migrate @ 5581]
Christian Hammond <chipx86@chipx86.com>
parents:
5205
diff
changeset
|
1760 | gaim_debug(GAIM_DEBUG_INFO, "gaimrc", |
|
94d9756c381f
[gaim-migrate @ 5581]
Christian Hammond <chipx86@chipx86.com>
parents:
5205
diff
changeset
|
1761 | "Loading preferences on request.\n"); |
| 4137 | 1762 | load_prefs(); |
| 1763 | request_load_prefs = 0; | |
| 1764 | } | |
|
4898
285e9ff6eeb8
[gaim-migrate @ 5230]
Mark Doliner <markdoliner@pidgin.im>
parents:
4693
diff
changeset
|
1765 | |
|
285e9ff6eeb8
[gaim-migrate @ 5230]
Mark Doliner <markdoliner@pidgin.im>
parents:
4693
diff
changeset
|
1766 | g_free(filename); |
|
285e9ff6eeb8
[gaim-migrate @ 5230]
Mark Doliner <markdoliner@pidgin.im>
parents:
4693
diff
changeset
|
1767 | g_free(filename_temp); |
|
5211
94d9756c381f
[gaim-migrate @ 5581]
Christian Hammond <chipx86@chipx86.com>
parents:
5205
diff
changeset
|
1768 | |
|
94d9756c381f
[gaim-migrate @ 5581]
Christian Hammond <chipx86@chipx86.com>
parents:
5205
diff
changeset
|
1769 | gaim_debug(GAIM_DEBUG_INFO, "gaimrc", "Exiting save_prefs\n"); |
| 1 | 1770 | } |
| 1771 | ||
| 1209 | 1772 | |
| 1773 | /* This function is called by g_slist_insert_sorted to compare the item | |
| 1774 | * being compared to the rest of the items on the list. | |
| 1775 | */ | |
| 1776 | ||
| 1777 | gint sort_awaymsg_list(gconstpointer a, gconstpointer b) | |
| 1778 | { | |
|
1250
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
1779 | struct away_message *msg_a; |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
1780 | struct away_message *msg_b; |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
1781 | |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
1782 | msg_a = (struct away_message *)a; |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
1783 | msg_b = (struct away_message *)b; |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
1784 | |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
1785 | return (strcmp(msg_a->name, msg_b->name)); |
|
46ac03911ab0
[gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents:
1236
diff
changeset
|
1786 | |
| 1209 | 1787 | } |
|
5032
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
1788 | |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
1789 | void |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
1790 | load_pounces() |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
1791 | { |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
1792 | GList *l; |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
1793 | struct pounce_placeholder *ph; |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
1794 | struct gaim_pounce *pounce; |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
1795 | struct gaim_account *account; |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
1796 | |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
1797 | for (l = buddy_pounces; l != NULL; l = l->next) { |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
1798 | GaimPounceEvent events = GAIM_POUNCE_NONE; |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
1799 | GaimGtkPounceAction actions = GAIM_GTKPOUNCE_NONE; |
| 5035 | 1800 | ph = (struct pounce_placeholder *)l->data; |
|
5032
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
1801 | |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
1802 | account = gaim_account_find(ph->pouncer, ph->protocol); |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
1803 | |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
1804 | old_pounce_opts_to_new(ph->options, &events, &actions); |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
1805 | |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
1806 | pounce = gaim_gtkpounce_new(account, ph->name, events, actions, |
|
5072
1cf6d70c69eb
[gaim-migrate @ 5425]
Christian Hammond <chipx86@chipx86.com>
parents:
5054
diff
changeset
|
1807 | (*ph->message == '\0' ? NULL : ph->message), |
|
1cf6d70c69eb
[gaim-migrate @ 5425]
Christian Hammond <chipx86@chipx86.com>
parents:
5054
diff
changeset
|
1808 | (*ph->command == '\0' ? NULL : ph->command), |
|
1cf6d70c69eb
[gaim-migrate @ 5425]
Christian Hammond <chipx86@chipx86.com>
parents:
5054
diff
changeset
|
1809 | (*ph->sound == '\0' ? NULL : ph->sound), |
|
1cf6d70c69eb
[gaim-migrate @ 5425]
Christian Hammond <chipx86@chipx86.com>
parents:
5054
diff
changeset
|
1810 | (ph->options & 0x100)); |
|
5032
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
1811 | |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
1812 | g_free(ph); |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
1813 | } |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
1814 | |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
1815 | g_list_free(buddy_pounces); |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
1816 | buddy_pounces = NULL; |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
1817 | |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
1818 | /* |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
1819 | * < ChipX86|Coding> why do we save prefs just after reading them? |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
1820 | * < faceprint> ChipX86|Coding: because we're cool like that |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
1821 | * <SeanEgan|Coding> damn straight |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
1822 | */ |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
1823 | save_prefs(); |
|
2276c67b0243
[gaim-migrate @ 5375]
Christian Hammond <chipx86@chipx86.com>
parents:
4985
diff
changeset
|
1824 | } |