annotate src/gtkprefs.c @ 5563:9eb5b13fd412

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