Fri, 16 Sep 2022 01:54:11 -0500
Change the credential provider row active indicator to a CheckButton
Because I noticed that Adw has a style that is for this sort of thing.
Testing Done:
Opened Credential prefs, and changed selected provider. Also checked that clicking the check button didn't accidentally change its state without changing the row, and that it could not be selected by keyboard separately from the row.
Reviewed at https://reviews.imfreedom.org/r/1775/
|
41350
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
1 | /* |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
2 | * Pidgin - Internet Messenger |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
3 | * Copyright (C) Pidgin Developers <devel@pidgin.im> |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
4 | * |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
5 | * Pidgin is the legal property of its developers, whose names are too numerous |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
6 | * to list here. Please refer to the COPYRIGHT file distributed with this |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
7 | * source distribution. |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
8 | * |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
9 | * This program is free software; you can redistribute it and/or modify |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
10 | * it under the terms of the GNU General Public License as published by |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
11 | * the Free Software Foundation; either version 2 of the License, or |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
12 | * (at your option) any later version. |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
13 | * |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
14 | * This program is distributed in the hope that it will be useful, |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
17 | * GNU General Public License for more details. |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
18 | * |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
19 | * You should have received a copy of the GNU General Public License |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
20 | * along with this program; if not, see <https://www.gnu.org/licenses/>. |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
21 | */ |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
22 | |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
23 | #include <glib/gi18n.h> |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
24 | |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
25 | #include "pidginproxyoptions.h" |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
26 | |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
27 | #include "gtkaccount.h" |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
28 | #include "pidgincore.h" |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
29 | |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
30 | struct _PidginProxyOptions { |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
31 | GtkBox parent; |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
32 | |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
33 | gboolean show_global; |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
34 | PurpleProxyInfo *info; |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
35 | |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
36 | GtkListStore *model; |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
37 | GtkTreeModelFilter *filter; |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
38 | |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
39 | GtkWidget *proxy_type; |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
40 | |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
41 | GtkWidget *options; |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
42 | GtkWidget *hostname; |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
43 | GtkWidget *port; |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
44 | GtkWidget *username; |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
45 | GtkWidget *password; |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
46 | }; |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
47 | |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
48 | enum { |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
49 | PROP_0, |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
50 | PROP_SHOW_GLOBAL, |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
51 | PROP_INFO, |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
52 | N_PROPERTIES |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
53 | }; |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
54 | static GParamSpec *properties[N_PROPERTIES] = {NULL, }; |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
55 | |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
56 | enum { |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
57 | COLUMN_TYPE, |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
58 | COLUMN_TITLE, |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
59 | }; |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
60 | |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
61 | G_DEFINE_TYPE(PidginProxyOptions, pidgin_proxy_options, GTK_TYPE_BOX) |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
62 | |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
63 | /****************************************************************************** |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
64 | * Helpers |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
65 | *****************************************************************************/ |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
66 | static gboolean |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
67 | pidgin_proxy_options_null_to_empty_str(G_GNUC_UNUSED GBinding *binding, |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
68 | const GValue *from_value, |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
69 | GValue *to_value, |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
70 | G_GNUC_UNUSED gpointer data) |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
71 | { |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
72 | const gchar *str_val = g_value_get_string(from_value); |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
73 | |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
74 | if(str_val == NULL) { |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
75 | str_val = ""; |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
76 | } |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
77 | |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
78 | g_value_set_string(to_value, str_val); |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
79 | |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
80 | return TRUE; |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
81 | } |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
82 | |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
83 | static gboolean |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
84 | pidgin_proxy_options_empty_str_to_null(G_GNUC_UNUSED GBinding *binding, |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
85 | const GValue *from_value, |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
86 | GValue *to_value, |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
87 | G_GNUC_UNUSED gpointer data) |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
88 | { |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
89 | const gchar *str_val = g_value_get_string(from_value); |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
90 | |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
91 | if(str_val != NULL && *str_val == '\0') { |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
92 | str_val = NULL; |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
93 | } |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
94 | |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
95 | g_value_set_string(to_value, str_val); |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
96 | |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
97 | return TRUE; |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
98 | } |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
99 | |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
100 | static gboolean |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
101 | pidgin_proxy_options_gint_to_double(G_GNUC_UNUSED GBinding *binding, |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
102 | const GValue *from_value, GValue *to_value, |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
103 | G_GNUC_UNUSED gpointer data) |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
104 | { |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
105 | g_value_set_double(to_value, (gdouble)g_value_get_int(from_value)); |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
106 | |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
107 | return TRUE; |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
108 | } |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
109 | |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
110 | static gboolean |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
111 | pidgin_proxy_options_double_to_gint(G_GNUC_UNUSED GBinding *binding, |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
112 | const GValue *from_value, GValue *to_value, |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
113 | G_GNUC_UNUSED gpointer user_data) |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
114 | { |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
115 | g_value_set_int(to_value, (gint)g_value_get_double(from_value)); |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
116 | |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
117 | return TRUE; |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
118 | } |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
119 | |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
120 | static gboolean |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
121 | pidgin_proxy_options_filter_visible(GtkTreeModel *model, GtkTreeIter *iter, |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
122 | gpointer data) |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
123 | { |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
124 | PidginProxyOptions *options = data; |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
125 | PurpleProxyType type; |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
126 | |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
127 | gtk_tree_model_get(model, iter, COLUMN_TYPE, &type, -1); |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
128 | |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
129 | if(type == PURPLE_PROXY_TYPE_USE_GLOBAL) { |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
130 | return options->show_global; |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
131 | } |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
132 | |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
133 | return TRUE; |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
134 | } |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
135 | |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
136 | /****************************************************************************** |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
137 | * Callbacks |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
138 | *****************************************************************************/ |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
139 | static void |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
140 | pidgin_proxy_options_proxy_type_changed_cb(GtkComboBox *box, gpointer data) { |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
141 | PidginProxyOptions *options = data; |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
142 | PurpleProxyType type; |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
143 | GtkTreeIter iter; |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
144 | gboolean sensitive = TRUE; |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
145 | |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
146 | if(!gtk_combo_box_get_active_iter(GTK_COMBO_BOX(options->proxy_type), &iter)) { |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
147 | return; |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
148 | } |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
149 | |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
150 | gtk_tree_model_get(GTK_TREE_MODEL(options->filter), &iter, |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
151 | COLUMN_TYPE, &type, |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
152 | -1); |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
153 | |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
154 | purple_proxy_info_set_proxy_type(options->info, type); |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
155 | |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
156 | switch(type) { |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
157 | case PURPLE_PROXY_TYPE_USE_GLOBAL: |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
158 | case PURPLE_PROXY_TYPE_NONE: |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
159 | case PURPLE_PROXY_TYPE_USE_ENVVAR: |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
160 | sensitive = FALSE; |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
161 | break; |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
162 | default: |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
163 | break; |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
164 | } |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
165 | |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
166 | gtk_widget_set_sensitive(options->options, sensitive); |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
167 | } |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
168 | |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
169 | /****************************************************************************** |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
170 | * GObject Implementation |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
171 | *****************************************************************************/ |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
172 | static void |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
173 | pidgin_proxy_options_get_property(GObject *obj, guint param_id, GValue *value, |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
174 | GParamSpec *pspec) |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
175 | { |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
176 | PidginProxyOptions *options = PIDGIN_PROXY_OPTIONS(obj); |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
177 | |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
178 | switch(param_id) { |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
179 | case PROP_SHOW_GLOBAL: |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
180 | g_value_set_boolean(value, |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
181 | pidgin_proxy_options_get_show_global(options)); |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
182 | break; |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
183 | case PROP_INFO: |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
184 | g_value_set_object(value, pidgin_proxy_options_get_info(options)); |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
185 | break; |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
186 | default: |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
187 | G_OBJECT_WARN_INVALID_PROPERTY_ID(obj, param_id, pspec); |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
188 | break; |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
189 | } |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
190 | } |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
191 | |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
192 | static void |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
193 | pidgin_proxy_options_set_property(GObject *obj, guint param_id, |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
194 | const GValue *value, GParamSpec *pspec) |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
195 | { |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
196 | PidginProxyOptions *options = PIDGIN_PROXY_OPTIONS(obj); |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
197 | |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
198 | switch(param_id) { |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
199 | case PROP_SHOW_GLOBAL: |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
200 | pidgin_proxy_options_set_show_global(options, |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
201 | g_value_get_boolean(value)); |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
202 | break; |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
203 | case PROP_INFO: |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
204 | pidgin_proxy_options_set_info(options, g_value_get_object(value)); |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
205 | break; |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
206 | default: |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
207 | G_OBJECT_WARN_INVALID_PROPERTY_ID(obj, param_id, pspec); |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
208 | break; |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
209 | } |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
210 | } |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
211 | |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
212 | static void |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
213 | pidgin_proxy_options_init(PidginProxyOptions *options) { |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
214 | gtk_widget_init_template(GTK_WIDGET(options)); |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
215 | |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
216 | /* Set the visible function so we can control the visibility of the "Use |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
217 | * Global Proxy" option. |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
218 | */ |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
219 | gtk_tree_model_filter_set_visible_func(options->filter, |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
220 | pidgin_proxy_options_filter_visible, |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
221 | options, NULL); |
|
41492
a1db3bb55aac
Make sure we refilter the proxy options at startup.
Gary Kramlich <grim@reaperworld.com>
parents:
41479
diff
changeset
|
222 | |
|
a1db3bb55aac
Make sure we refilter the proxy options at startup.
Gary Kramlich <grim@reaperworld.com>
parents:
41479
diff
changeset
|
223 | /* Force the filter to refresh. */ |
|
a1db3bb55aac
Make sure we refilter the proxy options at startup.
Gary Kramlich <grim@reaperworld.com>
parents:
41479
diff
changeset
|
224 | gtk_tree_model_filter_refilter(options->filter); |
|
41350
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
225 | } |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
226 | |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
227 | static void |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
228 | pidgin_proxy_options_constructed(GObject *obj) { |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
229 | PidginProxyOptions *options = PIDGIN_PROXY_OPTIONS(obj); |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
230 | |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
231 | G_OBJECT_CLASS(pidgin_proxy_options_parent_class)->constructed(obj); |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
232 | |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
233 | if(options->info == NULL) { |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
234 | pidgin_proxy_options_set_info(options, NULL); |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
235 | } |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
236 | } |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
237 | |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
238 | static void |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
239 | pidgin_proxy_options_class_init(PidginProxyOptionsClass *klass) { |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
240 | GObjectClass *obj_class = G_OBJECT_CLASS(klass); |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
241 | GtkWidgetClass *widget_class = GTK_WIDGET_CLASS(klass); |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
242 | |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
243 | obj_class->get_property = pidgin_proxy_options_get_property; |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
244 | obj_class->set_property = pidgin_proxy_options_set_property; |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
245 | obj_class->constructed = pidgin_proxy_options_constructed; |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
246 | |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
247 | /** |
|
41479
3d2e114380f6
Add source files to GObject introspection
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41350
diff
changeset
|
248 | * PidginProxyOptions:show-global: |
|
41350
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
249 | * |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
250 | * Whether or not to show the "Use Global Proxy Settings" option. This |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
251 | * is turned off for the preferences where we use this widget to define |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
252 | * the global proxy settings. |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
253 | * |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
254 | * Since: 3.0.0 |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
255 | */ |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
256 | properties[PROP_SHOW_GLOBAL] = g_param_spec_boolean( |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
257 | "show-global", "show-global", |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
258 | "Whether or not to show the global proxy settings option", |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
259 | TRUE, |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
260 | G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS); |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
261 | |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
262 | /** |
|
41479
3d2e114380f6
Add source files to GObject introspection
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41350
diff
changeset
|
263 | * PidginProxyOptions:info: |
|
41350
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
264 | * |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
265 | * The [class@Purple.ProxyInfo] that this options widget is configuring. If |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
266 | * unset, a new instance will be created. |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
267 | * |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
268 | * Since: 3.0.0 |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
269 | */ |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
270 | properties[PROP_INFO] = g_param_spec_object( |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
271 | "info", "info", |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
272 | "The proxy info to configure", |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
273 | PURPLE_TYPE_PROXY_INFO, |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
274 | G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS); |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
275 | |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
276 | g_object_class_install_properties(obj_class, N_PROPERTIES, properties); |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
277 | |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
278 | gtk_widget_class_set_template_from_resource( |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
279 | widget_class, |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
280 | "/im/pidgin/Pidgin3/proxyoptions.ui" |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
281 | ); |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
282 | |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
283 | gtk_widget_class_bind_template_child(widget_class, PidginProxyOptions, |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
284 | model); |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
285 | gtk_widget_class_bind_template_child(widget_class, PidginProxyOptions, |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
286 | filter); |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
287 | |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
288 | gtk_widget_class_bind_template_child(widget_class, PidginProxyOptions, |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
289 | proxy_type); |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
290 | |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
291 | gtk_widget_class_bind_template_child(widget_class, PidginProxyOptions, |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
292 | options); |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
293 | gtk_widget_class_bind_template_child(widget_class, PidginProxyOptions, |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
294 | hostname); |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
295 | gtk_widget_class_bind_template_child(widget_class, PidginProxyOptions, |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
296 | port); |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
297 | gtk_widget_class_bind_template_child(widget_class, PidginProxyOptions, |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
298 | username); |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
299 | gtk_widget_class_bind_template_child(widget_class, PidginProxyOptions, |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
300 | password); |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
301 | |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
302 | gtk_widget_class_bind_template_callback(widget_class, |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
303 | pidgin_proxy_options_proxy_type_changed_cb); |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
304 | } |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
305 | |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
306 | /****************************************************************************** |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
307 | * Public API |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
308 | *****************************************************************************/ |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
309 | GtkWidget * |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
310 | pidgin_proxy_options_new(void) { |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
311 | return g_object_new(PIDGIN_TYPE_PROXY_OPTIONS, NULL); |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
312 | } |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
313 | |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
314 | void |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
315 | pidgin_proxy_options_set_show_global(PidginProxyOptions *options, |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
316 | gboolean show_global) |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
317 | { |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
318 | PurpleProxyType proxy_type = PURPLE_PROXY_TYPE_USE_GLOBAL; |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
319 | |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
320 | g_return_if_fail(PIDGIN_IS_PROXY_OPTIONS(options)); |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
321 | |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
322 | if(show_global == options->show_global) { |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
323 | return; |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
324 | } |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
325 | |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
326 | options->show_global = show_global; |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
327 | |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
328 | if(options->info == NULL) { |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
329 | g_object_notify_by_pspec(G_OBJECT(options), |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
330 | properties[PROP_SHOW_GLOBAL]); |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
331 | |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
332 | return; |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
333 | } |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
334 | |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
335 | proxy_type = purple_proxy_info_get_proxy_type(options->info); |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
336 | if(proxy_type == PURPLE_PROXY_TYPE_USE_GLOBAL && show_global == FALSE) { |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
337 | proxy_type = PURPLE_PROXY_TYPE_NONE; |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
338 | } |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
339 | |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
340 | purple_proxy_info_set_proxy_type(options->info, proxy_type); |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
341 | |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
342 | options->show_global = show_global; |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
343 | |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
344 | g_object_notify_by_pspec(G_OBJECT(options), properties[PROP_SHOW_GLOBAL]); |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
345 | |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
346 | /* Tell the filter to rerun. */ |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
347 | gtk_tree_model_filter_refilter(options->filter); |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
348 | } |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
349 | |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
350 | gboolean |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
351 | pidgin_proxy_options_get_show_global(PidginProxyOptions *options) { |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
352 | g_return_val_if_fail(PIDGIN_IS_PROXY_OPTIONS(options), FALSE); |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
353 | |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
354 | return options->show_global; |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
355 | } |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
356 | |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
357 | void |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
358 | pidgin_proxy_options_set_info(PidginProxyOptions *options, |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
359 | PurpleProxyInfo *info) |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
360 | { |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
361 | GtkTreeIter iter; |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
362 | GtkTreeModel *model; |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
363 | |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
364 | g_return_if_fail(PIDGIN_IS_PROXY_OPTIONS(options)); |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
365 | |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
366 | /* We want to always have a PurpleProxyInfo instance to make management |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
367 | * easier. So if someone clears it, just replace it with an empty one |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
368 | * instead. |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
369 | */ |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
370 | if(!PURPLE_IS_PROXY_INFO(info)) { |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
371 | PurpleProxyInfo *empty_info = purple_proxy_info_new(); |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
372 | |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
373 | if(!g_set_object(&options->info, empty_info)) { |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
374 | g_assert_not_reached(); |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
375 | } |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
376 | |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
377 | g_object_unref(empty_info); |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
378 | } else if(!g_set_object(&options->info, info)) { |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
379 | return; |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
380 | } |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
381 | |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
382 | model = GTK_TREE_MODEL(options->filter); |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
383 | if(gtk_tree_model_get_iter_first(model, &iter)) { |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
384 | do { |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
385 | PurpleProxyType type = purple_proxy_info_get_proxy_type(options->info); |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
386 | PurpleProxyType row_type; |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
387 | |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
388 | gtk_tree_model_get(model, &iter, COLUMN_TYPE, &row_type, -1); |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
389 | if(row_type == type) { |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
390 | gtk_combo_box_set_active_iter(GTK_COMBO_BOX(options->proxy_type), |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
391 | &iter); |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
392 | break; |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
393 | } |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
394 | } while(gtk_tree_model_iter_next(model, &iter)); |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
395 | } |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
396 | |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
397 | g_object_bind_property_full(options->info, "hostname", |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
398 | options->hostname, "text", |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
399 | G_BINDING_BIDIRECTIONAL | G_BINDING_SYNC_CREATE, |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
400 | pidgin_proxy_options_null_to_empty_str, |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
401 | pidgin_proxy_options_empty_str_to_null, |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
402 | NULL, |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
403 | NULL); |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
404 | |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
405 | g_object_bind_property_full(options->info, "port", |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
406 | options->port, "value", |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
407 | G_BINDING_BIDIRECTIONAL | G_BINDING_SYNC_CREATE, |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
408 | pidgin_proxy_options_gint_to_double, |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
409 | pidgin_proxy_options_double_to_gint, |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
410 | NULL, |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
411 | NULL); |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
412 | |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
413 | g_object_bind_property_full(options->info, "username", |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
414 | options->username, "text", |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
415 | G_BINDING_BIDIRECTIONAL | G_BINDING_SYNC_CREATE, |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
416 | pidgin_proxy_options_null_to_empty_str, |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
417 | pidgin_proxy_options_empty_str_to_null, |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
418 | NULL, |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
419 | NULL); |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
420 | |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
421 | |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
422 | g_object_bind_property_full(options->info, "password", |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
423 | options->password, "text", |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
424 | G_BINDING_BIDIRECTIONAL | G_BINDING_SYNC_CREATE, |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
425 | pidgin_proxy_options_null_to_empty_str, |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
426 | pidgin_proxy_options_empty_str_to_null, |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
427 | NULL, |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
428 | NULL); |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
429 | |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
430 | g_object_notify_by_pspec(G_OBJECT(options), properties[PROP_INFO]); |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
431 | } |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
432 | |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
433 | PurpleProxyInfo * |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
434 | pidgin_proxy_options_get_info(PidginProxyOptions *options) { |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
435 | g_return_val_if_fail(PIDGIN_IS_PROXY_OPTIONS(options), NULL); |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
436 | |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
437 | return options->info; |
|
2bdf14aaf7a1
Create a PidginProxyOptions widget
Gary Kramlich <grim@reaperworld.com>
parents:
diff
changeset
|
438 | } |