src/gtkprefs.c

Tue, 27 May 2003 03:38:52 +0000

author
Mark Doliner <markdoliner@pidgin.im>
date
Tue, 27 May 2003 03:38:52 +0000
changeset 5537
812794b97b08
parent 5535
21c0f915e06a
child 5539
a13dd0ba205a
permissions
-rw-r--r--

[gaim-migrate @ 5937]
This is:
-AIM over OSCAR use Christian's new, kick ass
gaim_notify_email stuff for new mail notification. This
should be good, but it's kind of a pain to test. Let me
know if you have any problems

-Minor fix to the translation README

-2 minor changes to the doxygen of 2 major header files
(this means you'll have to recompile a lot of files :-) )

-If your global proxy setting is "No Proxy" and your global
proxy host is empty, but $http_proxy is set to something,
gaim used to switch your global proxy setting to "HTTP." It
no longer does this. This makes more sense to me. If you
disagree, please let me know--this is open to debate, and
what not. Also, the use of environmental proxy settings
will be changed a bit in the next day or two

5530
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
1 /**
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
2 * @file gtkprefs.c GTK+ Preferences
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
3 * @ingroup gtkui
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
4 *
5440
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
5 * gaim
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
6 *
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
7 * Copyright (C) 1998-2002, Mark Spencer <markster@marko.net>
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
8 *
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
9 * This program is free software; you can redistribute it and/or modify
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
10 * it under the terms of the GNU General Public License as published by
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
11 * the Free Software Foundation; either version 2 of the License, or
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
12 * (at your option) any later version.
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
13 *
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
14 * This program is distributed in the hope that it will be useful,
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
17 * GNU General Public License for more details.
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
18 *
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
19 * You should have received a copy of the GNU General Public License
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
20 * along with this program; if not, write to the Free Software
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
21 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
22 *
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
23 */
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
24
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
25 #ifdef HAVE_CONFIG_H
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
26 #include <config.h>
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
27 #endif
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
28 #include <string.h>
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
29 #include <sys/time.h>
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
30
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
31 #include <sys/types.h>
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
32 #include <sys/stat.h>
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
33
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
34 #include <unistd.h>
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
35 #include <stdio.h>
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
36 #include <stdlib.h>
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
37 #include <stdarg.h>
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
38 #include <ctype.h>
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
39 #include <gtk/gtk.h>
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
40 #include "gtkimhtml.h"
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
41 #include "gaim.h"
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
42 #include "gtkblist.h"
5530
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
43 #include "gtkdebug.h"
5440
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
44 #include "gtkplugin.h"
5530
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
45 #include "gtkprefs.h"
5440
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
46 #include "prpl.h"
5530
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
47 #include "prefs.h"
5440
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
48 #include "proxy.h"
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
49 #include "sound.h"
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
50 #include "notify.h"
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
51
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
52 #ifdef _WIN32
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
53 #include "win32dep.h"
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
54 #endif
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
55
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
56 GtkWidget *tree_v = NULL;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
57 GtkWidget *prefs_away_menu = NULL;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
58 GtkWidget *fontseld = NULL;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
59
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
60 GtkListStore *prefs_away_store = NULL;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
61
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
62 static int sound_row_sel = 0;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
63 static char *last_sound_dir = NULL;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
64
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
65 static GtkWidget *sounddialog = NULL;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
66 static GtkWidget *browser_entry = NULL;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
67 static GtkWidget *sound_entry = NULL;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
68 static GtkWidget *away_text = NULL;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
69 static GtkListStore *smiley_theme_store = NULL;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
70 GtkWidget *prefs_proxy_frame = NULL;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
71 GtkWidget *gaim_button(const char *, guint *, int, GtkWidget *);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
72 GtkWidget *gaim_labeled_spin_button(GtkWidget *, const gchar *, int*, int, int, GtkSizeGroup *);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
73 static GtkWidget *gaim_dropdown(GtkWidget *, const gchar *, int *, int, ...);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
74 static GtkWidget *gaim_dropdown_from_list(GtkWidget *, const gchar *, int *, int, GList *);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
75 static GtkWidget *show_color_pref(GtkWidget *, gboolean);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
76 static void delete_prefs(GtkWidget *, void *);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
77 void set_default_away(GtkWidget *, gpointer);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
78 #ifndef _WIN32
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
79 static gboolean program_is_valid(const char *);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
80 #endif
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
81
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
82 static GtkWidget *prefs = NULL;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
83 GtkWidget *debugbutton = NULL;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
84 static int notebook_page = 0;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
85 static GtkTreeIter plugin_iter;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
86
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
87 /*
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
88 * PROTOTYPES
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
89 */
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
90 GtkTreeIter *prefs_notebook_add_page(const char*, GdkPixbuf*, GtkWidget*, GtkTreeIter*, GtkTreeIter*, int);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
91
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
92 static void update_plugin_list(void *data);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
93
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
94 void delete_prefs(GtkWidget *asdf, void *gdsa) {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
95 GList *l;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
96 GaimPlugin *plug;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
97
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
98 gaim_plugins_unregister_probe_notify_cb(update_plugin_list);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
99
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
100 save_prefs();
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
101 prefs = NULL;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
102 tree_v = NULL;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
103 sound_entry = NULL;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
104 browser_entry = NULL;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
105 debugbutton = NULL;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
106 prefs_away_menu = NULL;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
107 notebook_page = 0;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
108 smiley_theme_store = NULL;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
109 if(sounddialog)
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
110 gtk_widget_destroy(sounddialog);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
111 g_object_unref(G_OBJECT(prefs_away_store));
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
112 prefs_away_store = NULL;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
113
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
114 for (l = gaim_plugins_get_loaded(); l != NULL; l = l->next) {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
115 plug = l->data;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
116
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
117 if (GAIM_IS_GTK_PLUGIN(plug)) {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
118 GaimGtkPluginUiInfo *ui_info;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
119
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
120 ui_info = GAIM_GTK_PLUGIN_UI_INFO(plug);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
121
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
122 if (ui_info->iter != NULL) {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
123 g_free(ui_info->iter);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
124 ui_info->iter = NULL;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
125 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
126 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
127 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
128 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
129
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
130 GtkWidget *preflabel;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
131 GtkWidget *prefsnotebook;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
132 GtkTreeStore *prefstree;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
133
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
134 static void set_misc_option();
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
135 static void set_logging_option();
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
136 static void set_blist_option();
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
137 static void set_convo_option();
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
138 static void set_im_option();
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
139 static void set_chat_option();
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
140 static void set_font_option();
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
141 static void set_sound_option();
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
142 static void set_away_option();
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
143
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
144 #define PROXYHOST 0
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
145 #define PROXYPORT 1
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
146 #define PROXYTYPE 2
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
147 #define PROXYUSER 3
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
148 #define PROXYPASS 4
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
149 static void proxy_print_option(GtkEntry *entry, int entrynum)
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
150 {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
151 if (entrynum == PROXYHOST)
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
152 g_snprintf(global_proxy_info.proxyhost, sizeof(global_proxy_info.proxyhost), "%s", gtk_entry_get_text(entry));
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
153 else if (entrynum == PROXYPORT)
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
154 global_proxy_info.proxyport = atoi(gtk_entry_get_text(entry));
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
155 else if (entrynum == PROXYUSER)
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
156 g_snprintf(global_proxy_info.proxyuser, sizeof(global_proxy_info.proxyuser), "%s", gtk_entry_get_text(entry));
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
157 else if (entrynum == PROXYPASS)
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
158 g_snprintf(global_proxy_info.proxypass, sizeof(global_proxy_info.proxypass), "%s", gtk_entry_get_text(entry));
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
159 proxy_info_is_from_gaimrc = 1; /* If the user specifies it, we want
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
160 to save it */
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
161 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
162
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
163 /* OK, Apply and Cancel */
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
164
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
165 static void pref_nb_select(GtkTreeSelection *sel, GtkNotebook *nb) {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
166 GtkTreeIter iter;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
167 char text[128];
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
168 GValue val = { 0, };
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
169 GtkTreeModel *model = GTK_TREE_MODEL(prefstree);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
170
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
171 if (! gtk_tree_selection_get_selected (sel, &model, &iter))
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
172 return;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
173 gtk_tree_model_get_value (model, &iter, 1, &val);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
174 g_snprintf(text, sizeof(text), "<span weight=\"bold\" size=\"larger\">%s</span>",
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
175 g_value_get_string(&val));
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
176 gtk_label_set_markup (GTK_LABEL(preflabel), text);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
177 g_value_unset (&val);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
178 gtk_tree_model_get_value (model, &iter, 2, &val);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
179 gtk_notebook_set_current_page (GTK_NOTEBOOK (prefsnotebook), g_value_get_int (&val));
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
180
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
181 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
182
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
183 /* These are the pages in the preferences notebook */
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
184 GtkWidget *interface_page() {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
185 GtkWidget *ret;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
186 GtkWidget *vbox;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
187 ret = gtk_vbox_new(FALSE, 18);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
188 gtk_container_set_border_width (GTK_CONTAINER (ret), 12);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
189
5530
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
190 vbox = gaim_gtk_make_frame(ret, _("Interface Options"));
5440
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
191
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
192 gaim_button(_("D_isplay remote nicknames if no alias is set"), &misc_options, OPT_MISC_USE_SERVER_ALIAS, vbox);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
193
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
194
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
195 gtk_widget_show_all(ret);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
196 return ret;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
197 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
198
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
199 static void smiley_sel (GtkTreeSelection *sel, GtkTreeModel *model) {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
200 GtkTreeIter iter;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
201 const char *filename;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
202 GValue val = { 0, };
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
203
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
204 if (! gtk_tree_selection_get_selected (sel, &model, &iter))
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
205 return;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
206 gtk_tree_model_get_value (model, &iter, 2, &val);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
207 filename = g_value_get_string(&val);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
208 load_smiley_theme(filename, TRUE);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
209 g_value_unset (&val);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
210 save_prefs();
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
211 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
212
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
213 GtkTreePath *theme_refresh_theme_list()
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
214 {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
215 GdkPixbuf *pixbuf;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
216 GSList *themes;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
217 GtkTreeIter iter;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
218 GtkTreePath *path = NULL;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
219 int ind = 0;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
220
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
221
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
222 smiley_theme_probe();
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
223
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
224 if (!smiley_themes)
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
225 return NULL;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
226
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
227 themes = smiley_themes;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
228
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
229 gtk_list_store_clear(smiley_theme_store);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
230
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
231 while (themes) {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
232 struct smiley_theme *theme = themes->data;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
233 char *description = g_strdup_printf("<span size='larger' weight='bold'>%s</span> - %s\n"
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
234 "<span size='smaller' foreground='dim grey'>%s</span>",
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
235 theme->name, theme->author, theme->desc);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
236 gtk_list_store_append (smiley_theme_store, &iter);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
237 pixbuf = gdk_pixbuf_new_from_file(theme->icon, NULL);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
238
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
239 gtk_list_store_set(smiley_theme_store, &iter,
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
240 0, pixbuf,
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
241 1, description,
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
242 2, theme->path,
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
243 -1);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
244 g_object_unref(G_OBJECT(pixbuf));
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
245 g_free(description);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
246 themes = themes->next;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
247 if (current_smiley_theme && !strcmp(theme->path, current_smiley_theme->path)) {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
248 /* path = gtk_tree_path_new_from_indices(ind); */
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
249 char *iwishihadgtk2_2 = g_strdup_printf("%d", ind);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
250 path = gtk_tree_path_new_from_string(iwishihadgtk2_2);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
251 g_free(iwishihadgtk2_2);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
252 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
253 ind++;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
254 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
255
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
256 return path;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
257 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
258
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
259 void theme_install_theme(char *path, char *extn) {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
260 #ifndef _WIN32
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
261 gchar *command;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
262 #endif
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
263 gchar *destdir;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
264 gchar *tail;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
265
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
266 /* Just to be safe */
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
267 g_strchomp(path);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
268
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
269 /* I dont know what you are, get out of here */
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
270 if (extn != NULL)
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
271 tail = extn;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
272 else if ((tail = strrchr(path, '.')) == NULL)
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
273 return;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
274
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
275 destdir = g_strconcat(gaim_user_dir(), G_DIR_SEPARATOR_S "smileys", NULL);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
276
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
277 /* We'll check this just to make sure. This also lets us do something different on
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
278 * other platforms, if need be */
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
279 if (!g_ascii_strcasecmp(tail, ".gz") || !g_ascii_strcasecmp(tail, ".tgz")) {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
280 #ifndef _WIN32
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
281 command = g_strdup_printf("tar > /dev/null xzf \"%s\" -C %s", path, destdir);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
282 #else
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
283 if(!wgaim_gz_untar(path, destdir)) {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
284 g_free(destdir);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
285 return;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
286 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
287 #endif
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
288 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
289 else {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
290 g_free(destdir);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
291 return;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
292 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
293
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
294 #ifndef _WIN32
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
295 /* Fire! */
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
296 system(command);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
297
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
298 g_free(command);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
299 #endif
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
300 g_free(destdir);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
301
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
302 theme_refresh_theme_list();
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
303 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
304
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
305 static void theme_got_url(gpointer data, char *themedata, unsigned long len) {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
306 FILE *f;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
307 gchar *path;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
308
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
309 f = gaim_mkstemp(&path);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
310 fwrite(themedata, len, 1, f);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
311 fclose(f);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
312
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
313 theme_install_theme(path, data);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
314
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
315 unlink(path);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
316 g_free(path);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
317 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
318
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
319 void theme_dnd_recv(GtkWidget *widget, GdkDragContext *dc, guint x, guint y, GtkSelectionData *sd,
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
320 guint info, guint t, gpointer data) {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
321 gchar *name = sd->data;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
322
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
323 if ((sd->length >= 0) && (sd->format == 8)) {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
324 /* Well, it looks like the drag event was cool.
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
325 * Let's do something with it */
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
326
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
327 if (!g_ascii_strncasecmp(name, "file://", 7)) {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
328 GError *converr = NULL;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
329 gchar *tmp;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
330 /* It looks like we're dealing with a local file. Let's
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
331 * just untar it in the right place */
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
332 if(!(tmp = g_filename_from_uri(name, NULL, &converr))) {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
333 gaim_debug(GAIM_DEBUG_ERROR, "theme dnd", "%s\n",
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
334 (converr ? converr->message :
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
335 "g_filename_from_uri error"));
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
336 return;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
337 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
338 theme_install_theme(tmp, NULL);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
339 g_free(tmp);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
340 } else if (!g_ascii_strncasecmp(name, "http://", 7)) {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
341 /* Oo, a web drag and drop. This is where things
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
342 * will start to get interesting */
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
343 gchar *tail;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
344
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
345 if ((tail = strrchr(name, '.')) == NULL)
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
346 return;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
347
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
348 /* We'll check this just to make sure. This also lets us do something different on
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
349 * other platforms, if need be */
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
350 grab_url(name, TRUE, theme_got_url, ".tgz");
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
351 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
352
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
353 gtk_drag_finish(dc, TRUE, FALSE, t);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
354 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
355
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
356 gtk_drag_finish(dc, FALSE, FALSE, t);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
357 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
358
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
359 GtkWidget *theme_page() {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
360 GtkWidget *ret;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
361 GtkWidget *sw;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
362 GtkWidget *view;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
363 GtkCellRenderer *rend;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
364 GtkTreeViewColumn *col;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
365 GtkTreeSelection *sel;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
366 GtkTreePath *path = NULL;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
367 GtkWidget *label;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
368 GtkTargetEntry te[3] = {{"text/plain", 0, 0},{"text/uri-list", 0, 1},{"STRING", 0, 2}};
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
369
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
370 ret = gtk_vbox_new(FALSE, 18);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
371 gtk_container_set_border_width (GTK_CONTAINER (ret), 12);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
372
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
373 label = gtk_label_new(_("Select a smiley theme that you would like to use from the list below. New themes can be installed by dragging and dropping them onto the theme list."));
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
374
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
375 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
376 gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
377 gtk_label_set_justify(GTK_LABEL(label), GTK_JUSTIFY_LEFT);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
378
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
379 gtk_box_pack_start(GTK_BOX(ret), label, FALSE, TRUE, 0);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
380 gtk_widget_show(label);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
381
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
382 sw = gtk_scrolled_window_new(NULL,NULL);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
383 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
384 gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW(sw), GTK_SHADOW_IN);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
385
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
386 gtk_box_pack_start(GTK_BOX(ret), sw, TRUE, TRUE, 0);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
387 smiley_theme_store = gtk_list_store_new (3, GDK_TYPE_PIXBUF, G_TYPE_STRING, G_TYPE_STRING);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
388
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
389 path = theme_refresh_theme_list();
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
390
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
391 view = gtk_tree_view_new_with_model (GTK_TREE_MODEL(smiley_theme_store));
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
392
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
393 gtk_drag_dest_set(view, GTK_DEST_DEFAULT_MOTION | GTK_DEST_DEFAULT_HIGHLIGHT | GTK_DEST_DEFAULT_DROP, te,
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
394 sizeof(te) / sizeof(GtkTargetEntry) , GDK_ACTION_COPY | GDK_ACTION_MOVE);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
395
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
396 g_signal_connect(G_OBJECT(view), "drag_data_received", G_CALLBACK(theme_dnd_recv), smiley_theme_store);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
397
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
398 rend = gtk_cell_renderer_pixbuf_new();
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
399 sel = gtk_tree_view_get_selection (GTK_TREE_VIEW (view));
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
400
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
401 if(path) {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
402 gtk_tree_selection_select_path(sel, path);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
403 gtk_tree_path_free(path);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
404 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
405
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
406 col = gtk_tree_view_column_new_with_attributes (_("Icon"),
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
407 rend,
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
408 "pixbuf", 0,
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
409 NULL);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
410 gtk_tree_view_append_column (GTK_TREE_VIEW(view), col);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
411
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
412 rend = gtk_cell_renderer_text_new();
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
413 col = gtk_tree_view_column_new_with_attributes (_("Description"),
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
414 rend,
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
415 "markup", 1,
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
416 NULL);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
417 gtk_tree_view_append_column (GTK_TREE_VIEW(view), col);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
418 g_object_unref(G_OBJECT(smiley_theme_store));
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
419 gtk_container_add(GTK_CONTAINER(sw), view);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
420
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
421 g_signal_connect (G_OBJECT (sel), "changed",
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
422 G_CALLBACK (smiley_sel),
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
423 NULL);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
424
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
425
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
426 gtk_widget_show_all(ret);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
427 return ret;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
428 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
429
5530
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
430 static void update_color(GtkWidget *w, GtkWidget *pic)
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
431 {
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
432 GdkColor c;
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
433 GtkStyle *style;
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
434 c.pixel = 0;
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
435
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
436 if (pic == pref_fg_picture) {
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
437 if (font_options & OPT_FONT_FGCOL) {
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
438 c.red = fgcolor.red;
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
439 c.blue = fgcolor.blue;
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
440 c.green = fgcolor.green;
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
441 } else {
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
442 c.red = 0;
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
443 c.blue = 0;
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
444 c.green = 0;
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
445 }
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
446 } else {
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
447 if (font_options & OPT_FONT_BGCOL) {
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
448 c.red = bgcolor.red;
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
449 c.blue = bgcolor.blue;
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
450 c.green = bgcolor.green;
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
451 } else {
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
452 c.red = 0xffff;
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
453 c.blue = 0xffff;
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
454 c.green = 0xffff;
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
455 }
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
456 }
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
457
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
458 style = gtk_style_new();
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
459 style->bg[0] = c;
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
460 gtk_widget_set_style(pic, style);
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
461 g_object_unref(style);
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
462 }
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
463
5440
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
464 GtkWidget *font_page() {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
465 GtkWidget *ret;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
466 GtkWidget *button;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
467 GtkWidget *vbox, *hbox;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
468 GtkWidget *select = NULL;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
469 GtkSizeGroup *sg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
470
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
471 ret = gtk_vbox_new(FALSE, 18);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
472 gtk_container_set_border_width (GTK_CONTAINER (ret), 12);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
473
5530
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
474 vbox = gaim_gtk_make_frame(ret, _("Style"));
5440
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
475 gaim_button(_("_Bold"), &font_options, OPT_FONT_BOLD, vbox);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
476 gaim_button(_("_Italics"), &font_options, OPT_FONT_ITALIC, vbox);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
477 gaim_button(_("_Underline"), &font_options, OPT_FONT_UNDERLINE, vbox);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
478 gaim_button(_("_Strikethrough"), &font_options, OPT_FONT_STRIKE, vbox);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
479
5530
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
480 vbox = gaim_gtk_make_frame(ret, _("Face"));
5440
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
481 hbox = gtk_hbox_new(FALSE, 6);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
482 gtk_container_add(GTK_CONTAINER(vbox), hbox);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
483 button = gaim_button(_("Use custo_m face"), &font_options, OPT_FONT_FACE, hbox);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
484 gtk_size_group_add_widget(sg, button);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
485 select = gtk_button_new_from_stock(GTK_STOCK_SELECT_FONT);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
486
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
487 if (!(font_options & OPT_FONT_FACE))
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
488 gtk_widget_set_sensitive(GTK_WIDGET(select), FALSE);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
489 g_signal_connect(G_OBJECT(button), "clicked",
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
490 G_CALLBACK(gaim_gtk_toggle_sensitive), select);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
491 g_signal_connect(G_OBJECT(select), "clicked",
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
492 G_CALLBACK(show_font_dialog), NULL);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
493 gtk_box_pack_start(GTK_BOX(hbox), select, FALSE, FALSE, 0);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
494
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
495 hbox = gtk_hbox_new(FALSE, 5);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
496 gtk_container_add(GTK_CONTAINER(vbox), hbox);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
497 button = gaim_button(_("Use custom si_ze"), &font_options, OPT_FONT_SIZE, hbox);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
498 gtk_size_group_add_widget(sg, button);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
499 select = gaim_labeled_spin_button(hbox, NULL, &fontsize, 1, 7, NULL);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
500 if (!(font_options & OPT_FONT_SIZE))
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
501 gtk_widget_set_sensitive(GTK_WIDGET(select), FALSE);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
502 g_signal_connect(G_OBJECT(button), "clicked",
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
503 G_CALLBACK(gaim_gtk_toggle_sensitive), select);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
504
5530
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
505 vbox = gaim_gtk_make_frame(ret, _("Color"));
5440
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
506 hbox = gtk_hbox_new(FALSE, 5);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
507 gtk_container_add(GTK_CONTAINER(vbox), hbox);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
508
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
509
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
510 button = gaim_button(_("_Text color"), &font_options, OPT_FONT_FGCOL, hbox);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
511 gtk_size_group_add_widget(sg, button);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
512
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
513 select = gtk_button_new_from_stock(GTK_STOCK_SELECT_COLOR);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
514 gtk_box_pack_start(GTK_BOX(hbox), select, FALSE, FALSE, 0);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
515 pref_fg_picture = show_color_pref(hbox, TRUE);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
516 g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(update_color),
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
517 pref_fg_picture);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
518
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
519 if (!(font_options & OPT_FONT_FGCOL))
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
520 gtk_widget_set_sensitive(GTK_WIDGET(select), FALSE);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
521 g_signal_connect(G_OBJECT(button), "clicked",
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
522 G_CALLBACK(gaim_gtk_toggle_sensitive), select);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
523 g_signal_connect(G_OBJECT(select), "clicked", G_CALLBACK(show_fgcolor_dialog), NULL);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
524 hbox = gtk_hbox_new(FALSE, 5);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
525 gtk_container_add(GTK_CONTAINER(vbox), hbox);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
526
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
527 button = gaim_button(_("Bac_kground color"), &font_options, OPT_FONT_BGCOL, hbox);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
528 gtk_size_group_add_widget(sg, button);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
529 select = gtk_button_new_from_stock(GTK_STOCK_SELECT_COLOR);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
530 gtk_box_pack_start(GTK_BOX(hbox), select, FALSE, FALSE, 0);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
531 pref_bg_picture = show_color_pref(hbox, FALSE);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
532 g_signal_connect(G_OBJECT(button), "clicked",
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
533 G_CALLBACK(update_color), pref_bg_picture);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
534
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
535 if (!(font_options & OPT_FONT_BGCOL))
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
536 gtk_widget_set_sensitive(GTK_WIDGET(select), FALSE);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
537 g_signal_connect(G_OBJECT(select), "clicked",
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
538 G_CALLBACK(show_bgcolor_dialog), NULL);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
539 g_signal_connect(G_OBJECT(button), "clicked",
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
540 G_CALLBACK(gaim_gtk_toggle_sensitive), select);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
541
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
542 gtk_widget_show_all(ret);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
543 return ret;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
544 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
545
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
546
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
547 GtkWidget *messages_page() {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
548 GtkWidget *ret;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
549 GtkWidget *vbox;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
550 ret = gtk_vbox_new(FALSE, 18);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
551 gtk_container_set_border_width (GTK_CONTAINER (ret), 12);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
552
5530
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
553 vbox = gaim_gtk_make_frame (ret, _("Display"));
5440
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
554 gaim_button(_("Show graphical _smileys"), &convo_options, OPT_CONVO_SHOW_SMILEY, vbox);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
555 gaim_button(_("Show _timestamp on messages"), &convo_options, OPT_CONVO_SHOW_TIME, vbox);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
556 gaim_button(_("Show _URLs as links"), &convo_options, OPT_CONVO_SEND_LINKS, vbox);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
557 #ifdef USE_GTKSPELL
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
558 gaim_button(_("_Highlight misspelled words"), &convo_options, OPT_CONVO_CHECK_SPELLING, vbox);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
559 #endif
5530
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
560 vbox = gaim_gtk_make_frame (ret, _("Ignore"));
5440
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
561 gaim_button(_("Ignore c_olors"), &convo_options, OPT_CONVO_IGNORE_COLOUR, vbox);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
562 gaim_button(_("Ignore font _faces"), &convo_options, OPT_CONVO_IGNORE_FONTS, vbox);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
563 gaim_button(_("Ignore font si_zes"), &convo_options, OPT_CONVO_IGNORE_SIZES, vbox);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
564
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
565 gtk_widget_show_all(ret);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
566 return ret;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
567 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
568
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
569 GtkWidget *hotkeys_page() {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
570 GtkWidget *ret;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
571 GtkWidget *vbox;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
572 ret = gtk_vbox_new(FALSE, 18);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
573 gtk_container_set_border_width (GTK_CONTAINER (ret), 12);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
574
5530
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
575 vbox = gaim_gtk_make_frame(ret, _("Send Message"));
5440
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
576 gaim_button(_("_Enter sends message"), &convo_options, OPT_CONVO_ENTER_SENDS, vbox);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
577 gaim_button(_("C_ontrol-Enter sends message"), &convo_options, OPT_CONVO_CTL_ENTER, vbox);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
578
5530
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
579 vbox = gaim_gtk_make_frame (ret, _("Window Closing"));
5440
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
580 gaim_button(_("E_scape closes window"), &convo_options, OPT_CONVO_ESC_CAN_CLOSE, vbox);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
581 gaim_button(_("Control-_W closes window"), &convo_options, OPT_CONVO_CTL_W_CLOSES, vbox);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
582
5530
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
583 vbox = gaim_gtk_make_frame(ret, _("Insertions"));
5440
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
584 gaim_button(_("Control-{B/I/U/S} inserts _HTML tags"), &convo_options, OPT_CONVO_CTL_CHARS, vbox);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
585 gaim_button(_("Control-(number) inserts _smileys"), &convo_options, OPT_CONVO_CTL_SMILEYS, vbox);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
586
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
587 gtk_widget_show_all(ret);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
588 return ret;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
589 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
590
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
591 GtkWidget *list_page() {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
592 GtkWidget *ret;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
593 GtkWidget *vbox;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
594 GtkWidget *button, *b2;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
595 int r = 0;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
596 gboolean fnd = FALSE;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
597 GList *l= NULL;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
598 GSList *sl = gaim_gtk_blist_sort_methods;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
599 ret = gtk_vbox_new(FALSE, 18);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
600 gtk_container_set_border_width (GTK_CONTAINER (ret), 12);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
601
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
602
5530
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
603 vbox = gaim_gtk_make_frame (ret, _("Buddy List Sorting"));
5440
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
604 while (sl) {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
605 l = g_list_append(l, ((struct gaim_gtk_blist_sort_method*)sl->data)->name);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
606 l = g_list_append(l, ((struct gaim_gtk_blist_sort_method*)sl->data)->name);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
607 if (!fnd && !gaim_utf8_strcasecmp(((struct gaim_gtk_blist_sort_method*)sl->data)->name, sort_method))
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
608 fnd = TRUE;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
609 sl = sl->next;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
610 if (!fnd) r++;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
611 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
612 gaim_dropdown_from_list(vbox, _("Sorting:"),
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
613 (int*)&sort_method, r, l);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
614
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
615 g_list_free(l);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
616
5530
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
617 vbox = gaim_gtk_make_frame (ret, _("Buddy List Toolbar"));
5440
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
618 gaim_dropdown(vbox, _("Show _buttons as:"), &blist_options, OPT_BLIST_SHOW_BUTTON_XPM | OPT_BLIST_NO_BUTTON_TEXT,
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
619 _("Pictures"), OPT_BLIST_SHOW_BUTTON_XPM | OPT_BLIST_NO_BUTTON_TEXT,
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
620 _("Text"), 0,
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
621 _("Pictures and text"), OPT_BLIST_SHOW_BUTTON_XPM,
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
622 _("None"), OPT_BLIST_NO_BUTTON_TEXT, NULL);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
623
5530
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
624 vbox = gaim_gtk_make_frame (ret, _("Buddy List Window"));
5440
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
625 gaim_button(_("_Raise window on events"), &blist_options, OPT_BLIST_POPUP, vbox);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
626
5530
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
627 vbox = gaim_gtk_make_frame (ret, _("Group Display"));
5440
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
628 /* gaim_button(_("Hide _groups with no online buddies"), &blist_options, OPT_BLIST_NO_MT_GRP, vbox); */
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
629 gaim_button(_("Show _numbers in groups"), &blist_options, OPT_BLIST_SHOW_GRPNUM, vbox);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
630
5530
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
631 vbox = gaim_gtk_make_frame (ret, _("Buddy Display"));
5440
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
632 button = gaim_button(_("Show buddy _icons"), &blist_options, OPT_BLIST_SHOW_ICONS, vbox);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
633 b2 = gaim_button(_("Show _warning levels"), &blist_options, OPT_BLIST_SHOW_WARN, vbox);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
634 if (blist_options & OPT_BLIST_SHOW_ICONS)
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
635 gtk_widget_set_sensitive(GTK_WIDGET(b2), FALSE);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
636 g_signal_connect(G_OBJECT(button), "clicked",
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
637 G_CALLBACK(gaim_gtk_toggle_sensitive), b2);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
638 b2 = gaim_button(_("Show idle _times"), &blist_options, OPT_BLIST_SHOW_IDLETIME, vbox);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
639 if (blist_options & OPT_BLIST_SHOW_ICONS)
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
640 gtk_widget_set_sensitive(GTK_WIDGET(b2), FALSE);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
641 g_signal_connect(G_OBJECT(button), "clicked",
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
642 G_CALLBACK(gaim_gtk_toggle_sensitive), b2);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
643 gaim_button(_("Dim i_dle buddies"), &blist_options, OPT_BLIST_GREY_IDLERS, vbox);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
644
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
645 gtk_widget_show_all(ret);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
646 return ret;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
647 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
648
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
649 GtkWidget *conv_page() {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
650 GtkWidget *ret;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
651 GtkWidget *vbox;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
652 GtkWidget *label;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
653 GtkSizeGroup *sg;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
654 GList *names = NULL;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
655 int i;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
656
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
657 ret = gtk_vbox_new(FALSE, 18);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
658 gtk_container_set_border_width(GTK_CONTAINER(ret), 12);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
659
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
660 sg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL);
5530
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
661 vbox = gaim_gtk_make_frame(ret, _("Conversations"));
5440
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
662
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
663 /* Build a list of names. */
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
664 for (i = 0; i < gaim_conv_placement_get_fnc_count(); i++) {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
665 names = g_list_append(names, (char *)gaim_conv_placement_get_name(i));
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
666 names = g_list_append(names, GINT_TO_POINTER(i));
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
667 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
668
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
669 label = gaim_dropdown_from_list(vbox, _("_Placement:"),
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
670 &conv_placement_option, -1, names);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
671
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
672 g_list_free(names);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
673
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
674 gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
675 gtk_size_group_add_widget(sg, label);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
676
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
677 gaim_button(_("Show IMs and chats in _same tabbed window."),
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
678 &convo_options, OPT_CONVO_COMBINE, vbox);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
679
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
680 gtk_widget_show_all(ret);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
681
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
682 return ret;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
683 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
684
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
685 GtkWidget *im_page() {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
686 GtkWidget *ret;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
687 GtkWidget *vbox;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
688 GtkWidget *typingbutton, *widge;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
689 GtkSizeGroup *sg;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
690
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
691 ret = gtk_vbox_new(FALSE, 18);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
692 gtk_container_set_border_width (GTK_CONTAINER (ret), 12);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
693
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
694 sg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
695
5530
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
696 vbox = gaim_gtk_make_frame (ret, _("Window"));
5440
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
697 widge = gaim_dropdown(vbox, _("Show _buttons as:"), &im_options, OPT_IM_BUTTON_TEXT | OPT_IM_BUTTON_XPM,
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
698 _("Pictures"), OPT_IM_BUTTON_XPM,
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
699 _("Text"), OPT_IM_BUTTON_TEXT,
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
700 _("Pictures and text"), OPT_IM_BUTTON_XPM | OPT_IM_BUTTON_TEXT, NULL);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
701 gtk_size_group_add_widget(sg, widge);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
702 gtk_misc_set_alignment(GTK_MISC(widge), 0, 0);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
703 gaim_labeled_spin_button(vbox, _("New window _width:"), &conv_size.width, 25, 9999, sg);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
704 gaim_labeled_spin_button(vbox, _("New window _height:"), &conv_size.height, 25, 9999, sg);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
705 gaim_labeled_spin_button(vbox, _("_Entry field height:"), &conv_size.entry_height, 25, 9999, sg);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
706 gaim_button(_("_Raise windows on events"), &im_options, OPT_IM_POPUP, vbox);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
707 gaim_button(_("Hide window on _send"), &im_options, OPT_IM_POPDOWN, vbox);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
708 gtk_widget_show (vbox);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
709
5530
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
710 vbox = gaim_gtk_make_frame (ret, _("Buddy Icons"));
5440
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
711 gaim_button(_("Hide buddy _icons"), &im_options, OPT_IM_HIDE_ICONS, vbox);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
712 gaim_button(_("Disable buddy icon a_nimation"), &im_options, OPT_IM_NO_ANIMATION, vbox);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
713
5530
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
714 vbox = gaim_gtk_make_frame (ret, _("Display"));
5440
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
715 gaim_button(_("Show _logins in window"), &im_options, OPT_IM_LOGON, vbox);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
716 gaim_button(_("Show a_liases in tabs/titles"), &im_options, OPT_IM_ALIAS_TAB, vbox);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
717
5530
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
718 vbox = gaim_gtk_make_frame (ret, _("Typing Notification"));
5440
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
719 typingbutton = gaim_button(_("Notify buddies that you are _typing to them"), &misc_options,
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
720 OPT_MISC_STEALTH_TYPING, vbox);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
721 gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON(typingbutton), !gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(typingbutton)));
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
722 misc_options ^= OPT_MISC_STEALTH_TYPING;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
723
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
724 gtk_widget_show_all(ret);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
725 return ret;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
726 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
727
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
728 GtkWidget *chat_page() {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
729 GtkWidget *ret;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
730 GtkWidget *vbox;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
731 GtkWidget *dd;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
732 GtkSizeGroup *sg;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
733
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
734 ret = gtk_vbox_new(FALSE, 18);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
735 gtk_container_set_border_width (GTK_CONTAINER (ret), 12);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
736
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
737 sg = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
738
5530
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
739 vbox = gaim_gtk_make_frame (ret, _("Window"));
5440
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
740 dd = gaim_dropdown(vbox, _("Show _buttons as:"), &chat_options, OPT_CHAT_BUTTON_TEXT | OPT_CHAT_BUTTON_XPM,
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
741 _("Pictures"), OPT_CHAT_BUTTON_XPM,
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
742 _("Text"), OPT_CHAT_BUTTON_TEXT,
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
743 _("Pictures and text"), OPT_CHAT_BUTTON_XPM | OPT_CHAT_BUTTON_TEXT, NULL);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
744 gtk_size_group_add_widget(sg, dd);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
745 gtk_misc_set_alignment(GTK_MISC(dd), 0, 0);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
746 gaim_labeled_spin_button(vbox, _("New window _width:"), &buddy_chat_size.width, 25, 9999, sg);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
747 gaim_labeled_spin_button(vbox, _("New window _height:"), &buddy_chat_size.height, 25, 9999, sg);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
748 gaim_labeled_spin_button(vbox, _("_Entry field height:"), &buddy_chat_size.entry_height, 25, 9999, sg);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
749 gaim_button(_("_Raise windows on events"), &chat_options, OPT_CHAT_POPUP, vbox);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
750
5530
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
751 vbox = gaim_gtk_make_frame (ret, _("Tab Completion"));
5440
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
752 gaim_button(_("_Tab-complete nicks"), &chat_options, OPT_CHAT_TAB_COMPLETE, vbox);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
753 gaim_button(_("_Old-style tab completion"), &chat_options, OPT_CHAT_OLD_STYLE_TAB, vbox);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
754
5530
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
755 vbox = gaim_gtk_make_frame (ret, _("Display"));
5440
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
756 gaim_button(_("_Show people joining/leaving in window"), &chat_options, OPT_CHAT_LOGON, vbox);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
757 gaim_button(_("Co_lorize screennames"), &chat_options, OPT_CHAT_COLORIZE, vbox);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
758
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
759 gtk_widget_show_all(ret);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
760 return ret;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
761 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
762
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
763 GtkWidget *tab_page() {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
764 GtkWidget *ret;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
765 GtkWidget *vbox;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
766 GtkWidget *dd;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
767 GtkWidget *button;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
768 GtkSizeGroup *sg;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
769 ret = gtk_vbox_new(FALSE, 18);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
770 gtk_container_set_border_width (GTK_CONTAINER (ret), 12);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
771
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
772 sg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
773
5530
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
774 vbox = gaim_gtk_make_frame (ret, _("IM Tabs"));
5440
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
775 dd = gaim_dropdown(vbox, _("Tab _placement:"), &im_options, OPT_IM_SIDE_TAB | OPT_IM_BR_TAB,
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
776 _("Top"), 0,
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
777 _("Bottom"), OPT_IM_BR_TAB,
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
778 _("Left"), OPT_IM_SIDE_TAB,
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
779 _("Right"), OPT_IM_BR_TAB | OPT_IM_SIDE_TAB, NULL);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
780 gtk_size_group_add_widget(sg, dd);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
781 gaim_button(_("Show all _instant messages in one tabbed\nwindow"), &im_options, OPT_IM_ONE_WINDOW, vbox);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
782
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
783
5530
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
784 vbox = gaim_gtk_make_frame (ret, _("Chat Tabs"));
5440
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
785 dd = gaim_dropdown(vbox, _("Tab _placement:"), &chat_options, OPT_CHAT_SIDE_TAB | OPT_CHAT_BR_TAB,
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
786 _("Top"), 0,
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
787 _("Bottom"), OPT_CHAT_BR_TAB,
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
788 _("Left"), OPT_CHAT_SIDE_TAB,
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
789 _("Right"), OPT_CHAT_SIDE_TAB | OPT_CHAT_BR_TAB, NULL);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
790 gtk_size_group_add_widget(sg, dd);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
791 gaim_button(_("Show all c_hats in one tabbed window"), &chat_options, OPT_CHAT_ONE_WINDOW,
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
792 vbox);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
793
5530
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
794 vbox = gaim_gtk_make_frame (ret, _("Tab Options"));
5440
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
795 button = gaim_button(_("Show _close button on tabs."), &convo_options, OPT_CONVO_NO_X_ON_TAB, vbox);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
796 convo_options ^= OPT_CONVO_NO_X_ON_TAB;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
797 gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON(button), !gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(button)));
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
798
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
799
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
800 gtk_widget_show_all(ret);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
801 return ret;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
802 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
803
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
804 GtkWidget *proxy_page() {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
805 GtkWidget *ret;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
806 GtkWidget *vbox;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
807 GtkWidget *entry;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
808 GtkWidget *label;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
809 GtkWidget *hbox;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
810 GtkWidget *table;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
811
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
812 ret = gtk_vbox_new(FALSE, 18);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
813 gtk_container_set_border_width (GTK_CONTAINER (ret), 12);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
814
5530
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
815 vbox = gaim_gtk_make_frame (ret, _("Proxy Type"));
5440
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
816 gaim_dropdown(vbox, _("Proxy _type:"), (int*)&global_proxy_info.proxytype, -1,
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
817 _("No proxy"), PROXY_NONE,
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
818 "SOCKS 4", PROXY_SOCKS4,
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
819 "SOCKS 5", PROXY_SOCKS5,
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
820 "HTTP", PROXY_HTTP, NULL);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
821
5530
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
822 vbox = gaim_gtk_make_frame(ret, _("Proxy Server"));
5440
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
823 prefs_proxy_frame = vbox;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
824
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
825 if (global_proxy_info.proxytype == PROXY_NONE)
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
826 gtk_widget_set_sensitive(GTK_WIDGET(vbox), FALSE);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
827
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
828 table = gtk_table_new(2, 4, FALSE);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
829 gtk_container_set_border_width(GTK_CONTAINER(table), 5);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
830 gtk_table_set_col_spacings(GTK_TABLE(table), 5);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
831 gtk_table_set_row_spacings(GTK_TABLE(table), 10);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
832 gtk_container_add(GTK_CONTAINER(vbox), table);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
833
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
834
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
835 label = gtk_label_new_with_mnemonic(_("_Host"));
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
836 gtk_misc_set_alignment(GTK_MISC(label), 1.0, 0.5);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
837 gtk_table_attach(GTK_TABLE(table), label, 0, 1, 0, 1, GTK_FILL, 0, 0, 0);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
838
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
839 entry = gtk_entry_new();
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
840 gtk_label_set_mnemonic_widget(GTK_LABEL(label), entry);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
841 gtk_table_attach(GTK_TABLE(table), entry, 1, 2, 0, 1, GTK_FILL, 0, 0, 0);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
842 g_signal_connect(G_OBJECT(entry), "changed",
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
843 G_CALLBACK(proxy_print_option), (void *)PROXYHOST);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
844 gtk_entry_set_text(GTK_ENTRY(entry), global_proxy_info.proxyhost);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
845
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
846 hbox = gtk_hbox_new(TRUE, 5);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
847 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
848
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
849 label = gtk_label_new_with_mnemonic(_("Port"));
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
850 gtk_misc_set_alignment(GTK_MISC(label), 1.0, 0.5);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
851 gtk_table_attach(GTK_TABLE(table), label, 0, 1, 1, 2, GTK_FILL, 0, 0, 0);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
852
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
853 entry = gtk_entry_new();
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
854 gtk_label_set_mnemonic_widget(GTK_LABEL(label), entry);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
855 gtk_table_attach(GTK_TABLE(table), entry, 1, 2, 1, 2, GTK_FILL, 0, 0, 0);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
856 g_signal_connect(G_OBJECT(entry), "changed",
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
857 G_CALLBACK(proxy_print_option), (void *)PROXYPORT);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
858
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
859 if (global_proxy_info.proxyport) {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
860 char buf[128];
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
861 g_snprintf(buf, sizeof(buf), "%d", global_proxy_info.proxyport);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
862 gtk_entry_set_text(GTK_ENTRY(entry), buf);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
863 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
864
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
865 label = gtk_label_new_with_mnemonic(_("_User"));
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
866 gtk_misc_set_alignment(GTK_MISC(label), 1.0, 0.5);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
867 gtk_table_attach(GTK_TABLE(table), label, 0, 1, 2, 3, GTK_FILL, 0, 0, 0);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
868
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
869 entry = gtk_entry_new();
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
870 gtk_label_set_mnemonic_widget(GTK_LABEL(label), entry);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
871 gtk_table_attach(GTK_TABLE(table), entry, 1, 2, 2, 3, GTK_FILL, 0, 0, 0);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
872 g_signal_connect(G_OBJECT(entry), "changed",
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
873 G_CALLBACK(proxy_print_option), (void *)PROXYUSER);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
874 gtk_entry_set_text(GTK_ENTRY(entry), global_proxy_info.proxyuser);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
875
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
876 hbox = gtk_hbox_new(TRUE, 5);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
877 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
878
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
879 label = gtk_label_new_with_mnemonic(_("Pa_ssword"));
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
880 gtk_misc_set_alignment(GTK_MISC(label), 1.0, 0.5);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
881 gtk_table_attach(GTK_TABLE(table), label, 0, 1, 3, 4, GTK_FILL, 0, 0, 0);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
882
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
883 entry = gtk_entry_new();
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
884 gtk_label_set_mnemonic_widget(GTK_LABEL(label), entry);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
885 gtk_table_attach(GTK_TABLE(table), entry, 1, 2, 3, 4, GTK_FILL , 0, 0, 0);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
886 gtk_entry_set_visibility(GTK_ENTRY(entry), FALSE);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
887 g_signal_connect(G_OBJECT(entry), "changed",
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
888 G_CALLBACK(proxy_print_option), (void *)PROXYPASS);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
889 gtk_entry_set_text(GTK_ENTRY(entry), global_proxy_info.proxypass);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
890
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
891 gtk_widget_show_all(ret);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
892 return ret;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
893 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
894
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
895 #ifndef _WIN32
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
896 static gboolean manual_browser_set(GtkWidget *entry, GdkEventFocus *event, gpointer data) {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
897 const char *program = gtk_entry_get_text(GTK_ENTRY(entry));
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
898
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
899 if (!program_is_valid(program)) {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
900 char *error = g_strdup_printf(_("The entered manual browser "
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
901 "'%s' is not valid. Hyperlinks will "
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
902 "not work."), program);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
903 gaim_notify_warning(NULL, NULL, error, NULL);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
904 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
905
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
906 g_strlcpy(web_command, program, sizeof(web_command));
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
907
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
908 /* carry on normally */
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
909 return FALSE;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
910 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
911
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
912 static GList *get_available_browsers()
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
913 {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
914 struct browser {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
915 char *name;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
916 char *command;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
917 int id;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
918 };
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
919
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
920 static struct browser possible_browsers[] = {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
921 {N_("Konqueror"), "kfmclient", BROWSER_KONQ},
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
922 {N_("Opera"), "opera", BROWSER_OPERA},
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
923 {N_("Galeon"), "galeon", BROWSER_GALEON},
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
924 {N_("Netscape"), "netscape", BROWSER_NETSCAPE},
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
925 {N_("Mozilla"), "mozilla", BROWSER_MOZILLA},
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
926 };
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
927 static const int num_possible_browsers = 5;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
928
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
929 GList *browsers = NULL;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
930 int i = 0;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
931
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
932 browsers = g_list_prepend(browsers, GINT_TO_POINTER(BROWSER_MANUAL));
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
933 browsers = g_list_prepend(browsers, _("Manual"));
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
934 for (i = 0; i < num_possible_browsers; i++) {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
935 if (program_is_valid(possible_browsers[i].command)) {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
936 browsers = g_list_prepend(browsers,
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
937 GINT_TO_POINTER(possible_browsers[i].id));
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
938 browsers = g_list_prepend(browsers, possible_browsers[i].name);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
939 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
940 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
941
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
942 return browsers;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
943 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
944
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
945 GtkWidget *browser_page() {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
946 GtkWidget *ret;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
947 GtkWidget *vbox;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
948 GtkWidget *hbox;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
949 GtkWidget *label;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
950 GtkSizeGroup *sg;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
951 GList *browsers = NULL;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
952
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
953 ret = gtk_vbox_new(FALSE, 18);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
954 gtk_container_set_border_width (GTK_CONTAINER (ret), 12);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
955
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
956 sg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL);
5530
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
957 vbox = gaim_gtk_make_frame (ret, _("Browser Selection"));
5440
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
958
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
959 browsers = get_available_browsers();
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
960 if (browsers != NULL) {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
961 label = gaim_dropdown_from_list(vbox,_("_Browser"), &web_browser, -1,
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
962 browsers);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
963 gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
964 gtk_size_group_add_widget(sg, label);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
965 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
966
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
967 hbox = gtk_hbox_new(FALSE, 5);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
968 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
969 label = gtk_label_new_with_mnemonic(_("_Manual: "));
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
970 gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
971 gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
972 gtk_size_group_add_widget(sg, label);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
973
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
974 browser_entry = gtk_entry_new();
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
975 gtk_label_set_mnemonic_widget(GTK_LABEL(label), browser_entry);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
976 if (web_browser != BROWSER_MANUAL)
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
977 gtk_widget_set_sensitive(hbox, FALSE);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
978 gtk_box_pack_start (GTK_BOX (hbox), browser_entry, FALSE, FALSE, 0);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
979
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
980 gtk_entry_set_text(GTK_ENTRY(browser_entry), web_command);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
981 g_signal_connect(G_OBJECT(browser_entry), "focus-out-event", G_CALLBACK(manual_browser_set), NULL);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
982
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
983 if (browsers != NULL) {
5530
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
984 vbox = gaim_gtk_make_frame (ret, _("Browser Options"));
5440
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
985 label = gaim_button(_("Open new _window by default"), &misc_options, OPT_MISC_BROWSER_POPUP, vbox);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
986 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
987
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
988 gtk_widget_show_all(ret);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
989 return ret;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
990 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
991 #endif /*_WIN32*/
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
992
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
993 GtkWidget *logging_page() {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
994 GtkWidget *ret;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
995 GtkWidget *vbox;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
996 ret = gtk_vbox_new(FALSE, 18);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
997 gtk_container_set_border_width (GTK_CONTAINER (ret), 12);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
998
5530
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
999 vbox = gaim_gtk_make_frame (ret, _("Message Logs"));
5440
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1000 gaim_button(_("_Log all instant messages"), &logging_options, OPT_LOG_CONVOS, vbox);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1001 gaim_button(_("Log all c_hats"), &logging_options, OPT_LOG_CHATS, vbox);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1002 gaim_button(_("Strip _HTML from logs"), &logging_options, OPT_LOG_STRIP_HTML, vbox);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1003
5530
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
1004 vbox = gaim_gtk_make_frame (ret, _("System Logs"));
5440
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1005 gaim_button(_("Log when buddies _sign on/sign off"), &logging_options, OPT_LOG_BUDDY_SIGNON,
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1006 vbox);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1007 gaim_button(_("Log when buddies become _idle/un-idle"), &logging_options, OPT_LOG_BUDDY_IDLE,
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1008 vbox);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1009 gaim_button(_("Log when buddies go away/come _back"), &logging_options, OPT_LOG_BUDDY_AWAY, vbox);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1010 gaim_button(_("Log your _own signons/idleness/awayness"), &logging_options, OPT_LOG_MY_SIGNON,
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1011 vbox);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1012 gaim_button(_("I_ndividual log file for each buddy's signons"), &logging_options,
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1013 OPT_LOG_INDIVIDUAL, vbox);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1014
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1015 gtk_widget_show_all(ret);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1016 return ret;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1017 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1018
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1019 static GtkWidget *sndcmd = NULL;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1020
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1021 #ifndef _WIN32
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1022 static gint sound_cmd_yeah(GtkEntry *entry, gpointer d)
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1023 {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1024 gaim_sound_set_command(gtk_entry_get_text(GTK_ENTRY(sndcmd)));
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1025 return TRUE;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1026 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1027 #endif
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1028
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1029 GtkWidget *sound_page() {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1030 GtkWidget *ret;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1031 GtkWidget *vbox;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1032 GtkSizeGroup *sg;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1033 #ifndef _WIN32
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1034 GtkWidget *dd;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1035 GtkWidget *hbox;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1036 GtkWidget *label;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1037 char *cmd;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1038 #endif
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1039
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1040 ret = gtk_vbox_new(FALSE, 18);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1041 gtk_container_set_border_width (GTK_CONTAINER (ret), 12);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1042
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1043 sg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1044
5530
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
1045 vbox = gaim_gtk_make_frame (ret, _("Sound Options"));
5440
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1046 gaim_button(_("_No sounds when you log in"), &sound_options, OPT_SOUND_SILENT_SIGNON, vbox);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1047 gaim_button(_("_Sounds while away"), &sound_options, OPT_SOUND_WHEN_AWAY, vbox);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1048
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1049 #ifndef _WIN32
5530
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
1050 vbox = gaim_gtk_make_frame (ret, _("Sound Method"));
5440
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1051 dd = gaim_dropdown(vbox, _("_Method"), &sound_options, OPT_SOUND_BEEP |
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1052 OPT_SOUND_ESD | OPT_SOUND_ARTS | OPT_SOUND_NAS |
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1053 OPT_SOUND_NORMAL | OPT_SOUND_CMD,
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1054 _("Console beep"), OPT_SOUND_BEEP,
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1055 #ifdef USE_AO
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1056 _("Automatic"), OPT_SOUND_NORMAL,
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1057 "ESD", OPT_SOUND_ESD,
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1058 "Arts", OPT_SOUND_ARTS,
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1059 #endif
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1060 #ifdef USE_NAS_AUDIO
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1061 "NAS", OPT_SOUND_NAS,
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1062 #endif
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1063 _("Command"), OPT_SOUND_CMD, NULL);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1064 gtk_size_group_add_widget(sg, dd);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1065 gtk_misc_set_alignment(GTK_MISC(dd), 0, 0);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1066
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1067 hbox = gtk_hbox_new(FALSE, 5);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1068 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 5);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1069
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1070 hbox = gtk_hbox_new(FALSE, 5);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1071 gtk_container_add(GTK_CONTAINER(vbox), hbox);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1072 label = gtk_label_new_with_mnemonic(_("Sound c_ommand\n(%s for filename)"));
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1073 gtk_size_group_add_widget(sg, label);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1074 gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1075 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 5);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1076
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1077 sndcmd = gtk_entry_new();
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1078 gtk_label_set_mnemonic_widget(GTK_LABEL(label), sndcmd);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1079
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1080 gtk_editable_set_editable(GTK_EDITABLE(sndcmd), TRUE);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1081 cmd = gaim_sound_get_command();
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1082 if(cmd)
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1083 gtk_entry_set_text(GTK_ENTRY(sndcmd), cmd);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1084 gtk_widget_set_size_request(sndcmd, 75, -1);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1085
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1086 gtk_widget_set_sensitive(sndcmd, (sound_options & OPT_SOUND_CMD));
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1087 gtk_box_pack_start(GTK_BOX(hbox), sndcmd, TRUE, TRUE, 5);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1088 g_signal_connect(G_OBJECT(sndcmd), "changed",
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1089 G_CALLBACK(sound_cmd_yeah), NULL);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1090 #endif /* _WIN32 */
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1091 gtk_widget_show_all(ret);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1092 return ret;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1093 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1094
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1095 GtkWidget *away_page() {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1096 GtkWidget *ret;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1097 GtkWidget *vbox;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1098 GtkWidget *hbox;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1099 GtkWidget *label;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1100 GtkWidget *button;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1101 GtkWidget *select;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1102 GtkWidget *dd;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1103 GtkSizeGroup *sg;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1104
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1105 ret = gtk_vbox_new(FALSE, 18);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1106 gtk_container_set_border_width (GTK_CONTAINER (ret), 12);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1107
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1108 sg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1109
5530
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
1110 vbox = gaim_gtk_make_frame (ret, _("Away"));
5440
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1111 gaim_button(_("_Sending messages removes away status"), &away_options, OPT_AWAY_BACK_ON_IM, vbox);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1112 gaim_button(_("_Queue new messages when away"), &away_options, OPT_AWAY_QUEUE, vbox);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1113
5530
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
1114 vbox = gaim_gtk_make_frame (ret, _("Auto-response"));
5440
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1115 hbox = gtk_hbox_new(FALSE, 0);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1116 gtk_container_add(GTK_CONTAINER(vbox), hbox);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1117 gaim_labeled_spin_button(hbox, _("Seconds before _resending:"),
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1118 &away_resend, 1, 24 * 60 * 60, sg);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1119 gaim_button(_("_Don't send auto-response"), &away_options, OPT_AWAY_NO_AUTO_RESP, vbox);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1120 gaim_button(_("_Only send auto-response when idle"), &away_options, OPT_AWAY_IDLE_RESP, vbox);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1121 gaim_button(_("Do_n't send auto-response in active conversations"), &away_options, OPT_AWAY_DELAY_IN_USE, vbox);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1122
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1123 if (away_options & OPT_AWAY_NO_AUTO_RESP)
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1124 gtk_widget_set_sensitive(hbox, FALSE);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1125
5530
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
1126 vbox = gaim_gtk_make_frame (ret, _("Idle"));
5440
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1127 dd = gaim_dropdown(vbox, _("Idle _time reporting:"), &report_idle, -1,
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1128 _("None"), IDLE_NONE,
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1129 _("Gaim usage"), IDLE_GAIM,
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1130 #ifdef USE_SCREENSAVER
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1131 #ifndef _WIN32
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1132 _("X usage"), IDLE_SCREENSAVER,
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1133 #else
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1134 _("Windows usage"), IDLE_SCREENSAVER,
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1135 #endif
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1136 #endif
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1137 NULL);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1138 gtk_size_group_add_widget(sg, dd);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1139 gtk_misc_set_alignment(GTK_MISC(dd), 0, 0);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1140
5530
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
1141 vbox = gaim_gtk_make_frame (ret, _("Auto-away"));
5440
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1142 button = gaim_button(_("Set away _when idle"), &away_options, OPT_AWAY_AUTO, vbox);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1143 select = gaim_labeled_spin_button(vbox, _("_Minutes before setting away:"), &auto_away, 1, 24 * 60, sg);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1144 if (!(away_options & OPT_AWAY_AUTO))
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1145 gtk_widget_set_sensitive(GTK_WIDGET(select), FALSE);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1146 g_signal_connect(G_OBJECT(button), "clicked",
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1147 G_CALLBACK(gaim_gtk_toggle_sensitive), select);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1148
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1149 label = gtk_label_new_with_mnemonic(_("Away m_essage:"));
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1150 gtk_size_group_add_widget(sg, label);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1151 gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1152 hbox = gtk_hbox_new(FALSE, 0);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1153 gtk_container_add(GTK_CONTAINER(vbox), hbox);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1154 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1155 prefs_away_menu = gtk_option_menu_new();
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1156 gtk_label_set_mnemonic_widget(GTK_LABEL(label), prefs_away_menu);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1157 if (!(away_options & OPT_AWAY_AUTO))
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1158 gtk_widget_set_sensitive(GTK_WIDGET(prefs_away_menu), FALSE);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1159 g_signal_connect(G_OBJECT(button), "clicked",
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1160 G_CALLBACK(gaim_gtk_toggle_sensitive), prefs_away_menu);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1161 default_away_menu_init(prefs_away_menu);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1162 gtk_widget_show(prefs_away_menu);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1163 gtk_box_pack_start(GTK_BOX(hbox), prefs_away_menu, FALSE, FALSE, 0);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1164
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1165 gtk_widget_show_all(ret);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1166 return ret;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1167 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1168
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1169 static GtkWidget *plugin_description=NULL, *plugin_details=NULL;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1170
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1171 static void prefs_plugin_sel (GtkTreeSelection *sel, GtkTreeModel *model)
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1172 {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1173 gchar *buf, *pname, *perr, *pdesc, *pauth, *pweb;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1174 GtkTreeIter iter;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1175 GValue val = { 0, };
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1176 GaimPlugin *plug;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1177
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1178 if (! gtk_tree_selection_get_selected (sel, &model, &iter))
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1179 return;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1180 gtk_tree_model_get_value (model, &iter, 2, &val);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1181 plug = g_value_get_pointer(&val);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1182
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1183 pname = g_markup_escape_text(_(plug->info->name), -1);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1184 pdesc = g_markup_escape_text(_(plug->info->description), -1);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1185 pauth = g_markup_escape_text(_(plug->info->author), -1);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1186 pweb = g_markup_escape_text(_(plug->info->homepage), -1);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1187 if (plug->error != NULL) {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1188 perr = g_markup_escape_text(_(plug->error), -1);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1189 buf = g_strdup_printf(
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1190 "<span size=\"larger\">%s %s</span>\n\n"
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1191 "<span weight=\"bold\" color=\"red\">%s</span>\n\n"
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1192 "%s",
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1193 pname, plug->info->version, perr, pdesc);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1194 g_free(perr);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1195 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1196 else {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1197 buf = g_strdup_printf(
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1198 "<span size=\"larger\">%s %s</span>\n\n%s",
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1199 pname, plug->info->version, pdesc);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1200 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1201 gtk_label_set_markup(GTK_LABEL(plugin_description), buf);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1202 g_free(buf);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1203
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1204 buf = g_strdup_printf(
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1205 #ifndef _WIN32
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1206 _("<span size=\"larger\">%s %s</span>\n\n"
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1207 "<span weight=\"bold\">Written by:</span>\t%s\n"
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1208 "<span weight=\"bold\">Web site:</span>\t\t%s\n"
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1209 "<span weight=\"bold\">File name:</span>\t%s"),
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1210 #else
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1211 _("<span size=\"larger\">%s %s</span>\n\n"
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1212 "<span weight=\"bold\">Written by:</span> %s\n"
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1213 "<span weight=\"bold\">URL:</span> %s\n"
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1214 "<span weight=\"bold\">File name:</span> %s"),
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1215 #endif
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1216 pname, plug->info->version, pauth, pweb, plug->path);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1217
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1218 gtk_label_set_markup(GTK_LABEL(plugin_details), buf);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1219 g_value_unset(&val);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1220 g_free(buf);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1221 g_free(pname);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1222 g_free(pdesc);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1223 g_free(pauth);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1224 g_free(pweb);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1225 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1226
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1227 static void plugin_load (GtkCellRendererToggle *cell, gchar *pth, gpointer data)
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1228 {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1229 GtkTreeModel *model = (GtkTreeModel *)data;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1230 GtkTreeIter iter;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1231 GtkTreePath *path = gtk_tree_path_new_from_string(pth);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1232 GaimPlugin *plug;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1233 gchar buf[1024];
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1234
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1235 GdkCursor *wait = gdk_cursor_new (GDK_WATCH);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1236 gdk_window_set_cursor(prefs->window, wait);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1237 gdk_cursor_unref(wait);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1238
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1239 gtk_tree_model_get_iter (model, &iter, path);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1240 gtk_tree_model_get (model, &iter, 2, &plug, -1);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1241
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1242 if (!gaim_plugin_is_loaded(plug)) {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1243 gaim_plugin_load(plug);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1244
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1245 /*
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1246 * NOTE: This is basically the same check as before
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1247 * (plug->type == plugin), but now there aren't plugin types.
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1248 * Not yet, anyway. I want to do a V2 of the plugin API.
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1249 * The thing is, we should have a flag specifying the UI type,
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1250 * or just whether it's a general plugin or a UI-specific
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1251 * plugin. We should only load this if it's UI-specific.
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1252 *
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1253 * -- ChipX86
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1254 */
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1255 if (GAIM_IS_GTK_PLUGIN(plug))
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1256 {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1257 GtkWidget *config_frame;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1258 GaimGtkPluginUiInfo *ui_info;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1259
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1260 ui_info = GAIM_GTK_PLUGIN_UI_INFO(plug);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1261 config_frame = gaim_gtk_plugin_get_config_frame(plug);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1262
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1263 if (config_frame != NULL) {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1264 ui_info->iter = g_new0(GtkTreeIter, 1);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1265 prefs_notebook_add_page(_(plug->info->name), NULL,
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1266 config_frame, ui_info->iter,
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1267 &plugin_iter, notebook_page++);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1268
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1269 if (gtk_tree_model_iter_n_children(GTK_TREE_MODEL(prefstree),
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1270 &plugin_iter) == 1) {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1271
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1272 /* Expand the tree for the first plugin added */
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1273 GtkTreePath *path2;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1274
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1275 path2 = gtk_tree_model_get_path(GTK_TREE_MODEL(prefstree),
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1276 &plugin_iter);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1277 gtk_tree_view_expand_row(GTK_TREE_VIEW(tree_v),
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1278 path2, TRUE);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1279 gtk_tree_path_free(path2);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1280 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1281 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1282 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1283 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1284 else {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1285 if (GAIM_IS_GTK_PLUGIN(plug)) {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1286 GaimGtkPluginUiInfo *ui_info;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1287
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1288 ui_info = GAIM_GTK_PLUGIN_UI_INFO(plug);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1289
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1290 if (ui_info != NULL && ui_info->iter != NULL) {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1291 gtk_tree_store_remove(GTK_TREE_STORE(prefstree), ui_info->iter);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1292 g_free(ui_info->iter);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1293 ui_info->iter = NULL;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1294 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1295 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1296
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1297 gaim_plugin_unload(plug);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1298 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1299
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1300 gdk_window_set_cursor(prefs->window, NULL);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1301
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1302 if (plug->error != NULL) {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1303 g_snprintf(buf, sizeof(buf),
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1304 "<span size=\"larger\">%s %s</span>\n\n"
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1305 "<span weight=\"bold\" color=\"red\">%s</span>\n\n"
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1306 "%s",
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1307 g_markup_escape_text(_(plug->info->name), -1),
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1308 plug->info->version,
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1309 g_markup_escape_text(plug->error, -1),
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1310 g_markup_escape_text(_(plug->info->description), -1));
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1311 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1312 else {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1313 g_snprintf(buf, sizeof(buf),
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1314 "<span size=\"larger\">%s %s</span>\n\n%s",
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1315 g_markup_escape_text(_(plug->info->name), -1),
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1316 plug->info->version,
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1317 g_markup_escape_text(_(plug->info->description), -1));
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1318 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1319
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1320 gtk_label_set_markup(GTK_LABEL(plugin_description), buf);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1321 gtk_list_store_set (GTK_LIST_STORE (model), &iter, 0,
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1322 gaim_plugin_is_loaded(plug), -1);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1323
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1324 gtk_label_set_markup(GTK_LABEL(plugin_description), buf);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1325 gtk_tree_path_free(path);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1326 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1327
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1328 static void
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1329 update_plugin_list(void *data)
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1330 {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1331 GtkListStore *ls = GTK_LIST_STORE(data);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1332 GtkTreeIter iter;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1333 GList *probes;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1334 GaimPlugin *plug;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1335
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1336 gtk_list_store_clear(ls);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1337
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1338 for (probes = gaim_plugins_get_all();
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1339 probes != NULL;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1340 probes = probes->next) {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1341
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1342 plug = probes->data;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1343
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1344 if (plug->info->type != GAIM_PLUGIN_STANDARD)
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1345 continue;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1346
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1347 gtk_list_store_append (ls, &iter);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1348 gtk_list_store_set(ls, &iter,
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1349 0, gaim_plugin_is_loaded(plug),
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1350 1, plug->info->name ? _(plug->info->name) : plug->path,
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1351 2, plug, -1);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1352 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1353 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1354
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1355 static GtkWidget *plugin_page ()
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1356 {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1357 GtkWidget *ret;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1358 GtkWidget *sw, *vp;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1359 GtkWidget *event_view;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1360 GtkListStore *ls;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1361 GtkCellRenderer *rend, *rendt;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1362 GtkTreeViewColumn *col;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1363 GtkTreeSelection *sel;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1364 GtkTreePath *path;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1365 GtkWidget *nb;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1366
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1367 ret = gtk_vbox_new(FALSE, 18);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1368 gtk_container_set_border_width (GTK_CONTAINER (ret), 12);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1369
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1370 sw = gtk_scrolled_window_new(NULL,NULL);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1371 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), GTK_POLICY_NEVER, GTK_POLICY_ALWAYS);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1372 gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW(sw), GTK_SHADOW_IN);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1373
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1374 gtk_box_pack_start(GTK_BOX(ret), sw, TRUE, TRUE, 0);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1375
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1376 ls = gtk_list_store_new (3, G_TYPE_BOOLEAN, G_TYPE_STRING, G_TYPE_POINTER);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1377
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1378 update_plugin_list(ls);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1379
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1380 event_view = gtk_tree_view_new_with_model (GTK_TREE_MODEL(ls));
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1381
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1382 rend = gtk_cell_renderer_toggle_new();
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1383 sel = gtk_tree_view_get_selection (GTK_TREE_VIEW (event_view));
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1384
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1385
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1386 col = gtk_tree_view_column_new_with_attributes (_("Load"),
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1387 rend,
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1388 "active", 0,
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1389 NULL);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1390 gtk_tree_view_append_column (GTK_TREE_VIEW(event_view), col);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1391
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1392 rendt = gtk_cell_renderer_text_new();
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1393 col = gtk_tree_view_column_new_with_attributes (_("Name"),
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1394 rendt,
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1395 "text", 1,
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1396 NULL);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1397 gtk_tree_view_append_column (GTK_TREE_VIEW(event_view), col);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1398 g_object_unref(G_OBJECT(ls));
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1399 gtk_container_add(GTK_CONTAINER(sw), event_view);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1400
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1401
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1402 nb = gtk_notebook_new();
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1403 gtk_notebook_set_tab_pos (GTK_NOTEBOOK(nb), GTK_POS_BOTTOM);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1404 gtk_notebook_popup_disable(GTK_NOTEBOOK(nb));
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1405
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1406 /* Description */
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1407 sw = gtk_scrolled_window_new(NULL, NULL);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1408 gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW(sw), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1409 plugin_description = gtk_label_new(NULL);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1410
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1411 vp = gtk_viewport_new(NULL, NULL);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1412 gtk_viewport_set_shadow_type(GTK_VIEWPORT(vp), GTK_SHADOW_NONE);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1413 gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW(sw), GTK_SHADOW_NONE);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1414
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1415 gtk_container_add(GTK_CONTAINER(vp), plugin_description);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1416 gtk_container_add(GTK_CONTAINER(sw), vp);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1417
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1418 gtk_label_set_selectable(GTK_LABEL(plugin_description), TRUE);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1419 gtk_label_set_line_wrap(GTK_LABEL(plugin_description), TRUE);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1420 gtk_misc_set_alignment(GTK_MISC(plugin_description), 0, 0);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1421 gtk_misc_set_padding(GTK_MISC(plugin_description), 6, 6);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1422 gtk_notebook_append_page(GTK_NOTEBOOK(nb), sw, gtk_label_new(_("Description")));
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1423
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1424 /* Details */
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1425 sw = gtk_scrolled_window_new(NULL, NULL);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1426 gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW(sw), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1427 plugin_details = gtk_label_new(NULL);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1428
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1429 vp = gtk_viewport_new(NULL, NULL);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1430 gtk_viewport_set_shadow_type(GTK_VIEWPORT(vp), GTK_SHADOW_NONE);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1431 gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW(sw), GTK_SHADOW_NONE);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1432
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1433 gtk_container_add(GTK_CONTAINER(vp), plugin_details);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1434 gtk_container_add(GTK_CONTAINER(sw), vp);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1435
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1436 gtk_label_set_selectable(GTK_LABEL(plugin_details), TRUE);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1437 gtk_label_set_line_wrap(GTK_LABEL(plugin_details), TRUE);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1438 gtk_misc_set_alignment(GTK_MISC(plugin_details), 0, 0);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1439 gtk_misc_set_padding(GTK_MISC(plugin_details), 6, 6);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1440 gtk_notebook_append_page(GTK_NOTEBOOK(nb), sw, gtk_label_new(_("Details")));
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1441 gtk_box_pack_start(GTK_BOX(ret), nb, TRUE, TRUE, 0);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1442
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1443 g_signal_connect (G_OBJECT (sel), "changed",
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1444 G_CALLBACK (prefs_plugin_sel),
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1445 NULL);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1446 g_signal_connect (G_OBJECT(rend), "toggled",
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1447 G_CALLBACK(plugin_load), ls);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1448
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1449 path = gtk_tree_path_new_first();
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1450 gtk_tree_selection_select_path(sel, path);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1451 gtk_tree_path_free(path);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1452
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1453 gaim_plugins_register_probe_notify_cb(update_plugin_list, ls);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1454
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1455 gtk_widget_show_all(ret);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1456 return ret;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1457 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1458
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1459 static void event_toggled (GtkCellRendererToggle *cell, gchar *pth, gpointer data)
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1460 {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1461 GtkTreeModel *model = (GtkTreeModel *)data;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1462 GtkTreeIter iter;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1463 GtkTreePath *path = gtk_tree_path_new_from_string(pth);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1464 gint soundnum;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1465
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1466 gtk_tree_model_get_iter (model, &iter, path);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1467 gtk_tree_model_get (model, &iter, 2, &soundnum, -1);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1468
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1469 sound_options ^= gaim_sound_get_event_option(soundnum);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1470 gtk_list_store_set (GTK_LIST_STORE (model), &iter, 0, sound_options & gaim_sound_get_event_option(soundnum), -1);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1471
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1472 gtk_tree_path_free(path);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1473 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1474
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1475 static void test_sound(GtkWidget *button, gpointer i_am_NULL)
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1476 {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1477 guint32 tmp_sound = sound_options;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1478 if (!(sound_options & OPT_SOUND_WHEN_AWAY))
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1479 sound_options ^= OPT_SOUND_WHEN_AWAY;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1480 if (!(sound_options & gaim_sound_get_event_option(sound_row_sel)))
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1481 sound_options ^= gaim_sound_get_event_option(sound_row_sel);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1482 gaim_sound_play_event(sound_row_sel);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1483
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1484 sound_options = tmp_sound;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1485 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1486
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1487 static void reset_sound(GtkWidget *button, gpointer i_am_also_NULL)
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1488 {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1489 /* This just resets a sound file back to default */
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1490 gaim_sound_set_event_file(sound_row_sel, NULL);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1491
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1492 gtk_entry_set_text(GTK_ENTRY(sound_entry), "(default)");
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1493 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1494
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1495 void close_sounddialog(GtkWidget *w, GtkWidget *w2)
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1496 {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1497
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1498 GtkWidget *dest;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1499
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1500 if (!GTK_IS_WIDGET(w2))
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1501 dest = w;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1502 else
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1503 dest = w2;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1504
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1505 sounddialog = NULL;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1506
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1507 gtk_widget_destroy(dest);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1508 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1509
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1510 void do_select_sound(GtkWidget *w, int snd)
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1511 {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1512 const char *file;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1513
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1514 file = gtk_file_selection_get_filename(GTK_FILE_SELECTION(sounddialog));
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1515
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1516 /* If they type in a directory, change there */
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1517 if (file_is_dir(file, sounddialog))
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1518 return;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1519
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1520 /* Set it -- and forget it */
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1521 gaim_sound_set_event_file(snd, file);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1522
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1523 /* Set our text entry */
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1524 gtk_entry_set_text(GTK_ENTRY(sound_entry), file);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1525
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1526 /* Close the window! It's getting cold in here! */
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1527 close_sounddialog(NULL, sounddialog);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1528
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1529 if (last_sound_dir)
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1530 g_free(last_sound_dir);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1531 last_sound_dir = g_path_get_dirname(file);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1532 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1533
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1534 static void sel_sound(GtkWidget *button, gpointer being_NULL_is_fun)
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1535 {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1536 char *buf = g_malloc(BUF_LEN);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1537
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1538 if (!sounddialog) {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1539 sounddialog = gtk_file_selection_new(_("Sound Selection"));
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1540
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1541 gtk_file_selection_hide_fileop_buttons(GTK_FILE_SELECTION(sounddialog));
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1542
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1543 g_snprintf(buf, BUF_LEN - 1, "%s" G_DIR_SEPARATOR_S, last_sound_dir ? last_sound_dir : gaim_home_dir());
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1544
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1545 gtk_file_selection_set_filename(GTK_FILE_SELECTION(sounddialog), buf);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1546
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1547 g_signal_connect(G_OBJECT(sounddialog), "destroy",
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1548 G_CALLBACK(close_sounddialog), sounddialog);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1549
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1550 g_signal_connect(G_OBJECT(GTK_FILE_SELECTION(sounddialog)->ok_button),
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1551 "clicked",
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1552 G_CALLBACK(do_select_sound), (int *)sound_row_sel);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1553
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1554 g_signal_connect(G_OBJECT(GTK_FILE_SELECTION(sounddialog)->cancel_button),
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1555 "clicked",
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1556 G_CALLBACK(close_sounddialog), sounddialog);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1557 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1558
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1559 g_free(buf);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1560 gtk_widget_show(sounddialog);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1561 gdk_window_raise(sounddialog->window);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1562 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1563
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1564
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1565 static void prefs_sound_sel (GtkTreeSelection *sel, GtkTreeModel *model) {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1566 GtkTreeIter iter;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1567 GValue val = { 0, };
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1568 char *file;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1569
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1570 if (! gtk_tree_selection_get_selected (sel, &model, &iter))
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1571 return;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1572 gtk_tree_model_get_value (model, &iter, 2, &val);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1573 sound_row_sel = g_value_get_uint(&val);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1574 file = gaim_sound_get_event_file(sound_row_sel);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1575 if (sound_entry)
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1576 gtk_entry_set_text(GTK_ENTRY(sound_entry), file ? file : "(default)");
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1577 g_value_unset (&val);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1578 if (sounddialog)
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1579 gtk_widget_destroy(sounddialog);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1580 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1581
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1582 GtkWidget *sound_events_page() {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1583
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1584 GtkWidget *ret;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1585 GtkWidget *sw;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1586 GtkWidget *button, *hbox;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1587 GtkTreeIter iter;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1588 GtkWidget *event_view;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1589 GtkListStore *event_store;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1590 GtkCellRenderer *rend;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1591 GtkTreeViewColumn *col;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1592 GtkTreeSelection *sel;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1593 GtkTreePath *path;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1594 int j;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1595 char *file;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1596
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1597 ret = gtk_vbox_new(FALSE, 18);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1598 gtk_container_set_border_width (GTK_CONTAINER (ret), 12);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1599
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1600 sw = gtk_scrolled_window_new(NULL,NULL);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1601 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1602 gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW(sw), GTK_SHADOW_IN);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1603
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1604 gtk_box_pack_start(GTK_BOX(ret), sw, TRUE, TRUE, 0);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1605 event_store = gtk_list_store_new (3, G_TYPE_BOOLEAN, G_TYPE_STRING, G_TYPE_UINT);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1606
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1607 for (j=0; j < GAIM_NUM_SOUNDS; j++) {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1608 guint opt = gaim_sound_get_event_option(j);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1609 if (opt == 0)
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1610 continue;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1611
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1612 gtk_list_store_append (event_store, &iter);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1613 gtk_list_store_set(event_store, &iter,
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1614 0, sound_options & opt,
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1615 1, gettext(gaim_sound_get_event_label(j)),
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1616 2, j, -1);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1617 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1618
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1619 event_view = gtk_tree_view_new_with_model (GTK_TREE_MODEL(event_store));
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1620
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1621 rend = gtk_cell_renderer_toggle_new();
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1622 sel = gtk_tree_view_get_selection (GTK_TREE_VIEW (event_view));
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1623 g_signal_connect (G_OBJECT (sel), "changed",
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1624 G_CALLBACK (prefs_sound_sel),
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1625 NULL);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1626 g_signal_connect (G_OBJECT(rend), "toggled",
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1627 G_CALLBACK(event_toggled), event_store);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1628 path = gtk_tree_path_new_first();
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1629 gtk_tree_selection_select_path(sel, path);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1630 gtk_tree_path_free(path);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1631
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1632 col = gtk_tree_view_column_new_with_attributes (_("Play"),
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1633 rend,
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1634 "active", 0,
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1635 NULL);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1636 gtk_tree_view_append_column (GTK_TREE_VIEW(event_view), col);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1637
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1638 rend = gtk_cell_renderer_text_new();
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1639 col = gtk_tree_view_column_new_with_attributes (_("Event"),
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1640 rend,
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1641 "text", 1,
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1642 NULL);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1643 gtk_tree_view_append_column (GTK_TREE_VIEW(event_view), col);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1644 g_object_unref(G_OBJECT(event_store));
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1645 gtk_container_add(GTK_CONTAINER(sw), event_view);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1646
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1647 hbox = gtk_hbox_new(FALSE, 6);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1648 gtk_box_pack_start(GTK_BOX(ret), hbox, FALSE, FALSE, 0);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1649 sound_entry = gtk_entry_new();
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1650 file = gaim_sound_get_event_file(0);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1651 gtk_entry_set_text(GTK_ENTRY(sound_entry), file ? file : "(default)");
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1652 gtk_editable_set_editable(GTK_EDITABLE(sound_entry), FALSE);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1653 gtk_box_pack_start(GTK_BOX(hbox), sound_entry, FALSE, FALSE, 5);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1654
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1655 button = gtk_button_new_with_label(_("Test"));
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1656 g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(test_sound), NULL);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1657 gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 1);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1658
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1659 button = gtk_button_new_with_label(_("Reset"));
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1660 g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(reset_sound), NULL);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1661 gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 1);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1662
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1663 button = gtk_button_new_with_label(_("Choose..."));
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1664 g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(sel_sound), NULL);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1665 gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 1);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1666
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1667 gtk_widget_show_all (ret);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1668
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1669 return ret;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1670 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1671
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1672 void away_message_sel(GtkTreeSelection *sel, GtkTreeModel *model)
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1673 {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1674 GtkTreeIter iter;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1675 GValue val = { 0, };
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1676 gchar buffer[BUF_LONG];
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1677 char *tmp;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1678 struct away_message *am;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1679
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1680 if (! gtk_tree_selection_get_selected (sel, &model, &iter))
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1681 return;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1682 gtk_tree_model_get_value (model, &iter, 1, &val);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1683 am = g_value_get_pointer(&val);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1684 gtk_imhtml_clear(GTK_IMHTML(away_text));
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1685 strncpy(buffer, am->message, BUF_LONG);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1686 tmp = stylize(buffer, BUF_LONG);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1687 gtk_imhtml_append_text(GTK_IMHTML(away_text), tmp, -1, GTK_IMHTML_NO_TITLE |
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1688 GTK_IMHTML_NO_COMMENTS | GTK_IMHTML_NO_SCROLL);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1689 gtk_imhtml_append_text(GTK_IMHTML(away_text), "<BR>", -1, GTK_IMHTML_NO_TITLE |
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1690 GTK_IMHTML_NO_COMMENTS | GTK_IMHTML_NO_SCROLL);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1691 g_free(tmp);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1692 g_value_unset (&val);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1693
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1694 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1695
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1696 void remove_away_message(GtkWidget *widget, GtkTreeView *tv) {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1697 struct away_message *am;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1698 GtkTreeIter iter;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1699 GtkTreeSelection *sel = gtk_tree_view_get_selection(tv);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1700 GtkTreeModel *model = GTK_TREE_MODEL(prefs_away_store);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1701 GValue val = { 0, };
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1702
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1703 if (! gtk_tree_selection_get_selected (sel, &model, &iter))
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1704 return;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1705 gtk_tree_model_get_value (GTK_TREE_MODEL(prefs_away_store), &iter, 1, &val);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1706 am = g_value_get_pointer (&val);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1707 gtk_imhtml_clear(GTK_IMHTML(away_text));
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1708 rem_away_mess(NULL, am);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1709 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1710
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1711 GtkWidget *away_message_page() {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1712 GtkWidget *ret;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1713 GtkWidget *hbox;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1714 GtkWidget *button;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1715 GtkWidget *sw;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1716 GtkTreeIter iter;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1717 GtkWidget *event_view;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1718 GtkCellRenderer *rend;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1719 GtkTreeViewColumn *col;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1720 GtkTreeSelection *sel;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1721 GSList *awy = away_messages;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1722 struct away_message *a;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1723 GtkWidget *sw2;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1724 GtkSizeGroup *sg;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1725
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1726 ret = gtk_vbox_new(FALSE, 18);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1727 gtk_container_set_border_width (GTK_CONTAINER (ret), 12);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1728
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1729 sg = gtk_size_group_new(GTK_SIZE_GROUP_BOTH);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1730
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1731 sw = gtk_scrolled_window_new(NULL,NULL);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1732 away_text = gtk_imhtml_new(NULL, NULL);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1733 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), GTK_POLICY_NEVER, GTK_POLICY_ALWAYS);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1734 /*
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1735 gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(sw), GTK_SHADOW_IN);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1736 */
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1737 gtk_box_pack_start(GTK_BOX(ret), sw, TRUE, TRUE, 0);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1738
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1739 prefs_away_store = gtk_list_store_new (2, G_TYPE_STRING, G_TYPE_POINTER);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1740 while (awy) {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1741 a = (struct away_message *)awy->data;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1742 gtk_list_store_append (prefs_away_store, &iter);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1743 gtk_list_store_set(prefs_away_store, &iter,
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1744 0, a->name,
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1745 1, a, -1);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1746 awy = awy->next;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1747 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1748 event_view = gtk_tree_view_new_with_model (GTK_TREE_MODEL(prefs_away_store));
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1749
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1750
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1751 rend = gtk_cell_renderer_text_new();
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1752 col = gtk_tree_view_column_new_with_attributes ("NULL",
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1753 rend,
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1754 "text", 0,
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1755 NULL);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1756 gtk_tree_view_append_column (GTK_TREE_VIEW(event_view), col);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1757 gtk_tree_view_set_headers_visible (GTK_TREE_VIEW(event_view), FALSE);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1758 gtk_widget_show(event_view);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1759 gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(sw), event_view);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1760
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1761 sw2 = gtk_scrolled_window_new(NULL, NULL);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1762 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw2),
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1763 GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1764 gtk_box_pack_start(GTK_BOX(ret), sw2, TRUE, TRUE, 0);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1765
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1766 gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(sw2), away_text);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1767 gaim_setup_imhtml(away_text);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1768 sel = gtk_tree_view_get_selection (GTK_TREE_VIEW (event_view));
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1769 g_signal_connect (G_OBJECT (sel), "changed",
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1770 G_CALLBACK (away_message_sel),
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1771 NULL);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1772 hbox = gtk_hbox_new(TRUE, 5);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1773 gtk_box_pack_start(GTK_BOX(ret), hbox, FALSE, FALSE, 0);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1774 button = gtk_button_new_from_stock (GTK_STOCK_ADD);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1775 gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 0);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1776 gtk_size_group_add_widget(sg, button);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1777 g_signal_connect(G_OBJECT(button), "clicked",
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1778 G_CALLBACK(create_away_mess), NULL);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1779
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1780 button = gtk_button_new_from_stock (GTK_STOCK_REMOVE);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1781 gtk_size_group_add_widget(sg, button);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1782 g_signal_connect(G_OBJECT(button), "clicked",
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1783 G_CALLBACK(remove_away_message), event_view);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1784
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1785 gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 0);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1786
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1787 button = gaim_pixbuf_button_from_stock(_("_Edit"), GAIM_STOCK_EDIT, GAIM_BUTTON_HORIZONTAL);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1788 gtk_size_group_add_widget(sg, button);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1789 g_signal_connect(G_OBJECT(button), "clicked",
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1790 G_CALLBACK(create_away_mess), event_view);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1791 gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 0);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1792
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1793 gtk_widget_show_all(ret);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1794 return ret;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1795 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1796
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1797 GtkTreeIter *prefs_notebook_add_page(const char *text,
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1798 GdkPixbuf *pixbuf,
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1799 GtkWidget *page,
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1800 GtkTreeIter *iter,
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1801 GtkTreeIter *parent,
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1802 int ind) {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1803 GdkPixbuf *icon = NULL;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1804
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1805 if (pixbuf)
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1806 icon = gdk_pixbuf_scale_simple (pixbuf, 18, 18, GDK_INTERP_BILINEAR);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1807
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1808 gtk_tree_store_append (prefstree, iter, parent);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1809 gtk_tree_store_set (prefstree, iter, 0, icon, 1, text, 2, ind, -1);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1810
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1811 if (pixbuf)
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1812 g_object_unref(pixbuf);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1813 if (icon)
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1814 g_object_unref(icon);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1815 gtk_notebook_append_page(GTK_NOTEBOOK(prefsnotebook), page, gtk_label_new(text));
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1816 return iter;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1817 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1818
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1819 void prefs_notebook_init() {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1820 GtkTreeIter p, p2, c;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1821 GList *l;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1822 GaimPlugin *plug;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1823 prefs_notebook_add_page(_("Interface"), NULL, interface_page(), &p, NULL, notebook_page++);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1824 prefs_notebook_add_page(_("Smiley Themes"), NULL, theme_page(), &c, &p, notebook_page++);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1825 prefs_notebook_add_page(_("Fonts"), NULL, font_page(), &c, &p, notebook_page++);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1826 prefs_notebook_add_page(_("Message Text"), NULL, messages_page(), &c, &p, notebook_page++);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1827 prefs_notebook_add_page(_("Shortcuts"), NULL, hotkeys_page(), &c, &p, notebook_page++);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1828 prefs_notebook_add_page(_("Buddy List"), NULL, list_page(), &c, &p, notebook_page++);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1829 prefs_notebook_add_page(_("Conversations"), NULL, conv_page(), &p2, NULL, notebook_page++);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1830 prefs_notebook_add_page(_("IMs"), NULL, im_page(), &c, &p2, notebook_page++);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1831 prefs_notebook_add_page(_("Chats"), NULL, chat_page(), &c, &p2, notebook_page++);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1832 prefs_notebook_add_page(_("Tabs"), NULL, tab_page(), &c, &p2, notebook_page++);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1833 prefs_notebook_add_page(_("Proxy"), NULL, proxy_page(), &p, NULL, notebook_page++);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1834 #ifndef _WIN32
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1835 /* We use the registered default browser in windows */
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1836 prefs_notebook_add_page(_("Browser"), NULL, browser_page(), &p, NULL, notebook_page++);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1837 #endif
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1838 prefs_notebook_add_page(_("Logging"), NULL, logging_page(), &p, NULL, notebook_page++);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1839 prefs_notebook_add_page(_("Sounds"), NULL, sound_page(), &p, NULL, notebook_page++);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1840 prefs_notebook_add_page(_("Sound Events"), NULL, sound_events_page(), &c, &p, notebook_page++);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1841 prefs_notebook_add_page(_("Away / Idle"), NULL, away_page(), &p, NULL, notebook_page++);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1842 prefs_notebook_add_page(_("Away Messages"), NULL, away_message_page(), &c, &p, notebook_page++);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1843
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1844 if (gaim_plugins_enabled()) {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1845 prefs_notebook_add_page(_("Plugins"), NULL, plugin_page(), &plugin_iter, NULL, notebook_page++);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1846
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1847 for (l = gaim_plugins_get_loaded(); l != NULL; l = l->next) {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1848 plug = l->data;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1849
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1850 if (GAIM_IS_GTK_PLUGIN(plug)) {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1851 GtkWidget *config_frame;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1852 GaimGtkPluginUiInfo *ui_info;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1853
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1854 ui_info = GAIM_GTK_PLUGIN_UI_INFO(plug);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1855 config_frame = gaim_gtk_plugin_get_config_frame(plug);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1856
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1857 if (config_frame != NULL) {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1858 ui_info->iter = g_new0(GtkTreeIter, 1);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1859 prefs_notebook_add_page(_(plug->info->name), NULL,
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1860 config_frame, ui_info->iter,
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1861 &plugin_iter, notebook_page++);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1862 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1863 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1864 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1865 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1866 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1867
5530
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
1868 void gaim_gtk_prefs_show(void)
5440
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1869 {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1870 GtkWidget *vbox, *vbox2;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1871 GtkWidget *hbox;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1872 GtkWidget *frame;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1873 GtkTreeViewColumn *column;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1874 GtkCellRenderer *cell;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1875 GtkTreeSelection *sel;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1876 GtkWidget *notebook;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1877 GtkWidget *sep;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1878 GtkWidget *button;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1879 GtkSizeGroup *sg = gtk_size_group_new(GTK_SIZE_GROUP_BOTH);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1880
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1881 if (prefs) {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1882 gtk_window_present(GTK_WINDOW(prefs));
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1883 return;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1884 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1885
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1886 /* copy the preferences to tmp values...
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1887 * I liked "take affect immediately" Oh well :-( */
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1888
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1889 /* Back to instant-apply! I win! BU-HAHAHA! */
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1890
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1891 /* Create the window */
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1892 prefs = gtk_window_new(GTK_WINDOW_TOPLEVEL);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1893 gtk_window_set_role(GTK_WINDOW(prefs), "preferences");
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1894 gtk_widget_realize(prefs);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1895 gtk_window_set_title(GTK_WINDOW(prefs), _("Preferences"));
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1896 gtk_window_set_resizable (GTK_WINDOW(prefs), FALSE);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1897 g_signal_connect(G_OBJECT(prefs), "destroy",
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1898 G_CALLBACK(delete_prefs), NULL);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1899
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1900 vbox = gtk_vbox_new(FALSE, 5);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1901 gtk_container_set_border_width(GTK_CONTAINER(vbox), 5);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1902 gtk_container_add(GTK_CONTAINER(prefs), vbox);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1903 gtk_widget_show(vbox);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1904
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1905 hbox = gtk_hbox_new (FALSE, 6);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1906 gtk_container_set_border_width (GTK_CONTAINER (hbox), 6);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1907 gtk_container_add (GTK_CONTAINER(vbox), hbox);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1908 gtk_widget_show (hbox);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1909
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1910 frame = gtk_frame_new (NULL);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1911 gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_IN);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1912 gtk_box_pack_start (GTK_BOX (hbox), frame, FALSE, FALSE, 0);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1913 gtk_widget_show (frame);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1914
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1915 /* The tree -- much inspired by the Gimp */
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1916 prefstree = gtk_tree_store_new (3, GDK_TYPE_PIXBUF, G_TYPE_STRING, G_TYPE_INT);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1917 tree_v = gtk_tree_view_new_with_model (GTK_TREE_MODEL (prefstree));
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1918 gtk_container_add (GTK_CONTAINER (frame), tree_v);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1919
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1920 gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (tree_v), FALSE);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1921 gtk_widget_show(tree_v);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1922 /* icons */
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1923 /* XXX: to be used at a later date
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1924 cell = gtk_cell_renderer_pixbuf_new ();
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1925 column = gtk_tree_view_column_new_with_attributes ("icons", cell, "pixbuf", 0, NULL);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1926 */
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1927
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1928 /* text */
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1929 cell = gtk_cell_renderer_text_new ();
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1930 column = gtk_tree_view_column_new_with_attributes ("text", cell, "text", 1, NULL);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1931
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1932 gtk_tree_view_append_column (GTK_TREE_VIEW (tree_v), column);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1933
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1934 /* The right side */
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1935 frame = gtk_frame_new (NULL);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1936 gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_IN);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1937 gtk_box_pack_start (GTK_BOX (hbox), frame, TRUE, TRUE, 0);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1938 gtk_widget_show (frame);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1939
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1940 vbox2 = gtk_vbox_new (FALSE, 4);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1941 gtk_container_add (GTK_CONTAINER (frame), vbox2);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1942 gtk_widget_show (vbox2);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1943
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1944 frame = gtk_frame_new (NULL);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1945 gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_OUT);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1946 gtk_box_pack_start (GTK_BOX (vbox2), frame, FALSE, TRUE, 0);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1947 gtk_widget_show (frame);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1948
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1949 hbox = gtk_hbox_new (FALSE, 4);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1950 gtk_container_set_border_width (GTK_CONTAINER (hbox), 4);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1951 gtk_container_add (GTK_CONTAINER (frame), hbox);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1952 gtk_widget_show (hbox);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1953
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1954 preflabel = gtk_label_new(NULL);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1955 gtk_box_pack_end (GTK_BOX (hbox), preflabel, FALSE, FALSE, 0);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1956 gtk_widget_show (preflabel);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1957
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1958 /* The notebook */
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1959 prefsnotebook = notebook = gtk_notebook_new ();
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1960 gtk_notebook_set_show_tabs (GTK_NOTEBOOK (notebook), FALSE);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1961 gtk_notebook_set_show_border (GTK_NOTEBOOK (notebook), FALSE);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1962 gtk_box_pack_start (GTK_BOX (vbox2), notebook, FALSE, FALSE, 0);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1963
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1964 sel = gtk_tree_view_get_selection (GTK_TREE_VIEW (tree_v));
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1965 g_signal_connect (G_OBJECT (sel), "changed",
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1966 G_CALLBACK (pref_nb_select),
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1967 notebook);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1968 gtk_widget_show(notebook);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1969 sep = gtk_hseparator_new();
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1970 gtk_widget_show(sep);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1971 gtk_box_pack_start (GTK_BOX (vbox), sep, FALSE, FALSE, 0);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1972
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1973 /* The buttons^H to press! */
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1974 hbox = gtk_hbox_new (FALSE, 6);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1975 gtk_container_set_border_width (GTK_CONTAINER (hbox), 6);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1976 gtk_container_add (GTK_CONTAINER(vbox), hbox);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1977 gtk_widget_show (hbox);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1978
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1979 button = gtk_button_new_from_stock (GTK_STOCK_CLOSE);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1980 gtk_size_group_add_widget(sg, button);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1981 g_signal_connect_swapped(G_OBJECT(button), "clicked",
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1982 G_CALLBACK(gtk_widget_destroy), prefs);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1983 gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 0);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1984 gtk_widget_show(button);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1985
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1986 prefs_notebook_init();
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1987
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1988 gtk_tree_view_expand_all (GTK_TREE_VIEW(tree_v));
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1989 gtk_widget_show(prefs);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1990 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1991
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1992 static void set_misc_option(GtkWidget *w, int option)
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1993 {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1994 misc_options ^= option;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1995
5535
21c0f915e06a [gaim-migrate @ 5935]
Nathan Walp <nwalp@pidgin.im>
parents: 5530
diff changeset
1996 if(option == OPT_MISC_USE_SERVER_ALIAS) {
5440
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1997 /* XXX blist reset the aliases here */
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1998 gaim_conversation_foreach(gaim_conversation_autoset_title);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
1999 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2000 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2001
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2002 static void set_logging_option(GtkWidget *w, int option)
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2003 {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2004 logging_options ^= option;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2005
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2006 if (option == OPT_LOG_CONVOS || option == OPT_LOG_CHATS)
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2007 update_log_convs();
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2008 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2009
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2010 static void set_blist_option(GtkWidget *w, int option)
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2011 {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2012 struct gaim_gtk_buddy_list *gtkblist;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2013
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2014 gtkblist = GAIM_GTK_BLIST(gaim_get_blist());
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2015
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2016 blist_options ^= option;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2017
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2018 if (!gtkblist)
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2019 return;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2020
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2021 if (option == OPT_BLIST_SHOW_WARN)
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2022 gaim_gtk_blist_update_columns();
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2023 else if (option == OPT_BLIST_SHOW_IDLETIME) {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2024 gaim_gtk_blist_update_refresh_timeout();
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2025 gaim_gtk_blist_update_columns();
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2026 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2027 else if (option == OPT_BLIST_SHOW_ICONS) {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2028 gaim_gtk_blist_update_refresh_timeout();
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2029 gaim_gtk_blist_refresh(gaim_get_blist());
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2030 gaim_gtk_blist_update_columns();
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2031 } else
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2032 gaim_gtk_blist_refresh(gaim_get_blist());
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2033
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2034 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2035
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2036 static void set_convo_option(GtkWidget *w, int option)
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2037 {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2038 convo_options ^= option;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2039
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2040 if (option == OPT_CONVO_SHOW_SMILEY)
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2041 gaim_gtkconv_toggle_smileys();
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2042
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2043 if (option == OPT_CONVO_SHOW_TIME)
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2044 gaim_gtkconv_toggle_timestamps();
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2045
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2046 if (option == OPT_CONVO_CHECK_SPELLING)
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2047 gaim_gtkconv_toggle_spellchk();
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2048
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2049 if (option == OPT_CONVO_NO_X_ON_TAB)
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2050 gaim_gtkconv_toggle_close_buttons();
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2051 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2052
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2053 static void set_im_option(GtkWidget *w, int option)
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2054 {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2055 im_options ^= option;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2056
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2057 #if 0
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2058 if (option == OPT_IM_ONE_WINDOW)
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2059 im_tabize();
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2060 #endif
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2061
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2062 if (option == OPT_IM_HIDE_ICONS)
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2063 gaim_gtkconv_hide_buddy_icons();
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2064
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2065 if (option == OPT_IM_ALIAS_TAB)
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2066 gaim_conversation_foreach(gaim_conversation_autoset_title);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2067
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2068 if (option == OPT_IM_NO_ANIMATION)
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2069 gaim_gtkconv_set_anim();
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2070 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2071
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2072 static void set_chat_option(GtkWidget *w, int option)
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2073 {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2074 chat_options ^= option;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2075
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2076 #if 0
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2077 if (option == OPT_CHAT_ONE_WINDOW)
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2078 chat_tabize();
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2079 #endif
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2080 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2081
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2082 void set_sound_option(GtkWidget *w, int option)
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2083 {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2084 sound_options ^= option;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2085 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2086
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2087 static void set_font_option(GtkWidget *w, int option)
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2088 {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2089 font_options ^= option;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2090
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2091 gaim_gtkconv_update_font_buttons();
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2092 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2093
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2094 static void set_away_option(GtkWidget *w, int option)
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2095 {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2096 away_options ^= option;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2097
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2098 if (option == OPT_AWAY_QUEUE)
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2099 toggle_away_queue();
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2100 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2101
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2102 GtkWidget *gaim_button(const char *text, guint *options, int option, GtkWidget *page)
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2103 {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2104 GtkWidget *button;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2105 button = gtk_check_button_new_with_mnemonic(text);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2106 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), (*options & option));
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2107 gtk_box_pack_start(GTK_BOX(page), button, FALSE, FALSE, 0);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2108 g_object_set_data(G_OBJECT(button), "options", options);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2109
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2110 if (options == &misc_options) {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2111 g_signal_connect(G_OBJECT(button), "clicked",
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2112 G_CALLBACK(set_misc_option), (int *)option);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2113 } else if (options == &logging_options) {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2114 g_signal_connect(G_OBJECT(button), "clicked",
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2115 G_CALLBACK(set_logging_option), (int *)option);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2116 } else if (options == &blist_options) {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2117 g_signal_connect(G_OBJECT(button), "clicked",
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2118 G_CALLBACK(set_blist_option), (int *)option);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2119 } else if (options == &convo_options) {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2120 g_signal_connect(G_OBJECT(button), "clicked",
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2121 G_CALLBACK(set_convo_option), (int *)option);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2122 } else if (options == &im_options) {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2123 g_signal_connect(G_OBJECT(button), "clicked",
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2124 G_CALLBACK(set_im_option), (int *)option);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2125 } else if (options == &chat_options) {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2126 g_signal_connect(G_OBJECT(button), "clicked",
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2127 G_CALLBACK(set_chat_option), (int *)option);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2128 } else if (options == &font_options) {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2129 g_signal_connect(G_OBJECT(button), "clicked",
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2130 G_CALLBACK(set_font_option), (int *)option);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2131 } else if (options == &sound_options) {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2132 g_signal_connect(G_OBJECT(button), "clicked",
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2133 G_CALLBACK(set_sound_option), (int *)option);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2134 } else if (options == &away_options) {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2135 g_signal_connect(G_OBJECT(button), "clicked",
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2136 G_CALLBACK(set_away_option), (int *)option);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2137 } else {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2138 gaim_debug(GAIM_DEBUG_WARNING, "gaim_button",
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2139 "\"%s\" has no signal handler attached to it!\n", text);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2140 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2141 gtk_widget_show(button);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2142
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2143 return button;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2144 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2145
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2146 void default_away_menu_init(GtkWidget *omenu)
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2147 {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2148 GtkWidget *menu, *opt;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2149 int index = 0;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2150 GSList *awy = away_messages;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2151 struct away_message *a;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2152
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2153 menu = gtk_menu_new();
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2154
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2155 while (awy) {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2156 a = (struct away_message *)awy->data;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2157 opt = gtk_menu_item_new_with_label(a->name);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2158 g_signal_connect(G_OBJECT(opt), "activate",
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2159 G_CALLBACK(set_default_away), (gpointer)index);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2160 gtk_widget_show(opt);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2161 gtk_menu_shell_append(GTK_MENU_SHELL(menu), opt);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2162
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2163 awy = awy->next;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2164 index++;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2165 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2166
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2167 gtk_option_menu_remove_menu(GTK_OPTION_MENU(omenu));
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2168 gtk_option_menu_set_menu(GTK_OPTION_MENU(omenu), menu);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2169 gtk_option_menu_set_history(GTK_OPTION_MENU(omenu), g_slist_index(away_messages, default_away));
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2170 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2171
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2172 GtkWidget *pref_fg_picture = NULL;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2173 GtkWidget *pref_bg_picture = NULL;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2174
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2175 void destroy_colorsel(GtkWidget *w, gpointer d)
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2176 {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2177 if (d) {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2178 gtk_widget_destroy(fgcseld);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2179 fgcseld = NULL;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2180 } else {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2181 gtk_widget_destroy(bgcseld);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2182 bgcseld = NULL;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2183 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2184 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2185
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2186 void apply_color_dlg(GtkWidget *w, gpointer d)
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2187 {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2188 if ((int)d == 1) {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2189 gtk_color_selection_get_current_color(GTK_COLOR_SELECTION
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2190 (GTK_COLOR_SELECTION_DIALOG(fgcseld)->colorsel),
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2191 &fgcolor);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2192 destroy_colorsel(NULL, (void *)1);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2193 update_color(NULL, pref_fg_picture);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2194 } else {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2195 gtk_color_selection_get_current_color(GTK_COLOR_SELECTION
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2196 (GTK_COLOR_SELECTION_DIALOG(bgcseld)->colorsel),
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2197 &bgcolor);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2198 destroy_colorsel(NULL, (void *)0);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2199 update_color(NULL, pref_bg_picture);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2200 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2201 gaim_conversation_foreach(gaim_gtkconv_update_font_colors);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2202 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2203
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2204 void set_default_away(GtkWidget *w, gpointer i)
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2205 {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2206
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2207 int length = g_slist_length(away_messages);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2208
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2209 if (away_messages == NULL)
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2210 default_away = NULL;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2211 else if ((int)i >= length)
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2212 default_away = g_slist_nth_data(away_messages, length - 1);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2213 else
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2214 default_away = g_slist_nth_data(away_messages, (int)i);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2215 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2216
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2217 #ifndef _WIN32
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2218 static gboolean program_is_valid(const char *program)
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2219 {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2220 GError *error = NULL;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2221 char **argv;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2222 gchar *progname;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2223 gboolean is_valid = FALSE;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2224
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2225 if (program == NULL || *program == '\0') {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2226 return FALSE;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2227 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2228
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2229 if (!g_shell_parse_argv(program, NULL, &argv, &error)) {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2230 gaim_debug(GAIM_DEBUG_ERROR, "program_is_valid",
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2231 "Could not parse program '%s': %s\n",
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2232 program, error->message);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2233 g_error_free(error);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2234 return FALSE;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2235 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2236
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2237 if (argv == NULL) {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2238 return FALSE;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2239 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2240
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2241 progname = g_find_program_in_path(argv[0]);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2242 is_valid = (progname != NULL);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2243
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2244 g_strfreev(argv);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2245 g_free(progname);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2246
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2247 return is_valid;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2248 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2249 #endif
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2250
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2251 static void update_spin_value(GtkWidget *w, GtkWidget *spin)
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2252 {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2253 int *value = g_object_get_data(G_OBJECT(spin), "val");
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2254 *value = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(spin));
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2255 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2256
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2257 GtkWidget *gaim_labeled_spin_button(GtkWidget *box, const gchar *title, int *val, int min, int max, GtkSizeGroup *sg)
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2258 {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2259 GtkWidget *hbox;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2260 GtkWidget *label;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2261 GtkWidget *spin;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2262 GtkObject *adjust;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2263
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2264 hbox = gtk_hbox_new(FALSE, 5);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2265 gtk_box_pack_start(GTK_BOX(box), hbox, FALSE, FALSE, 5);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2266 gtk_widget_show(hbox);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2267
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2268 label = gtk_label_new_with_mnemonic(title);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2269 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2270 gtk_widget_show(label);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2271
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2272 adjust = gtk_adjustment_new(*val, min, max, 1, 1, 1);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2273 spin = gtk_spin_button_new(GTK_ADJUSTMENT(adjust), 1, 0);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2274 g_object_set_data(G_OBJECT(spin), "val", val);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2275 gtk_widget_set_size_request(spin, 50, -1);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2276 gtk_box_pack_start(GTK_BOX(hbox), spin, FALSE, FALSE, 0);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2277 g_signal_connect(G_OBJECT(adjust), "value-changed",
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2278 G_CALLBACK(update_spin_value), GTK_WIDGET(spin));
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2279 gtk_widget_show(spin);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2280
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2281 gtk_label_set_mnemonic_widget(GTK_LABEL(label), spin);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2282
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2283 if (sg) {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2284 gtk_size_group_add_widget(sg, label);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2285 gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2286
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2287 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2288 return label;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2289 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2290
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2291 void dropdown_set(GObject *w, int *option)
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2292 {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2293 int opt = GPOINTER_TO_INT(g_object_get_data(w, "value"));
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2294 int clear = GPOINTER_TO_INT(g_object_get_data(w, "clear"));
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2295
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2296 if (option == (int*)&sort_method) {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2297 /* Hack city -- Population: Sean Egan */
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2298 char *name = (char*)opt;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2299 gaim_gtk_blist_sort_method_set(name);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2300 return;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2301 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2302 if (clear != -1) {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2303 *option = *option & ~clear;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2304 *option = *option | opt;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2305 } else {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2306 gaim_debug(GAIM_DEBUG_MISC, "dropdown_set", "HELLO %d\n", opt);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2307 *option = opt;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2308 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2309
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2310 if (option == (int*)&global_proxy_info.proxytype) {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2311 if (opt == PROXY_NONE)
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2312 gtk_widget_set_sensitive(prefs_proxy_frame, FALSE);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2313 else
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2314 gtk_widget_set_sensitive(prefs_proxy_frame, TRUE);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2315 } else if (option == &web_browser) {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2316 if (opt == BROWSER_MANUAL)
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2317 gtk_widget_set_sensitive(gtk_widget_get_parent(browser_entry), TRUE);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2318 else
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2319 gtk_widget_set_sensitive(gtk_widget_get_parent(browser_entry), FALSE);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2320 } else if (option == (int*)&sound_options) {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2321 if (opt == OPT_SOUND_CMD)
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2322 gtk_widget_set_sensitive(sndcmd, TRUE);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2323 else
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2324 gtk_widget_set_sensitive(sndcmd, FALSE);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2325 gaim_sound_change_output_method();
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2326 } else if (option == (int*)&blist_options) {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2327 gaim_gtk_blist_update_toolbar();
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2328 } else if (option == (int*)&im_options) {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2329 if (clear == (OPT_IM_SIDE_TAB | OPT_IM_BR_TAB))
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2330 gaim_gtkconv_update_tabs();
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2331 else if (clear == (OPT_IM_BUTTON_TEXT | OPT_IM_BUTTON_XPM))
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2332 gaim_gtkconv_update_im_button_style();
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2333 } else if (option == (int*)&chat_options) {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2334 if (clear == (OPT_CHAT_SIDE_TAB | OPT_CHAT_BR_TAB))
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2335 gaim_gtkconv_update_tabs();
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2336 else if (clear == (OPT_CHAT_BUTTON_TEXT | OPT_CHAT_BUTTON_XPM))
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2337 gaim_gtkconv_update_chat_button_style();
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2338 // } else if (option == (int*)&blist_options) {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2339 // set_blist_tab();
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2340 } else if (option == (int *)&conv_placement_option) {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2341 gaim_conv_placement_set_active(conv_placement_option);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2342 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2343 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2344
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2345 static GtkWidget *gaim_dropdown(GtkWidget *box, const gchar *title, int *option, int clear, ...)
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2346 {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2347 va_list ap;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2348 GList *menuitems = NULL;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2349 GtkWidget *dropdown = NULL;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2350 char *name;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2351 int id;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2352
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2353 va_start(ap, clear);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2354 while ((name = va_arg(ap, char *)) != NULL) {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2355 id = va_arg(ap, int);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2356
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2357 menuitems = g_list_prepend(menuitems, name);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2358 menuitems = g_list_prepend(menuitems, GINT_TO_POINTER(id));
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2359 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2360 va_end(ap);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2361
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2362 g_return_val_if_fail(menuitems != NULL, NULL);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2363
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2364 menuitems = g_list_reverse(menuitems);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2365
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2366 dropdown = gaim_dropdown_from_list(box, title, option, clear, menuitems);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2367
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2368 g_list_free(menuitems);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2369
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2370 return dropdown;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2371 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2372
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2373 static GtkWidget *gaim_dropdown_from_list(GtkWidget *box, const gchar *title, int *option, int clear, GList *menuitems)
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2374 {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2375 GtkWidget *dropdown, *opt, *menu;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2376 GtkWidget *label;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2377 gchar *text;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2378 int value;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2379 int o = 0;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2380 GtkWidget *hbox;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2381
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2382 g_return_val_if_fail(menuitems != NULL, NULL);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2383
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2384 hbox = gtk_hbox_new(FALSE, 5);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2385 gtk_container_add (GTK_CONTAINER (box), hbox);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2386 gtk_widget_show(hbox);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2387
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2388 label = gtk_label_new_with_mnemonic(title);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2389 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2390 gtk_widget_show(label);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2391
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2392 dropdown = gtk_option_menu_new();
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2393 menu = gtk_menu_new();
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2394
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2395 gtk_label_set_mnemonic_widget(GTK_LABEL(label), dropdown);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2396
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2397 while (menuitems != NULL && (text = (char *) menuitems->data) != NULL) {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2398 menuitems = g_list_next(menuitems);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2399 g_return_val_if_fail(menuitems != NULL, NULL);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2400 value = GPOINTER_TO_INT(menuitems->data);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2401 menuitems = g_list_next(menuitems);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2402
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2403 opt = gtk_menu_item_new_with_label(text);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2404 g_object_set_data(G_OBJECT(opt), "value", GINT_TO_POINTER(value));
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2405 g_object_set_data(G_OBJECT(opt), "clear", GINT_TO_POINTER(clear));
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2406 g_signal_connect(G_OBJECT(opt), "activate",
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2407 G_CALLBACK(dropdown_set), (void *)option);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2408 gtk_widget_show(opt);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2409 gtk_menu_shell_append(GTK_MENU_SHELL(menu), opt);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2410
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2411 if (option == (int*)sort_method) {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2412 /* Now Entering Hacksville, Estd. May 17, 2003 */
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2413 gtk_menu_set_active(GTK_MENU(menu), clear);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2414 } else if (((clear > -1) && ((*option & clear) == value)) || *option == value) {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2415 gtk_menu_set_active(GTK_MENU(menu), o);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2416 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2417 o++;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2418
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2419 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2420
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2421 gtk_option_menu_set_menu(GTK_OPTION_MENU(dropdown), menu);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2422 gtk_box_pack_start(GTK_BOX(hbox), dropdown, FALSE, FALSE, 0);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2423 gtk_widget_show(dropdown);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2424 return label;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2425 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2426
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2427 static GtkWidget *show_color_pref(GtkWidget *box, gboolean fgc)
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2428 {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2429 /* more stuff stolen from X-Chat */
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2430 GtkWidget *swid;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2431 GdkColor c;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2432 GtkStyle *style;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2433 c.pixel = 0;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2434 if (fgc) {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2435 if (font_options & OPT_FONT_FGCOL) {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2436 c.red = fgcolor.red;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2437 c.blue = fgcolor.blue;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2438 c.green = fgcolor.green;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2439 } else {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2440 c.red = 0;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2441 c.blue = 0;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2442 c.green = 0;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2443 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2444 } else {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2445 if (font_options & OPT_FONT_BGCOL) {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2446 c.red = bgcolor.red;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2447 c.blue = bgcolor.blue;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2448 c.green = bgcolor.green;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2449 } else {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2450 c.red = 0xffff;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2451 c.blue = 0xffff;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2452 c.green = 0xffff;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2453 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2454 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2455
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2456 style = gtk_style_new();
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2457 style->bg[0] = c;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2458
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2459 swid = gtk_event_box_new();
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2460 gtk_widget_set_style(GTK_WIDGET(swid), style);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2461 g_object_unref(style);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2462 gtk_widget_set_size_request(GTK_WIDGET(swid), 40, -1);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2463 gtk_box_pack_start(GTK_BOX(box), swid, FALSE, FALSE, 5);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2464 gtk_widget_show(swid);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2465 return swid;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2466 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2467
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2468 void apply_font_dlg(GtkWidget *w, GtkWidget *f)
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2469 {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2470 int i = 0;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2471 char *fontname;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2472
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2473 fontname = g_strdup(gtk_font_selection_dialog_get_font_name(GTK_FONT_SELECTION_DIALOG(f)));
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2474 destroy_fontsel(0, 0);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2475
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2476 while(fontname[i] && !isdigit(fontname[i]) && i < sizeof(fontface)) {
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2477 fontface[i] = fontname[i];
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2478 i++;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2479 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2480
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2481 fontface[i] = 0;
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2482 g_free(fontname);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2483
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2484 gaim_conversation_foreach(gaim_gtkconv_update_font_face);
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2485 }
3127b1a3210f [gaim-migrate @ 5822]
Nathan Walp <nwalp@pidgin.im>
parents:
diff changeset
2486
5530
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
2487 void
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
2488 gaim_gtk_prefs_init(void)
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
2489 {
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
2490 gaim_prefs_add_none("/gaim");
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
2491 gaim_prefs_add_none("/gaim/gtk");
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
2492
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
2493 /* Debug window preferences. */
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
2494 gaim_prefs_add_none("/gaim/gtk/debug");
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
2495 gaim_prefs_add_bool("/gaim/gtk/debug/toolbar", TRUE);
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
2496 gaim_prefs_add_bool("/gaim/gtk/debug/timestamps", FALSE);
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
2497 gaim_prefs_add_bool("/gaim/gtk/debug/enabled", FALSE);
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
2498 gaim_prefs_add_int("/gaim/gtk/debug/width", 400);
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
2499 gaim_prefs_add_int("/gaim/gtk/debug/height", 150);
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
2500 }
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents: 5440
diff changeset
2501

mercurial