Mercurial > pidgin
annotate src/about.c @ 1401:bf041349b11e
[gaim-migrate @ 1411]
abliity to set accounts away independent of each other. also allows for all the other states (like in yahoo and icq). probably breaks MSN, so don't use it until rob fixes it.
committer: Tailor Script <tailor@pidgin.im>
author | Eric Warmenhoven <eric@warmenhoven.org> |
---|---|
date | Wed, 10 Jan 2001 22:15:24 +0000 |
parents | b5783215b245 |
children | 3456fd563e75 |
rev | line source |
---|---|
1 | 1 /* |
2 * gaim | |
3 * | |
4 * Copyright (C) 1998-1999, Mark Spencer <markster@marko.net> | |
5 * | |
6 * This program is free software; you can redistribute it and/or modify | |
7 * it under the terms of the GNU General Public License as published by | |
8 * the Free Software Foundation; either version 2 of the License, or | |
9 * (at your option) any later version. | |
10 * | |
11 * This program is distributed in the hope that it will be useful, | |
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
14 * GNU General Public License for more details. | |
15 * | |
16 * You should have received a copy of the GNU General Public License | |
17 * along with this program; if not, write to the Free Software | |
18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
19 * | |
20 */ | |
21 | |
349
b402a23f35df
[gaim-migrate @ 359]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
338
diff
changeset
|
22 #ifdef HAVE_CONFIG_H |
b402a23f35df
[gaim-migrate @ 359]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
338
diff
changeset
|
23 #include "../config.h" |
b402a23f35df
[gaim-migrate @ 359]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
338
diff
changeset
|
24 #endif |
1 | 25 #include <string.h> |
26 #include <stdio.h> | |
27 #include <stdlib.h> | |
28 #include <time.h> | |
29 | |
30 #include <gtk/gtk.h> | |
31 #include "gaim.h" | |
32 #include "pixmaps/logo.xpm" | |
1205 | 33 #include "pixmaps/cancel.xpm" |
1210 | 34 #include "pixmaps/about_small.xpm" |
1 | 35 |
1250
b5783215b245
[gaim-migrate @ 1260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1233
diff
changeset
|
36 static GtkWidget *about = NULL; |
1 | 37 |
38 static void destroy_about() | |
39 { | |
40 if (about) | |
41 gtk_widget_destroy(about); | |
42 about = NULL; | |
43 } | |
44 | |
45 | |
546
e312b8b9bee5
[gaim-migrate @ 556]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
541
diff
changeset
|
46 static void version_exit() |
e312b8b9bee5
[gaim-migrate @ 556]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
541
diff
changeset
|
47 { |
1117
f3e0f41beddb
[gaim-migrate @ 1127]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1009
diff
changeset
|
48 gtk_main_quit(); |
546
e312b8b9bee5
[gaim-migrate @ 556]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
541
diff
changeset
|
49 } |
e312b8b9bee5
[gaim-migrate @ 556]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
541
diff
changeset
|
50 |
e312b8b9bee5
[gaim-migrate @ 556]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
541
diff
changeset
|
51 |
523
023c3851db0a
[gaim-migrate @ 533]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
356
diff
changeset
|
52 static void about_click(GtkWidget *w, gpointer m) |
023c3851db0a
[gaim-migrate @ 533]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
356
diff
changeset
|
53 { |
023c3851db0a
[gaim-migrate @ 533]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
356
diff
changeset
|
54 open_url_nw(NULL, "http://www.marko.net/gaim/"); |
023c3851db0a
[gaim-migrate @ 533]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
356
diff
changeset
|
55 } |
023c3851db0a
[gaim-migrate @ 533]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
356
diff
changeset
|
56 |
1 | 57 void show_about(GtkWidget *w, void *null) |
58 { | |
59 GtkWidget *vbox; | |
1210 | 60 GtkWidget *frame; |
61 GtkWidget *fbox; | |
1205 | 62 GtkWidget *a_table; |
63 GtkWidget *label; | |
1 | 64 GtkWidget *pixmap; |
65 GtkStyle *style; | |
66 GdkPixmap *pm; | |
67 GdkBitmap *bm; | |
1205 | 68 GtkWidget *hbox; |
69 GtkWidget *button; | |
1 | 70 |
1205 | 71 char abouttitle[45]; |
1250
b5783215b245
[gaim-migrate @ 1260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1233
diff
changeset
|
72 |
1 | 73 if (!about) { |
1250
b5783215b245
[gaim-migrate @ 1260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1233
diff
changeset
|
74 |
1 | 75 about = gtk_window_new(GTK_WINDOW_DIALOG); |
1205 | 76 |
349
b402a23f35df
[gaim-migrate @ 359]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
338
diff
changeset
|
77 g_snprintf(abouttitle, sizeof(abouttitle), _("About GAIM v%s"), VERSION); |
1 | 78 gtk_window_set_title(GTK_WINDOW(about), abouttitle); |
1250
b5783215b245
[gaim-migrate @ 1260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1233
diff
changeset
|
79 gtk_window_set_wmclass(GTK_WINDOW(about), "about", "Gaim"); |
1210 | 80 gtk_window_set_policy(GTK_WINDOW(about), FALSE, TRUE, TRUE); |
1 | 81 |
1210 | 82 gtk_widget_realize(about); |
1250
b5783215b245
[gaim-migrate @ 1260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1233
diff
changeset
|
83 aol_icon(about->window); |
1 | 84 |
1210 | 85 vbox = gtk_vbox_new(FALSE, 5); |
86 gtk_container_set_border_width(GTK_CONTAINER(vbox), 5); | |
87 gtk_container_add(GTK_CONTAINER(about), vbox); | |
1205 | 88 |
1210 | 89 frame = gtk_frame_new("Gaim " VERSION); |
1250
b5783215b245
[gaim-migrate @ 1260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1233
diff
changeset
|
90 gtk_box_pack_start(GTK_BOX(vbox), frame, TRUE, TRUE, 0); |
1210 | 91 |
1250
b5783215b245
[gaim-migrate @ 1260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1233
diff
changeset
|
92 fbox = gtk_hbox_new(FALSE, 5); |
b5783215b245
[gaim-migrate @ 1260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1233
diff
changeset
|
93 gtk_container_set_border_width(GTK_CONTAINER(fbox), 5); |
1210 | 94 gtk_container_add(GTK_CONTAINER(frame), fbox); |
1205 | 95 |
96 /* Left side, TOP */ | |
1 | 97 style = gtk_widget_get_style(about); |
1250
b5783215b245
[gaim-migrate @ 1260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1233
diff
changeset
|
98 pm = gdk_pixmap_create_from_xpm_d(about->window, &bm, |
b5783215b245
[gaim-migrate @ 1260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1233
diff
changeset
|
99 &style->bg[GTK_STATE_NORMAL], (gchar **) aol_logo); |
1 | 100 pixmap = gtk_pixmap_new(pm, bm); |
1205 | 101 |
644
b3900e312d8e
[gaim-migrate @ 654]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
622
diff
changeset
|
102 gdk_pixmap_unref(pm); |
804
17def2bb9720
[gaim-migrate @ 814]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
644
diff
changeset
|
103 gdk_bitmap_unref(bm); |
1205 | 104 |
1250
b5783215b245
[gaim-migrate @ 1260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1233
diff
changeset
|
105 gtk_box_pack_start(GTK_BOX(fbox), pixmap, FALSE, FALSE, 0); |
1205 | 106 |
107 /* Set up the author table */ | |
1210 | 108 a_table = gtk_table_new(6, 2, TRUE); |
1250
b5783215b245
[gaim-migrate @ 1260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1233
diff
changeset
|
109 gtk_table_set_row_spacings(GTK_TABLE(a_table), 5); |
b5783215b245
[gaim-migrate @ 1260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1233
diff
changeset
|
110 gtk_table_set_col_spacings(GTK_TABLE(a_table), 5); |
b5783215b245
[gaim-migrate @ 1260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1233
diff
changeset
|
111 |
b5783215b245
[gaim-migrate @ 1260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1233
diff
changeset
|
112 label = |
b5783215b245
[gaim-migrate @ 1260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1233
diff
changeset
|
113 gtk_label_new(_ |
b5783215b245
[gaim-migrate @ 1260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1233
diff
changeset
|
114 ("GAIM is a client that supports AOL's Instant Messenger protocol. " |
b5783215b245
[gaim-migrate @ 1260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1233
diff
changeset
|
115 "It is written using Gtk+ and is licensed under the GPL.\n" |
b5783215b245
[gaim-migrate @ 1260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1233
diff
changeset
|
116 "URL: http://www.marko.net/gaim/")); |
1210 | 117 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE); |
1250
b5783215b245
[gaim-migrate @ 1260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1233
diff
changeset
|
118 gtk_table_attach_defaults(GTK_TABLE(a_table), label, 0, 2, 0, 2); |
1210 | 119 |
1205 | 120 /* Rob */ |
121 label = gtk_label_new("Rob Flynn (Maintainer)"); | |
122 gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); | |
1210 | 123 gtk_table_attach_defaults(GTK_TABLE(a_table), label, 0, 1, 2, 3); |
1250
b5783215b245
[gaim-migrate @ 1260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1233
diff
changeset
|
124 |
1205 | 125 label = gtk_label_new("rob@tgflinux.com"); |
126 gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); | |
1210 | 127 gtk_table_attach_defaults(GTK_TABLE(a_table), label, 1, 2, 2, 3); |
1 | 128 |
1205 | 129 /* Eric */ |
130 label = gtk_label_new("Eric Warmenhoven"); | |
131 gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); | |
1210 | 132 gtk_table_attach_defaults(GTK_TABLE(a_table), label, 0, 1, 3, 4); |
1250
b5783215b245
[gaim-migrate @ 1260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1233
diff
changeset
|
133 |
1205 | 134 label = gtk_label_new("warmenhoven@yahoo.com"); |
135 gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); | |
1210 | 136 gtk_table_attach_defaults(GTK_TABLE(a_table), label, 1, 2, 3, 4); |
1250
b5783215b245
[gaim-migrate @ 1260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1233
diff
changeset
|
137 |
1205 | 138 /* Jim */ |
139 label = gtk_label_new("Jim Duchek"); | |
140 gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); | |
1210 | 141 gtk_table_attach_defaults(GTK_TABLE(a_table), label, 0, 1, 4, 5); |
1250
b5783215b245
[gaim-migrate @ 1260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1233
diff
changeset
|
142 |
1205 | 143 /* Mark */ |
144 label = gtk_label_new("Mark Spencer"); | |
145 gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); | |
1210 | 146 gtk_table_attach_defaults(GTK_TABLE(a_table), label, 0, 1, 5, 6); |
1250
b5783215b245
[gaim-migrate @ 1260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1233
diff
changeset
|
147 |
1205 | 148 label = gtk_label_new("markster@marko.net"); |
149 gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); | |
1210 | 150 gtk_table_attach_defaults(GTK_TABLE(a_table), label, 1, 2, 5, 6); |
1250
b5783215b245
[gaim-migrate @ 1260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1233
diff
changeset
|
151 |
1210 | 152 gtk_box_pack_start(GTK_BOX(fbox), a_table, TRUE, TRUE, 0); |
1205 | 153 |
154 /* Close Button */ | |
155 | |
156 hbox = gtk_hbox_new(FALSE, 5); | |
1210 | 157 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); |
1205 | 158 |
1210 | 159 button = picture_button(about, _("Close"), cancel_xpm); |
160 gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 0); | |
622 | 161 |
1142
4593153a956c
[gaim-migrate @ 1152]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1117
diff
changeset
|
162 if (null != (void *)2) { |
1250
b5783215b245
[gaim-migrate @ 1260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1233
diff
changeset
|
163 /* 2 can be as sad as 1, it's the loneliest number since the number 1 */ |
546
e312b8b9bee5
[gaim-migrate @ 556]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
541
diff
changeset
|
164 gtk_signal_connect_object(GTK_OBJECT(button), "clicked", |
1250
b5783215b245
[gaim-migrate @ 1260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1233
diff
changeset
|
165 GTK_SIGNAL_FUNC(destroy_about), GTK_OBJECT(about)); |
1009
d496fe2614a6
[gaim-migrate @ 1019]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
960
diff
changeset
|
166 gtk_signal_connect(GTK_OBJECT(about), "destroy", |
d496fe2614a6
[gaim-migrate @ 1019]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
960
diff
changeset
|
167 GTK_SIGNAL_FUNC(destroy_about), GTK_OBJECT(about)); |
d496fe2614a6
[gaim-migrate @ 1019]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
960
diff
changeset
|
168 } else { |
546
e312b8b9bee5
[gaim-migrate @ 556]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
541
diff
changeset
|
169 gtk_signal_connect(GTK_OBJECT(button), "clicked", |
e312b8b9bee5
[gaim-migrate @ 556]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
541
diff
changeset
|
170 GTK_SIGNAL_FUNC(version_exit), NULL); |
1009
d496fe2614a6
[gaim-migrate @ 1019]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
960
diff
changeset
|
171 gtk_signal_connect(GTK_OBJECT(about), "destroy", |
d496fe2614a6
[gaim-migrate @ 1019]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
960
diff
changeset
|
172 GTK_SIGNAL_FUNC(version_exit), NULL); |
d496fe2614a6
[gaim-migrate @ 1019]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
960
diff
changeset
|
173 } |
1210 | 174 |
1250
b5783215b245
[gaim-migrate @ 1260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1233
diff
changeset
|
175 /* this makes the sizes not work. */ |
1210 | 176 //GTK_WIDGET_SET_FLAGS(button, GTK_CAN_DEFAULT); |
177 //gtk_widget_grab_default(button); | |
1205 | 178 |
1210 | 179 button = picture_button(about, _("Web Site"), about_small_xpm); |
180 gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 0); | |
1250
b5783215b245
[gaim-migrate @ 1260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1233
diff
changeset
|
181 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(about_click), NULL); |
1205 | 182 |
1210 | 183 if (display_options & OPT_DISP_COOL_LOOK) |
184 gtk_button_set_relief(GTK_BUTTON(button), GTK_RELIEF_NONE); | |
1205 | 185 } |
1210 | 186 |
187 /* Let's give'em something to talk about -- woah woah woah */ | |
188 gtk_widget_show_all(about); | |
1250
b5783215b245
[gaim-migrate @ 1260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1233
diff
changeset
|
189 |
1205 | 190 } |