Thu, 24 Oct 2013 04:21:28 +0530
Merged soc.2013.gobjectification branch.
Added ui_data to PurplePluginInfo, as well as purple_plugin_info_[gs]et_ui_data functions.
| 5205 | 1 | /** |
|
6927
528988ef2781
[gaim-migrate @ 7474]
Christian Hammond <chipx86@chipx86.com>
parents:
5982
diff
changeset
|
2 | * @file gtkplugin.c GTK+ Plugins support |
|
16254
eeb2bba4dc94
Rename the Doxygen group from gtkui to pidgin.
Richard Laager <rlaager@pidgin.im>
parents:
16123
diff
changeset
|
3 | * @ingroup pidgin |
|
20147
66f05a854eee
applied changes from 8a731bbd0197fbcc91a705c2d8f528154216defa
Richard Laager <rlaager@pidgin.im>
parents:
19859
diff
changeset
|
4 | */ |
|
66f05a854eee
applied changes from 8a731bbd0197fbcc91a705c2d8f528154216defa
Richard Laager <rlaager@pidgin.im>
parents:
19859
diff
changeset
|
5 | |
|
66f05a854eee
applied changes from 8a731bbd0197fbcc91a705c2d8f528154216defa
Richard Laager <rlaager@pidgin.im>
parents:
19859
diff
changeset
|
6 | /* pidgin |
| 5205 | 7 | * |
|
15931
716b5fac1895
Re-sed the copyright notices so they don't all talk about Purple.
Richard Laager <rlaager@pidgin.im>
parents:
15884
diff
changeset
|
8 | * Pidgin is the legal property of its developers, whose names are too numerous |
| 8046 | 9 | * to list here. Please refer to the COPYRIGHT file distributed with this |
| 10 | * source distribution. | |
|
6927
528988ef2781
[gaim-migrate @ 7474]
Christian Hammond <chipx86@chipx86.com>
parents:
5982
diff
changeset
|
11 | * |
| 5205 | 12 | * This program is free software; you can redistribute it and/or modify |
| 13 | * it under the terms of the GNU General Public License as published by | |
| 14 | * the Free Software Foundation; either version 2 of the License, or | |
| 15 | * (at your option) any later version. | |
| 16 | * | |
| 17 | * This program is distributed in the hope that it will be useful, | |
| 18 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| 19 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| 20 | * GNU General Public License for more details. | |
| 21 | * | |
| 22 | * You should have received a copy of the GNU General Public License | |
| 23 | * along with this program; if not, write to the Free Software | |
|
19859
71d37b57eff2
The FSF changed its address a while ago; our files were out of date.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
19733
diff
changeset
|
24 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA |
| 5205 | 25 | */ |
| 11740 | 26 | #include "internal.h" |
| 15577 | 27 | #include "pidgin.h" |
| 5205 | 28 | #include "gtkplugin.h" |
|
11817
b8622a510778
[gaim-migrate @ 14108]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
11813
diff
changeset
|
29 | #include "gtkpluginpref.h" |
|
13436
b80f8990bc67
[gaim-migrate @ 15810]
Richard Laager <rlaager@pidgin.im>
parents:
13435
diff
changeset
|
30 | #include "gtkutils.h" |
|
5981
c91ece01ad12
[gaim-migrate @ 6429]
Christian Hammond <chipx86@chipx86.com>
parents:
5205
diff
changeset
|
31 | #include "debug.h" |
|
c91ece01ad12
[gaim-migrate @ 6429]
Christian Hammond <chipx86@chipx86.com>
parents:
5205
diff
changeset
|
32 | #include "prefs.h" |
|
12927
f3e4ef8958a3
[gaim-migrate @ 15280]
Richard Laager <rlaager@pidgin.im>
parents:
12889
diff
changeset
|
33 | #include "request.h" |
|
22065
4bfdea9613d1
Add tooltips to the plugin window. I did it mostly to test the new tooltip
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21352
diff
changeset
|
34 | #include "pidgintooltip.h" |
|
5981
c91ece01ad12
[gaim-migrate @ 6429]
Christian Hammond <chipx86@chipx86.com>
parents:
5205
diff
changeset
|
35 | |
| 5205 | 36 | #include <string.h> |
| 37 | ||
|
33170
ce4447562d64
Add checks for old GTK+2 stuff.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
33168
diff
changeset
|
38 | #include "gtk3compat.h" |
|
ce4447562d64
Add checks for old GTK+2 stuff.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
33168
diff
changeset
|
39 | |
|
36406
8fba0d44840d
Added PidginPluginInfo, inheriting PurplePluginInfo to hold UI information
Ankit Vani <a@nevitus.org>
parents:
33271
diff
changeset
|
40 | #define PIDGIN_PLUGIN_INFO_GET_PRIVATE(obj) \ |
|
8fba0d44840d
Added PidginPluginInfo, inheriting PurplePluginInfo to hold UI information
Ankit Vani <a@nevitus.org>
parents:
33271
diff
changeset
|
41 | (G_TYPE_INSTANCE_GET_PRIVATE((obj), PIDGIN_TYPE_PLUGIN_INFO, PidginPluginInfoPrivate)) |
|
8fba0d44840d
Added PidginPluginInfo, inheriting PurplePluginInfo to hold UI information
Ankit Vani <a@nevitus.org>
parents:
33271
diff
changeset
|
42 | |
|
15880
d275b025481c
More Gaim to Pidgin changes
Sean Egan <seanegan@pidgin.im>
parents:
15692
diff
changeset
|
43 | #define PIDGIN_RESPONSE_CONFIGURE 98121 |
|
12246
7af1ef3b1cc4
[gaim-migrate @ 14548]
Mark Doliner <markdoliner@pidgin.im>
parents:
12240
diff
changeset
|
44 | |
|
36406
8fba0d44840d
Added PidginPluginInfo, inheriting PurplePluginInfo to hold UI information
Ankit Vani <a@nevitus.org>
parents:
33271
diff
changeset
|
45 | typedef struct |
|
8fba0d44840d
Added PidginPluginInfo, inheriting PurplePluginInfo to hold UI information
Ankit Vani <a@nevitus.org>
parents:
33271
diff
changeset
|
46 | { |
|
36420
7a5cb79a8243
Refactored gtkplugin to use the new API. Handling of dependent plugins on unload is left till GPlugin implements it.
Ankit Vani <a@nevitus.org>
parents:
36417
diff
changeset
|
47 | PidginPluginConfigFrame get_config_frame; |
|
36406
8fba0d44840d
Added PidginPluginInfo, inheriting PurplePluginInfo to hold UI information
Ankit Vani <a@nevitus.org>
parents:
33271
diff
changeset
|
48 | } PidginPluginInfoPrivate; |
|
8fba0d44840d
Added PidginPluginInfo, inheriting PurplePluginInfo to hold UI information
Ankit Vani <a@nevitus.org>
parents:
33271
diff
changeset
|
49 | |
|
36447
2d36e433e617
Added properties "finch_preferences_frame" to FinchPluginInfo, "pidgin_config_frame" to PidginPluginInfo
Ankit Vani <a@nevitus.org>
parents:
36446
diff
changeset
|
50 | enum |
|
2d36e433e617
Added properties "finch_preferences_frame" to FinchPluginInfo, "pidgin_config_frame" to PidginPluginInfo
Ankit Vani <a@nevitus.org>
parents:
36446
diff
changeset
|
51 | { |
|
2d36e433e617
Added properties "finch_preferences_frame" to FinchPluginInfo, "pidgin_config_frame" to PidginPluginInfo
Ankit Vani <a@nevitus.org>
parents:
36446
diff
changeset
|
52 | PROP_0, |
|
2d36e433e617
Added properties "finch_preferences_frame" to FinchPluginInfo, "pidgin_config_frame" to PidginPluginInfo
Ankit Vani <a@nevitus.org>
parents:
36446
diff
changeset
|
53 | PROP_PIDGIN_CONFIG_FRAME, |
|
2d36e433e617
Added properties "finch_preferences_frame" to FinchPluginInfo, "pidgin_config_frame" to PidginPluginInfo
Ankit Vani <a@nevitus.org>
parents:
36446
diff
changeset
|
54 | PROP_LAST |
|
2d36e433e617
Added properties "finch_preferences_frame" to FinchPluginInfo, "pidgin_config_frame" to PidginPluginInfo
Ankit Vani <a@nevitus.org>
parents:
36446
diff
changeset
|
55 | }; |
|
2d36e433e617
Added properties "finch_preferences_frame" to FinchPluginInfo, "pidgin_config_frame" to PidginPluginInfo
Ankit Vani <a@nevitus.org>
parents:
36446
diff
changeset
|
56 | |
| 15884 | 57 | static void plugin_toggled_stage_two(PurplePlugin *plug, GtkTreeModel *model, |
|
36516
cbf16b28176c
Refactored pidgin according to the changes
Ankit Vani <a@nevitus.org>
parents:
36479
diff
changeset
|
58 | GtkTreeIter *iter, GError *error, gboolean unload); |
|
12927
f3e4ef8958a3
[gaim-migrate @ 15280]
Richard Laager <rlaager@pidgin.im>
parents:
12889
diff
changeset
|
59 | |
|
12343
0ede7c5a9465
[gaim-migrate @ 14647]
Mark Doliner <markdoliner@pidgin.im>
parents:
12290
diff
changeset
|
60 | static GtkWidget *expander = NULL; |
| 11740 | 61 | static GtkWidget *plugin_dialog = NULL; |
|
22781
c85c7a3609dc
Improve the layout of the plugin description pane.
Will Thompson <resiak@pidgin.im>
parents:
22608
diff
changeset
|
62 | |
|
c85c7a3609dc
Improve the layout of the plugin description pane.
Will Thompson <resiak@pidgin.im>
parents:
22608
diff
changeset
|
63 | static GtkLabel *plugin_name = NULL; |
|
c85c7a3609dc
Improve the layout of the plugin description pane.
Will Thompson <resiak@pidgin.im>
parents:
22608
diff
changeset
|
64 | static GtkTextBuffer *plugin_desc = NULL; |
|
c85c7a3609dc
Improve the layout of the plugin description pane.
Will Thompson <resiak@pidgin.im>
parents:
22608
diff
changeset
|
65 | static GtkLabel *plugin_error = NULL; |
|
36644
e06a238d2864
Refactored pidgin to show multiple authors
Ankit Vani <a@nevitus.org>
parents:
36516
diff
changeset
|
66 | static GtkLabel *plugin_authors = NULL; |
|
22781
c85c7a3609dc
Improve the layout of the plugin description pane.
Will Thompson <resiak@pidgin.im>
parents:
22608
diff
changeset
|
67 | static GtkLabel *plugin_website = NULL; |
|
22785
d712839ebf36
Make plugin website URLs clickable; it's a button with blue underlined text.
Will Thompson <resiak@pidgin.im>
parents:
22781
diff
changeset
|
68 | static gchar *plugin_website_uri = NULL; |
|
22781
c85c7a3609dc
Improve the layout of the plugin description pane.
Will Thompson <resiak@pidgin.im>
parents:
22608
diff
changeset
|
69 | static GtkLabel *plugin_filename = NULL; |
|
c85c7a3609dc
Improve the layout of the plugin description pane.
Will Thompson <resiak@pidgin.im>
parents:
22608
diff
changeset
|
70 | |
| 11740 | 71 | static GtkWidget *pref_button = NULL; |
| 11781 | 72 | static GHashTable *plugin_pref_dialogs = NULL; |
| 11747 | 73 | |
|
36447
2d36e433e617
Added properties "finch_preferences_frame" to FinchPluginInfo, "pidgin_config_frame" to PidginPluginInfo
Ankit Vani <a@nevitus.org>
parents:
36446
diff
changeset
|
74 | /* Set method for GObject properties */ |
|
2d36e433e617
Added properties "finch_preferences_frame" to FinchPluginInfo, "pidgin_config_frame" to PidginPluginInfo
Ankit Vani <a@nevitus.org>
parents:
36446
diff
changeset
|
75 | static void |
|
2d36e433e617
Added properties "finch_preferences_frame" to FinchPluginInfo, "pidgin_config_frame" to PidginPluginInfo
Ankit Vani <a@nevitus.org>
parents:
36446
diff
changeset
|
76 | pidgin_plugin_info_set_property(GObject *obj, guint param_id, const GValue *value, |
|
2d36e433e617
Added properties "finch_preferences_frame" to FinchPluginInfo, "pidgin_config_frame" to PidginPluginInfo
Ankit Vani <a@nevitus.org>
parents:
36446
diff
changeset
|
77 | GParamSpec *pspec) |
|
2d36e433e617
Added properties "finch_preferences_frame" to FinchPluginInfo, "pidgin_config_frame" to PidginPluginInfo
Ankit Vani <a@nevitus.org>
parents:
36446
diff
changeset
|
78 | { |
|
2d36e433e617
Added properties "finch_preferences_frame" to FinchPluginInfo, "pidgin_config_frame" to PidginPluginInfo
Ankit Vani <a@nevitus.org>
parents:
36446
diff
changeset
|
79 | PidginPluginInfoPrivate *priv = PIDGIN_PLUGIN_INFO_GET_PRIVATE(obj); |
|
2d36e433e617
Added properties "finch_preferences_frame" to FinchPluginInfo, "pidgin_config_frame" to PidginPluginInfo
Ankit Vani <a@nevitus.org>
parents:
36446
diff
changeset
|
80 | |
|
2d36e433e617
Added properties "finch_preferences_frame" to FinchPluginInfo, "pidgin_config_frame" to PidginPluginInfo
Ankit Vani <a@nevitus.org>
parents:
36446
diff
changeset
|
81 | switch (param_id) { |
|
2d36e433e617
Added properties "finch_preferences_frame" to FinchPluginInfo, "pidgin_config_frame" to PidginPluginInfo
Ankit Vani <a@nevitus.org>
parents:
36446
diff
changeset
|
82 | case PROP_PIDGIN_CONFIG_FRAME: |
|
2d36e433e617
Added properties "finch_preferences_frame" to FinchPluginInfo, "pidgin_config_frame" to PidginPluginInfo
Ankit Vani <a@nevitus.org>
parents:
36446
diff
changeset
|
83 | priv->get_config_frame = g_value_get_pointer(value); |
|
2d36e433e617
Added properties "finch_preferences_frame" to FinchPluginInfo, "pidgin_config_frame" to PidginPluginInfo
Ankit Vani <a@nevitus.org>
parents:
36446
diff
changeset
|
84 | break; |
|
2d36e433e617
Added properties "finch_preferences_frame" to FinchPluginInfo, "pidgin_config_frame" to PidginPluginInfo
Ankit Vani <a@nevitus.org>
parents:
36446
diff
changeset
|
85 | default: |
|
2d36e433e617
Added properties "finch_preferences_frame" to FinchPluginInfo, "pidgin_config_frame" to PidginPluginInfo
Ankit Vani <a@nevitus.org>
parents:
36446
diff
changeset
|
86 | G_OBJECT_WARN_INVALID_PROPERTY_ID(obj, param_id, pspec); |
|
2d36e433e617
Added properties "finch_preferences_frame" to FinchPluginInfo, "pidgin_config_frame" to PidginPluginInfo
Ankit Vani <a@nevitus.org>
parents:
36446
diff
changeset
|
87 | break; |
|
2d36e433e617
Added properties "finch_preferences_frame" to FinchPluginInfo, "pidgin_config_frame" to PidginPluginInfo
Ankit Vani <a@nevitus.org>
parents:
36446
diff
changeset
|
88 | } |
|
2d36e433e617
Added properties "finch_preferences_frame" to FinchPluginInfo, "pidgin_config_frame" to PidginPluginInfo
Ankit Vani <a@nevitus.org>
parents:
36446
diff
changeset
|
89 | } |
|
2d36e433e617
Added properties "finch_preferences_frame" to FinchPluginInfo, "pidgin_config_frame" to PidginPluginInfo
Ankit Vani <a@nevitus.org>
parents:
36446
diff
changeset
|
90 | |
|
2d36e433e617
Added properties "finch_preferences_frame" to FinchPluginInfo, "pidgin_config_frame" to PidginPluginInfo
Ankit Vani <a@nevitus.org>
parents:
36446
diff
changeset
|
91 | /* Get method for GObject properties */ |
|
2d36e433e617
Added properties "finch_preferences_frame" to FinchPluginInfo, "pidgin_config_frame" to PidginPluginInfo
Ankit Vani <a@nevitus.org>
parents:
36446
diff
changeset
|
92 | static void |
|
2d36e433e617
Added properties "finch_preferences_frame" to FinchPluginInfo, "pidgin_config_frame" to PidginPluginInfo
Ankit Vani <a@nevitus.org>
parents:
36446
diff
changeset
|
93 | pidgin_plugin_info_get_property(GObject *obj, guint param_id, GValue *value, |
|
2d36e433e617
Added properties "finch_preferences_frame" to FinchPluginInfo, "pidgin_config_frame" to PidginPluginInfo
Ankit Vani <a@nevitus.org>
parents:
36446
diff
changeset
|
94 | GParamSpec *pspec) |
|
2d36e433e617
Added properties "finch_preferences_frame" to FinchPluginInfo, "pidgin_config_frame" to PidginPluginInfo
Ankit Vani <a@nevitus.org>
parents:
36446
diff
changeset
|
95 | { |
|
2d36e433e617
Added properties "finch_preferences_frame" to FinchPluginInfo, "pidgin_config_frame" to PidginPluginInfo
Ankit Vani <a@nevitus.org>
parents:
36446
diff
changeset
|
96 | PidginPluginInfoPrivate *priv = PIDGIN_PLUGIN_INFO_GET_PRIVATE(obj); |
|
2d36e433e617
Added properties "finch_preferences_frame" to FinchPluginInfo, "pidgin_config_frame" to PidginPluginInfo
Ankit Vani <a@nevitus.org>
parents:
36446
diff
changeset
|
97 | |
|
2d36e433e617
Added properties "finch_preferences_frame" to FinchPluginInfo, "pidgin_config_frame" to PidginPluginInfo
Ankit Vani <a@nevitus.org>
parents:
36446
diff
changeset
|
98 | switch (param_id) { |
|
2d36e433e617
Added properties "finch_preferences_frame" to FinchPluginInfo, "pidgin_config_frame" to PidginPluginInfo
Ankit Vani <a@nevitus.org>
parents:
36446
diff
changeset
|
99 | case PROP_PIDGIN_CONFIG_FRAME: |
|
2d36e433e617
Added properties "finch_preferences_frame" to FinchPluginInfo, "pidgin_config_frame" to PidginPluginInfo
Ankit Vani <a@nevitus.org>
parents:
36446
diff
changeset
|
100 | g_value_set_pointer(value, priv->get_config_frame); |
|
2d36e433e617
Added properties "finch_preferences_frame" to FinchPluginInfo, "pidgin_config_frame" to PidginPluginInfo
Ankit Vani <a@nevitus.org>
parents:
36446
diff
changeset
|
101 | break; |
|
2d36e433e617
Added properties "finch_preferences_frame" to FinchPluginInfo, "pidgin_config_frame" to PidginPluginInfo
Ankit Vani <a@nevitus.org>
parents:
36446
diff
changeset
|
102 | default: |
|
2d36e433e617
Added properties "finch_preferences_frame" to FinchPluginInfo, "pidgin_config_frame" to PidginPluginInfo
Ankit Vani <a@nevitus.org>
parents:
36446
diff
changeset
|
103 | G_OBJECT_WARN_INVALID_PROPERTY_ID(obj, param_id, pspec); |
|
2d36e433e617
Added properties "finch_preferences_frame" to FinchPluginInfo, "pidgin_config_frame" to PidginPluginInfo
Ankit Vani <a@nevitus.org>
parents:
36446
diff
changeset
|
104 | break; |
|
2d36e433e617
Added properties "finch_preferences_frame" to FinchPluginInfo, "pidgin_config_frame" to PidginPluginInfo
Ankit Vani <a@nevitus.org>
parents:
36446
diff
changeset
|
105 | } |
|
2d36e433e617
Added properties "finch_preferences_frame" to FinchPluginInfo, "pidgin_config_frame" to PidginPluginInfo
Ankit Vani <a@nevitus.org>
parents:
36446
diff
changeset
|
106 | } |
|
2d36e433e617
Added properties "finch_preferences_frame" to FinchPluginInfo, "pidgin_config_frame" to PidginPluginInfo
Ankit Vani <a@nevitus.org>
parents:
36446
diff
changeset
|
107 | |
|
36406
8fba0d44840d
Added PidginPluginInfo, inheriting PurplePluginInfo to hold UI information
Ankit Vani <a@nevitus.org>
parents:
33271
diff
changeset
|
108 | /* Class initializer function */ |
|
8fba0d44840d
Added PidginPluginInfo, inheriting PurplePluginInfo to hold UI information
Ankit Vani <a@nevitus.org>
parents:
33271
diff
changeset
|
109 | static void pidgin_plugin_info_class_init(PidginPluginInfoClass *klass) |
|
8fba0d44840d
Added PidginPluginInfo, inheriting PurplePluginInfo to hold UI information
Ankit Vani <a@nevitus.org>
parents:
33271
diff
changeset
|
110 | { |
|
36447
2d36e433e617
Added properties "finch_preferences_frame" to FinchPluginInfo, "pidgin_config_frame" to PidginPluginInfo
Ankit Vani <a@nevitus.org>
parents:
36446
diff
changeset
|
111 | GObjectClass *obj_class = G_OBJECT_CLASS(klass); |
|
2d36e433e617
Added properties "finch_preferences_frame" to FinchPluginInfo, "pidgin_config_frame" to PidginPluginInfo
Ankit Vani <a@nevitus.org>
parents:
36446
diff
changeset
|
112 | |
|
36406
8fba0d44840d
Added PidginPluginInfo, inheriting PurplePluginInfo to hold UI information
Ankit Vani <a@nevitus.org>
parents:
33271
diff
changeset
|
113 | g_type_class_add_private(klass, sizeof(PidginPluginInfoPrivate)); |
|
36447
2d36e433e617
Added properties "finch_preferences_frame" to FinchPluginInfo, "pidgin_config_frame" to PidginPluginInfo
Ankit Vani <a@nevitus.org>
parents:
36446
diff
changeset
|
114 | |
|
2d36e433e617
Added properties "finch_preferences_frame" to FinchPluginInfo, "pidgin_config_frame" to PidginPluginInfo
Ankit Vani <a@nevitus.org>
parents:
36446
diff
changeset
|
115 | /* Setup properties */ |
|
2d36e433e617
Added properties "finch_preferences_frame" to FinchPluginInfo, "pidgin_config_frame" to PidginPluginInfo
Ankit Vani <a@nevitus.org>
parents:
36446
diff
changeset
|
116 | obj_class->get_property = pidgin_plugin_info_get_property; |
|
2d36e433e617
Added properties "finch_preferences_frame" to FinchPluginInfo, "pidgin_config_frame" to PidginPluginInfo
Ankit Vani <a@nevitus.org>
parents:
36446
diff
changeset
|
117 | obj_class->set_property = pidgin_plugin_info_set_property; |
|
2d36e433e617
Added properties "finch_preferences_frame" to FinchPluginInfo, "pidgin_config_frame" to PidginPluginInfo
Ankit Vani <a@nevitus.org>
parents:
36446
diff
changeset
|
118 | |
|
2d36e433e617
Added properties "finch_preferences_frame" to FinchPluginInfo, "pidgin_config_frame" to PidginPluginInfo
Ankit Vani <a@nevitus.org>
parents:
36446
diff
changeset
|
119 | g_object_class_install_property(obj_class, PROP_PIDGIN_CONFIG_FRAME, |
|
36479
345ec7248f48
Updated plugin info properties as per changes in GPlugin
Ankit Vani <a@nevitus.org>
parents:
36467
diff
changeset
|
120 | g_param_spec_pointer("pidgin-config-frame", |
|
36447
2d36e433e617
Added properties "finch_preferences_frame" to FinchPluginInfo, "pidgin_config_frame" to PidginPluginInfo
Ankit Vani <a@nevitus.org>
parents:
36446
diff
changeset
|
121 | "Pidgin configuration frame callback", |
|
2d36e433e617
Added properties "finch_preferences_frame" to FinchPluginInfo, "pidgin_config_frame" to PidginPluginInfo
Ankit Vani <a@nevitus.org>
parents:
36446
diff
changeset
|
122 | "Callback that returns a GTK configuration frame", |
|
2d36e433e617
Added properties "finch_preferences_frame" to FinchPluginInfo, "pidgin_config_frame" to PidginPluginInfo
Ankit Vani <a@nevitus.org>
parents:
36446
diff
changeset
|
123 | G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); |
|
36406
8fba0d44840d
Added PidginPluginInfo, inheriting PurplePluginInfo to hold UI information
Ankit Vani <a@nevitus.org>
parents:
33271
diff
changeset
|
124 | } |
|
8fba0d44840d
Added PidginPluginInfo, inheriting PurplePluginInfo to hold UI information
Ankit Vani <a@nevitus.org>
parents:
33271
diff
changeset
|
125 | |
|
8fba0d44840d
Added PidginPluginInfo, inheriting PurplePluginInfo to hold UI information
Ankit Vani <a@nevitus.org>
parents:
33271
diff
changeset
|
126 | GType |
|
8fba0d44840d
Added PidginPluginInfo, inheriting PurplePluginInfo to hold UI information
Ankit Vani <a@nevitus.org>
parents:
33271
diff
changeset
|
127 | pidgin_plugin_info_get_type(void) |
|
8fba0d44840d
Added PidginPluginInfo, inheriting PurplePluginInfo to hold UI information
Ankit Vani <a@nevitus.org>
parents:
33271
diff
changeset
|
128 | { |
|
8fba0d44840d
Added PidginPluginInfo, inheriting PurplePluginInfo to hold UI information
Ankit Vani <a@nevitus.org>
parents:
33271
diff
changeset
|
129 | static GType type = 0; |
|
8fba0d44840d
Added PidginPluginInfo, inheriting PurplePluginInfo to hold UI information
Ankit Vani <a@nevitus.org>
parents:
33271
diff
changeset
|
130 | |
|
8fba0d44840d
Added PidginPluginInfo, inheriting PurplePluginInfo to hold UI information
Ankit Vani <a@nevitus.org>
parents:
33271
diff
changeset
|
131 | if (G_UNLIKELY(type == 0)) { |
|
8fba0d44840d
Added PidginPluginInfo, inheriting PurplePluginInfo to hold UI information
Ankit Vani <a@nevitus.org>
parents:
33271
diff
changeset
|
132 | static const GTypeInfo info = { |
|
8fba0d44840d
Added PidginPluginInfo, inheriting PurplePluginInfo to hold UI information
Ankit Vani <a@nevitus.org>
parents:
33271
diff
changeset
|
133 | .class_size = sizeof(PidginPluginInfoClass), |
|
8fba0d44840d
Added PidginPluginInfo, inheriting PurplePluginInfo to hold UI information
Ankit Vani <a@nevitus.org>
parents:
33271
diff
changeset
|
134 | .class_init = (GClassInitFunc)pidgin_plugin_info_class_init, |
|
8fba0d44840d
Added PidginPluginInfo, inheriting PurplePluginInfo to hold UI information
Ankit Vani <a@nevitus.org>
parents:
33271
diff
changeset
|
135 | .instance_size = sizeof(PidginPluginInfo), |
|
8fba0d44840d
Added PidginPluginInfo, inheriting PurplePluginInfo to hold UI information
Ankit Vani <a@nevitus.org>
parents:
33271
diff
changeset
|
136 | }; |
|
8fba0d44840d
Added PidginPluginInfo, inheriting PurplePluginInfo to hold UI information
Ankit Vani <a@nevitus.org>
parents:
33271
diff
changeset
|
137 | |
|
8fba0d44840d
Added PidginPluginInfo, inheriting PurplePluginInfo to hold UI information
Ankit Vani <a@nevitus.org>
parents:
33271
diff
changeset
|
138 | type = g_type_register_static(PURPLE_TYPE_PLUGIN_INFO, |
|
8fba0d44840d
Added PidginPluginInfo, inheriting PurplePluginInfo to hold UI information
Ankit Vani <a@nevitus.org>
parents:
33271
diff
changeset
|
139 | "PidginPluginInfo", &info, 0); |
|
8fba0d44840d
Added PidginPluginInfo, inheriting PurplePluginInfo to hold UI information
Ankit Vani <a@nevitus.org>
parents:
33271
diff
changeset
|
140 | } |
|
8fba0d44840d
Added PidginPluginInfo, inheriting PurplePluginInfo to hold UI information
Ankit Vani <a@nevitus.org>
parents:
33271
diff
changeset
|
141 | |
|
8fba0d44840d
Added PidginPluginInfo, inheriting PurplePluginInfo to hold UI information
Ankit Vani <a@nevitus.org>
parents:
33271
diff
changeset
|
142 | return type; |
|
8fba0d44840d
Added PidginPluginInfo, inheriting PurplePluginInfo to hold UI information
Ankit Vani <a@nevitus.org>
parents:
33271
diff
changeset
|
143 | } |
|
8fba0d44840d
Added PidginPluginInfo, inheriting PurplePluginInfo to hold UI information
Ankit Vani <a@nevitus.org>
parents:
33271
diff
changeset
|
144 | |
|
36446
e75794a5a7f0
Added [purple,pidgin,finch]_plugin_info_new()
Ankit Vani <a@nevitus.org>
parents:
36440
diff
changeset
|
145 | PidginPluginInfo * |
|
e75794a5a7f0
Added [purple,pidgin,finch]_plugin_info_new()
Ankit Vani <a@nevitus.org>
parents:
36440
diff
changeset
|
146 | pidgin_plugin_info_new(const char *first_property, ...) |
|
e75794a5a7f0
Added [purple,pidgin,finch]_plugin_info_new()
Ankit Vani <a@nevitus.org>
parents:
36440
diff
changeset
|
147 | { |
|
e75794a5a7f0
Added [purple,pidgin,finch]_plugin_info_new()
Ankit Vani <a@nevitus.org>
parents:
36440
diff
changeset
|
148 | GObject *info; |
|
e75794a5a7f0
Added [purple,pidgin,finch]_plugin_info_new()
Ankit Vani <a@nevitus.org>
parents:
36440
diff
changeset
|
149 | va_list var_args; |
|
e75794a5a7f0
Added [purple,pidgin,finch]_plugin_info_new()
Ankit Vani <a@nevitus.org>
parents:
36440
diff
changeset
|
150 | |
|
e75794a5a7f0
Added [purple,pidgin,finch]_plugin_info_new()
Ankit Vani <a@nevitus.org>
parents:
36440
diff
changeset
|
151 | /* at least ID is required */ |
|
e75794a5a7f0
Added [purple,pidgin,finch]_plugin_info_new()
Ankit Vani <a@nevitus.org>
parents:
36440
diff
changeset
|
152 | if (!first_property) |
|
e75794a5a7f0
Added [purple,pidgin,finch]_plugin_info_new()
Ankit Vani <a@nevitus.org>
parents:
36440
diff
changeset
|
153 | return NULL; |
|
e75794a5a7f0
Added [purple,pidgin,finch]_plugin_info_new()
Ankit Vani <a@nevitus.org>
parents:
36440
diff
changeset
|
154 | |
|
e75794a5a7f0
Added [purple,pidgin,finch]_plugin_info_new()
Ankit Vani <a@nevitus.org>
parents:
36440
diff
changeset
|
155 | va_start(var_args, first_property); |
|
e75794a5a7f0
Added [purple,pidgin,finch]_plugin_info_new()
Ankit Vani <a@nevitus.org>
parents:
36440
diff
changeset
|
156 | info = g_object_new_valist(PIDGIN_TYPE_PLUGIN_INFO, first_property, |
|
e75794a5a7f0
Added [purple,pidgin,finch]_plugin_info_new()
Ankit Vani <a@nevitus.org>
parents:
36440
diff
changeset
|
157 | var_args); |
|
e75794a5a7f0
Added [purple,pidgin,finch]_plugin_info_new()
Ankit Vani <a@nevitus.org>
parents:
36440
diff
changeset
|
158 | va_end(var_args); |
|
e75794a5a7f0
Added [purple,pidgin,finch]_plugin_info_new()
Ankit Vani <a@nevitus.org>
parents:
36440
diff
changeset
|
159 | |
|
36479
345ec7248f48
Updated plugin info properties as per changes in GPlugin
Ankit Vani <a@nevitus.org>
parents:
36467
diff
changeset
|
160 | g_object_set(info, "ui-requirement", PIDGIN_UI, NULL); |
|
36446
e75794a5a7f0
Added [purple,pidgin,finch]_plugin_info_new()
Ankit Vani <a@nevitus.org>
parents:
36440
diff
changeset
|
161 | |
|
e75794a5a7f0
Added [purple,pidgin,finch]_plugin_info_new()
Ankit Vani <a@nevitus.org>
parents:
36440
diff
changeset
|
162 | return PIDGIN_PLUGIN_INFO(info); |
|
e75794a5a7f0
Added [purple,pidgin,finch]_plugin_info_new()
Ankit Vani <a@nevitus.org>
parents:
36440
diff
changeset
|
163 | } |
|
e75794a5a7f0
Added [purple,pidgin,finch]_plugin_info_new()
Ankit Vani <a@nevitus.org>
parents:
36440
diff
changeset
|
164 | |
| 5205 | 165 | GtkWidget * |
| 15884 | 166 | pidgin_plugin_get_config_frame(PurplePlugin *plugin) |
| 5205 | 167 | { |
|
11817
b8622a510778
[gaim-migrate @ 14108]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
11813
diff
changeset
|
168 | GtkWidget *config = NULL; |
|
36420
7a5cb79a8243
Refactored gtkplugin to use the new API. Handling of dependent plugins on unload is left till GPlugin implements it.
Ankit Vani <a@nevitus.org>
parents:
36417
diff
changeset
|
169 | PurplePluginInfo *info; |
|
7a5cb79a8243
Refactored gtkplugin to use the new API. Handling of dependent plugins on unload is left till GPlugin implements it.
Ankit Vani <a@nevitus.org>
parents:
36417
diff
changeset
|
170 | PidginPluginInfoPrivate *priv = NULL; |
| 5205 | 171 | |
| 172 | g_return_val_if_fail(plugin != NULL, NULL); | |
| 173 | ||
|
36431
ea007725fd4d
Refactored the codebase to use the plugin wrapper functions
Ankit Vani <a@nevitus.org>
parents:
36430
diff
changeset
|
174 | info = purple_plugin_get_info(plugin); |
|
36420
7a5cb79a8243
Refactored gtkplugin to use the new API. Handling of dependent plugins on unload is left till GPlugin implements it.
Ankit Vani <a@nevitus.org>
parents:
36417
diff
changeset
|
175 | if (PIDGIN_IS_PLUGIN_INFO(info)) |
|
7a5cb79a8243
Refactored gtkplugin to use the new API. Handling of dependent plugins on unload is left till GPlugin implements it.
Ankit Vani <a@nevitus.org>
parents:
36417
diff
changeset
|
176 | priv = PIDGIN_PLUGIN_INFO_GET_PRIVATE(info); |
|
11817
b8622a510778
[gaim-migrate @ 14108]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
11813
diff
changeset
|
177 | |
|
36420
7a5cb79a8243
Refactored gtkplugin to use the new API. Handling of dependent plugins on unload is left till GPlugin implements it.
Ankit Vani <a@nevitus.org>
parents:
36417
diff
changeset
|
178 | if (priv && priv->get_config_frame) |
|
7a5cb79a8243
Refactored gtkplugin to use the new API. Handling of dependent plugins on unload is left till GPlugin implements it.
Ankit Vani <a@nevitus.org>
parents:
36417
diff
changeset
|
179 | { |
|
7a5cb79a8243
Refactored gtkplugin to use the new API. Handling of dependent plugins on unload is left till GPlugin implements it.
Ankit Vani <a@nevitus.org>
parents:
36417
diff
changeset
|
180 | config = priv->get_config_frame(plugin); |
|
11817
b8622a510778
[gaim-migrate @ 14108]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
11813
diff
changeset
|
181 | |
|
36420
7a5cb79a8243
Refactored gtkplugin to use the new API. Handling of dependent plugins on unload is left till GPlugin implements it.
Ankit Vani <a@nevitus.org>
parents:
36417
diff
changeset
|
182 | if (purple_plugin_info_get_pref_frame_callback(info)) |
|
11817
b8622a510778
[gaim-migrate @ 14108]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
11813
diff
changeset
|
183 | { |
| 15884 | 184 | purple_debug_warning("gtkplugin", |
|
11817
b8622a510778
[gaim-migrate @ 14108]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
11813
diff
changeset
|
185 | "Plugin %s contains both, ui_info and " |
|
b8622a510778
[gaim-migrate @ 14108]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
11813
diff
changeset
|
186 | "prefs_info preferences; prefs_info will be " |
|
36420
7a5cb79a8243
Refactored gtkplugin to use the new API. Handling of dependent plugins on unload is left till GPlugin implements it.
Ankit Vani <a@nevitus.org>
parents:
36417
diff
changeset
|
187 | "ignored.", |
|
36431
ea007725fd4d
Refactored the codebase to use the plugin wrapper functions
Ankit Vani <a@nevitus.org>
parents:
36430
diff
changeset
|
188 | purple_plugin_info_get_name(info)); |
|
11817
b8622a510778
[gaim-migrate @ 14108]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
11813
diff
changeset
|
189 | } |
|
b8622a510778
[gaim-migrate @ 14108]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
11813
diff
changeset
|
190 | } |
|
36420
7a5cb79a8243
Refactored gtkplugin to use the new API. Handling of dependent plugins on unload is left till GPlugin implements it.
Ankit Vani <a@nevitus.org>
parents:
36417
diff
changeset
|
191 | else if (purple_plugin_info_get_pref_frame_callback(info)) |
|
11817
b8622a510778
[gaim-migrate @ 14108]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
11813
diff
changeset
|
192 | { |
| 15884 | 193 | PurplePluginPrefFrame *frame; |
|
36420
7a5cb79a8243
Refactored gtkplugin to use the new API. Handling of dependent plugins on unload is left till GPlugin implements it.
Ankit Vani <a@nevitus.org>
parents:
36417
diff
changeset
|
194 | PurplePluginPrefFrameCallback get_pref_frame = |
|
7a5cb79a8243
Refactored gtkplugin to use the new API. Handling of dependent plugins on unload is left till GPlugin implements it.
Ankit Vani <a@nevitus.org>
parents:
36417
diff
changeset
|
195 | purple_plugin_info_get_pref_frame_callback(info); |
| 5205 | 196 | |
|
36420
7a5cb79a8243
Refactored gtkplugin to use the new API. Handling of dependent plugins on unload is left till GPlugin implements it.
Ankit Vani <a@nevitus.org>
parents:
36417
diff
changeset
|
197 | frame = get_pref_frame(plugin); |
|
11817
b8622a510778
[gaim-migrate @ 14108]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
11813
diff
changeset
|
198 | |
|
15562
8c8249fe5e3c
gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents:
15435
diff
changeset
|
199 | config = pidgin_plugin_pref_create_frame(frame); |
| 12870 | 200 | |
| 36926 | 201 | purple_plugin_info_set_ui_data(info, frame); |
|
11817
b8622a510778
[gaim-migrate @ 14108]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
11813
diff
changeset
|
202 | } |
|
b8622a510778
[gaim-migrate @ 14108]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
11813
diff
changeset
|
203 | |
|
b8622a510778
[gaim-migrate @ 14108]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
11813
diff
changeset
|
204 | return config; |
| 5205 | 205 | } |
|
5981
c91ece01ad12
[gaim-migrate @ 6429]
Christian Hammond <chipx86@chipx86.com>
parents:
5205
diff
changeset
|
206 | |
|
36420
7a5cb79a8243
Refactored gtkplugin to use the new API. Handling of dependent plugins on unload is left till GPlugin implements it.
Ankit Vani <a@nevitus.org>
parents:
36417
diff
changeset
|
207 | static gboolean |
|
36431
ea007725fd4d
Refactored the codebase to use the plugin wrapper functions
Ankit Vani <a@nevitus.org>
parents:
36430
diff
changeset
|
208 | pidgin_plugin_has_config_frame(PurplePlugin *plugin) |
|
36420
7a5cb79a8243
Refactored gtkplugin to use the new API. Handling of dependent plugins on unload is left till GPlugin implements it.
Ankit Vani <a@nevitus.org>
parents:
36417
diff
changeset
|
209 | { |
|
36431
ea007725fd4d
Refactored the codebase to use the plugin wrapper functions
Ankit Vani <a@nevitus.org>
parents:
36430
diff
changeset
|
210 | PurplePluginInfo *info = purple_plugin_get_info(plugin); |
|
36420
7a5cb79a8243
Refactored gtkplugin to use the new API. Handling of dependent plugins on unload is left till GPlugin implements it.
Ankit Vani <a@nevitus.org>
parents:
36417
diff
changeset
|
211 | PidginPluginInfoPrivate *priv = NULL; |
|
7a5cb79a8243
Refactored gtkplugin to use the new API. Handling of dependent plugins on unload is left till GPlugin implements it.
Ankit Vani <a@nevitus.org>
parents:
36417
diff
changeset
|
212 | gboolean ret; |
|
7a5cb79a8243
Refactored gtkplugin to use the new API. Handling of dependent plugins on unload is left till GPlugin implements it.
Ankit Vani <a@nevitus.org>
parents:
36417
diff
changeset
|
213 | |
|
7a5cb79a8243
Refactored gtkplugin to use the new API. Handling of dependent plugins on unload is left till GPlugin implements it.
Ankit Vani <a@nevitus.org>
parents:
36417
diff
changeset
|
214 | g_return_val_if_fail(plugin != NULL, FALSE); |
|
7a5cb79a8243
Refactored gtkplugin to use the new API. Handling of dependent plugins on unload is left till GPlugin implements it.
Ankit Vani <a@nevitus.org>
parents:
36417
diff
changeset
|
215 | |
|
7a5cb79a8243
Refactored gtkplugin to use the new API. Handling of dependent plugins on unload is left till GPlugin implements it.
Ankit Vani <a@nevitus.org>
parents:
36417
diff
changeset
|
216 | if (PIDGIN_IS_PLUGIN_INFO(info)) |
|
7a5cb79a8243
Refactored gtkplugin to use the new API. Handling of dependent plugins on unload is left till GPlugin implements it.
Ankit Vani <a@nevitus.org>
parents:
36417
diff
changeset
|
217 | priv = PIDGIN_PLUGIN_INFO_GET_PRIVATE(info); |
|
7a5cb79a8243
Refactored gtkplugin to use the new API. Handling of dependent plugins on unload is left till GPlugin implements it.
Ankit Vani <a@nevitus.org>
parents:
36417
diff
changeset
|
218 | |
|
7a5cb79a8243
Refactored gtkplugin to use the new API. Handling of dependent plugins on unload is left till GPlugin implements it.
Ankit Vani <a@nevitus.org>
parents:
36417
diff
changeset
|
219 | ret = ((priv && priv->get_config_frame) || |
|
7a5cb79a8243
Refactored gtkplugin to use the new API. Handling of dependent plugins on unload is left till GPlugin implements it.
Ankit Vani <a@nevitus.org>
parents:
36417
diff
changeset
|
220 | purple_plugin_info_get_pref_frame_callback(info)); |
|
7a5cb79a8243
Refactored gtkplugin to use the new API. Handling of dependent plugins on unload is left till GPlugin implements it.
Ankit Vani <a@nevitus.org>
parents:
36417
diff
changeset
|
221 | |
|
7a5cb79a8243
Refactored gtkplugin to use the new API. Handling of dependent plugins on unload is left till GPlugin implements it.
Ankit Vani <a@nevitus.org>
parents:
36417
diff
changeset
|
222 | return ret; |
|
7a5cb79a8243
Refactored gtkplugin to use the new API. Handling of dependent plugins on unload is left till GPlugin implements it.
Ankit Vani <a@nevitus.org>
parents:
36417
diff
changeset
|
223 | } |
|
7a5cb79a8243
Refactored gtkplugin to use the new API. Handling of dependent plugins on unload is left till GPlugin implements it.
Ankit Vani <a@nevitus.org>
parents:
36417
diff
changeset
|
224 | |
|
5981
c91ece01ad12
[gaim-migrate @ 6429]
Christian Hammond <chipx86@chipx86.com>
parents:
5205
diff
changeset
|
225 | void |
|
15562
8c8249fe5e3c
gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents:
15435
diff
changeset
|
226 | pidgin_plugins_save(void) |
|
5981
c91ece01ad12
[gaim-migrate @ 6429]
Christian Hammond <chipx86@chipx86.com>
parents:
5205
diff
changeset
|
227 | { |
|
16123
8b98683319e7
Rename /purple/gtk preferences back to /gaim/gtk to allow for smooth upgrades
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
15931
diff
changeset
|
228 | purple_plugins_save_loaded(PIDGIN_PREFS_ROOT "/plugins/loaded"); |
|
5981
c91ece01ad12
[gaim-migrate @ 6429]
Christian Hammond <chipx86@chipx86.com>
parents:
5205
diff
changeset
|
229 | } |
| 11740 | 230 | |
| 231 | static void | |
| 232 | update_plugin_list(void *data) | |
| 233 | { | |
| 234 | GtkListStore *ls = GTK_LIST_STORE(data); | |
| 235 | GtkTreeIter iter; | |
|
36420
7a5cb79a8243
Refactored gtkplugin to use the new API. Handling of dependent plugins on unload is left till GPlugin implements it.
Ankit Vani <a@nevitus.org>
parents:
36417
diff
changeset
|
236 | GList *plugins, *l; |
| 15884 | 237 | PurplePlugin *plug; |
|
36431
ea007725fd4d
Refactored the codebase to use the plugin wrapper functions
Ankit Vani <a@nevitus.org>
parents:
36430
diff
changeset
|
238 | PurplePluginInfo *info; |
| 11740 | 239 | |
| 240 | gtk_list_store_clear(ls); | |
|
36431
ea007725fd4d
Refactored the codebase to use the plugin wrapper functions
Ankit Vani <a@nevitus.org>
parents:
36430
diff
changeset
|
241 | purple_plugins_refresh(); |
| 11740 | 242 | |
|
36420
7a5cb79a8243
Refactored gtkplugin to use the new API. Handling of dependent plugins on unload is left till GPlugin implements it.
Ankit Vani <a@nevitus.org>
parents:
36417
diff
changeset
|
243 | plugins = purple_plugins_find_all(); |
|
7a5cb79a8243
Refactored gtkplugin to use the new API. Handling of dependent plugins on unload is left till GPlugin implements it.
Ankit Vani <a@nevitus.org>
parents:
36417
diff
changeset
|
244 | |
|
7a5cb79a8243
Refactored gtkplugin to use the new API. Handling of dependent plugins on unload is left till GPlugin implements it.
Ankit Vani <a@nevitus.org>
parents:
36417
diff
changeset
|
245 | for (l = plugins; l != NULL; l = l->next) |
| 11740 | 246 | { |
|
12702
fbd3bef47358
[gaim-migrate @ 15045]
Richard Laager <rlaager@pidgin.im>
parents:
12695
diff
changeset
|
247 | char *name; |
|
fbd3bef47358
[gaim-migrate @ 15045]
Richard Laager <rlaager@pidgin.im>
parents:
12695
diff
changeset
|
248 | char *version; |
|
fbd3bef47358
[gaim-migrate @ 15045]
Richard Laager <rlaager@pidgin.im>
parents:
12695
diff
changeset
|
249 | char *summary; |
| 11740 | 250 | char *desc; |
|
36431
ea007725fd4d
Refactored the codebase to use the plugin wrapper functions
Ankit Vani <a@nevitus.org>
parents:
36430
diff
changeset
|
251 | plug = PURPLE_PLUGIN(l->data); |
|
ea007725fd4d
Refactored the codebase to use the plugin wrapper functions
Ankit Vani <a@nevitus.org>
parents:
36430
diff
changeset
|
252 | info = purple_plugin_get_info(plug); |
| 11740 | 253 | |
|
36467
52aa83c47311
Replaced purple_plugin_loads_on_query() with purple_plugin_is_internal().
Ankit Vani <a@nevitus.org>
parents:
36464
diff
changeset
|
254 | if (purple_plugin_is_internal(plug)) |
|
15336
a2454071e986
[gaim-migrate @ 18064]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
15177
diff
changeset
|
255 | continue; |
| 11740 | 256 | |
| 257 | gtk_list_store_append (ls, &iter); | |
|
12702
fbd3bef47358
[gaim-migrate @ 15045]
Richard Laager <rlaager@pidgin.im>
parents:
12695
diff
changeset
|
258 | |
|
36431
ea007725fd4d
Refactored the codebase to use the plugin wrapper functions
Ankit Vani <a@nevitus.org>
parents:
36430
diff
changeset
|
259 | if (purple_plugin_info_get_name(info)) { |
|
ea007725fd4d
Refactored the codebase to use the plugin wrapper functions
Ankit Vani <a@nevitus.org>
parents:
36430
diff
changeset
|
260 | name = g_markup_escape_text(_(purple_plugin_info_get_name(info)), -1); |
|
26756
874b154f4220
More Pidgin updates for GTK+ 3.0. Removes any deprecated functions for GLib
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
23180
diff
changeset
|
261 | } else { |
|
36431
ea007725fd4d
Refactored the codebase to use the plugin wrapper functions
Ankit Vani <a@nevitus.org>
parents:
36430
diff
changeset
|
262 | char *tmp = g_path_get_basename(purple_plugin_get_filename(plug)); |
|
26756
874b154f4220
More Pidgin updates for GTK+ 3.0. Removes any deprecated functions for GLib
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
23180
diff
changeset
|
263 | name = g_markup_escape_text(tmp, -1); |
|
874b154f4220
More Pidgin updates for GTK+ 3.0. Removes any deprecated functions for GLib
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
23180
diff
changeset
|
264 | g_free(tmp); |
|
874b154f4220
More Pidgin updates for GTK+ 3.0. Removes any deprecated functions for GLib
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
23180
diff
changeset
|
265 | } |
|
36431
ea007725fd4d
Refactored the codebase to use the plugin wrapper functions
Ankit Vani <a@nevitus.org>
parents:
36430
diff
changeset
|
266 | version = g_markup_escape_text(purple_plugin_info_get_version(info), -1); |
|
ea007725fd4d
Refactored the codebase to use the plugin wrapper functions
Ankit Vani <a@nevitus.org>
parents:
36430
diff
changeset
|
267 | summary = g_markup_escape_text(purple_plugin_info_get_summary(info), -1); |
|
12702
fbd3bef47358
[gaim-migrate @ 15045]
Richard Laager <rlaager@pidgin.im>
parents:
12695
diff
changeset
|
268 | |
|
fbd3bef47358
[gaim-migrate @ 15045]
Richard Laager <rlaager@pidgin.im>
parents:
12695
diff
changeset
|
269 | desc = g_strdup_printf("<b>%s</b> %s\n%s", name, |
|
fbd3bef47358
[gaim-migrate @ 15045]
Richard Laager <rlaager@pidgin.im>
parents:
12695
diff
changeset
|
270 | version, |
|
fbd3bef47358
[gaim-migrate @ 15045]
Richard Laager <rlaager@pidgin.im>
parents:
12695
diff
changeset
|
271 | summary); |
|
fbd3bef47358
[gaim-migrate @ 15045]
Richard Laager <rlaager@pidgin.im>
parents:
12695
diff
changeset
|
272 | g_free(name); |
|
fbd3bef47358
[gaim-migrate @ 15045]
Richard Laager <rlaager@pidgin.im>
parents:
12695
diff
changeset
|
273 | g_free(version); |
|
fbd3bef47358
[gaim-migrate @ 15045]
Richard Laager <rlaager@pidgin.im>
parents:
12695
diff
changeset
|
274 | g_free(summary); |
|
fbd3bef47358
[gaim-migrate @ 15045]
Richard Laager <rlaager@pidgin.im>
parents:
12695
diff
changeset
|
275 | |
| 11740 | 276 | gtk_list_store_set(ls, &iter, |
| 15884 | 277 | 0, purple_plugin_is_loaded(plug), |
| 11740 | 278 | 1, desc, |
|
12695
0c93a42b7ee2
[gaim-migrate @ 15038]
Richard Laager <rlaager@pidgin.im>
parents:
12600
diff
changeset
|
279 | 2, plug, |
|
36760
88a9488af4e8
Fixed pidgin's plugin list display
Ankit Vani <a@nevitus.org>
parents:
36701
diff
changeset
|
280 | 3, purple_plugin_info_get_error(info), |
|
12695
0c93a42b7ee2
[gaim-migrate @ 15038]
Richard Laager <rlaager@pidgin.im>
parents:
12600
diff
changeset
|
281 | -1); |
| 11740 | 282 | g_free(desc); |
| 283 | } | |
|
36420
7a5cb79a8243
Refactored gtkplugin to use the new API. Handling of dependent plugins on unload is left till GPlugin implements it.
Ankit Vani <a@nevitus.org>
parents:
36417
diff
changeset
|
284 | |
|
36430
559d5d9d8a6c
Refactored the codebase to remove purple_plugins_free_found_list()
Ankit Vani <a@nevitus.org>
parents:
36422
diff
changeset
|
285 | g_list_free(plugins); |
| 11740 | 286 | } |
| 287 | ||
|
36780
2e95872a71c3
Update the automatically loaded plugins via dependencies/dependent plugins on plugin load/unload in pidgin
Ankit Vani <a@nevitus.org>
parents:
36760
diff
changeset
|
288 | static gboolean |
|
2e95872a71c3
Update the automatically loaded plugins via dependencies/dependent plugins on plugin load/unload in pidgin
Ankit Vani <a@nevitus.org>
parents:
36760
diff
changeset
|
289 | check_if_loaded(GtkTreeModel *model, GtkTreePath *path, GtkTreeIter *iter, gpointer data) |
|
2e95872a71c3
Update the automatically loaded plugins via dependencies/dependent plugins on plugin load/unload in pidgin
Ankit Vani <a@nevitus.org>
parents:
36760
diff
changeset
|
290 | { |
|
2e95872a71c3
Update the automatically loaded plugins via dependencies/dependent plugins on plugin load/unload in pidgin
Ankit Vani <a@nevitus.org>
parents:
36760
diff
changeset
|
291 | PurplePlugin *plugin; |
|
2e95872a71c3
Update the automatically loaded plugins via dependencies/dependent plugins on plugin load/unload in pidgin
Ankit Vani <a@nevitus.org>
parents:
36760
diff
changeset
|
292 | gtk_tree_model_get(model, iter, 2, &plugin, -1); |
|
2e95872a71c3
Update the automatically loaded plugins via dependencies/dependent plugins on plugin load/unload in pidgin
Ankit Vani <a@nevitus.org>
parents:
36760
diff
changeset
|
293 | gtk_list_store_set(GTK_LIST_STORE(model), iter, |
|
2e95872a71c3
Update the automatically loaded plugins via dependencies/dependent plugins on plugin load/unload in pidgin
Ankit Vani <a@nevitus.org>
parents:
36760
diff
changeset
|
294 | 0, purple_plugin_is_loaded(plugin), |
|
2e95872a71c3
Update the automatically loaded plugins via dependencies/dependent plugins on plugin load/unload in pidgin
Ankit Vani <a@nevitus.org>
parents:
36760
diff
changeset
|
295 | -1); |
|
2e95872a71c3
Update the automatically loaded plugins via dependencies/dependent plugins on plugin load/unload in pidgin
Ankit Vani <a@nevitus.org>
parents:
36760
diff
changeset
|
296 | return FALSE; |
|
2e95872a71c3
Update the automatically loaded plugins via dependencies/dependent plugins on plugin load/unload in pidgin
Ankit Vani <a@nevitus.org>
parents:
36760
diff
changeset
|
297 | } |
|
2e95872a71c3
Update the automatically loaded plugins via dependencies/dependent plugins on plugin load/unload in pidgin
Ankit Vani <a@nevitus.org>
parents:
36760
diff
changeset
|
298 | |
|
2e95872a71c3
Update the automatically loaded plugins via dependencies/dependent plugins on plugin load/unload in pidgin
Ankit Vani <a@nevitus.org>
parents:
36760
diff
changeset
|
299 | static void |
|
2e95872a71c3
Update the automatically loaded plugins via dependencies/dependent plugins on plugin load/unload in pidgin
Ankit Vani <a@nevitus.org>
parents:
36760
diff
changeset
|
300 | update_loaded_plugins(GtkTreeModel *model) |
|
2e95872a71c3
Update the automatically loaded plugins via dependencies/dependent plugins on plugin load/unload in pidgin
Ankit Vani <a@nevitus.org>
parents:
36760
diff
changeset
|
301 | { |
|
2e95872a71c3
Update the automatically loaded plugins via dependencies/dependent plugins on plugin load/unload in pidgin
Ankit Vani <a@nevitus.org>
parents:
36760
diff
changeset
|
302 | gtk_tree_model_foreach(model, check_if_loaded, NULL); |
| 11740 | 303 | } |
| 304 | ||
| 15884 | 305 | static void plugin_loading_common(PurplePlugin *plugin, GtkTreeView *view, gboolean loaded) |
|
12927
f3e4ef8958a3
[gaim-migrate @ 15280]
Richard Laager <rlaager@pidgin.im>
parents:
12889
diff
changeset
|
306 | { |
|
f3e4ef8958a3
[gaim-migrate @ 15280]
Richard Laager <rlaager@pidgin.im>
parents:
12889
diff
changeset
|
307 | GtkTreeIter iter; |
|
f3e4ef8958a3
[gaim-migrate @ 15280]
Richard Laager <rlaager@pidgin.im>
parents:
12889
diff
changeset
|
308 | GtkTreeModel *model = gtk_tree_view_get_model(view); |
|
f3e4ef8958a3
[gaim-migrate @ 15280]
Richard Laager <rlaager@pidgin.im>
parents:
12889
diff
changeset
|
309 | |
|
f3e4ef8958a3
[gaim-migrate @ 15280]
Richard Laager <rlaager@pidgin.im>
parents:
12889
diff
changeset
|
310 | if (gtk_tree_model_get_iter_first(model, &iter)) { |
|
f3e4ef8958a3
[gaim-migrate @ 15280]
Richard Laager <rlaager@pidgin.im>
parents:
12889
diff
changeset
|
311 | do { |
| 15884 | 312 | PurplePlugin *plug; |
|
12927
f3e4ef8958a3
[gaim-migrate @ 15280]
Richard Laager <rlaager@pidgin.im>
parents:
12889
diff
changeset
|
313 | GtkTreeSelection *sel; |
|
f3e4ef8958a3
[gaim-migrate @ 15280]
Richard Laager <rlaager@pidgin.im>
parents:
12889
diff
changeset
|
314 | |
|
f3e4ef8958a3
[gaim-migrate @ 15280]
Richard Laager <rlaager@pidgin.im>
parents:
12889
diff
changeset
|
315 | gtk_tree_model_get(model, &iter, 2, &plug, -1); |
|
f3e4ef8958a3
[gaim-migrate @ 15280]
Richard Laager <rlaager@pidgin.im>
parents:
12889
diff
changeset
|
316 | |
|
f3e4ef8958a3
[gaim-migrate @ 15280]
Richard Laager <rlaager@pidgin.im>
parents:
12889
diff
changeset
|
317 | if (plug != plugin) |
|
f3e4ef8958a3
[gaim-migrate @ 15280]
Richard Laager <rlaager@pidgin.im>
parents:
12889
diff
changeset
|
318 | continue; |
|
f3e4ef8958a3
[gaim-migrate @ 15280]
Richard Laager <rlaager@pidgin.im>
parents:
12889
diff
changeset
|
319 | |
|
f3e4ef8958a3
[gaim-migrate @ 15280]
Richard Laager <rlaager@pidgin.im>
parents:
12889
diff
changeset
|
320 | gtk_list_store_set(GTK_LIST_STORE(model), &iter, 0, loaded, -1); |
|
f3e4ef8958a3
[gaim-migrate @ 15280]
Richard Laager <rlaager@pidgin.im>
parents:
12889
diff
changeset
|
321 | |
|
f3e4ef8958a3
[gaim-migrate @ 15280]
Richard Laager <rlaager@pidgin.im>
parents:
12889
diff
changeset
|
322 | /* If the loaded/unloaded plugin is the selected row, |
|
f3e4ef8958a3
[gaim-migrate @ 15280]
Richard Laager <rlaager@pidgin.im>
parents:
12889
diff
changeset
|
323 | * update the pref_button. */ |
|
f3e4ef8958a3
[gaim-migrate @ 15280]
Richard Laager <rlaager@pidgin.im>
parents:
12889
diff
changeset
|
324 | sel = gtk_tree_view_get_selection(view); |
|
f3e4ef8958a3
[gaim-migrate @ 15280]
Richard Laager <rlaager@pidgin.im>
parents:
12889
diff
changeset
|
325 | if (gtk_tree_selection_get_selected(sel, &model, &iter)) |
|
f3e4ef8958a3
[gaim-migrate @ 15280]
Richard Laager <rlaager@pidgin.im>
parents:
12889
diff
changeset
|
326 | { |
|
f3e4ef8958a3
[gaim-migrate @ 15280]
Richard Laager <rlaager@pidgin.im>
parents:
12889
diff
changeset
|
327 | gtk_tree_model_get(model, &iter, 2, &plug, -1); |
|
f3e4ef8958a3
[gaim-migrate @ 15280]
Richard Laager <rlaager@pidgin.im>
parents:
12889
diff
changeset
|
328 | if (plug == plugin) |
|
f3e4ef8958a3
[gaim-migrate @ 15280]
Richard Laager <rlaager@pidgin.im>
parents:
12889
diff
changeset
|
329 | { |
|
f3e4ef8958a3
[gaim-migrate @ 15280]
Richard Laager <rlaager@pidgin.im>
parents:
12889
diff
changeset
|
330 | gtk_widget_set_sensitive(pref_button, |
|
36420
7a5cb79a8243
Refactored gtkplugin to use the new API. Handling of dependent plugins on unload is left till GPlugin implements it.
Ankit Vani <a@nevitus.org>
parents:
36417
diff
changeset
|
331 | loaded && pidgin_plugin_has_config_frame(plug)); |
|
12927
f3e4ef8958a3
[gaim-migrate @ 15280]
Richard Laager <rlaager@pidgin.im>
parents:
12889
diff
changeset
|
332 | } |
|
f3e4ef8958a3
[gaim-migrate @ 15280]
Richard Laager <rlaager@pidgin.im>
parents:
12889
diff
changeset
|
333 | } |
|
f3e4ef8958a3
[gaim-migrate @ 15280]
Richard Laager <rlaager@pidgin.im>
parents:
12889
diff
changeset
|
334 | |
|
f3e4ef8958a3
[gaim-migrate @ 15280]
Richard Laager <rlaager@pidgin.im>
parents:
12889
diff
changeset
|
335 | break; |
|
f3e4ef8958a3
[gaim-migrate @ 15280]
Richard Laager <rlaager@pidgin.im>
parents:
12889
diff
changeset
|
336 | } while (gtk_tree_model_iter_next(model, &iter)); |
|
f3e4ef8958a3
[gaim-migrate @ 15280]
Richard Laager <rlaager@pidgin.im>
parents:
12889
diff
changeset
|
337 | } |
|
f3e4ef8958a3
[gaim-migrate @ 15280]
Richard Laager <rlaager@pidgin.im>
parents:
12889
diff
changeset
|
338 | } |
|
f3e4ef8958a3
[gaim-migrate @ 15280]
Richard Laager <rlaager@pidgin.im>
parents:
12889
diff
changeset
|
339 | |
| 15884 | 340 | static void plugin_load_cb(PurplePlugin *plugin, gpointer data) |
|
12927
f3e4ef8958a3
[gaim-migrate @ 15280]
Richard Laager <rlaager@pidgin.im>
parents:
12889
diff
changeset
|
341 | { |
|
f3e4ef8958a3
[gaim-migrate @ 15280]
Richard Laager <rlaager@pidgin.im>
parents:
12889
diff
changeset
|
342 | GtkTreeView *view = (GtkTreeView *)data; |
|
f3e4ef8958a3
[gaim-migrate @ 15280]
Richard Laager <rlaager@pidgin.im>
parents:
12889
diff
changeset
|
343 | plugin_loading_common(plugin, view, TRUE); |
|
f3e4ef8958a3
[gaim-migrate @ 15280]
Richard Laager <rlaager@pidgin.im>
parents:
12889
diff
changeset
|
344 | } |
|
f3e4ef8958a3
[gaim-migrate @ 15280]
Richard Laager <rlaager@pidgin.im>
parents:
12889
diff
changeset
|
345 | |
| 15884 | 346 | static void plugin_unload_cb(PurplePlugin *plugin, gpointer data) |
|
12927
f3e4ef8958a3
[gaim-migrate @ 15280]
Richard Laager <rlaager@pidgin.im>
parents:
12889
diff
changeset
|
347 | { |
|
f3e4ef8958a3
[gaim-migrate @ 15280]
Richard Laager <rlaager@pidgin.im>
parents:
12889
diff
changeset
|
348 | GtkTreeView *view = (GtkTreeView *)data; |
|
f3e4ef8958a3
[gaim-migrate @ 15280]
Richard Laager <rlaager@pidgin.im>
parents:
12889
diff
changeset
|
349 | plugin_loading_common(plugin, view, FALSE); |
|
f3e4ef8958a3
[gaim-migrate @ 15280]
Richard Laager <rlaager@pidgin.im>
parents:
12889
diff
changeset
|
350 | } |
|
f3e4ef8958a3
[gaim-migrate @ 15280]
Richard Laager <rlaager@pidgin.im>
parents:
12889
diff
changeset
|
351 | |
| 15884 | 352 | static void pref_dialog_response_cb(GtkWidget *d, int response, PurplePlugin *plug) |
| 11781 | 353 | { |
| 36926 | 354 | PurplePluginInfo *info = purple_plugin_get_info(plug); |
| 355 | ||
| 11781 | 356 | switch (response) { |
| 357 | case GTK_RESPONSE_CLOSE: | |
| 358 | case GTK_RESPONSE_DELETE_EVENT: | |
| 359 | g_hash_table_remove(plugin_pref_dialogs, plug); | |
| 360 | if (g_hash_table_size(plugin_pref_dialogs) == 0) { | |
| 361 | g_hash_table_destroy(plugin_pref_dialogs); | |
| 362 | plugin_pref_dialogs = NULL; | |
| 363 | } | |
| 364 | gtk_widget_destroy(d); | |
|
22608
252962fae8b4
Leak fix from SF bug #1407047 which actually had a patch attached (on 2006-01-17 !)
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
22533
diff
changeset
|
365 | |
| 36926 | 366 | if (purple_plugin_info_get_pref_frame_callback(info) && info->ui_data) { |
| 367 | purple_plugin_pref_frame_destroy(info->ui_data); | |
| 368 | purple_plugin_info_set_ui_data(info, NULL); | |
|
22608
252962fae8b4
Leak fix from SF bug #1407047 which actually had a patch attached (on 2006-01-17 !)
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
22533
diff
changeset
|
369 | } |
|
252962fae8b4
Leak fix from SF bug #1407047 which actually had a patch attached (on 2006-01-17 !)
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
22533
diff
changeset
|
370 | |
| 11781 | 371 | break; |
| 372 | } | |
| 373 | } | |
| 374 | ||
|
12927
f3e4ef8958a3
[gaim-migrate @ 15280]
Richard Laager <rlaager@pidgin.im>
parents:
12889
diff
changeset
|
375 | static void plugin_unload_confirm_cb(gpointer *data) |
|
f3e4ef8958a3
[gaim-migrate @ 15280]
Richard Laager <rlaager@pidgin.im>
parents:
12889
diff
changeset
|
376 | { |
| 15884 | 377 | PurplePlugin *plugin = (PurplePlugin *)data[0]; |
|
12927
f3e4ef8958a3
[gaim-migrate @ 15280]
Richard Laager <rlaager@pidgin.im>
parents:
12889
diff
changeset
|
378 | GtkTreeModel *model = (GtkTreeModel *)data[1]; |
|
f3e4ef8958a3
[gaim-migrate @ 15280]
Richard Laager <rlaager@pidgin.im>
parents:
12889
diff
changeset
|
379 | GtkTreeIter *iter = (GtkTreeIter *)data[2]; |
|
f3e4ef8958a3
[gaim-migrate @ 15280]
Richard Laager <rlaager@pidgin.im>
parents:
12889
diff
changeset
|
380 | |
|
36516
cbf16b28176c
Refactored pidgin according to the changes
Ankit Vani <a@nevitus.org>
parents:
36479
diff
changeset
|
381 | plugin_toggled_stage_two(plugin, model, iter, NULL, TRUE); |
|
12927
f3e4ef8958a3
[gaim-migrate @ 15280]
Richard Laager <rlaager@pidgin.im>
parents:
12889
diff
changeset
|
382 | |
|
f3e4ef8958a3
[gaim-migrate @ 15280]
Richard Laager <rlaager@pidgin.im>
parents:
12889
diff
changeset
|
383 | g_free(data); |
|
f3e4ef8958a3
[gaim-migrate @ 15280]
Richard Laager <rlaager@pidgin.im>
parents:
12889
diff
changeset
|
384 | } |
|
f3e4ef8958a3
[gaim-migrate @ 15280]
Richard Laager <rlaager@pidgin.im>
parents:
12889
diff
changeset
|
385 | |
|
f3e4ef8958a3
[gaim-migrate @ 15280]
Richard Laager <rlaager@pidgin.im>
parents:
12889
diff
changeset
|
386 | static void plugin_toggled(GtkCellRendererToggle *cell, gchar *pth, gpointer data) |
| 11740 | 387 | { |
| 388 | GtkTreeModel *model = (GtkTreeModel *)data; | |
|
12927
f3e4ef8958a3
[gaim-migrate @ 15280]
Richard Laager <rlaager@pidgin.im>
parents:
12889
diff
changeset
|
389 | GtkTreeIter *iter = g_new(GtkTreeIter, 1); |
| 11740 | 390 | GtkTreePath *path = gtk_tree_path_new_from_string(pth); |
| 15884 | 391 | PurplePlugin *plug; |
|
36516
cbf16b28176c
Refactored pidgin according to the changes
Ankit Vani <a@nevitus.org>
parents:
36479
diff
changeset
|
392 | GError *error = NULL; |
| 11781 | 393 | GtkWidget *dialog = NULL; |
| 11740 | 394 | |
|
12927
f3e4ef8958a3
[gaim-migrate @ 15280]
Richard Laager <rlaager@pidgin.im>
parents:
12889
diff
changeset
|
395 | gtk_tree_model_get_iter(model, iter, path); |
|
f3e4ef8958a3
[gaim-migrate @ 15280]
Richard Laager <rlaager@pidgin.im>
parents:
12889
diff
changeset
|
396 | gtk_tree_path_free(path); |
|
f3e4ef8958a3
[gaim-migrate @ 15280]
Richard Laager <rlaager@pidgin.im>
parents:
12889
diff
changeset
|
397 | gtk_tree_model_get(model, iter, 2, &plug, -1); |
| 11740 | 398 | |
| 15884 | 399 | if (!purple_plugin_is_loaded(plug)) |
|
12927
f3e4ef8958a3
[gaim-migrate @ 15280]
Richard Laager <rlaager@pidgin.im>
parents:
12889
diff
changeset
|
400 | { |
|
15562
8c8249fe5e3c
gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents:
15435
diff
changeset
|
401 | pidgin_set_cursor(plugin_dialog, GDK_WATCH); |
|
12927
f3e4ef8958a3
[gaim-migrate @ 15280]
Richard Laager <rlaager@pidgin.im>
parents:
12889
diff
changeset
|
402 | |
|
36516
cbf16b28176c
Refactored pidgin according to the changes
Ankit Vani <a@nevitus.org>
parents:
36479
diff
changeset
|
403 | purple_plugin_load(plug, &error); |
|
cbf16b28176c
Refactored pidgin according to the changes
Ankit Vani <a@nevitus.org>
parents:
36479
diff
changeset
|
404 | plugin_toggled_stage_two(plug, model, iter, error, FALSE); |
|
12927
f3e4ef8958a3
[gaim-migrate @ 15280]
Richard Laager <rlaager@pidgin.im>
parents:
12889
diff
changeset
|
405 | |
|
15562
8c8249fe5e3c
gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents:
15435
diff
changeset
|
406 | pidgin_clear_cursor(plugin_dialog); |
|
12927
f3e4ef8958a3
[gaim-migrate @ 15280]
Richard Laager <rlaager@pidgin.im>
parents:
12889
diff
changeset
|
407 | } |
|
f3e4ef8958a3
[gaim-migrate @ 15280]
Richard Laager <rlaager@pidgin.im>
parents:
12889
diff
changeset
|
408 | else |
|
f3e4ef8958a3
[gaim-migrate @ 15280]
Richard Laager <rlaager@pidgin.im>
parents:
12889
diff
changeset
|
409 | { |
| 11781 | 410 | if (plugin_pref_dialogs != NULL && |
| 411 | (dialog = g_hash_table_lookup(plugin_pref_dialogs, plug))) | |
| 412 | pref_dialog_response_cb(dialog, GTK_RESPONSE_DELETE_EVENT, plug); | |
|
12927
f3e4ef8958a3
[gaim-migrate @ 15280]
Richard Laager <rlaager@pidgin.im>
parents:
12889
diff
changeset
|
413 | |
|
36440
58d31fb6330a
Refactored the codebase according to the API changes
Ankit Vani <a@nevitus.org>
parents:
36438
diff
changeset
|
414 | if (purple_plugin_get_dependent_plugins(plug) != NULL) |
|
12927
f3e4ef8958a3
[gaim-migrate @ 15280]
Richard Laager <rlaager@pidgin.im>
parents:
12889
diff
changeset
|
415 | { |
|
f3e4ef8958a3
[gaim-migrate @ 15280]
Richard Laager <rlaager@pidgin.im>
parents:
12889
diff
changeset
|
416 | GString *tmp = g_string_new(_("The following plugins will be unloaded.")); |
| 36438 | 417 | GSList *l; |
|
12927
f3e4ef8958a3
[gaim-migrate @ 15280]
Richard Laager <rlaager@pidgin.im>
parents:
12889
diff
changeset
|
418 | gpointer *cb_data; |
|
f3e4ef8958a3
[gaim-migrate @ 15280]
Richard Laager <rlaager@pidgin.im>
parents:
12889
diff
changeset
|
419 | |
|
36440
58d31fb6330a
Refactored the codebase according to the API changes
Ankit Vani <a@nevitus.org>
parents:
36438
diff
changeset
|
420 | for (l = purple_plugin_get_dependent_plugins(plug); l != NULL ; l = l->next) |
|
12927
f3e4ef8958a3
[gaim-migrate @ 15280]
Richard Laager <rlaager@pidgin.im>
parents:
12889
diff
changeset
|
421 | { |
|
f3e4ef8958a3
[gaim-migrate @ 15280]
Richard Laager <rlaager@pidgin.im>
parents:
12889
diff
changeset
|
422 | const char *dep_name = (const char *)l->data; |
|
36431
ea007725fd4d
Refactored the codebase to use the plugin wrapper functions
Ankit Vani <a@nevitus.org>
parents:
36430
diff
changeset
|
423 | PurplePlugin *dep_plugin = purple_plugins_find_plugin(dep_name); |
|
ea007725fd4d
Refactored the codebase to use the plugin wrapper functions
Ankit Vani <a@nevitus.org>
parents:
36430
diff
changeset
|
424 | PurplePluginInfo *dep_info; |
|
36420
7a5cb79a8243
Refactored gtkplugin to use the new API. Handling of dependent plugins on unload is left till GPlugin implements it.
Ankit Vani <a@nevitus.org>
parents:
36417
diff
changeset
|
425 | |
|
12927
f3e4ef8958a3
[gaim-migrate @ 15280]
Richard Laager <rlaager@pidgin.im>
parents:
12889
diff
changeset
|
426 | g_return_if_fail(dep_plugin != NULL); |
|
f3e4ef8958a3
[gaim-migrate @ 15280]
Richard Laager <rlaager@pidgin.im>
parents:
12889
diff
changeset
|
427 | |
|
36431
ea007725fd4d
Refactored the codebase to use the plugin wrapper functions
Ankit Vani <a@nevitus.org>
parents:
36430
diff
changeset
|
428 | dep_info = purple_plugin_get_info(dep_plugin); |
|
ea007725fd4d
Refactored the codebase to use the plugin wrapper functions
Ankit Vani <a@nevitus.org>
parents:
36430
diff
changeset
|
429 | g_string_append_printf(tmp, "\n\t%s\n", purple_plugin_info_get_name(dep_info)); |
|
12927
f3e4ef8958a3
[gaim-migrate @ 15280]
Richard Laager <rlaager@pidgin.im>
parents:
12889
diff
changeset
|
430 | } |
|
f3e4ef8958a3
[gaim-migrate @ 15280]
Richard Laager <rlaager@pidgin.im>
parents:
12889
diff
changeset
|
431 | |
|
f3e4ef8958a3
[gaim-migrate @ 15280]
Richard Laager <rlaager@pidgin.im>
parents:
12889
diff
changeset
|
432 | cb_data = g_new(gpointer, 3); |
|
f3e4ef8958a3
[gaim-migrate @ 15280]
Richard Laager <rlaager@pidgin.im>
parents:
12889
diff
changeset
|
433 | cb_data[0] = plug; |
|
f3e4ef8958a3
[gaim-migrate @ 15280]
Richard Laager <rlaager@pidgin.im>
parents:
12889
diff
changeset
|
434 | cb_data[1] = model; |
|
f3e4ef8958a3
[gaim-migrate @ 15280]
Richard Laager <rlaager@pidgin.im>
parents:
12889
diff
changeset
|
435 | cb_data[2] = iter; |
|
f3e4ef8958a3
[gaim-migrate @ 15280]
Richard Laager <rlaager@pidgin.im>
parents:
12889
diff
changeset
|
436 | |
|
21175
c6d76b49c206
disapproval of revision '8ba833993a115415727bb1b70362e0bd1603c169'
Richard Laager <rlaager@pidgin.im>
parents:
21174
diff
changeset
|
437 | purple_request_action(plugin_dialog, NULL, |
|
34331
c8486462bb63
Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
33271
diff
changeset
|
438 | _("Multiple plugins will be unloaded."), |
|
c8486462bb63
Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
33271
diff
changeset
|
439 | tmp->str, 0, NULL, cb_data, 2, |
|
c8486462bb63
Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
33271
diff
changeset
|
440 | _("Unload Plugins"), |
|
c8486462bb63
Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
33271
diff
changeset
|
441 | G_CALLBACK(plugin_unload_confirm_cb), |
|
c8486462bb63
Request API refactoring: switch purple_request_action to PurpleRequestCommonParameters
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
33271
diff
changeset
|
442 | _("Cancel"), g_free); |
|
12927
f3e4ef8958a3
[gaim-migrate @ 15280]
Richard Laager <rlaager@pidgin.im>
parents:
12889
diff
changeset
|
443 | g_string_free(tmp, TRUE); |
|
f3e4ef8958a3
[gaim-migrate @ 15280]
Richard Laager <rlaager@pidgin.im>
parents:
12889
diff
changeset
|
444 | } |
|
f3e4ef8958a3
[gaim-migrate @ 15280]
Richard Laager <rlaager@pidgin.im>
parents:
12889
diff
changeset
|
445 | else |
|
36516
cbf16b28176c
Refactored pidgin according to the changes
Ankit Vani <a@nevitus.org>
parents:
36479
diff
changeset
|
446 | plugin_toggled_stage_two(plug, model, iter, NULL, TRUE); |
|
12927
f3e4ef8958a3
[gaim-migrate @ 15280]
Richard Laager <rlaager@pidgin.im>
parents:
12889
diff
changeset
|
447 | } |
|
f3e4ef8958a3
[gaim-migrate @ 15280]
Richard Laager <rlaager@pidgin.im>
parents:
12889
diff
changeset
|
448 | } |
|
f3e4ef8958a3
[gaim-migrate @ 15280]
Richard Laager <rlaager@pidgin.im>
parents:
12889
diff
changeset
|
449 | |
|
36516
cbf16b28176c
Refactored pidgin according to the changes
Ankit Vani <a@nevitus.org>
parents:
36479
diff
changeset
|
450 | static void plugin_toggled_stage_two(PurplePlugin *plug, GtkTreeModel *model, GtkTreeIter *iter, GError *error, gboolean unload) |
|
12927
f3e4ef8958a3
[gaim-migrate @ 15280]
Richard Laager <rlaager@pidgin.im>
parents:
12889
diff
changeset
|
451 | { |
|
36431
ea007725fd4d
Refactored the codebase to use the plugin wrapper functions
Ankit Vani <a@nevitus.org>
parents:
36430
diff
changeset
|
452 | PurplePluginInfo *info = purple_plugin_get_info(plug); |
|
36420
7a5cb79a8243
Refactored gtkplugin to use the new API. Handling of dependent plugins on unload is left till GPlugin implements it.
Ankit Vani <a@nevitus.org>
parents:
36417
diff
changeset
|
453 | |
|
12927
f3e4ef8958a3
[gaim-migrate @ 15280]
Richard Laager <rlaager@pidgin.im>
parents:
12889
diff
changeset
|
454 | if (unload) |
|
f3e4ef8958a3
[gaim-migrate @ 15280]
Richard Laager <rlaager@pidgin.im>
parents:
12889
diff
changeset
|
455 | { |
|
15562
8c8249fe5e3c
gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents:
15435
diff
changeset
|
456 | pidgin_set_cursor(plugin_dialog, GDK_WATCH); |
|
12927
f3e4ef8958a3
[gaim-migrate @ 15280]
Richard Laager <rlaager@pidgin.im>
parents:
12889
diff
changeset
|
457 | |
|
36516
cbf16b28176c
Refactored pidgin according to the changes
Ankit Vani <a@nevitus.org>
parents:
36479
diff
changeset
|
458 | if (!purple_plugin_unload(plug, &error)) |
|
20872
fc317689cfef
Use the new purple_plugin_disable() function and purple_plugin_unload()'s
Richard Laager <rlaager@pidgin.im>
parents:
20147
diff
changeset
|
459 | { |
|
fc317689cfef
Use the new purple_plugin_disable() function and purple_plugin_unload()'s
Richard Laager <rlaager@pidgin.im>
parents:
20147
diff
changeset
|
460 | const char *primary = _("Could not unload plugin"); |
|
fc317689cfef
Use the new purple_plugin_disable() function and purple_plugin_unload()'s
Richard Laager <rlaager@pidgin.im>
parents:
20147
diff
changeset
|
461 | const char *reload = _("The plugin could not be unloaded now, but will be disabled at the next startup."); |
|
fc317689cfef
Use the new purple_plugin_disable() function and purple_plugin_unload()'s
Richard Laager <rlaager@pidgin.im>
parents:
20147
diff
changeset
|
462 | |
|
36516
cbf16b28176c
Refactored pidgin according to the changes
Ankit Vani <a@nevitus.org>
parents:
36479
diff
changeset
|
463 | char *tmp = g_strdup_printf("%s\n\n%s", reload, error->message); |
| 36782 | 464 | purple_notify_warning(NULL, NULL, primary, tmp, NULL); |
|
36516
cbf16b28176c
Refactored pidgin according to the changes
Ankit Vani <a@nevitus.org>
parents:
36479
diff
changeset
|
465 | g_free(tmp); |
|
20872
fc317689cfef
Use the new purple_plugin_disable() function and purple_plugin_unload()'s
Richard Laager <rlaager@pidgin.im>
parents:
20147
diff
changeset
|
466 | |
|
fc317689cfef
Use the new purple_plugin_disable() function and purple_plugin_unload()'s
Richard Laager <rlaager@pidgin.im>
parents:
20147
diff
changeset
|
467 | purple_plugin_disable(plug); |
|
fc317689cfef
Use the new purple_plugin_disable() function and purple_plugin_unload()'s
Richard Laager <rlaager@pidgin.im>
parents:
20147
diff
changeset
|
468 | } |
|
12927
f3e4ef8958a3
[gaim-migrate @ 15280]
Richard Laager <rlaager@pidgin.im>
parents:
12889
diff
changeset
|
469 | |
|
15562
8c8249fe5e3c
gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents:
15435
diff
changeset
|
470 | pidgin_clear_cursor(plugin_dialog); |
| 11781 | 471 | } |
|
36831
9d29e248716d
Notify plugin load error in pidgin
Ankit Vani <a@nevitus.org>
parents:
36782
diff
changeset
|
472 | else if (!unload && error) |
|
9d29e248716d
Notify plugin load error in pidgin
Ankit Vani <a@nevitus.org>
parents:
36782
diff
changeset
|
473 | { |
|
9d29e248716d
Notify plugin load error in pidgin
Ankit Vani <a@nevitus.org>
parents:
36782
diff
changeset
|
474 | purple_notify_warning(NULL, NULL, _("Could not load plugin"), error->message, NULL); |
|
9d29e248716d
Notify plugin load error in pidgin
Ankit Vani <a@nevitus.org>
parents:
36782
diff
changeset
|
475 | } |
| 11740 | 476 | |
| 11781 | 477 | gtk_widget_set_sensitive(pref_button, |
|
36420
7a5cb79a8243
Refactored gtkplugin to use the new API. Handling of dependent plugins on unload is left till GPlugin implements it.
Ankit Vani <a@nevitus.org>
parents:
36417
diff
changeset
|
478 | purple_plugin_is_loaded(plug) && pidgin_plugin_has_config_frame(plug)); |
| 11740 | 479 | |
|
36516
cbf16b28176c
Refactored pidgin according to the changes
Ankit Vani <a@nevitus.org>
parents:
36479
diff
changeset
|
480 | if (error != NULL) |
|
22781
c85c7a3609dc
Improve the layout of the plugin description pane.
Will Thompson <resiak@pidgin.im>
parents:
22608
diff
changeset
|
481 | { |
|
36431
ea007725fd4d
Refactored the codebase to use the plugin wrapper functions
Ankit Vani <a@nevitus.org>
parents:
36430
diff
changeset
|
482 | gchar *name = g_markup_escape_text(purple_plugin_info_get_name(info), -1); |
| 11781 | 483 | |
|
36516
cbf16b28176c
Refactored pidgin according to the changes
Ankit Vani <a@nevitus.org>
parents:
36479
diff
changeset
|
484 | gchar *disp_error = g_markup_escape_text(error->message, -1); |
|
22781
c85c7a3609dc
Improve the layout of the plugin description pane.
Will Thompson <resiak@pidgin.im>
parents:
22608
diff
changeset
|
485 | gchar *text; |
|
c85c7a3609dc
Improve the layout of the plugin description pane.
Will Thompson <resiak@pidgin.im>
parents:
22608
diff
changeset
|
486 | |
|
c85c7a3609dc
Improve the layout of the plugin description pane.
Will Thompson <resiak@pidgin.im>
parents:
22608
diff
changeset
|
487 | text = g_strdup_printf( |
|
c85c7a3609dc
Improve the layout of the plugin description pane.
Will Thompson <resiak@pidgin.im>
parents:
22608
diff
changeset
|
488 | "<b>%s</b> %s\n<span weight=\"bold\" color=\"red\"%s</span>", |
|
36431
ea007725fd4d
Refactored the codebase to use the plugin wrapper functions
Ankit Vani <a@nevitus.org>
parents:
36430
diff
changeset
|
489 | purple_plugin_info_get_name(info), |
|
36516
cbf16b28176c
Refactored pidgin according to the changes
Ankit Vani <a@nevitus.org>
parents:
36479
diff
changeset
|
490 | purple_plugin_info_get_version(info), disp_error); |
|
12927
f3e4ef8958a3
[gaim-migrate @ 15280]
Richard Laager <rlaager@pidgin.im>
parents:
12889
diff
changeset
|
491 | gtk_list_store_set(GTK_LIST_STORE (model), iter, |
|
22781
c85c7a3609dc
Improve the layout of the plugin description pane.
Will Thompson <resiak@pidgin.im>
parents:
22608
diff
changeset
|
492 | 1, text, |
|
12927
f3e4ef8958a3
[gaim-migrate @ 15280]
Richard Laager <rlaager@pidgin.im>
parents:
12889
diff
changeset
|
493 | -1); |
|
22781
c85c7a3609dc
Improve the layout of the plugin description pane.
Will Thompson <resiak@pidgin.im>
parents:
22608
diff
changeset
|
494 | g_free(text); |
|
c85c7a3609dc
Improve the layout of the plugin description pane.
Will Thompson <resiak@pidgin.im>
parents:
22608
diff
changeset
|
495 | |
|
c85c7a3609dc
Improve the layout of the plugin description pane.
Will Thompson <resiak@pidgin.im>
parents:
22608
diff
changeset
|
496 | text = g_strdup_printf( |
|
c85c7a3609dc
Improve the layout of the plugin description pane.
Will Thompson <resiak@pidgin.im>
parents:
22608
diff
changeset
|
497 | "<span weight=\"bold\" color=\"red\">%s</span>", |
|
36516
cbf16b28176c
Refactored pidgin according to the changes
Ankit Vani <a@nevitus.org>
parents:
36479
diff
changeset
|
498 | disp_error); |
|
22781
c85c7a3609dc
Improve the layout of the plugin description pane.
Will Thompson <resiak@pidgin.im>
parents:
22608
diff
changeset
|
499 | gtk_label_set_markup(plugin_error, text); |
|
c85c7a3609dc
Improve the layout of the plugin description pane.
Will Thompson <resiak@pidgin.im>
parents:
22608
diff
changeset
|
500 | g_free(text); |
|
c85c7a3609dc
Improve the layout of the plugin description pane.
Will Thompson <resiak@pidgin.im>
parents:
22608
diff
changeset
|
501 | |
|
36516
cbf16b28176c
Refactored pidgin according to the changes
Ankit Vani <a@nevitus.org>
parents:
36479
diff
changeset
|
502 | g_free(disp_error); |
|
22781
c85c7a3609dc
Improve the layout of the plugin description pane.
Will Thompson <resiak@pidgin.im>
parents:
22608
diff
changeset
|
503 | g_free(name); |
|
36516
cbf16b28176c
Refactored pidgin according to the changes
Ankit Vani <a@nevitus.org>
parents:
36479
diff
changeset
|
504 | |
|
cbf16b28176c
Refactored pidgin according to the changes
Ankit Vani <a@nevitus.org>
parents:
36479
diff
changeset
|
505 | g_error_free(error); |
| 11740 | 506 | } |
| 507 | ||
|
36780
2e95872a71c3
Update the automatically loaded plugins via dependencies/dependent plugins on plugin load/unload in pidgin
Ankit Vani <a@nevitus.org>
parents:
36760
diff
changeset
|
508 | if ((unload && purple_plugin_get_dependent_plugins(plug)) || |
|
2e95872a71c3
Update the automatically loaded plugins via dependencies/dependent plugins on plugin load/unload in pidgin
Ankit Vani <a@nevitus.org>
parents:
36760
diff
changeset
|
509 | (!unload && purple_plugin_info_get_dependencies(info))) |
|
2e95872a71c3
Update the automatically loaded plugins via dependencies/dependent plugins on plugin load/unload in pidgin
Ankit Vani <a@nevitus.org>
parents:
36760
diff
changeset
|
510 | update_loaded_plugins(model); |
|
2e95872a71c3
Update the automatically loaded plugins via dependencies/dependent plugins on plugin load/unload in pidgin
Ankit Vani <a@nevitus.org>
parents:
36760
diff
changeset
|
511 | else |
|
2e95872a71c3
Update the automatically loaded plugins via dependencies/dependent plugins on plugin load/unload in pidgin
Ankit Vani <a@nevitus.org>
parents:
36760
diff
changeset
|
512 | gtk_list_store_set(GTK_LIST_STORE (model), iter, |
|
2e95872a71c3
Update the automatically loaded plugins via dependencies/dependent plugins on plugin load/unload in pidgin
Ankit Vani <a@nevitus.org>
parents:
36760
diff
changeset
|
513 | 0, purple_plugin_is_loaded(plug), |
|
2e95872a71c3
Update the automatically loaded plugins via dependencies/dependent plugins on plugin load/unload in pidgin
Ankit Vani <a@nevitus.org>
parents:
36760
diff
changeset
|
514 | -1); |
|
12927
f3e4ef8958a3
[gaim-migrate @ 15280]
Richard Laager <rlaager@pidgin.im>
parents:
12889
diff
changeset
|
515 | g_free(iter); |
| 11740 | 516 | |
|
15562
8c8249fe5e3c
gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents:
15435
diff
changeset
|
517 | pidgin_plugins_save(); |
| 11740 | 518 | } |
| 519 | ||
| 11877 | 520 | static gboolean ensure_plugin_visible(void *data) |
| 521 | { | |
| 522 | GtkTreeSelection *sel = GTK_TREE_SELECTION(data); | |
|
12246
7af1ef3b1cc4
[gaim-migrate @ 14548]
Mark Doliner <markdoliner@pidgin.im>
parents:
12240
diff
changeset
|
523 | GtkTreeView *tv = gtk_tree_selection_get_tree_view(sel); |
| 11877 | 524 | GtkTreeModel *model = gtk_tree_view_get_model(tv); |
| 525 | GtkTreePath *path; | |
| 526 | GtkTreeIter iter; | |
| 527 | if (!gtk_tree_selection_get_selected (sel, &model, &iter)) | |
| 528 | return FALSE; | |
| 529 | path = gtk_tree_model_get_path(model, &iter); | |
| 530 | gtk_tree_view_scroll_to_cell(gtk_tree_selection_get_tree_view(sel), path, NULL, FALSE, 0, 0); | |
| 531 | gtk_tree_path_free(path); | |
| 532 | return FALSE; | |
| 533 | } | |
| 534 | ||
| 11740 | 535 | static void prefs_plugin_sel (GtkTreeSelection *sel, GtkTreeModel *model) |
| 536 | { | |
|
22781
c85c7a3609dc
Improve the layout of the plugin description pane.
Will Thompson <resiak@pidgin.im>
parents:
22608
diff
changeset
|
537 | gchar *buf, *tmp, *name, *version; |
|
36644
e06a238d2864
Refactored pidgin to show multiple authors
Ankit Vani <a@nevitus.org>
parents:
36516
diff
changeset
|
538 | gchar *authors = NULL; |
|
e06a238d2864
Refactored pidgin to show multiple authors
Ankit Vani <a@nevitus.org>
parents:
36516
diff
changeset
|
539 | const gchar * const *authorlist; |
| 11740 | 540 | GtkTreeIter iter; |
|
12600
7ecd4441fdc7
[gaim-migrate @ 14934]
Richard Laager <rlaager@pidgin.im>
parents:
12343
diff
changeset
|
541 | GValue val; |
| 15884 | 542 | PurplePlugin *plug; |
|
36431
ea007725fd4d
Refactored the codebase to use the plugin wrapper functions
Ankit Vani <a@nevitus.org>
parents:
36430
diff
changeset
|
543 | PurplePluginInfo *info; |
| 11740 | 544 | |
|
11833
119ea75db24b
[gaim-migrate @ 14124]
Mark Doliner <markdoliner@pidgin.im>
parents:
11817
diff
changeset
|
545 | if (!gtk_tree_selection_get_selected (sel, &model, &iter)) |
|
119ea75db24b
[gaim-migrate @ 14124]
Mark Doliner <markdoliner@pidgin.im>
parents:
11817
diff
changeset
|
546 | { |
|
119ea75db24b
[gaim-migrate @ 14124]
Mark Doliner <markdoliner@pidgin.im>
parents:
11817
diff
changeset
|
547 | gtk_widget_set_sensitive(pref_button, FALSE); |
|
12343
0ede7c5a9465
[gaim-migrate @ 14647]
Mark Doliner <markdoliner@pidgin.im>
parents:
12290
diff
changeset
|
548 | |
|
0ede7c5a9465
[gaim-migrate @ 14647]
Mark Doliner <markdoliner@pidgin.im>
parents:
12290
diff
changeset
|
549 | /* Collapse and disable the expander widget */ |
|
0ede7c5a9465
[gaim-migrate @ 14647]
Mark Doliner <markdoliner@pidgin.im>
parents:
12290
diff
changeset
|
550 | gtk_expander_set_expanded(GTK_EXPANDER(expander), FALSE); |
|
0ede7c5a9465
[gaim-migrate @ 14647]
Mark Doliner <markdoliner@pidgin.im>
parents:
12290
diff
changeset
|
551 | gtk_widget_set_sensitive(expander, FALSE); |
|
0ede7c5a9465
[gaim-migrate @ 14647]
Mark Doliner <markdoliner@pidgin.im>
parents:
12290
diff
changeset
|
552 | |
| 11740 | 553 | return; |
|
11833
119ea75db24b
[gaim-migrate @ 14124]
Mark Doliner <markdoliner@pidgin.im>
parents:
11817
diff
changeset
|
554 | } |
|
119ea75db24b
[gaim-migrate @ 14124]
Mark Doliner <markdoliner@pidgin.im>
parents:
11817
diff
changeset
|
555 | |
|
12343
0ede7c5a9465
[gaim-migrate @ 14647]
Mark Doliner <markdoliner@pidgin.im>
parents:
12290
diff
changeset
|
556 | gtk_widget_set_sensitive(expander, TRUE); |
|
0ede7c5a9465
[gaim-migrate @ 14647]
Mark Doliner <markdoliner@pidgin.im>
parents:
12290
diff
changeset
|
557 | |
|
12600
7ecd4441fdc7
[gaim-migrate @ 14934]
Richard Laager <rlaager@pidgin.im>
parents:
12343
diff
changeset
|
558 | val.g_type = 0; |
| 11740 | 559 | gtk_tree_model_get_value (model, &iter, 2, &val); |
| 560 | plug = g_value_get_pointer(&val); | |
|
36431
ea007725fd4d
Refactored the codebase to use the plugin wrapper functions
Ankit Vani <a@nevitus.org>
parents:
36430
diff
changeset
|
561 | info = purple_plugin_get_info(plug); |
| 11740 | 562 | |
|
36431
ea007725fd4d
Refactored the codebase to use the plugin wrapper functions
Ankit Vani <a@nevitus.org>
parents:
36430
diff
changeset
|
563 | name = g_markup_escape_text(purple_plugin_info_get_name(info), -1); |
|
ea007725fd4d
Refactored the codebase to use the plugin wrapper functions
Ankit Vani <a@nevitus.org>
parents:
36430
diff
changeset
|
564 | version = g_markup_escape_text(purple_plugin_info_get_version(info), -1); |
| 11740 | 565 | buf = g_strdup_printf( |
|
22781
c85c7a3609dc
Improve the layout of the plugin description pane.
Will Thompson <resiak@pidgin.im>
parents:
22608
diff
changeset
|
566 | "<span size=\"larger\" weight=\"bold\">%s</span> " |
|
c85c7a3609dc
Improve the layout of the plugin description pane.
Will Thompson <resiak@pidgin.im>
parents:
22608
diff
changeset
|
567 | "<span size=\"smaller\">%s</span>", |
|
c85c7a3609dc
Improve the layout of the plugin description pane.
Will Thompson <resiak@pidgin.im>
parents:
22608
diff
changeset
|
568 | name, version); |
|
c85c7a3609dc
Improve the layout of the plugin description pane.
Will Thompson <resiak@pidgin.im>
parents:
22608
diff
changeset
|
569 | gtk_label_set_markup(plugin_name, buf); |
|
23180
5d6a0a35837f
applied changes from 97a20dd56598fa5c690eabcbc8ec3ff6e560aefd
Daniel Atallah <datallah@pidgin.im>
parents:
23100
diff
changeset
|
570 | g_free(name); |
|
5d6a0a35837f
applied changes from 97a20dd56598fa5c690eabcbc8ec3ff6e560aefd
Daniel Atallah <datallah@pidgin.im>
parents:
23100
diff
changeset
|
571 | g_free(version); |
|
22781
c85c7a3609dc
Improve the layout of the plugin description pane.
Will Thompson <resiak@pidgin.im>
parents:
22608
diff
changeset
|
572 | g_free(buf); |
| 11740 | 573 | |
|
36431
ea007725fd4d
Refactored the codebase to use the plugin wrapper functions
Ankit Vani <a@nevitus.org>
parents:
36430
diff
changeset
|
574 | gtk_text_buffer_set_text(plugin_desc, purple_plugin_info_get_description(info), -1); |
|
36644
e06a238d2864
Refactored pidgin to show multiple authors
Ankit Vani <a@nevitus.org>
parents:
36516
diff
changeset
|
575 | |
|
e06a238d2864
Refactored pidgin to show multiple authors
Ankit Vani <a@nevitus.org>
parents:
36516
diff
changeset
|
576 | authorlist = purple_plugin_info_get_authors(info); |
|
e06a238d2864
Refactored pidgin to show multiple authors
Ankit Vani <a@nevitus.org>
parents:
36516
diff
changeset
|
577 | if (authorlist) |
|
36760
88a9488af4e8
Fixed pidgin's plugin list display
Ankit Vani <a@nevitus.org>
parents:
36701
diff
changeset
|
578 | authors = g_strjoinv(",\n", (gchar **)authorlist); |
|
36644
e06a238d2864
Refactored pidgin to show multiple authors
Ankit Vani <a@nevitus.org>
parents:
36516
diff
changeset
|
579 | gtk_label_set_text(plugin_authors, authors); |
|
e06a238d2864
Refactored pidgin to show multiple authors
Ankit Vani <a@nevitus.org>
parents:
36516
diff
changeset
|
580 | g_free(authors); |
|
e06a238d2864
Refactored pidgin to show multiple authors
Ankit Vani <a@nevitus.org>
parents:
36516
diff
changeset
|
581 | |
|
36431
ea007725fd4d
Refactored the codebase to use the plugin wrapper functions
Ankit Vani <a@nevitus.org>
parents:
36430
diff
changeset
|
582 | gtk_label_set_text(plugin_filename, purple_plugin_get_filename(plug)); |
|
22781
c85c7a3609dc
Improve the layout of the plugin description pane.
Will Thompson <resiak@pidgin.im>
parents:
22608
diff
changeset
|
583 | |
|
22785
d712839ebf36
Make plugin website URLs clickable; it's a button with blue underlined text.
Will Thompson <resiak@pidgin.im>
parents:
22781
diff
changeset
|
584 | g_free(plugin_website_uri); |
|
36431
ea007725fd4d
Refactored the codebase to use the plugin wrapper functions
Ankit Vani <a@nevitus.org>
parents:
36430
diff
changeset
|
585 | plugin_website_uri = g_strdup(purple_plugin_info_get_website(info)); |
|
36420
7a5cb79a8243
Refactored gtkplugin to use the new API. Handling of dependent plugins on unload is left till GPlugin implements it.
Ankit Vani <a@nevitus.org>
parents:
36417
diff
changeset
|
586 | |
|
22785
d712839ebf36
Make plugin website URLs clickable; it's a button with blue underlined text.
Will Thompson <resiak@pidgin.im>
parents:
22781
diff
changeset
|
587 | if (plugin_website_uri) |
|
d712839ebf36
Make plugin website URLs clickable; it's a button with blue underlined text.
Will Thompson <resiak@pidgin.im>
parents:
22781
diff
changeset
|
588 | { |
|
d712839ebf36
Make plugin website URLs clickable; it's a button with blue underlined text.
Will Thompson <resiak@pidgin.im>
parents:
22781
diff
changeset
|
589 | tmp = g_markup_escape_text(plugin_website_uri, -1); |
|
d712839ebf36
Make plugin website URLs clickable; it's a button with blue underlined text.
Will Thompson <resiak@pidgin.im>
parents:
22781
diff
changeset
|
590 | buf = g_strdup_printf("<span underline=\"single\" " |
|
d712839ebf36
Make plugin website URLs clickable; it's a button with blue underlined text.
Will Thompson <resiak@pidgin.im>
parents:
22781
diff
changeset
|
591 | "foreground=\"blue\">%s</span>", tmp); |
|
d712839ebf36
Make plugin website URLs clickable; it's a button with blue underlined text.
Will Thompson <resiak@pidgin.im>
parents:
22781
diff
changeset
|
592 | gtk_label_set_markup(plugin_website, buf); |
|
d712839ebf36
Make plugin website URLs clickable; it's a button with blue underlined text.
Will Thompson <resiak@pidgin.im>
parents:
22781
diff
changeset
|
593 | g_free(tmp); |
|
d712839ebf36
Make plugin website URLs clickable; it's a button with blue underlined text.
Will Thompson <resiak@pidgin.im>
parents:
22781
diff
changeset
|
594 | g_free(buf); |
|
d712839ebf36
Make plugin website URLs clickable; it's a button with blue underlined text.
Will Thompson <resiak@pidgin.im>
parents:
22781
diff
changeset
|
595 | } |
|
d712839ebf36
Make plugin website URLs clickable; it's a button with blue underlined text.
Will Thompson <resiak@pidgin.im>
parents:
22781
diff
changeset
|
596 | else |
|
d712839ebf36
Make plugin website URLs clickable; it's a button with blue underlined text.
Will Thompson <resiak@pidgin.im>
parents:
22781
diff
changeset
|
597 | { |
|
d712839ebf36
Make plugin website URLs clickable; it's a button with blue underlined text.
Will Thompson <resiak@pidgin.im>
parents:
22781
diff
changeset
|
598 | gtk_label_set_text(plugin_website, NULL); |
|
d712839ebf36
Make plugin website URLs clickable; it's a button with blue underlined text.
Will Thompson <resiak@pidgin.im>
parents:
22781
diff
changeset
|
599 | } |
|
d712839ebf36
Make plugin website URLs clickable; it's a button with blue underlined text.
Will Thompson <resiak@pidgin.im>
parents:
22781
diff
changeset
|
600 | |
|
36516
cbf16b28176c
Refactored pidgin according to the changes
Ankit Vani <a@nevitus.org>
parents:
36479
diff
changeset
|
601 | if (purple_plugin_info_get_error(info) == NULL) |
|
12695
0c93a42b7ee2
[gaim-migrate @ 15038]
Richard Laager <rlaager@pidgin.im>
parents:
12600
diff
changeset
|
602 | { |
|
22781
c85c7a3609dc
Improve the layout of the plugin description pane.
Will Thompson <resiak@pidgin.im>
parents:
22608
diff
changeset
|
603 | gtk_label_set_text(plugin_error, NULL); |
|
c85c7a3609dc
Improve the layout of the plugin description pane.
Will Thompson <resiak@pidgin.im>
parents:
22608
diff
changeset
|
604 | } |
|
c85c7a3609dc
Improve the layout of the plugin description pane.
Will Thompson <resiak@pidgin.im>
parents:
22608
diff
changeset
|
605 | else |
|
c85c7a3609dc
Improve the layout of the plugin description pane.
Will Thompson <resiak@pidgin.im>
parents:
22608
diff
changeset
|
606 | { |
|
36516
cbf16b28176c
Refactored pidgin according to the changes
Ankit Vani <a@nevitus.org>
parents:
36479
diff
changeset
|
607 | tmp = g_markup_escape_text(purple_plugin_info_get_error(info), -1); |
|
22781
c85c7a3609dc
Improve the layout of the plugin description pane.
Will Thompson <resiak@pidgin.im>
parents:
22608
diff
changeset
|
608 | buf = g_strdup_printf( |
|
c85c7a3609dc
Improve the layout of the plugin description pane.
Will Thompson <resiak@pidgin.im>
parents:
22608
diff
changeset
|
609 | _("<span foreground=\"red\" weight=\"bold\">" |
|
12705
7780ec726bdb
[gaim-migrate @ 15048]
Richard Laager <rlaager@pidgin.im>
parents:
12702
diff
changeset
|
610 | "Error: %s\n" |
|
7780ec726bdb
[gaim-migrate @ 15048]
Richard Laager <rlaager@pidgin.im>
parents:
12702
diff
changeset
|
611 | "Check the plugin website for an update." |
|
7780ec726bdb
[gaim-migrate @ 15048]
Richard Laager <rlaager@pidgin.im>
parents:
12702
diff
changeset
|
612 | "</span>"), |
|
22781
c85c7a3609dc
Improve the layout of the plugin description pane.
Will Thompson <resiak@pidgin.im>
parents:
22608
diff
changeset
|
613 | tmp); |
|
c85c7a3609dc
Improve the layout of the plugin description pane.
Will Thompson <resiak@pidgin.im>
parents:
22608
diff
changeset
|
614 | gtk_label_set_markup(plugin_error, buf); |
|
12695
0c93a42b7ee2
[gaim-migrate @ 15038]
Richard Laager <rlaager@pidgin.im>
parents:
12600
diff
changeset
|
615 | g_free(buf); |
|
22781
c85c7a3609dc
Improve the layout of the plugin description pane.
Will Thompson <resiak@pidgin.im>
parents:
22608
diff
changeset
|
616 | g_free(tmp); |
|
12695
0c93a42b7ee2
[gaim-migrate @ 15038]
Richard Laager <rlaager@pidgin.im>
parents:
12600
diff
changeset
|
617 | } |
|
0c93a42b7ee2
[gaim-migrate @ 15038]
Richard Laager <rlaager@pidgin.im>
parents:
12600
diff
changeset
|
618 | |
|
11817
b8622a510778
[gaim-migrate @ 14108]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
11813
diff
changeset
|
619 | gtk_widget_set_sensitive(pref_button, |
|
36420
7a5cb79a8243
Refactored gtkplugin to use the new API. Handling of dependent plugins on unload is left till GPlugin implements it.
Ankit Vani <a@nevitus.org>
parents:
36417
diff
changeset
|
620 | purple_plugin_is_loaded(plug) && pidgin_plugin_has_config_frame(plug)); |
|
11817
b8622a510778
[gaim-migrate @ 14108]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
11813
diff
changeset
|
621 | |
| 11877 | 622 | /* Make sure the selected plugin is still visible */ |
| 623 | g_idle_add(ensure_plugin_visible, sel); | |
| 624 | ||
| 11740 | 625 | g_value_unset(&val); |
| 626 | } | |
| 627 | ||
| 11741 | 628 | static void plugin_dialog_response_cb(GtkWidget *d, int response, GtkTreeSelection *sel) |
| 11740 | 629 | { |
| 15884 | 630 | PurplePlugin *plug; |
| 11740 | 631 | GtkWidget *dialog, *box; |
| 632 | GtkTreeModel *model; | |
|
12600
7ecd4441fdc7
[gaim-migrate @ 14934]
Richard Laager <rlaager@pidgin.im>
parents:
12343
diff
changeset
|
633 | GValue val; |
| 11740 | 634 | GtkTreeIter iter; |
| 635 | ||
| 636 | switch (response) { | |
| 637 | case GTK_RESPONSE_CLOSE: | |
| 638 | case GTK_RESPONSE_DELETE_EVENT: | |
| 15884 | 639 | purple_request_close_with_handle(plugin_dialog); |
| 640 | purple_signals_disconnect_by_handle(plugin_dialog); | |
| 11740 | 641 | gtk_widget_destroy(d); |
|
11888
525706b75438
[gaim-migrate @ 14179]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
11886
diff
changeset
|
642 | if (plugin_pref_dialogs != NULL) { |
|
525706b75438
[gaim-migrate @ 14179]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
11886
diff
changeset
|
643 | g_hash_table_destroy(plugin_pref_dialogs); |
|
525706b75438
[gaim-migrate @ 14179]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
11886
diff
changeset
|
644 | plugin_pref_dialogs = NULL; |
|
525706b75438
[gaim-migrate @ 14179]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
11886
diff
changeset
|
645 | } |
| 11740 | 646 | plugin_dialog = NULL; |
| 647 | break; | |
|
15880
d275b025481c
More Gaim to Pidgin changes
Sean Egan <seanegan@pidgin.im>
parents:
15692
diff
changeset
|
648 | case PIDGIN_RESPONSE_CONFIGURE: |
| 11740 | 649 | if (! gtk_tree_selection_get_selected (sel, &model, &iter)) |
| 650 | return; | |
|
12600
7ecd4441fdc7
[gaim-migrate @ 14934]
Richard Laager <rlaager@pidgin.im>
parents:
12343
diff
changeset
|
651 | val.g_type = 0; |
|
7ecd4441fdc7
[gaim-migrate @ 14934]
Richard Laager <rlaager@pidgin.im>
parents:
12343
diff
changeset
|
652 | gtk_tree_model_get_value(model, &iter, 2, &val); |
| 11740 | 653 | plug = g_value_get_pointer(&val); |
| 654 | if (plug == NULL) | |
| 655 | break; | |
| 11781 | 656 | if (plugin_pref_dialogs != NULL && |
| 657 | g_hash_table_lookup(plugin_pref_dialogs, plug)) | |
| 11770 | 658 | break; |
|
15562
8c8249fe5e3c
gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents:
15435
diff
changeset
|
659 | box = pidgin_plugin_get_config_frame(plug); |
| 11740 | 660 | if (box == NULL) |
| 661 | break; | |
| 662 | ||
| 15882 | 663 | dialog = gtk_dialog_new_with_buttons(PIDGIN_ALERT_TITLE, GTK_WINDOW(d), |
|
33133
9a31f084f259
Fix some merge errors.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32438
diff
changeset
|
664 | GTK_DIALOG_DESTROY_WITH_PARENT, |
| 11740 | 665 | GTK_STOCK_CLOSE, GTK_RESPONSE_CLOSE, |
| 666 | NULL); | |
| 11781 | 667 | if (plugin_pref_dialogs == NULL) |
| 668 | plugin_pref_dialogs = g_hash_table_new(NULL, NULL); | |
| 669 | ||
| 670 | g_hash_table_insert(plugin_pref_dialogs, plug, dialog); | |
| 671 | ||
| 11770 | 672 | g_signal_connect(G_OBJECT(dialog), "response", G_CALLBACK(pref_dialog_response_cb), plug); |
|
33133
9a31f084f259
Fix some merge errors.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32438
diff
changeset
|
673 | gtk_container_add(GTK_CONTAINER(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), box); |
| 11747 | 674 | gtk_window_set_role(GTK_WINDOW(dialog), "plugin_config"); |
|
36431
ea007725fd4d
Refactored the codebase to use the plugin wrapper functions
Ankit Vani <a@nevitus.org>
parents:
36430
diff
changeset
|
675 | gtk_window_set_title(GTK_WINDOW(dialog), |
|
ea007725fd4d
Refactored the codebase to use the plugin wrapper functions
Ankit Vani <a@nevitus.org>
parents:
36430
diff
changeset
|
676 | _(purple_plugin_info_get_name(purple_plugin_get_info(plug)))); |
| 11740 | 677 | gtk_widget_show_all(dialog); |
| 11770 | 678 | g_value_unset(&val); |
|
36420
7a5cb79a8243
Refactored gtkplugin to use the new API. Handling of dependent plugins on unload is left till GPlugin implements it.
Ankit Vani <a@nevitus.org>
parents:
36417
diff
changeset
|
679 | |
| 11740 | 680 | break; |
| 681 | } | |
| 682 | } | |
| 683 | ||
|
12162
449845a545ab
[gaim-migrate @ 14463]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
12066
diff
changeset
|
684 | static void |
|
13718
f29249a2856c
[gaim-migrate @ 16125]
Richard Laager <rlaager@pidgin.im>
parents:
13436
diff
changeset
|
685 | show_plugin_prefs_cb(GtkTreeView *view, GtkTreePath *path, GtkTreeViewColumn *column, GtkWidget *dialog) |
|
12162
449845a545ab
[gaim-migrate @ 14463]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
12066
diff
changeset
|
686 | { |
|
449845a545ab
[gaim-migrate @ 14463]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
12066
diff
changeset
|
687 | GtkTreeSelection *sel; |
|
449845a545ab
[gaim-migrate @ 14463]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
12066
diff
changeset
|
688 | GtkTreeIter iter; |
| 15884 | 689 | PurplePlugin *plugin; |
|
12162
449845a545ab
[gaim-migrate @ 14463]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
12066
diff
changeset
|
690 | GtkTreeModel *model; |
|
449845a545ab
[gaim-migrate @ 14463]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
12066
diff
changeset
|
691 | |
|
449845a545ab
[gaim-migrate @ 14463]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
12066
diff
changeset
|
692 | sel = gtk_tree_view_get_selection(view); |
|
449845a545ab
[gaim-migrate @ 14463]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
12066
diff
changeset
|
693 | |
|
449845a545ab
[gaim-migrate @ 14463]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
12066
diff
changeset
|
694 | if (!gtk_tree_selection_get_selected(sel, &model, &iter)) |
|
449845a545ab
[gaim-migrate @ 14463]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
12066
diff
changeset
|
695 | return; |
|
12246
7af1ef3b1cc4
[gaim-migrate @ 14548]
Mark Doliner <markdoliner@pidgin.im>
parents:
12240
diff
changeset
|
696 | |
|
12162
449845a545ab
[gaim-migrate @ 14463]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
12066
diff
changeset
|
697 | gtk_tree_model_get(model, &iter, 2, &plugin, -1); |
|
449845a545ab
[gaim-migrate @ 14463]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
12066
diff
changeset
|
698 | |
| 15884 | 699 | if (!purple_plugin_is_loaded(plugin)) |
|
12174
3b0b53e84591
[gaim-migrate @ 14476]
Richard Laager <rlaager@pidgin.im>
parents:
12162
diff
changeset
|
700 | return; |
|
3b0b53e84591
[gaim-migrate @ 14476]
Richard Laager <rlaager@pidgin.im>
parents:
12162
diff
changeset
|
701 | |
|
12162
449845a545ab
[gaim-migrate @ 14463]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
12066
diff
changeset
|
702 | /* Now show the pref-dialog for the plugin */ |
|
15880
d275b025481c
More Gaim to Pidgin changes
Sean Egan <seanegan@pidgin.im>
parents:
15692
diff
changeset
|
703 | plugin_dialog_response_cb(dialog, PIDGIN_RESPONSE_CONFIGURE, sel); |
|
12162
449845a545ab
[gaim-migrate @ 14463]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
12066
diff
changeset
|
704 | } |
|
449845a545ab
[gaim-migrate @ 14463]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
12066
diff
changeset
|
705 | |
|
22065
4bfdea9613d1
Add tooltips to the plugin window. I did it mostly to test the new tooltip
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21352
diff
changeset
|
706 | static gboolean |
|
33161
c248c062f272
Pass the cairo context to the tooltip paint function.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
33158
diff
changeset
|
707 | pidgin_plugins_paint_tooltip(GtkWidget *tipwindow, cairo_t *cr, gpointer data) |
|
22065
4bfdea9613d1
Add tooltips to the plugin window. I did it mostly to test the new tooltip
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21352
diff
changeset
|
708 | { |
|
4bfdea9613d1
Add tooltips to the plugin window. I did it mostly to test the new tooltip
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21352
diff
changeset
|
709 | PangoLayout *layout = g_object_get_data(G_OBJECT(tipwindow), "tooltip-plugin"); |
|
33170
ce4447562d64
Add checks for old GTK+2 stuff.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
33168
diff
changeset
|
710 | #if GTK_CHECK_VERSION(3,0,0) |
|
33271
53bf180b9eb1
Use GtkStyleContext instead of GtkStyle on GTK+3.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
33170
diff
changeset
|
711 | GtkStyleContext *context = gtk_widget_get_style_context(tipwindow); |
|
53bf180b9eb1
Use GtkStyleContext instead of GtkStyle on GTK+3.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
33170
diff
changeset
|
712 | gtk_style_context_add_class(context, GTK_STYLE_CLASS_TOOLTIP); |
|
53bf180b9eb1
Use GtkStyleContext instead of GtkStyle on GTK+3.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
33170
diff
changeset
|
713 | gtk_render_layout(context, cr, 6, 6, layout); |
|
33170
ce4447562d64
Add checks for old GTK+2 stuff.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
33168
diff
changeset
|
714 | #else |
|
ce4447562d64
Add checks for old GTK+2 stuff.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
33168
diff
changeset
|
715 | gtk_paint_layout(tipwindow->style, tipwindow->window, GTK_STATE_NORMAL, FALSE, |
|
ce4447562d64
Add checks for old GTK+2 stuff.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
33168
diff
changeset
|
716 | NULL, tipwindow, "tooltip", |
|
ce4447562d64
Add checks for old GTK+2 stuff.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
33168
diff
changeset
|
717 | 6, 6, layout); |
|
ce4447562d64
Add checks for old GTK+2 stuff.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
33168
diff
changeset
|
718 | #endif |
|
32422
c215bc5d85e4
Whitespace fixes. Try and check your editor settings before writing
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32410
diff
changeset
|
719 | return TRUE; |
|
22065
4bfdea9613d1
Add tooltips to the plugin window. I did it mostly to test the new tooltip
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21352
diff
changeset
|
720 | } |
|
4bfdea9613d1
Add tooltips to the plugin window. I did it mostly to test the new tooltip
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21352
diff
changeset
|
721 | |
|
4bfdea9613d1
Add tooltips to the plugin window. I did it mostly to test the new tooltip
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21352
diff
changeset
|
722 | static gboolean |
|
4bfdea9613d1
Add tooltips to the plugin window. I did it mostly to test the new tooltip
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21352
diff
changeset
|
723 | pidgin_plugins_create_tooltip(GtkWidget *tipwindow, GtkTreePath *path, |
|
4bfdea9613d1
Add tooltips to the plugin window. I did it mostly to test the new tooltip
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21352
diff
changeset
|
724 | gpointer data, int *w, int *h) |
|
4bfdea9613d1
Add tooltips to the plugin window. I did it mostly to test the new tooltip
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21352
diff
changeset
|
725 | { |
|
4bfdea9613d1
Add tooltips to the plugin window. I did it mostly to test the new tooltip
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21352
diff
changeset
|
726 | GtkTreeIter iter; |
|
4bfdea9613d1
Add tooltips to the plugin window. I did it mostly to test the new tooltip
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21352
diff
changeset
|
727 | GtkTreeView *treeview = GTK_TREE_VIEW(data); |
|
4bfdea9613d1
Add tooltips to the plugin window. I did it mostly to test the new tooltip
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21352
diff
changeset
|
728 | PurplePlugin *plugin = NULL; |
|
36431
ea007725fd4d
Refactored the codebase to use the plugin wrapper functions
Ankit Vani <a@nevitus.org>
parents:
36430
diff
changeset
|
729 | PurplePluginInfo *info; |
|
22065
4bfdea9613d1
Add tooltips to the plugin window. I did it mostly to test the new tooltip
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21352
diff
changeset
|
730 | GtkTreeModel *model = gtk_tree_view_get_model(treeview); |
|
4bfdea9613d1
Add tooltips to the plugin window. I did it mostly to test the new tooltip
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21352
diff
changeset
|
731 | PangoLayout *layout; |
|
4bfdea9613d1
Add tooltips to the plugin window. I did it mostly to test the new tooltip
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21352
diff
changeset
|
732 | int width, height; |
|
36644
e06a238d2864
Refactored pidgin to show multiple authors
Ankit Vani <a@nevitus.org>
parents:
36516
diff
changeset
|
733 | const char * const *authorlist; |
|
e06a238d2864
Refactored pidgin to show multiple authors
Ankit Vani <a@nevitus.org>
parents:
36516
diff
changeset
|
734 | char *markup, *name, *desc; |
|
e06a238d2864
Refactored pidgin to show multiple authors
Ankit Vani <a@nevitus.org>
parents:
36516
diff
changeset
|
735 | char *authors = NULL, *pauthors = NULL; |
|
22065
4bfdea9613d1
Add tooltips to the plugin window. I did it mostly to test the new tooltip
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21352
diff
changeset
|
736 | |
|
4bfdea9613d1
Add tooltips to the plugin window. I did it mostly to test the new tooltip
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21352
diff
changeset
|
737 | if (!gtk_tree_model_get_iter(model, &iter, path)) |
|
4bfdea9613d1
Add tooltips to the plugin window. I did it mostly to test the new tooltip
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21352
diff
changeset
|
738 | return FALSE; |
|
4bfdea9613d1
Add tooltips to the plugin window. I did it mostly to test the new tooltip
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21352
diff
changeset
|
739 | |
|
4bfdea9613d1
Add tooltips to the plugin window. I did it mostly to test the new tooltip
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21352
diff
changeset
|
740 | gtk_tree_model_get(model, &iter, 2, &plugin, -1); |
|
36431
ea007725fd4d
Refactored the codebase to use the plugin wrapper functions
Ankit Vani <a@nevitus.org>
parents:
36430
diff
changeset
|
741 | info = purple_plugin_get_info(plugin); |
|
36644
e06a238d2864
Refactored pidgin to show multiple authors
Ankit Vani <a@nevitus.org>
parents:
36516
diff
changeset
|
742 | authorlist = purple_plugin_info_get_authors(info); |
|
e06a238d2864
Refactored pidgin to show multiple authors
Ankit Vani <a@nevitus.org>
parents:
36516
diff
changeset
|
743 | |
|
e06a238d2864
Refactored pidgin to show multiple authors
Ankit Vani <a@nevitus.org>
parents:
36516
diff
changeset
|
744 | if (authorlist) |
|
e06a238d2864
Refactored pidgin to show multiple authors
Ankit Vani <a@nevitus.org>
parents:
36516
diff
changeset
|
745 | authors = g_strjoinv(", ", (gchar **)authorlist); |
|
e06a238d2864
Refactored pidgin to show multiple authors
Ankit Vani <a@nevitus.org>
parents:
36516
diff
changeset
|
746 | if (authors) |
|
e06a238d2864
Refactored pidgin to show multiple authors
Ankit Vani <a@nevitus.org>
parents:
36516
diff
changeset
|
747 | pauthors = g_markup_escape_text(authors, -1); |
|
22065
4bfdea9613d1
Add tooltips to the plugin window. I did it mostly to test the new tooltip
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21352
diff
changeset
|
748 | |
|
22533
7e1e39d5db7e
Allow translation/transliteration foo in the plugin window tooltip.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22065
diff
changeset
|
749 | markup = g_strdup_printf("<span size='x-large' weight='bold'>%s</span>\n<b>%s:</b> %s\n<b>%s:</b> %s", |
|
36431
ea007725fd4d
Refactored the codebase to use the plugin wrapper functions
Ankit Vani <a@nevitus.org>
parents:
36430
diff
changeset
|
750 | name = g_markup_escape_text(purple_plugin_info_get_name(info), -1), |
|
ea007725fd4d
Refactored the codebase to use the plugin wrapper functions
Ankit Vani <a@nevitus.org>
parents:
36430
diff
changeset
|
751 | _("Description"), desc = g_markup_escape_text(purple_plugin_info_get_description(info), -1), |
|
36644
e06a238d2864
Refactored pidgin to show multiple authors
Ankit Vani <a@nevitus.org>
parents:
36516
diff
changeset
|
752 | (g_strv_length((gchar **)authorlist) > 1 ? _("Authors") : _("Author")), pauthors); |
|
22065
4bfdea9613d1
Add tooltips to the plugin window. I did it mostly to test the new tooltip
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21352
diff
changeset
|
753 | |
|
4bfdea9613d1
Add tooltips to the plugin window. I did it mostly to test the new tooltip
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21352
diff
changeset
|
754 | layout = gtk_widget_create_pango_layout(tipwindow, NULL); |
|
4bfdea9613d1
Add tooltips to the plugin window. I did it mostly to test the new tooltip
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21352
diff
changeset
|
755 | pango_layout_set_markup(layout, markup, -1); |
|
4bfdea9613d1
Add tooltips to the plugin window. I did it mostly to test the new tooltip
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21352
diff
changeset
|
756 | pango_layout_set_wrap(layout, PANGO_WRAP_WORD); |
|
4bfdea9613d1
Add tooltips to the plugin window. I did it mostly to test the new tooltip
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21352
diff
changeset
|
757 | pango_layout_set_width(layout, 600000); |
|
4bfdea9613d1
Add tooltips to the plugin window. I did it mostly to test the new tooltip
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21352
diff
changeset
|
758 | pango_layout_get_size(layout, &width, &height); |
|
4bfdea9613d1
Add tooltips to the plugin window. I did it mostly to test the new tooltip
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21352
diff
changeset
|
759 | g_object_set_data_full(G_OBJECT(tipwindow), "tooltip-plugin", layout, g_object_unref); |
|
4bfdea9613d1
Add tooltips to the plugin window. I did it mostly to test the new tooltip
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21352
diff
changeset
|
760 | |
|
4bfdea9613d1
Add tooltips to the plugin window. I did it mostly to test the new tooltip
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21352
diff
changeset
|
761 | if (w) |
|
4bfdea9613d1
Add tooltips to the plugin window. I did it mostly to test the new tooltip
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21352
diff
changeset
|
762 | *w = PANGO_PIXELS(width) + 12; |
|
4bfdea9613d1
Add tooltips to the plugin window. I did it mostly to test the new tooltip
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21352
diff
changeset
|
763 | if (h) |
|
4bfdea9613d1
Add tooltips to the plugin window. I did it mostly to test the new tooltip
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21352
diff
changeset
|
764 | *h = PANGO_PIXELS(height) + 12; |
|
4bfdea9613d1
Add tooltips to the plugin window. I did it mostly to test the new tooltip
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21352
diff
changeset
|
765 | |
|
4bfdea9613d1
Add tooltips to the plugin window. I did it mostly to test the new tooltip
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21352
diff
changeset
|
766 | g_free(markup); |
|
4bfdea9613d1
Add tooltips to the plugin window. I did it mostly to test the new tooltip
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21352
diff
changeset
|
767 | g_free(name); |
|
4bfdea9613d1
Add tooltips to the plugin window. I did it mostly to test the new tooltip
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21352
diff
changeset
|
768 | g_free(desc); |
|
36644
e06a238d2864
Refactored pidgin to show multiple authors
Ankit Vani <a@nevitus.org>
parents:
36516
diff
changeset
|
769 | g_free(pauthors); |
|
e06a238d2864
Refactored pidgin to show multiple authors
Ankit Vani <a@nevitus.org>
parents:
36516
diff
changeset
|
770 | g_free(authors); |
|
22065
4bfdea9613d1
Add tooltips to the plugin window. I did it mostly to test the new tooltip
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21352
diff
changeset
|
771 | |
|
4bfdea9613d1
Add tooltips to the plugin window. I did it mostly to test the new tooltip
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21352
diff
changeset
|
772 | return TRUE; |
|
4bfdea9613d1
Add tooltips to the plugin window. I did it mostly to test the new tooltip
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21352
diff
changeset
|
773 | } |
|
4bfdea9613d1
Add tooltips to the plugin window. I did it mostly to test the new tooltip
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21352
diff
changeset
|
774 | |
|
22788
113ae3a1f584
Use an event-box instead of a button for the link, and change the cursor
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22785
diff
changeset
|
775 | static gboolean |
|
113ae3a1f584
Use an event-box instead of a button for the link, and change the cursor
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22785
diff
changeset
|
776 | website_button_motion_cb(GtkWidget *button, GdkEventCrossing *event, |
|
22785
d712839ebf36
Make plugin website URLs clickable; it's a button with blue underlined text.
Will Thompson <resiak@pidgin.im>
parents:
22781
diff
changeset
|
777 | gpointer unused) |
|
d712839ebf36
Make plugin website URLs clickable; it's a button with blue underlined text.
Will Thompson <resiak@pidgin.im>
parents:
22781
diff
changeset
|
778 | { |
|
22788
113ae3a1f584
Use an event-box instead of a button for the link, and change the cursor
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22785
diff
changeset
|
779 | if (plugin_website_uri) { |
|
113ae3a1f584
Use an event-box instead of a button for the link, and change the cursor
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22785
diff
changeset
|
780 | pidgin_set_cursor(button, GDK_HAND2); |
|
113ae3a1f584
Use an event-box instead of a button for the link, and change the cursor
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22785
diff
changeset
|
781 | return TRUE; |
|
113ae3a1f584
Use an event-box instead of a button for the link, and change the cursor
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22785
diff
changeset
|
782 | } |
|
113ae3a1f584
Use an event-box instead of a button for the link, and change the cursor
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22785
diff
changeset
|
783 | return FALSE; |
|
113ae3a1f584
Use an event-box instead of a button for the link, and change the cursor
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22785
diff
changeset
|
784 | } |
|
113ae3a1f584
Use an event-box instead of a button for the link, and change the cursor
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22785
diff
changeset
|
785 | |
|
113ae3a1f584
Use an event-box instead of a button for the link, and change the cursor
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22785
diff
changeset
|
786 | static gboolean |
|
113ae3a1f584
Use an event-box instead of a button for the link, and change the cursor
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22785
diff
changeset
|
787 | website_button_clicked_cb(GtkButton *button, GdkEventButton *event, |
|
113ae3a1f584
Use an event-box instead of a button for the link, and change the cursor
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22785
diff
changeset
|
788 | gpointer unused) |
|
113ae3a1f584
Use an event-box instead of a button for the link, and change the cursor
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22785
diff
changeset
|
789 | { |
|
113ae3a1f584
Use an event-box instead of a button for the link, and change the cursor
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22785
diff
changeset
|
790 | if (plugin_website_uri) { |
|
22785
d712839ebf36
Make plugin website URLs clickable; it's a button with blue underlined text.
Will Thompson <resiak@pidgin.im>
parents:
22781
diff
changeset
|
791 | purple_notify_uri(NULL, plugin_website_uri); |
|
22788
113ae3a1f584
Use an event-box instead of a button for the link, and change the cursor
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22785
diff
changeset
|
792 | return TRUE; |
|
113ae3a1f584
Use an event-box instead of a button for the link, and change the cursor
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22785
diff
changeset
|
793 | } |
|
113ae3a1f584
Use an event-box instead of a button for the link, and change the cursor
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22785
diff
changeset
|
794 | return FALSE; |
|
22785
d712839ebf36
Make plugin website URLs clickable; it's a button with blue underlined text.
Will Thompson <resiak@pidgin.im>
parents:
22781
diff
changeset
|
795 | } |
|
d712839ebf36
Make plugin website URLs clickable; it's a button with blue underlined text.
Will Thompson <resiak@pidgin.im>
parents:
22781
diff
changeset
|
796 | |
|
22781
c85c7a3609dc
Improve the layout of the plugin description pane.
Will Thompson <resiak@pidgin.im>
parents:
22608
diff
changeset
|
797 | static GtkWidget * |
|
c85c7a3609dc
Improve the layout of the plugin description pane.
Will Thompson <resiak@pidgin.im>
parents:
22608
diff
changeset
|
798 | create_details() |
|
c85c7a3609dc
Improve the layout of the plugin description pane.
Will Thompson <resiak@pidgin.im>
parents:
22608
diff
changeset
|
799 | { |
|
c85c7a3609dc
Improve the layout of the plugin description pane.
Will Thompson <resiak@pidgin.im>
parents:
22608
diff
changeset
|
800 | GtkBox *vbox = GTK_BOX(gtk_vbox_new(FALSE, 3)); |
|
c85c7a3609dc
Improve the layout of the plugin description pane.
Will Thompson <resiak@pidgin.im>
parents:
22608
diff
changeset
|
801 | GtkSizeGroup *sg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL); |
|
22785
d712839ebf36
Make plugin website URLs clickable; it's a button with blue underlined text.
Will Thompson <resiak@pidgin.im>
parents:
22781
diff
changeset
|
802 | GtkWidget *label, *view, *website_button; |
|
22781
c85c7a3609dc
Improve the layout of the plugin description pane.
Will Thompson <resiak@pidgin.im>
parents:
22608
diff
changeset
|
803 | |
|
c85c7a3609dc
Improve the layout of the plugin description pane.
Will Thompson <resiak@pidgin.im>
parents:
22608
diff
changeset
|
804 | plugin_name = GTK_LABEL(gtk_label_new(NULL)); |
|
c85c7a3609dc
Improve the layout of the plugin description pane.
Will Thompson <resiak@pidgin.im>
parents:
22608
diff
changeset
|
805 | gtk_misc_set_alignment(GTK_MISC(plugin_name), 0, 0); |
|
c85c7a3609dc
Improve the layout of the plugin description pane.
Will Thompson <resiak@pidgin.im>
parents:
22608
diff
changeset
|
806 | gtk_label_set_line_wrap(plugin_name, FALSE); |
|
c85c7a3609dc
Improve the layout of the plugin description pane.
Will Thompson <resiak@pidgin.im>
parents:
22608
diff
changeset
|
807 | gtk_label_set_selectable(plugin_name, TRUE); |
|
c85c7a3609dc
Improve the layout of the plugin description pane.
Will Thompson <resiak@pidgin.im>
parents:
22608
diff
changeset
|
808 | gtk_box_pack_start(vbox, GTK_WIDGET(plugin_name), FALSE, FALSE, 0); |
|
c85c7a3609dc
Improve the layout of the plugin description pane.
Will Thompson <resiak@pidgin.im>
parents:
22608
diff
changeset
|
809 | |
|
c85c7a3609dc
Improve the layout of the plugin description pane.
Will Thompson <resiak@pidgin.im>
parents:
22608
diff
changeset
|
810 | view = gtk_text_view_new(); |
|
c85c7a3609dc
Improve the layout of the plugin description pane.
Will Thompson <resiak@pidgin.im>
parents:
22608
diff
changeset
|
811 | plugin_desc = gtk_text_view_get_buffer(GTK_TEXT_VIEW(view)); |
|
c85c7a3609dc
Improve the layout of the plugin description pane.
Will Thompson <resiak@pidgin.im>
parents:
22608
diff
changeset
|
812 | g_object_set(view, "wrap-mode", GTK_WRAP_WORD, |
|
c85c7a3609dc
Improve the layout of the plugin description pane.
Will Thompson <resiak@pidgin.im>
parents:
22608
diff
changeset
|
813 | "editable", FALSE, |
|
c85c7a3609dc
Improve the layout of the plugin description pane.
Will Thompson <resiak@pidgin.im>
parents:
22608
diff
changeset
|
814 | "left-margin", PIDGIN_HIG_CAT_SPACE, |
|
c85c7a3609dc
Improve the layout of the plugin description pane.
Will Thompson <resiak@pidgin.im>
parents:
22608
diff
changeset
|
815 | "right-margin", PIDGIN_HIG_CAT_SPACE, |
|
c85c7a3609dc
Improve the layout of the plugin description pane.
Will Thompson <resiak@pidgin.im>
parents:
22608
diff
changeset
|
816 | NULL); |
|
c85c7a3609dc
Improve the layout of the plugin description pane.
Will Thompson <resiak@pidgin.im>
parents:
22608
diff
changeset
|
817 | gtk_box_pack_start(vbox, view, TRUE, TRUE, 0); |
|
c85c7a3609dc
Improve the layout of the plugin description pane.
Will Thompson <resiak@pidgin.im>
parents:
22608
diff
changeset
|
818 | |
|
c85c7a3609dc
Improve the layout of the plugin description pane.
Will Thompson <resiak@pidgin.im>
parents:
22608
diff
changeset
|
819 | plugin_error = GTK_LABEL(gtk_label_new(NULL)); |
|
c85c7a3609dc
Improve the layout of the plugin description pane.
Will Thompson <resiak@pidgin.im>
parents:
22608
diff
changeset
|
820 | gtk_misc_set_alignment(GTK_MISC(plugin_error), 0, 0); |
|
c85c7a3609dc
Improve the layout of the plugin description pane.
Will Thompson <resiak@pidgin.im>
parents:
22608
diff
changeset
|
821 | gtk_label_set_line_wrap(plugin_error, FALSE); |
|
c85c7a3609dc
Improve the layout of the plugin description pane.
Will Thompson <resiak@pidgin.im>
parents:
22608
diff
changeset
|
822 | gtk_label_set_selectable(plugin_error, TRUE); |
|
c85c7a3609dc
Improve the layout of the plugin description pane.
Will Thompson <resiak@pidgin.im>
parents:
22608
diff
changeset
|
823 | gtk_box_pack_start(vbox, GTK_WIDGET(plugin_error), FALSE, FALSE, 0); |
|
c85c7a3609dc
Improve the layout of the plugin description pane.
Will Thompson <resiak@pidgin.im>
parents:
22608
diff
changeset
|
824 | |
|
36644
e06a238d2864
Refactored pidgin to show multiple authors
Ankit Vani <a@nevitus.org>
parents:
36516
diff
changeset
|
825 | plugin_authors = GTK_LABEL(gtk_label_new(NULL)); |
|
e06a238d2864
Refactored pidgin to show multiple authors
Ankit Vani <a@nevitus.org>
parents:
36516
diff
changeset
|
826 | gtk_label_set_line_wrap(plugin_authors, FALSE); |
|
e06a238d2864
Refactored pidgin to show multiple authors
Ankit Vani <a@nevitus.org>
parents:
36516
diff
changeset
|
827 | gtk_misc_set_alignment(GTK_MISC(plugin_authors), 0, 0); |
|
e06a238d2864
Refactored pidgin to show multiple authors
Ankit Vani <a@nevitus.org>
parents:
36516
diff
changeset
|
828 | gtk_label_set_selectable(plugin_authors, TRUE); |
|
22781
c85c7a3609dc
Improve the layout of the plugin description pane.
Will Thompson <resiak@pidgin.im>
parents:
22608
diff
changeset
|
829 | pidgin_add_widget_to_vbox(vbox, "", sg, |
|
36644
e06a238d2864
Refactored pidgin to show multiple authors
Ankit Vani <a@nevitus.org>
parents:
36516
diff
changeset
|
830 | GTK_WIDGET(plugin_authors), TRUE, &label); |
|
22781
c85c7a3609dc
Improve the layout of the plugin description pane.
Will Thompson <resiak@pidgin.im>
parents:
22608
diff
changeset
|
831 | gtk_label_set_markup(GTK_LABEL(label), _("<b>Written by:</b>")); |
|
c85c7a3609dc
Improve the layout of the plugin description pane.
Will Thompson <resiak@pidgin.im>
parents:
22608
diff
changeset
|
832 | gtk_misc_set_alignment(GTK_MISC(label), 0, 0); |
|
c85c7a3609dc
Improve the layout of the plugin description pane.
Will Thompson <resiak@pidgin.im>
parents:
22608
diff
changeset
|
833 | |
|
22788
113ae3a1f584
Use an event-box instead of a button for the link, and change the cursor
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22785
diff
changeset
|
834 | website_button = gtk_event_box_new(); |
|
113ae3a1f584
Use an event-box instead of a button for the link, and change the cursor
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22785
diff
changeset
|
835 | gtk_event_box_set_visible_window(GTK_EVENT_BOX(website_button), FALSE); |
|
113ae3a1f584
Use an event-box instead of a button for the link, and change the cursor
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22785
diff
changeset
|
836 | |
|
22781
c85c7a3609dc
Improve the layout of the plugin description pane.
Will Thompson <resiak@pidgin.im>
parents:
22608
diff
changeset
|
837 | plugin_website = GTK_LABEL(gtk_label_new(NULL)); |
|
22788
113ae3a1f584
Use an event-box instead of a button for the link, and change the cursor
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22785
diff
changeset
|
838 | g_object_set(G_OBJECT(plugin_website), |
|
22785
d712839ebf36
Make plugin website URLs clickable; it's a button with blue underlined text.
Will Thompson <resiak@pidgin.im>
parents:
22781
diff
changeset
|
839 | "ellipsize", PANGO_ELLIPSIZE_MIDDLE, NULL); |
|
22781
c85c7a3609dc
Improve the layout of the plugin description pane.
Will Thompson <resiak@pidgin.im>
parents:
22608
diff
changeset
|
840 | gtk_misc_set_alignment(GTK_MISC(plugin_website), 0, 0); |
|
22785
d712839ebf36
Make plugin website URLs clickable; it's a button with blue underlined text.
Will Thompson <resiak@pidgin.im>
parents:
22781
diff
changeset
|
841 | gtk_container_add(GTK_CONTAINER(website_button), |
|
d712839ebf36
Make plugin website URLs clickable; it's a button with blue underlined text.
Will Thompson <resiak@pidgin.im>
parents:
22781
diff
changeset
|
842 | GTK_WIDGET(plugin_website)); |
|
22788
113ae3a1f584
Use an event-box instead of a button for the link, and change the cursor
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22785
diff
changeset
|
843 | g_signal_connect(website_button, "button-release-event", |
|
113ae3a1f584
Use an event-box instead of a button for the link, and change the cursor
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22785
diff
changeset
|
844 | G_CALLBACK(website_button_clicked_cb), NULL); |
|
113ae3a1f584
Use an event-box instead of a button for the link, and change the cursor
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22785
diff
changeset
|
845 | g_signal_connect(website_button, "enter-notify-event", |
|
113ae3a1f584
Use an event-box instead of a button for the link, and change the cursor
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22785
diff
changeset
|
846 | G_CALLBACK(website_button_motion_cb), NULL); |
|
113ae3a1f584
Use an event-box instead of a button for the link, and change the cursor
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22785
diff
changeset
|
847 | g_signal_connect(website_button, "leave-notify-event", |
|
113ae3a1f584
Use an event-box instead of a button for the link, and change the cursor
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
22785
diff
changeset
|
848 | G_CALLBACK(pidgin_clear_cursor), NULL); |
|
22785
d712839ebf36
Make plugin website URLs clickable; it's a button with blue underlined text.
Will Thompson <resiak@pidgin.im>
parents:
22781
diff
changeset
|
849 | |
|
d712839ebf36
Make plugin website URLs clickable; it's a button with blue underlined text.
Will Thompson <resiak@pidgin.im>
parents:
22781
diff
changeset
|
850 | pidgin_add_widget_to_vbox(vbox, "", sg, website_button, TRUE, &label); |
|
22781
c85c7a3609dc
Improve the layout of the plugin description pane.
Will Thompson <resiak@pidgin.im>
parents:
22608
diff
changeset
|
851 | gtk_label_set_markup(GTK_LABEL(label), _("<b>Web site:</b>")); |
|
22785
d712839ebf36
Make plugin website URLs clickable; it's a button with blue underlined text.
Will Thompson <resiak@pidgin.im>
parents:
22781
diff
changeset
|
852 | gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); |
|
22781
c85c7a3609dc
Improve the layout of the plugin description pane.
Will Thompson <resiak@pidgin.im>
parents:
22608
diff
changeset
|
853 | |
|
c85c7a3609dc
Improve the layout of the plugin description pane.
Will Thompson <resiak@pidgin.im>
parents:
22608
diff
changeset
|
854 | plugin_filename = GTK_LABEL(gtk_label_new(NULL)); |
|
c85c7a3609dc
Improve the layout of the plugin description pane.
Will Thompson <resiak@pidgin.im>
parents:
22608
diff
changeset
|
855 | gtk_label_set_line_wrap(plugin_filename, FALSE); |
|
c85c7a3609dc
Improve the layout of the plugin description pane.
Will Thompson <resiak@pidgin.im>
parents:
22608
diff
changeset
|
856 | gtk_misc_set_alignment(GTK_MISC(plugin_filename), 0, 0); |
|
c85c7a3609dc
Improve the layout of the plugin description pane.
Will Thompson <resiak@pidgin.im>
parents:
22608
diff
changeset
|
857 | gtk_label_set_selectable(plugin_filename, TRUE); |
|
c85c7a3609dc
Improve the layout of the plugin description pane.
Will Thompson <resiak@pidgin.im>
parents:
22608
diff
changeset
|
858 | pidgin_add_widget_to_vbox(vbox, "", sg, |
|
c85c7a3609dc
Improve the layout of the plugin description pane.
Will Thompson <resiak@pidgin.im>
parents:
22608
diff
changeset
|
859 | GTK_WIDGET(plugin_filename), TRUE, &label); |
|
c85c7a3609dc
Improve the layout of the plugin description pane.
Will Thompson <resiak@pidgin.im>
parents:
22608
diff
changeset
|
860 | gtk_label_set_markup(GTK_LABEL(label), _("<b>Filename:</b>")); |
|
c85c7a3609dc
Improve the layout of the plugin description pane.
Will Thompson <resiak@pidgin.im>
parents:
22608
diff
changeset
|
861 | gtk_misc_set_alignment(GTK_MISC(label), 0, 0); |
|
c85c7a3609dc
Improve the layout of the plugin description pane.
Will Thompson <resiak@pidgin.im>
parents:
22608
diff
changeset
|
862 | |
|
23180
5d6a0a35837f
applied changes from 97a20dd56598fa5c690eabcbc8ec3ff6e560aefd
Daniel Atallah <datallah@pidgin.im>
parents:
23100
diff
changeset
|
863 | g_object_unref(sg); |
|
5d6a0a35837f
applied changes from 97a20dd56598fa5c690eabcbc8ec3ff6e560aefd
Daniel Atallah <datallah@pidgin.im>
parents:
23100
diff
changeset
|
864 | |
|
22781
c85c7a3609dc
Improve the layout of the plugin description pane.
Will Thompson <resiak@pidgin.im>
parents:
22608
diff
changeset
|
865 | return GTK_WIDGET(vbox); |
|
c85c7a3609dc
Improve the layout of the plugin description pane.
Will Thompson <resiak@pidgin.im>
parents:
22608
diff
changeset
|
866 | } |
|
c85c7a3609dc
Improve the layout of the plugin description pane.
Will Thompson <resiak@pidgin.im>
parents:
22608
diff
changeset
|
867 | |
|
c85c7a3609dc
Improve the layout of the plugin description pane.
Will Thompson <resiak@pidgin.im>
parents:
22608
diff
changeset
|
868 | |
|
15562
8c8249fe5e3c
gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents:
15435
diff
changeset
|
869 | void pidgin_plugin_dialog_show() |
| 11740 | 870 | { |
| 871 | GtkWidget *event_view; | |
| 872 | GtkListStore *ls; | |
| 873 | GtkCellRenderer *rend, *rendt; | |
| 874 | GtkTreeViewColumn *col; | |
| 875 | GtkTreeSelection *sel; | |
| 876 | ||
| 877 | if (plugin_dialog != NULL) { | |
| 878 | gtk_window_present(GTK_WINDOW(plugin_dialog)); | |
| 879 | return; | |
| 880 | } | |
| 881 | ||
|
33168
f51e53d27b99
Fix a minor warning.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
33161
diff
changeset
|
882 | plugin_dialog = gtk_dialog_new(); |
|
f51e53d27b99
Fix a minor warning.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
33161
diff
changeset
|
883 | gtk_window_set_title(GTK_WINDOW(plugin_dialog), _("Plugins")); |
|
12246
7af1ef3b1cc4
[gaim-migrate @ 14548]
Mark Doliner <markdoliner@pidgin.im>
parents:
12240
diff
changeset
|
884 | pref_button = gtk_dialog_add_button(GTK_DIALOG(plugin_dialog), |
|
15880
d275b025481c
More Gaim to Pidgin changes
Sean Egan <seanegan@pidgin.im>
parents:
15692
diff
changeset
|
885 | _("Configure Pl_ugin"), PIDGIN_RESPONSE_CONFIGURE); |
|
12246
7af1ef3b1cc4
[gaim-migrate @ 14548]
Mark Doliner <markdoliner@pidgin.im>
parents:
12240
diff
changeset
|
886 | gtk_dialog_add_button(GTK_DIALOG(plugin_dialog), |
|
7af1ef3b1cc4
[gaim-migrate @ 14548]
Mark Doliner <markdoliner@pidgin.im>
parents:
12240
diff
changeset
|
887 | GTK_STOCK_CLOSE, GTK_RESPONSE_CLOSE); |
| 11813 | 888 | gtk_widget_set_sensitive(pref_button, FALSE); |
| 11747 | 889 | gtk_window_set_role(GTK_WINDOW(plugin_dialog), "plugins"); |
| 11740 | 890 | |
|
12927
f3e4ef8958a3
[gaim-migrate @ 15280]
Richard Laager <rlaager@pidgin.im>
parents:
12889
diff
changeset
|
891 | ls = gtk_list_store_new(4, G_TYPE_BOOLEAN, G_TYPE_STRING, G_TYPE_POINTER, G_TYPE_BOOLEAN); |
| 11740 | 892 | gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE(ls), |
| 893 | 1, GTK_SORT_ASCENDING); | |
| 894 | ||
| 895 | update_plugin_list(ls); | |
| 11813 | 896 | |
|
12927
f3e4ef8958a3
[gaim-migrate @ 15280]
Richard Laager <rlaager@pidgin.im>
parents:
12889
diff
changeset
|
897 | event_view = gtk_tree_view_new_with_model(GTK_TREE_MODEL(ls)); |
| 11740 | 898 | |
| 14359 | 899 | gtk_tree_view_set_rules_hint(GTK_TREE_VIEW(event_view), TRUE); |
| 900 | ||
|
12162
449845a545ab
[gaim-migrate @ 14463]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
12066
diff
changeset
|
901 | g_signal_connect(G_OBJECT(event_view), "row-activated", |
|
13718
f29249a2856c
[gaim-migrate @ 16125]
Richard Laager <rlaager@pidgin.im>
parents:
13436
diff
changeset
|
902 | G_CALLBACK(show_plugin_prefs_cb), plugin_dialog); |
|
12162
449845a545ab
[gaim-migrate @ 14463]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
12066
diff
changeset
|
903 | |
| 15884 | 904 | purple_signal_connect(purple_plugins_get_handle(), "plugin-load", plugin_dialog, |
| 905 | PURPLE_CALLBACK(plugin_load_cb), event_view); | |
| 906 | purple_signal_connect(purple_plugins_get_handle(), "plugin-unload", plugin_dialog, | |
| 907 | PURPLE_CALLBACK(plugin_unload_cb), event_view); | |
|
12927
f3e4ef8958a3
[gaim-migrate @ 15280]
Richard Laager <rlaager@pidgin.im>
parents:
12889
diff
changeset
|
908 | |
| 11740 | 909 | rend = gtk_cell_renderer_toggle_new(); |
| 910 | sel = gtk_tree_view_get_selection (GTK_TREE_VIEW (event_view)); | |
| 911 | ||
| 912 | col = gtk_tree_view_column_new_with_attributes (_("Enabled"), | |
| 913 | rend, | |
| 914 | "active", 0, | |
| 915 | NULL); | |
| 916 | gtk_tree_view_append_column (GTK_TREE_VIEW(event_view), col); | |
|
11794
6c39942d27a9
[gaim-migrate @ 14085]
Gary Kramlich <grim@reaperworld.com>
parents:
11783
diff
changeset
|
917 | gtk_tree_view_column_set_sort_column_id(col, 0); |
|
12927
f3e4ef8958a3
[gaim-migrate @ 15280]
Richard Laager <rlaager@pidgin.im>
parents:
12889
diff
changeset
|
918 | g_signal_connect(G_OBJECT(rend), "toggled", |
|
f3e4ef8958a3
[gaim-migrate @ 15280]
Richard Laager <rlaager@pidgin.im>
parents:
12889
diff
changeset
|
919 | G_CALLBACK(plugin_toggled), ls); |
|
12246
7af1ef3b1cc4
[gaim-migrate @ 14548]
Mark Doliner <markdoliner@pidgin.im>
parents:
12240
diff
changeset
|
920 | |
| 11740 | 921 | rendt = gtk_cell_renderer_text_new(); |
|
12695
0c93a42b7ee2
[gaim-migrate @ 15038]
Richard Laager <rlaager@pidgin.im>
parents:
12600
diff
changeset
|
922 | g_object_set(rendt, |
|
0c93a42b7ee2
[gaim-migrate @ 15038]
Richard Laager <rlaager@pidgin.im>
parents:
12600
diff
changeset
|
923 | "foreground", "#c0c0c0", |
|
0c93a42b7ee2
[gaim-migrate @ 15038]
Richard Laager <rlaager@pidgin.im>
parents:
12600
diff
changeset
|
924 | NULL); |
| 11740 | 925 | col = gtk_tree_view_column_new_with_attributes (_("Name"), |
| 926 | rendt, | |
| 927 | "markup", 1, | |
|
12695
0c93a42b7ee2
[gaim-migrate @ 15038]
Richard Laager <rlaager@pidgin.im>
parents:
12600
diff
changeset
|
928 | "foreground-set", 3, |
| 11740 | 929 | NULL); |
| 930 | gtk_tree_view_column_set_expand (col, TRUE); | |
| 931 | g_object_set(rendt, "ellipsize", PANGO_ELLIPSIZE_END, NULL); | |
| 932 | gtk_tree_view_append_column (GTK_TREE_VIEW(event_view), col); | |
|
11794
6c39942d27a9
[gaim-migrate @ 14085]
Gary Kramlich <grim@reaperworld.com>
parents:
11783
diff
changeset
|
933 | gtk_tree_view_column_set_sort_column_id(col, 1); |
| 11740 | 934 | g_object_unref(G_OBJECT(ls)); |
|
33158
ad941796372e
Remove some added trailing spaces.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
33133
diff
changeset
|
935 | gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(plugin_dialog))), |
|
31321
1fef3832cfa2
Add pidgin_make_scrollable and use it. Cleans up a bunch of duplicate code. Net code loss of 180 lines. Fixes #13073.
Gabriel Schulhof <nix@go-nix.ca>
parents:
30785
diff
changeset
|
936 | pidgin_make_scrollable(event_view, GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC, GTK_SHADOW_IN, -1, -1), |
|
1fef3832cfa2
Add pidgin_make_scrollable and use it. Cleans up a bunch of duplicate code. Net code loss of 180 lines. Fixes #13073.
Gabriel Schulhof <nix@go-nix.ca>
parents:
30785
diff
changeset
|
937 | TRUE, TRUE, 0); |
|
15177
8b6c66e09388
[gaim-migrate @ 17901]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14359
diff
changeset
|
938 | gtk_tree_view_set_search_column(GTK_TREE_VIEW(event_view), 1); |
|
8b6c66e09388
[gaim-migrate @ 17901]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14359
diff
changeset
|
939 | gtk_tree_view_set_search_equal_func(GTK_TREE_VIEW(event_view), |
|
15562
8c8249fe5e3c
gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents:
15435
diff
changeset
|
940 | pidgin_tree_view_search_equal_func, NULL, NULL); |
|
12246
7af1ef3b1cc4
[gaim-migrate @ 14548]
Mark Doliner <markdoliner@pidgin.im>
parents:
12240
diff
changeset
|
941 | |
|
22065
4bfdea9613d1
Add tooltips to the plugin window. I did it mostly to test the new tooltip
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21352
diff
changeset
|
942 | pidgin_tooltip_setup_for_treeview(event_view, event_view, |
|
4bfdea9613d1
Add tooltips to the plugin window. I did it mostly to test the new tooltip
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21352
diff
changeset
|
943 | pidgin_plugins_create_tooltip, |
|
4bfdea9613d1
Add tooltips to the plugin window. I did it mostly to test the new tooltip
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21352
diff
changeset
|
944 | pidgin_plugins_paint_tooltip); |
|
4bfdea9613d1
Add tooltips to the plugin window. I did it mostly to test the new tooltip
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
21352
diff
changeset
|
945 | |
|
22781
c85c7a3609dc
Improve the layout of the plugin description pane.
Will Thompson <resiak@pidgin.im>
parents:
22608
diff
changeset
|
946 | |
| 11740 | 947 | expander = gtk_expander_new(_("<b>Plugin Details</b>")); |
| 948 | gtk_expander_set_use_markup(GTK_EXPANDER(expander), TRUE); | |
|
12343
0ede7c5a9465
[gaim-migrate @ 14647]
Mark Doliner <markdoliner@pidgin.im>
parents:
12290
diff
changeset
|
949 | gtk_widget_set_sensitive(expander, FALSE); |
|
22781
c85c7a3609dc
Improve the layout of the plugin description pane.
Will Thompson <resiak@pidgin.im>
parents:
22608
diff
changeset
|
950 | gtk_container_add(GTK_CONTAINER(expander), create_details()); |
|
33133
9a31f084f259
Fix some merge errors.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32438
diff
changeset
|
951 | gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(plugin_dialog))), |
|
33170
ce4447562d64
Add checks for old GTK+2 stuff.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
33168
diff
changeset
|
952 | expander, FALSE, FALSE, 0); |
|
22781
c85c7a3609dc
Improve the layout of the plugin description pane.
Will Thompson <resiak@pidgin.im>
parents:
22608
diff
changeset
|
953 | |
| 11740 | 954 | |
| 955 | g_signal_connect (G_OBJECT (sel), "changed", G_CALLBACK (prefs_plugin_sel), NULL); | |
| 956 | g_signal_connect(G_OBJECT(plugin_dialog), "response", G_CALLBACK(plugin_dialog_response_cb), sel); | |
|
22781
c85c7a3609dc
Improve the layout of the plugin description pane.
Will Thompson <resiak@pidgin.im>
parents:
22608
diff
changeset
|
957 | gtk_window_set_default_size(GTK_WINDOW(plugin_dialog), 430, 530); |
|
30760
7b0121a454cd
Auto-parent the Plugins dialog.
Gabriel Schulhof <nix@go-nix.ca>
parents:
29500
diff
changeset
|
958 | |
|
30785
9c4ea3886ce5
Remove an unnecessary cast. Get's rid of this compile warning:
Mark Doliner <markdoliner@pidgin.im>
parents:
30760
diff
changeset
|
959 | pidgin_auto_parent_window(plugin_dialog); |
|
30760
7b0121a454cd
Auto-parent the Plugins dialog.
Gabriel Schulhof <nix@go-nix.ca>
parents:
29500
diff
changeset
|
960 | |
| 11740 | 961 | gtk_widget_show_all(plugin_dialog); |
| 962 | } |