src/multi.c

Mon, 20 Nov 2000 07:24:18 +0000

author
Eric Warmenhoven <warmenhoven@yahoo.com>
date
Mon, 20 Nov 2000 07:24:18 +0000
changeset 1106
7f3041b0632a
parent 1089
74f5c108f7a3
child 1109
c15973749312
permissions
-rw-r--r--

[gaim-migrate @ 1116]
lots of changes.

buddy.c: just in general tried to get things to work better. moving things in the edit list window and signing off should be handled better in the main buddy list window (watch out for flashes).

gaim.h: removed toc-specific things and moved them to toc.c and rvous.c as needed.

gtkhtml.c: possible fix for AOL 6.0 problems (I wasn't able to reproduce the problem before or after the fix, but i fixed what i think might have been causing the problem).

multi.c: moved LOGIN_STEPS from gaim.h here and actually use it now

oscar.c: moved an oscar-specific struct definition from gaim.h here and also handle problems better

perl.c: fix for stupid problem

rvous.c: first pass at attempt to be able to remove toc.c and rvous.c (though this will never happen; gaim will support toc as long as aol does) without cruft. gaim is now only dependent on toc.c and rvous.c for toc_build_config and parse_toc_buddy_list, which gaim needs to save and read its buddy list.

toc.c: rewrote the signin process so that the read()'s won't block. it's not actually a non-blocking read; it's just that it won't ever get to the read until there's data to be read (thanks to the gdk_input watcher). this means the cancel button should work after it's connected, but it's still not a non-blocking connect.

960
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1 /*
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
2 * gaim
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
3 *
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
4 * Copyright (C) 1998-1999, Mark Spencer <markster@marko.net>
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
5 *
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
6 * This program is free software; you can redistribute it and/or modify
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
7 * it under the terms of the GNU General Public License as published by
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
8 * the Free Software Foundation; either version 2 of the License, or
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
9 * (at your option) any later version.
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
10 *
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
11 * This program is distributed in the hope that it will be useful,
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
14 * GNU General Public License for more details.
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
15 *
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
16 * You should have received a copy of the GNU General Public License
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
17 * along with this program; if not, write to the Free Software
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
19 *
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
20 */
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
21
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
22 #include <gtk/gtk.h>
981
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 980
diff changeset
23 #include "prpl.h"
960
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
24 #include "multi.h"
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
25 #include "gaim.h"
966
57ba1b059564 [gaim-migrate @ 976]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 960
diff changeset
26 #include "gnome_applet_mgr.h"
960
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
27
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
28 #include "pixmaps/gnome_add.xpm"
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
29 #include "pixmaps/gnome_preferences.xpm"
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
30 #include "pixmaps/join.xpm"
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
31 #include "pixmaps/gnome_remove.xpm"
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
32 #include "pixmaps/gnome_close.xpm"
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
33 #include "pixmaps/cancel.xpm"
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
34 #include "pixmaps/ok.xpm"
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
35
1106
7f3041b0632a [gaim-migrate @ 1116]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1089
diff changeset
36 #define LOGIN_STEPS 5
7f3041b0632a [gaim-migrate @ 1116]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1089
diff changeset
37
960
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
38 GSList *connections;
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
39
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
40 static GtkWidget *acctedit = NULL;
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
41 static GtkWidget *list = NULL; /* the clist of names in the accteditor */
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
42 static GtkWidget *newmod = NULL; /* the dialog for creating a new account */
1075
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
43 static GtkWidget *newmain = NULL; /* the frame that holds the possible notebook for options */
960
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
44 static struct aim_user tmpusr;
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
45
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
46 struct mod_usr_opt {
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
47 struct aim_user *user;
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
48 int opt;
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
49 };
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
50
1089
74f5c108f7a3 [gaim-migrate @ 1099]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1086
diff changeset
51 struct gaim_connection *new_gaim_conn(struct aim_user *user)
960
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
52 {
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
53 struct gaim_connection *gc = g_new0(struct gaim_connection, 1);
1089
74f5c108f7a3 [gaim-migrate @ 1099]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1086
diff changeset
54 gc->protocol = user->protocol;
74f5c108f7a3 [gaim-migrate @ 1099]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1086
diff changeset
55 gc->prpl = find_prpl(user->protocol);
74f5c108f7a3 [gaim-migrate @ 1099]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1086
diff changeset
56 g_snprintf(gc->username, sizeof(gc->username), "%s", user->username);
74f5c108f7a3 [gaim-migrate @ 1099]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1086
diff changeset
57 g_snprintf(gc->password, sizeof(gc->password), "%s", user->password);
960
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
58 gc->keepalive = -1;
998
53c98c4801b3 [gaim-migrate @ 1008]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 993
diff changeset
59 gc->inpa = -1;
53c98c4801b3 [gaim-migrate @ 1008]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 993
diff changeset
60 gc->buddy_chats = NULL;
1030
b9fa9eadc0a4 [gaim-migrate @ 1040]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1009
diff changeset
61 gc->groups = NULL;
b9fa9eadc0a4 [gaim-migrate @ 1040]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1009
diff changeset
62 gc->permit = NULL;
b9fa9eadc0a4 [gaim-migrate @ 1040]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1009
diff changeset
63 gc->deny = NULL;
960
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
64
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
65 connections = g_slist_append(connections, gc);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
66
1089
74f5c108f7a3 [gaim-migrate @ 1099]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1086
diff changeset
67 user->gc = gc;
74f5c108f7a3 [gaim-migrate @ 1099]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1086
diff changeset
68 gc->user = user;
74f5c108f7a3 [gaim-migrate @ 1099]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1086
diff changeset
69
960
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
70 return gc;
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
71 }
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
72
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
73 void destroy_gaim_conn(struct gaim_connection *gc)
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
74 {
1063
f766a178ee59 [gaim-migrate @ 1073]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1058
diff changeset
75 GSList *g = gc->groups;
f766a178ee59 [gaim-migrate @ 1073]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1058
diff changeset
76 GSList *h;
f766a178ee59 [gaim-migrate @ 1073]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1058
diff changeset
77 struct group *m;
f766a178ee59 [gaim-migrate @ 1073]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1058
diff changeset
78 struct buddy *n;
960
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
79 connections = g_slist_remove(connections, gc);
1063
f766a178ee59 [gaim-migrate @ 1073]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1058
diff changeset
80 while (g) {
f766a178ee59 [gaim-migrate @ 1073]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1058
diff changeset
81 m = (struct group *)g->data;
f766a178ee59 [gaim-migrate @ 1073]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1058
diff changeset
82 g = g_slist_remove(g, m);
f766a178ee59 [gaim-migrate @ 1073]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1058
diff changeset
83 h = m->members;
f766a178ee59 [gaim-migrate @ 1073]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1058
diff changeset
84 while (h) {
f766a178ee59 [gaim-migrate @ 1073]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1058
diff changeset
85 n = (struct buddy *)h->data;
f766a178ee59 [gaim-migrate @ 1073]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1058
diff changeset
86 h = g_slist_remove(h, n);
f766a178ee59 [gaim-migrate @ 1073]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1058
diff changeset
87 g_free(n);
f766a178ee59 [gaim-migrate @ 1073]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1058
diff changeset
88 }
f766a178ee59 [gaim-migrate @ 1073]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1058
diff changeset
89 g_free(m);
f766a178ee59 [gaim-migrate @ 1073]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1058
diff changeset
90 }
960
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
91 g_free(gc);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
92 redo_convo_menus();
988
8e2d5ba69459 [gaim-migrate @ 998]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 984
diff changeset
93 if (!connections && mainwindow)
8e2d5ba69459 [gaim-migrate @ 998]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 984
diff changeset
94 gtk_widget_show(mainwindow);
960
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
95 }
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
96
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
97 struct gaim_connection *find_gaim_conn_by_name(char *name) {
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
98 char *who = g_strdup(normalize(name));
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
99 GSList *c = connections;
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
100 struct gaim_connection *g = NULL;
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
101
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
102 while (c) {
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
103 g = (struct gaim_connection *)c->data;
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
104 if (!strcmp(normalize(g->username), who)) {
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
105 g_free(who);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
106 return g;
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
107 }
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
108 c = c->next;
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
109 }
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
110
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
111 g_free(who);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
112 return NULL;
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
113 }
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
114
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
115 static void delete_acctedit(GtkWidget *w, gpointer d)
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
116 {
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
117 if (acctedit) {
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
118 save_prefs();
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
119 gtk_widget_destroy(acctedit);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
120 }
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
121 acctedit = NULL;
1009
584f27d87a9e [gaim-migrate @ 1019]
Ben Miller <millebe@cs.earlham.edu>
parents: 1005
diff changeset
122 if (d == NULL && blist == NULL)
584f27d87a9e [gaim-migrate @ 1019]
Ben Miller <millebe@cs.earlham.edu>
parents: 1005
diff changeset
123 exit(0);
960
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
124 }
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
125
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
126 static gint acctedit_close(GtkWidget *w, gpointer d)
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
127 {
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
128 gtk_widget_destroy(acctedit);
1009
584f27d87a9e [gaim-migrate @ 1019]
Ben Miller <millebe@cs.earlham.edu>
parents: 1005
diff changeset
129 if (d == NULL && blist == NULL)
584f27d87a9e [gaim-migrate @ 1019]
Ben Miller <millebe@cs.earlham.edu>
parents: 1005
diff changeset
130 exit(0);
960
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
131 return FALSE;
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
132 }
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
133
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
134 static char *proto_name(int proto)
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
135 {
981
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 980
diff changeset
136 struct prpl *p = find_prpl(proto);
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 980
diff changeset
137 if (p && p->name)
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 980
diff changeset
138 return (*p->name)();
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 980
diff changeset
139 else
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 980
diff changeset
140 return "Unknown";
960
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
141 }
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
142
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
143 static GtkWidget *generate_list()
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
144 {
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
145 GtkWidget *win;
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
146 char *titles[4] = {"Screenname", "Currently Online", "Auto-login", "Protocol"};
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
147 GList *u = aim_users;
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
148 struct aim_user *a;
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
149 int i;
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
150
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
151 win = gtk_scrolled_window_new(0, 0);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
152 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(win), GTK_POLICY_AUTOMATIC,
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
153 GTK_POLICY_ALWAYS);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
154
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
155 list = gtk_clist_new_with_titles(4, titles);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
156 gtk_clist_set_column_width(GTK_CLIST(list), 0, 90);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
157 gtk_clist_set_selection_mode(GTK_CLIST(list), GTK_SELECTION_BROWSE);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
158 gtk_clist_column_titles_passive(GTK_CLIST(list));
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
159 gtk_container_add(GTK_CONTAINER(win), list);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
160 gtk_widget_show(list);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
161
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
162 while (u) {
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
163 a = (struct aim_user *)u->data;
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
164 titles[0] = a->username;
1074
1a6b053a22c5 [gaim-migrate @ 1084]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1063
diff changeset
165 titles[1] = a->gc ? "Yes" : "No";
960
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
166 titles[2] = (a->options & OPT_USR_AUTO) ? "True" : "False";
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
167 titles[3] = proto_name(a->protocol);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
168 i = gtk_clist_append(GTK_CLIST(list), titles);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
169 gtk_clist_set_row_data(GTK_CLIST(list), i, a);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
170 u = u->next;
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
171 }
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
172
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
173 gtk_widget_show(win);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
174 return win;
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
175 }
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
176
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
177 static void delmod(GtkWidget *w, struct aim_user *u)
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
178 {
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
179 gtk_widget_destroy(w);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
180 if (u) {
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
181 u->mod = NULL;
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
182 } else {
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
183 newmod = NULL;
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
184 }
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
185 }
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
186
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
187 static void mod_opt(GtkWidget *b, struct mod_usr_opt *m)
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
188 {
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
189 if (m->user) {
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
190 m->user->tmp_options = m->user->tmp_options ^ m->opt;
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
191 } else {
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
192 tmpusr.options = tmpusr.options ^ m->opt;
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
193 }
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
194 }
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
195
1051
d65ac9e2224f [gaim-migrate @ 1061]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1030
diff changeset
196 static void free_muo(GtkWidget *b, struct mod_usr_opt *m) {
d65ac9e2224f [gaim-migrate @ 1061]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1030
diff changeset
197 g_free(m);
d65ac9e2224f [gaim-migrate @ 1061]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1030
diff changeset
198 }
d65ac9e2224f [gaim-migrate @ 1061]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1030
diff changeset
199
960
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
200 static GtkWidget *acct_button(const char *text, struct aim_user *u, int option, GtkWidget *box)
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
201 {
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
202 GtkWidget *button;
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
203 struct mod_usr_opt *muo = g_new0(struct mod_usr_opt, 1);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
204 button = gtk_check_button_new_with_label(text);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
205 if (u) {
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
206 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(button), (u->options & option));
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
207 } else {
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
208 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(button), (tmpusr.options & option));
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
209 }
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
210 gtk_box_pack_start(GTK_BOX(box), button, FALSE, FALSE, 0);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
211 muo->user = u; muo->opt = option;
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
212 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(mod_opt), muo);
1051
d65ac9e2224f [gaim-migrate @ 1061]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1030
diff changeset
213 gtk_signal_connect(GTK_OBJECT(button), "destroy", GTK_SIGNAL_FUNC(free_muo), muo);
960
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
214 gtk_widget_show(button);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
215 return button;
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
216 }
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
217
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
218 static void ok_mod(GtkWidget *w, struct aim_user *u)
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
219 {
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
220 char *txt;
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
221 int i;
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
222 if (u) {
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
223 u->options = u->tmp_options;
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
224 u->protocol = u->tmp_protocol;
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
225 txt = gtk_entry_get_text(GTK_ENTRY(u->pass));
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
226 if (u->options & OPT_USR_REM_PASS)
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
227 g_snprintf(u->password, sizeof(u->password), "%s", txt);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
228 else
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
229 u->password[0] = '\0';
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
230 gtk_widget_destroy(u->mod);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
231 i = gtk_clist_find_row_from_data(GTK_CLIST(list), u);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
232 gtk_clist_set_text(GTK_CLIST(list), i, 2, (u->options & OPT_USR_AUTO) ? "True" : "False");
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
233 gtk_clist_set_text(GTK_CLIST(list), i, 3, proto_name(u->protocol));
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
234 } else {
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
235 char *titles[4];
1075
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
236 int i;
960
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
237 txt = gtk_entry_get_text(GTK_ENTRY(tmpusr.name));
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
238 u = g_new0(struct aim_user, 1);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
239 g_snprintf(u->username, sizeof(u->username), "%s", txt);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
240 txt = gtk_entry_get_text(GTK_ENTRY(tmpusr.pass));
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
241 g_snprintf(u->password, sizeof(u->password), "%s", txt);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
242 u->options = tmpusr.options;
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
243 u->protocol = tmpusr.protocol;
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
244 gtk_widget_destroy(newmod);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
245 titles[0] = u->username;
1074
1a6b053a22c5 [gaim-migrate @ 1084]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1063
diff changeset
246 titles[1] = u->gc ? "Yes" : "No";
960
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
247 titles[2] = (u->options & OPT_USR_AUTO) ? "True" : "False";
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
248 titles[3] = proto_name(u->protocol);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
249 i = gtk_clist_append(GTK_CLIST(list), titles);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
250 gtk_clist_set_row_data(GTK_CLIST(list), i, u);
984
b4b8d9fb7cc8 [gaim-migrate @ 994]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 982
diff changeset
251 aim_users = g_list_append(aim_users, u);
1075
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
252 for (i = 0; i < 6; i++)
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
253 g_snprintf(u->proto_opt[i], sizeof(u->proto_opt[i]), "%s", tmpusr.proto_opt[i]);
960
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
254 }
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
255 save_prefs();
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
256 }
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
257
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
258 static void cancel_mod(GtkWidget *w, struct aim_user *u)
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
259 {
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
260 if (u) {
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
261 gtk_widget_destroy(u->mod);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
262 } else {
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
263 gtk_widget_destroy(newmod);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
264 }
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
265 }
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
266
1075
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
267 static void generate_options(struct aim_user *, GtkWidget *);
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
268
960
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
269 static void set_prot(GtkWidget *opt, int proto)
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
270 {
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
271 struct aim_user *u = gtk_object_get_user_data(GTK_OBJECT(opt));
1086
30dae9f299ce [gaim-migrate @ 1096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1075
diff changeset
272 if (u && (u->tmp_protocol != proto)) {
30dae9f299ce [gaim-migrate @ 1096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1075
diff changeset
273 int i;
30dae9f299ce [gaim-migrate @ 1096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1075
diff changeset
274 for (i = 0; i < 6; i++)
30dae9f299ce [gaim-migrate @ 1096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1075
diff changeset
275 u->proto_opt[i][0] = '\0';
960
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
276 u->tmp_protocol = proto;
1075
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
277 generate_options(u, u->main);
1086
30dae9f299ce [gaim-migrate @ 1096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1075
diff changeset
278 } else if (tmpusr.tmp_protocol != proto) {
30dae9f299ce [gaim-migrate @ 1096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1075
diff changeset
279 int i;
30dae9f299ce [gaim-migrate @ 1096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1075
diff changeset
280 for (i = 0; i < 6; i++)
30dae9f299ce [gaim-migrate @ 1096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1075
diff changeset
281 tmpusr.proto_opt[i][0] = '\0';
1075
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
282 tmpusr.tmp_protocol = tmpusr.protocol = proto;
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
283 generate_options(NULL, newmain);
960
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
284 }
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
285 }
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
286
1075
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
287 static GtkWidget *make_protocol_menu(GtkWidget *box, struct aim_user *u, GtkWidget *frame)
960
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
288 {
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
289 GtkWidget *optmenu;
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
290 GtkWidget *menu;
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
291 GtkWidget *opt;
981
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 980
diff changeset
292 GSList *p = protocols;
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 980
diff changeset
293 struct prpl *e;
1075
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
294 int count = 0;
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
295 gboolean found = FALSE;
960
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
296
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
297 optmenu = gtk_option_menu_new();
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
298 gtk_box_pack_start(GTK_BOX(box), optmenu, FALSE, FALSE, 5);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
299 gtk_widget_show(optmenu);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
300
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
301 menu = gtk_menu_new();
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
302
981
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 980
diff changeset
303 while (p) {
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 980
diff changeset
304 e = (struct prpl *)p->data;
1075
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
305 if (u) {
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
306 if (e->protocol == u->tmp_protocol)
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
307 found = TRUE;
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
308 if (!found)
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
309 count++;
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
310 } else {
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
311 if (e->protocol == tmpusr.tmp_protocol)
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
312 found = TRUE;
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
313 if (!found)
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
314 count++;
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
315 }
981
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 980
diff changeset
316 if (e->name)
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 980
diff changeset
317 opt = gtk_menu_item_new_with_label((*e->name)());
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 980
diff changeset
318 else
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 980
diff changeset
319 opt = gtk_menu_item_new_with_label("Unknown");
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 980
diff changeset
320 gtk_object_set_user_data(GTK_OBJECT(opt), u);
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 980
diff changeset
321 gtk_signal_connect(GTK_OBJECT(opt), "activate",
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 980
diff changeset
322 GTK_SIGNAL_FUNC(set_prot), (void *)e->protocol);
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 980
diff changeset
323 gtk_menu_append(GTK_MENU(menu), opt);
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 980
diff changeset
324 gtk_widget_show(opt);
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 980
diff changeset
325 p = p->next;
00723c9a507c [gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 980
diff changeset
326 }
960
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
327
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
328 gtk_option_menu_set_menu(GTK_OPTION_MENU(optmenu), menu);
1075
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
329 gtk_option_menu_set_history(GTK_OPTION_MENU(optmenu), count);
960
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
330
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
331 return optmenu;
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
332 }
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
333
1075
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
334 static void generate_options(struct aim_user *u, GtkWidget *frame) {
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
335 GList *tmp;
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
336 GtkWidget *book;
960
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
337 GtkWidget *vbox;
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
338 GtkWidget *hbox;
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
339 GtkWidget *label;
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
340 GtkWidget *name;
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
341 GtkWidget *pass;
1075
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
342 struct prpl *p;
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
343
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
344 tmp = gtk_container_children(GTK_CONTAINER(frame));
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
345
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
346 if (u)
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
347 p = find_prpl(u->tmp_protocol);
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
348 else
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
349 p = find_prpl(tmpusr.protocol);
960
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
350
1075
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
351 if (p && p->user_opts) {
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
352 if (tmp && !GTK_IS_NOTEBOOK(tmp->data)) {
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
353 gtk_widget_destroy(tmp->data);
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
354 tmp = NULL;
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
355 }
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
356
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
357 if (!tmp) {
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
358 book = gtk_notebook_new();
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
359 gtk_container_add(GTK_CONTAINER(frame), book);
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
360 gtk_widget_show(book);
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
361
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
362 vbox = gtk_vbox_new(FALSE, 0);
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
363 gtk_notebook_append_page(GTK_NOTEBOOK(book), vbox,
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
364 gtk_label_new(_("General Options")));
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
365 gtk_widget_show(vbox);
960
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
366
1075
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
367 if (u)
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
368 (*p->user_opts)(book, u);
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
369 else
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
370 (*p->user_opts)(book, &tmpusr);
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
371 } else {
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
372 book = (GtkWidget *)tmp->data;
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
373 gtk_notebook_remove_page(GTK_NOTEBOOK(book), 1);
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
374 if (u)
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
375 (*p->user_opts)(book, u);
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
376 else
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
377 (*p->user_opts)(book, &tmpusr);
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
378 return;
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
379 }
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
380 } else {
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
381 if (tmp && GTK_IS_NOTEBOOK(tmp->data)) {
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
382 gtk_widget_destroy(tmp->data);
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
383 tmp = NULL;
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
384 }
960
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
385
1075
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
386 if (!tmp) {
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
387 vbox = gtk_vbox_new(FALSE, 0);
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
388 gtk_container_add(GTK_CONTAINER(frame), vbox);
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
389 gtk_widget_show(vbox);
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
390 } else {
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
391 return;
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
392 }
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
393 }
960
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
394
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
395 hbox = gtk_hbox_new(FALSE, 0);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
396 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 5);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
397 gtk_widget_show(hbox);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
398
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
399 label = gtk_label_new(_("Screenname:"));
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
400 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 5);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
401 gtk_widget_show(label);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
402
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
403 name = gtk_entry_new();
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
404 gtk_box_pack_start(GTK_BOX(hbox), name, FALSE, FALSE, 5);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
405 gtk_widget_show(name);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
406
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
407 hbox = gtk_hbox_new(FALSE, 5);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
408 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 5);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
409 gtk_widget_show(hbox);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
410
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
411 label = gtk_label_new(_("Password:"));
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
412 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 5);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
413 gtk_widget_show(label);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
414
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
415 pass = gtk_entry_new();
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
416 gtk_box_pack_start(GTK_BOX(hbox), pass, FALSE, FALSE, 5);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
417 gtk_entry_set_visibility(GTK_ENTRY(pass), FALSE);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
418 gtk_widget_show(pass);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
419
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
420 hbox = gtk_hbox_new(FALSE, 5);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
421 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 5);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
422 gtk_widget_show(hbox);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
423
1075
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
424 make_protocol_menu(hbox, u, frame);
960
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
425
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
426 acct_button(_("Remember Password"), u, OPT_USR_REM_PASS, vbox);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
427 acct_button(_("Auto-Login"), u, OPT_USR_AUTO, vbox);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
428 acct_button(_("Send KeepAlive packet (6 bytes/second)"), u, OPT_USR_KEEPALV, vbox);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
429
1075
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
430 if (u) {
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
431 u->name = name;
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
432 u->pass = pass;
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
433 gtk_entry_set_text(GTK_ENTRY(name), u->username);
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
434 gtk_entry_set_text(GTK_ENTRY(pass), u->password);
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
435 gtk_entry_set_editable(GTK_ENTRY(name), FALSE);
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
436 } else {
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
437 tmpusr.name = name;
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
438 tmpusr.pass = pass;
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
439 }
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
440 }
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
441
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
442 static void show_acct_mod(struct aim_user *u)
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
443 {
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
444 /* here we can have all the aim_user options, including ones not shown in the main acctedit
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
445 * window. this can keep the size of the acctedit window small and readable, and make this
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
446 * one the powerful editor. this is where things like name/password are edited, but can
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
447 * also have toggles (and even more complex options) like whether to autologin or whether
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
448 * to send keepalives or whatever. this would be the perfect place to specify which protocol
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
449 * to use. make sure to account for the possibility of protocol plugins. */
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
450 GtkWidget *mod;
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
451 GtkWidget *box;
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
452 GtkWidget *frame;
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
453 GtkWidget *hbox;
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
454 GtkWidget *button;
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
455
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
456 if (!u && newmod) {
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
457 gtk_widget_show(newmod);
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
458 return;
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
459 }
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
460 if (u && u->mod) {
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
461 gtk_widget_show(u->mod);
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
462 return;
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
463 }
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
464
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
465 mod = gtk_window_new(GTK_WINDOW_TOPLEVEL);
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
466 gtk_window_set_wmclass(GTK_WINDOW(mod), "account", "Gaim");
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
467 gtk_widget_realize(mod);
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
468 aol_icon(mod->window);
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
469 gtk_container_border_width(GTK_CONTAINER(mod), 10);
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
470 gtk_window_set_title(GTK_WINDOW(mod), _("Gaim - Modify Account"));
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
471 gtk_window_set_policy(GTK_WINDOW(mod), 0, 1, 1); /* i know, i'm odd */
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
472 gtk_signal_connect(GTK_OBJECT(mod), "destroy",
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
473 GTK_SIGNAL_FUNC(delmod), u);
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
474
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
475 box = gtk_vbox_new(FALSE, 0);
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
476 gtk_container_add(GTK_CONTAINER(mod), box);
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
477 gtk_widget_show(box);
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
478
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
479 frame = gtk_frame_new(_("Modify Account"));
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
480 gtk_box_pack_start(GTK_BOX(box), frame, FALSE, FALSE, 5);
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
481 gtk_widget_show(frame);
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
482
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
483 if (u) u->tmp_protocol = u->protocol;
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
484 else tmpusr.tmp_protocol = tmpusr.protocol;
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
485 generate_options(u, frame);
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
486
960
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
487 hbox = gtk_hbox_new(FALSE, 5);
1075
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
488 gtk_box_pack_start(GTK_BOX(box), hbox, FALSE, FALSE, 5);
960
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
489 gtk_widget_show(hbox);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
490
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
491 button = picture_button(mod, _("Cancel"), cancel_xpm);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
492 gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 5);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
493 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(cancel_mod), u);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
494 gtk_widget_show(button);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
495
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
496 button = picture_button(mod, _("OK"), ok_xpm);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
497 gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 5);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
498 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(ok_mod), u);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
499 gtk_widget_show(button);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
500
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
501 if (u) {
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
502 u->mod = mod;
1075
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
503 u->main = frame; /* ha, get it? :) */
960
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
504 u->tmp_options = u->options;
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
505 } else {
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
506 newmod = mod;
1075
626b13be66c3 [gaim-migrate @ 1085]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1074
diff changeset
507 newmain = frame;
960
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
508 }
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
509
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
510 gtk_widget_show(mod);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
511 }
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
512
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
513 static void add_acct(GtkWidget *w, gpointer d)
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
514 {
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
515 show_acct_mod(NULL);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
516 }
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
517
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
518 static void mod_acct(GtkWidget *w, gpointer d)
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
519 {
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
520 int row = -1;
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
521 struct aim_user *u;
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
522 if (GTK_CLIST(list)->selection)
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
523 row = (int)GTK_CLIST(list)->selection->data;
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
524 if (row != -1) {
1030
b9fa9eadc0a4 [gaim-migrate @ 1040]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1009
diff changeset
525 u = g_list_nth_data(aim_users, row);
960
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
526 if (u)
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
527 show_acct_mod(u);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
528 }
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
529 }
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
530
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
531 static void pass_des(GtkWidget *w, struct aim_user *u)
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
532 {
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
533 gtk_widget_destroy(w);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
534 u->passprmt = NULL;
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
535 }
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
536
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
537 static void pass_cancel(GtkWidget *w, struct aim_user *u)
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
538 {
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
539 gtk_widget_destroy(u->passprmt);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
540 u->passprmt = NULL;
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
541 }
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
542
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
543 static void pass_signon(GtkWidget *w, struct aim_user *u)
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
544 {
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
545 char *txt = gtk_entry_get_text(GTK_ENTRY(u->passentry));
980
dd522f25c5c4 [gaim-migrate @ 990]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 977
diff changeset
546 g_snprintf(u->password, sizeof(u->password), "%s", txt);
960
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
547 #ifdef USE_APPLET
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
548 set_user_state(signing_on);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
549 #endif
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
550 gtk_widget_destroy(u->passprmt);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
551 u->passprmt = NULL;
980
dd522f25c5c4 [gaim-migrate @ 990]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 977
diff changeset
552 serv_login(u);
960
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
553 }
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
554
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
555 static void do_pass_dlg(struct aim_user *u)
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
556 {
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
557 /* we can safely assume that u is not NULL */
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
558 GtkWidget *frame;
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
559 GtkWidget *vbox;
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
560 GtkWidget *hbox;
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
561 char buf[96];
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
562 GtkWidget *label;
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
563 GtkWidget *button;
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
564
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
565 if (u->passprmt) { gtk_widget_show(u->passprmt); return; }
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
566 u->passprmt = gtk_window_new(GTK_WINDOW_DIALOG);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
567 gtk_window_set_wmclass(GTK_WINDOW(u->passprmt), "password", "Gaim");
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
568 gtk_container_border_width(GTK_CONTAINER(u->passprmt), 5);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
569 gtk_signal_connect(GTK_OBJECT(u->passprmt), "destroy", GTK_SIGNAL_FUNC(pass_des), u);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
570 gtk_widget_realize(u->passprmt);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
571 aol_icon(u->passprmt->window);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
572
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
573 frame = gtk_frame_new(_("Enter Password"));
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
574 gtk_container_add(GTK_CONTAINER(u->passprmt), frame);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
575 gtk_widget_show(frame);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
576
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
577 vbox = gtk_vbox_new(FALSE, 5);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
578 gtk_container_add(GTK_CONTAINER(frame), vbox);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
579 gtk_widget_show(vbox);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
580
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
581 hbox = gtk_hbox_new(FALSE, 5);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
582 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 5);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
583 gtk_widget_show(hbox);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
584
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
585 g_snprintf(buf, sizeof(buf), "Password for %s:", u->username);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
586 label = gtk_label_new(buf);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
587 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 5);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
588 gtk_widget_show(label);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
589
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
590 u->passentry = gtk_entry_new();
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
591 gtk_entry_set_visibility(GTK_ENTRY(u->passentry), FALSE);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
592 gtk_box_pack_start(GTK_BOX(hbox), u->passentry, FALSE, FALSE, 5);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
593 gtk_signal_connect(GTK_OBJECT(u->passentry), "activate", GTK_SIGNAL_FUNC(pass_signon), u);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
594 gtk_widget_grab_focus(u->passentry);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
595 gtk_widget_show(u->passentry);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
596
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
597 hbox = gtk_hbox_new(FALSE, 5);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
598 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 5);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
599 gtk_widget_show(hbox);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
600
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
601 button = picture_button(u->passprmt, _("Cancel"), cancel_xpm);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
602 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(pass_cancel), u);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
603 gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 5);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
604
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
605 button = picture_button(u->passprmt, _("Signon"), ok_xpm);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
606 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(pass_signon), u);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
607 gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 5);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
608
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
609 gtk_widget_show(u->passprmt);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
610 }
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
611
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
612 static void acct_signin(GtkWidget *w, gpointer d)
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
613 {
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
614 int row = -1;
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
615 struct aim_user *u;
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
616 if (GTK_CLIST(list)->selection)
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
617 row = (int)GTK_CLIST(list)->selection->data;
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
618 if (row != -1) {
1030
b9fa9eadc0a4 [gaim-migrate @ 1040]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1009
diff changeset
619 u = g_list_nth_data(aim_users, row);
b9fa9eadc0a4 [gaim-migrate @ 1040]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1009
diff changeset
620 if (!u->gc) {
960
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
621 if (!u->password[0]) {
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
622 do_pass_dlg(u);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
623 } else {
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
624 #ifdef USE_APPLET
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
625 set_user_state(signing_on);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
626 #endif /* USE_APPLET */
1089
74f5c108f7a3 [gaim-migrate @ 1099]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1086
diff changeset
627 gtk_clist_set_text(GTK_CLIST(list), row, 1, "Attempting");
980
dd522f25c5c4 [gaim-migrate @ 990]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 977
diff changeset
628 serv_login(u);
960
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
629 }
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
630 } else {
1030
b9fa9eadc0a4 [gaim-migrate @ 1040]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1009
diff changeset
631 signoff(u->gc);
960
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
632 }
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
633 }
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
634 }
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
635
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
636 static void del_acct(GtkWidget *w, gpointer d)
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
637 {
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
638 int row = -1;
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
639 struct aim_user *u;
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
640 if (GTK_CLIST(list)->selection)
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
641 row = (int)GTK_CLIST(list)->selection->data;
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
642 if (row != -1) {
1030
b9fa9eadc0a4 [gaim-migrate @ 1040]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1009
diff changeset
643 u = g_list_nth_data(aim_users, row);
960
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
644 if (u) {
1058
e878d758cff6 [gaim-migrate @ 1068]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1056
diff changeset
645 if (u->gc)
e878d758cff6 [gaim-migrate @ 1068]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1056
diff changeset
646 signoff(u->gc);
960
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
647 aim_users = g_list_remove(aim_users, u);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
648 save_prefs();
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
649 }
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
650 gtk_clist_remove(GTK_CLIST(list), row);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
651 }
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
652 }
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
653
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
654 void account_editor(GtkWidget *w, GtkWidget *W)
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
655 {
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
656 /* please kill me */
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
657 GtkWidget *frame;
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
658 GtkWidget *box;
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
659 GtkWidget *list;
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
660 GtkWidget *hbox;
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
661 GtkWidget *button; /* used for many things */
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
662
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
663 if (acctedit) { gtk_widget_show(acctedit); return; }
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
664
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
665 acctedit = gtk_window_new(GTK_WINDOW_TOPLEVEL);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
666 gtk_window_set_title(GTK_WINDOW(acctedit), _("Gaim - Account Editor"));
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
667 gtk_window_set_wmclass(GTK_WINDOW(acctedit), "accounteditor", "Gaim");
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
668 gtk_widget_realize(acctedit);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
669 aol_icon(acctedit->window);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
670 gtk_container_border_width(GTK_CONTAINER(acctedit), 10);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
671 gtk_widget_set_usize(acctedit, -1, 200);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
672 gtk_signal_connect(GTK_OBJECT(acctedit), "destroy",
1009
584f27d87a9e [gaim-migrate @ 1019]
Ben Miller <millebe@cs.earlham.edu>
parents: 1005
diff changeset
673 GTK_SIGNAL_FUNC(delete_acctedit), W);
960
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
674
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
675 frame = gtk_frame_new(_("Account Editor"));
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
676 gtk_container_add(GTK_CONTAINER(acctedit), frame);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
677 gtk_widget_show(frame);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
678
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
679 box = gtk_vbox_new(FALSE, 5);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
680 gtk_container_add(GTK_CONTAINER(frame), box);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
681 gtk_widget_show(box);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
682
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
683 list = generate_list();
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
684 gtk_box_pack_start(GTK_BOX(box), list, TRUE, TRUE, 5);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
685
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
686 hbox = gtk_hbox_new(TRUE, 5);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
687 gtk_box_pack_end(GTK_BOX(box), hbox, FALSE, FALSE, 5);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
688 gtk_widget_show(hbox);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
689
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
690 button = picture_button(acctedit, _("Add"), gnome_add_xpm);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
691 gtk_box_pack_start(GTK_BOX(hbox), button, TRUE, TRUE, 5);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
692 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(add_acct), NULL);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
693
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
694 button = picture_button(acctedit, _("Modify"), gnome_preferences_xpm);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
695 gtk_box_pack_start(GTK_BOX(hbox), button, TRUE, TRUE, 5);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
696 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(mod_acct), NULL);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
697
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
698 button = picture_button(acctedit, _("Sign On/Off"), join_xpm);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
699 gtk_box_pack_start(GTK_BOX(hbox), button, TRUE, TRUE, 5);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
700 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(acct_signin), NULL);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
701
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
702 button = picture_button(acctedit, _("Delete"), gnome_remove_xpm);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
703 gtk_box_pack_start(GTK_BOX(hbox), button, TRUE, TRUE, 5);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
704 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(del_acct), NULL);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
705
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
706 button = picture_button(acctedit, _("Close"), gnome_close_xpm);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
707 gtk_box_pack_start(GTK_BOX(hbox), button, TRUE, TRUE, 5);
1009
584f27d87a9e [gaim-migrate @ 1019]
Ben Miller <millebe@cs.earlham.edu>
parents: 1005
diff changeset
708 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(acctedit_close), W);
960
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
709
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
710 gtk_widget_show(acctedit);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
711 }
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
712
1089
74f5c108f7a3 [gaim-migrate @ 1099]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1086
diff changeset
713 void account_online(struct gaim_connection *gc)
960
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
714 {
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
715 int i;
1002
0c559888b1fb [gaim-migrate @ 1012]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 998
diff changeset
716
0c559888b1fb [gaim-migrate @ 1012]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 998
diff changeset
717 /* first we hide the login progress meter */
988
8e2d5ba69459 [gaim-migrate @ 998]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 984
diff changeset
718 if (gc->meter)
8e2d5ba69459 [gaim-migrate @ 998]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 984
diff changeset
719 gtk_widget_destroy(gc->meter);
8e2d5ba69459 [gaim-migrate @ 998]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 984
diff changeset
720 gc->meter = NULL;
1002
0c559888b1fb [gaim-migrate @ 1012]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 998
diff changeset
721
0c559888b1fb [gaim-migrate @ 1012]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 998
diff changeset
722 /* then we do the buddy list stuff */
0c559888b1fb [gaim-migrate @ 1012]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 998
diff changeset
723 if (mainwindow)
0c559888b1fb [gaim-migrate @ 1012]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 998
diff changeset
724 gtk_widget_hide(mainwindow);
0c559888b1fb [gaim-migrate @ 1012]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 998
diff changeset
725 show_buddy_list();
0c559888b1fb [gaim-migrate @ 1012]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 998
diff changeset
726
0c559888b1fb [gaim-migrate @ 1012]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 998
diff changeset
727 #ifdef USE_APPLET
0c559888b1fb [gaim-migrate @ 1012]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 998
diff changeset
728 if (general_options & OPT_GEN_APP_BUDDY_SHOW) {
0c559888b1fb [gaim-migrate @ 1012]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 998
diff changeset
729 refresh_buddy_window();
0c559888b1fb [gaim-migrate @ 1012]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 998
diff changeset
730 createOnlinePopup();
0c559888b1fb [gaim-migrate @ 1012]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 998
diff changeset
731 applet_buddy_show = TRUE;
0c559888b1fb [gaim-migrate @ 1012]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 998
diff changeset
732 } else {
0c559888b1fb [gaim-migrate @ 1012]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 998
diff changeset
733 gtk_widget_hide(blist);
0c559888b1fb [gaim-migrate @ 1012]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 998
diff changeset
734 applet_buddy_show = FALSE;
0c559888b1fb [gaim-migrate @ 1012]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 998
diff changeset
735 }
0c559888b1fb [gaim-migrate @ 1012]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 998
diff changeset
736 set_user_state(online);
0c559888b1fb [gaim-migrate @ 1012]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 998
diff changeset
737 #else
0c559888b1fb [gaim-migrate @ 1012]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 998
diff changeset
738 refresh_buddy_window();
0c559888b1fb [gaim-migrate @ 1012]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 998
diff changeset
739 #endif
0c559888b1fb [gaim-migrate @ 1012]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 998
diff changeset
740 setup_buddy_chats();
0c559888b1fb [gaim-migrate @ 1012]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 998
diff changeset
741
0c559888b1fb [gaim-migrate @ 1012]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 998
diff changeset
742 redo_convo_menus();
0c559888b1fb [gaim-migrate @ 1012]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 998
diff changeset
743 gaim_setup(gc);
0c559888b1fb [gaim-migrate @ 1012]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 998
diff changeset
744
0c559888b1fb [gaim-migrate @ 1012]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 998
diff changeset
745 plugin_event(event_signon, gc, 0, 0, 0);
0c559888b1fb [gaim-migrate @ 1012]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 998
diff changeset
746
0c559888b1fb [gaim-migrate @ 1012]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 998
diff changeset
747 /* everything for the account editor */
960
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
748 if (!acctedit) return;
1030
b9fa9eadc0a4 [gaim-migrate @ 1040]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1009
diff changeset
749 i = gtk_clist_find_row_from_data(GTK_CLIST(list), gc->user);
977
c3d76bd2ac55 [gaim-migrate @ 987]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 969
diff changeset
750 gtk_clist_set_text(GTK_CLIST(list), i, 1, "Yes");
960
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
751 gtk_clist_set_text(GTK_CLIST(list), i, 3, proto_name(gc->protocol));
1002
0c559888b1fb [gaim-migrate @ 1012]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 998
diff changeset
752
0c559888b1fb [gaim-migrate @ 1012]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 998
diff changeset
753 return;
960
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
754 }
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
755
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
756 void account_offline(struct gaim_connection *gc)
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
757 {
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
758 int i;
1089
74f5c108f7a3 [gaim-migrate @ 1099]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1086
diff changeset
759 if (gc->meter)
74f5c108f7a3 [gaim-migrate @ 1099]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1086
diff changeset
760 gtk_widget_destroy(gc->meter);
74f5c108f7a3 [gaim-migrate @ 1099]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1086
diff changeset
761 gc->meter = NULL;
1030
b9fa9eadc0a4 [gaim-migrate @ 1040]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1009
diff changeset
762 gc->user->gc = NULL; /* wasn't that awkward? */
960
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
763 if (!acctedit) return;
1030
b9fa9eadc0a4 [gaim-migrate @ 1040]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1009
diff changeset
764 i = gtk_clist_find_row_from_data(GTK_CLIST(list), gc->user);
977
c3d76bd2ac55 [gaim-migrate @ 987]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 969
diff changeset
765 gtk_clist_set_text(GTK_CLIST(list), i, 1, "No");
993
8798e0ac047d [gaim-migrate @ 1003]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 988
diff changeset
766 redo_convo_menus();
960
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
767 }
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
768
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
769 void auto_login()
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
770 {
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
771 GList *u = aim_users;
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
772 struct aim_user *a = NULL;
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
773
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
774 while (u) {
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
775 a = (struct aim_user *)u->data;
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
776 if ((a->options & OPT_USR_AUTO) && (a->options & OPT_USR_REM_PASS)) {
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
777 #ifdef USE_APPLET
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
778 set_user_state(signing_on);
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
779 #endif /* USE_APPLET */
980
dd522f25c5c4 [gaim-migrate @ 990]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 977
diff changeset
780 serv_login(a);
960
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
781 }
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
782 u = u->next;
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
783 }
c4012584334f [gaim-migrate @ 970]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
784 }
988
8e2d5ba69459 [gaim-migrate @ 998]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 984
diff changeset
785
1089
74f5c108f7a3 [gaim-migrate @ 1099]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1086
diff changeset
786 static void cancel_signon(GtkWidget *button, struct gaim_connection *gc) {
74f5c108f7a3 [gaim-migrate @ 1099]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1086
diff changeset
787 signoff(gc);
74f5c108f7a3 [gaim-migrate @ 1099]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1086
diff changeset
788 }
74f5c108f7a3 [gaim-migrate @ 1099]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1086
diff changeset
789
74f5c108f7a3 [gaim-migrate @ 1099]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1086
diff changeset
790 static gint meter_destroy(GtkWidget *meter, GdkEvent *evt, struct gaim_connection *gc) {
74f5c108f7a3 [gaim-migrate @ 1099]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1086
diff changeset
791 return TRUE;
988
8e2d5ba69459 [gaim-migrate @ 998]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 984
diff changeset
792 }
8e2d5ba69459 [gaim-migrate @ 998]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 984
diff changeset
793
8e2d5ba69459 [gaim-migrate @ 998]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 984
diff changeset
794 void set_login_progress(struct gaim_connection *gc, float howfar, char *message) {
8e2d5ba69459 [gaim-migrate @ 998]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 984
diff changeset
795 if (mainwindow)
8e2d5ba69459 [gaim-migrate @ 998]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 984
diff changeset
796 gtk_widget_hide(mainwindow);
8e2d5ba69459 [gaim-migrate @ 998]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 984
diff changeset
797
8e2d5ba69459 [gaim-migrate @ 998]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 984
diff changeset
798 if (!gc->meter) {
1089
74f5c108f7a3 [gaim-migrate @ 1099]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1086
diff changeset
799 GtkWidget *box, *label, *button;
988
8e2d5ba69459 [gaim-migrate @ 998]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 984
diff changeset
800 char buf[256];
8e2d5ba69459 [gaim-migrate @ 998]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 984
diff changeset
801
8e2d5ba69459 [gaim-migrate @ 998]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 984
diff changeset
802 gc->meter = gtk_window_new(GTK_WINDOW_TOPLEVEL);
8e2d5ba69459 [gaim-migrate @ 998]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 984
diff changeset
803 gtk_window_set_policy(GTK_WINDOW(gc->meter), 0, 0, 1);
8e2d5ba69459 [gaim-migrate @ 998]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 984
diff changeset
804 gtk_window_set_wmclass(GTK_WINDOW(gc->meter), "signon", "Gaim");
8e2d5ba69459 [gaim-migrate @ 998]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 984
diff changeset
805 gtk_container_set_border_width(GTK_CONTAINER(gc->meter), 5);
8e2d5ba69459 [gaim-migrate @ 998]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 984
diff changeset
806 g_snprintf(buf, sizeof(buf), "%s Signing On", gc->username);
8e2d5ba69459 [gaim-migrate @ 998]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 984
diff changeset
807 gtk_window_set_title(GTK_WINDOW(gc->meter), buf);
1089
74f5c108f7a3 [gaim-migrate @ 1099]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1086
diff changeset
808 gtk_signal_connect(GTK_OBJECT(gc->meter), "delete_event",
988
8e2d5ba69459 [gaim-migrate @ 998]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 984
diff changeset
809 GTK_SIGNAL_FUNC(meter_destroy), gc);
8e2d5ba69459 [gaim-migrate @ 998]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 984
diff changeset
810 gtk_widget_realize(gc->meter);
8e2d5ba69459 [gaim-migrate @ 998]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 984
diff changeset
811 aol_icon(gc->meter->window);
8e2d5ba69459 [gaim-migrate @ 998]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 984
diff changeset
812
8e2d5ba69459 [gaim-migrate @ 998]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 984
diff changeset
813 box = gtk_vbox_new(FALSE, 5);
8e2d5ba69459 [gaim-migrate @ 998]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 984
diff changeset
814 gtk_container_add(GTK_CONTAINER(gc->meter), box);
8e2d5ba69459 [gaim-migrate @ 998]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 984
diff changeset
815 gtk_widget_show(box);
8e2d5ba69459 [gaim-migrate @ 998]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 984
diff changeset
816
8e2d5ba69459 [gaim-migrate @ 998]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 984
diff changeset
817 label = gtk_label_new(buf);
8e2d5ba69459 [gaim-migrate @ 998]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 984
diff changeset
818 gtk_box_pack_start(GTK_BOX(box), label, 0, 0, 5);
8e2d5ba69459 [gaim-migrate @ 998]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 984
diff changeset
819 gtk_widget_show(label);
8e2d5ba69459 [gaim-migrate @ 998]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 984
diff changeset
820
8e2d5ba69459 [gaim-migrate @ 998]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 984
diff changeset
821 gc->progress = gtk_progress_bar_new();
8e2d5ba69459 [gaim-migrate @ 998]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 984
diff changeset
822 gtk_widget_set_usize(gc->progress, 150, 0);
8e2d5ba69459 [gaim-migrate @ 998]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 984
diff changeset
823 gtk_box_pack_start(GTK_BOX(box), gc->progress, 0, 0, 5);
8e2d5ba69459 [gaim-migrate @ 998]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 984
diff changeset
824 gtk_widget_show(gc->progress);
8e2d5ba69459 [gaim-migrate @ 998]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 984
diff changeset
825
8e2d5ba69459 [gaim-migrate @ 998]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 984
diff changeset
826 gc->status = gtk_statusbar_new();
8e2d5ba69459 [gaim-migrate @ 998]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 984
diff changeset
827 gtk_widget_set_usize(gc->status, 150, 0);
8e2d5ba69459 [gaim-migrate @ 998]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 984
diff changeset
828 gtk_box_pack_start(GTK_BOX(box), gc->status, 0, 0, 5);
8e2d5ba69459 [gaim-migrate @ 998]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 984
diff changeset
829 gtk_widget_show(gc->status);
8e2d5ba69459 [gaim-migrate @ 998]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 984
diff changeset
830
1089
74f5c108f7a3 [gaim-migrate @ 1099]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1086
diff changeset
831 button = gtk_button_new_with_label(_("Cancel"));
74f5c108f7a3 [gaim-migrate @ 1099]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1086
diff changeset
832 gtk_box_pack_start(GTK_BOX(box), button, 0, 0, 5);
74f5c108f7a3 [gaim-migrate @ 1099]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1086
diff changeset
833 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(cancel_signon), gc);
74f5c108f7a3 [gaim-migrate @ 1099]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1086
diff changeset
834 gtk_widget_show(button);
74f5c108f7a3 [gaim-migrate @ 1099]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1086
diff changeset
835
988
8e2d5ba69459 [gaim-migrate @ 998]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 984
diff changeset
836 gtk_widget_show(gc->meter);
8e2d5ba69459 [gaim-migrate @ 998]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 984
diff changeset
837 }
8e2d5ba69459 [gaim-migrate @ 998]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 984
diff changeset
838
1106
7f3041b0632a [gaim-migrate @ 1116]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1089
diff changeset
839 gtk_progress_bar_update(GTK_PROGRESS_BAR(gc->progress), howfar / LOGIN_STEPS);
988
8e2d5ba69459 [gaim-migrate @ 998]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 984
diff changeset
840 gtk_statusbar_pop(GTK_STATUSBAR(gc->status), 1);
8e2d5ba69459 [gaim-migrate @ 998]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 984
diff changeset
841 gtk_statusbar_push(GTK_STATUSBAR(gc->status), 1, message);
8e2d5ba69459 [gaim-migrate @ 998]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 984
diff changeset
842 }
8e2d5ba69459 [gaim-migrate @ 998]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 984
diff changeset
843
8e2d5ba69459 [gaim-migrate @ 998]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 984
diff changeset
844 void hide_login_progress(struct gaim_connection *gc, char *why)
8e2d5ba69459 [gaim-migrate @ 998]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 984
diff changeset
845 {
8e2d5ba69459 [gaim-migrate @ 998]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 984
diff changeset
846 char buf[2048];
8e2d5ba69459 [gaim-migrate @ 998]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 984
diff changeset
847 sprintf(buf, _("%s was unable to sign on: %s"), gc->username, why);
8e2d5ba69459 [gaim-migrate @ 998]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 984
diff changeset
848 do_error_dialog(buf, _("Signon Error"));
8e2d5ba69459 [gaim-migrate @ 998]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 984
diff changeset
849 if (gc->meter)
8e2d5ba69459 [gaim-migrate @ 998]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 984
diff changeset
850 gtk_widget_destroy(gc->meter);
8e2d5ba69459 [gaim-migrate @ 998]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 984
diff changeset
851 gc->meter = NULL;
8e2d5ba69459 [gaim-migrate @ 998]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 984
diff changeset
852 }

mercurial