Wed, 06 Mar 2002 00:18:02 +0000
[gaim-migrate @ 3025]
Lots of people have a problem with people who were added to their MSN reverse list while they were offline, not being prompted to add them to their allow list. Jason Willis fixed that. Also added a global buddy icon animation preference by Luke Schierer.
committer: Sean Egan <seanegan@pidgin.im>
| 1 | 1 | /* |
| 2 | * gaim | |
| 3 | * | |
| 4 | * Copyright (C) 1998-1999, Mark Spencer <markster@marko.net> | |
| 5 | * | |
| 6 | * This program is free software; you can redistribute it and/or modify | |
| 7 | * it under the terms of the GNU General Public License as published by | |
| 8 | * the Free Software Foundation; either version 2 of the License, or | |
| 9 | * (at your option) any later version. | |
| 10 | * | |
| 11 | * This program is distributed in the hope that it will be useful, | |
| 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| 14 | * GNU General Public License for more details. | |
| 15 | * | |
| 16 | * You should have received a copy of the GNU General Public License | |
| 17 | * along with this program; if not, write to the Free Software | |
| 18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
| 19 | * | |
| 20 | * ---------------- | |
| 21 | * The Plug-in plug | |
| 22 | * | |
| 23 | * Plugin support is currently being maintained by Mike Saraf | |
| 24 | * msaraf@dwc.edu | |
| 25 | * | |
|
90
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
26 | * Well, I didn't see any work done on it for a while, so I'm going to try |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
27 | * my hand at it. - Eric warmenhoven@yahoo.com |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
28 | * |
| 1745 | 29 | * Mike is my roomate. I can assure you that he's lazy :-P -- Rob rob@marko.net |
| 30 | * | |
| 1 | 31 | */ |
| 32 | ||
|
349
6f7d28b0f98d
[gaim-migrate @ 359]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
176
diff
changeset
|
33 | #ifdef HAVE_CONFIG_H |
|
2090
bab8b7e309db
[gaim-migrate @ 2100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2086
diff
changeset
|
34 | #include <config.h> |
|
349
6f7d28b0f98d
[gaim-migrate @ 359]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
176
diff
changeset
|
35 | #endif |
|
6f7d28b0f98d
[gaim-migrate @ 359]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
176
diff
changeset
|
36 | |
|
2393
cfef0212506b
[gaim-migrate @ 2406]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
37 | #ifdef GAIM_PLUGINS |
|
cfef0212506b
[gaim-migrate @ 2406]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
38 | |
| 1 | 39 | #include <string.h> |
| 40 | #include <sys/time.h> | |
| 41 | ||
| 42 | #include <sys/types.h> | |
| 43 | #include <sys/stat.h> | |
| 44 | ||
| 45 | #include <unistd.h> | |
| 46 | #include <stdio.h> | |
| 47 | #include <stdlib.h> | |
| 48 | #include <gtk/gtk.h> | |
| 49 | #include "gaim.h" | |
| 50 | ||
|
1911
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
51 | #include "pixmaps/gnome_add.xpm" |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
52 | #include "pixmaps/gnome_remove.xpm" |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
53 | #include "pixmaps/gnome_preferences.xpm" |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
54 | #include "pixmaps/refresh.xpm" |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
55 | #include "pixmaps/cancel.xpm" |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
56 | |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
57 | #define PATHSIZE 1024 /* XXX: stolen from dialogs.c */ |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
58 | |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
59 | |
|
94
0c6ba3d3fa90
[gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
92
diff
changeset
|
60 | /* ------------------ Local Variables ------------------------ */ |
| 1 | 61 | |
|
90
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
62 | static GtkWidget *plugin_dialog = NULL; |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
63 | |
|
1911
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
64 | static GtkWidget *pluglist = NULL; |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
65 | static GtkWidget *plugtext = NULL; |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
66 | static GtkWidget *plugwindow = NULL; |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
67 | static GtkWidget *plugentry = NULL; |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
68 | |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
69 | static GtkTooltips *tooltips = NULL; |
| 1 | 70 | |
|
425
bc3f0933ce54
[gaim-migrate @ 435]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
403
diff
changeset
|
71 | static GtkWidget *config = NULL; |
|
403
6086902fc4f1
[gaim-migrate @ 413]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
397
diff
changeset
|
72 | static guint confighandle = 0; |
| 2056 | 73 | static GtkWidget *reload = NULL; |
| 74 | static GtkWidget *unload = NULL; | |
|
2405
967eeb138686
[gaim-migrate @ 2418]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2393
diff
changeset
|
75 | extern char *last_dir; |
|
110
ca79cce0ea62
[gaim-migrate @ 120]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
96
diff
changeset
|
76 | |
|
94
0c6ba3d3fa90
[gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
92
diff
changeset
|
77 | /* --------------- Function Declarations --------------------- */ |
| 1 | 78 | |
|
1252
94fbface2d84
[gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1250
diff
changeset
|
79 | void show_plugins(GtkWidget *, gpointer); |
|
94
0c6ba3d3fa90
[gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
92
diff
changeset
|
80 | |
|
1911
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
81 | /* UI button callbacks */ |
|
2393
cfef0212506b
[gaim-migrate @ 2406]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
82 | static void unload_plugin_cb(GtkWidget *, gpointer); |
|
1911
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
83 | static void plugin_reload_cb(GtkWidget *, gpointer); |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
84 | |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
85 | static const gchar *plugin_makelistname(GModule *); |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
86 | |
|
1252
94fbface2d84
[gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1250
diff
changeset
|
87 | static void destroy_plugins(GtkWidget *, gpointer); |
|
94fbface2d84
[gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1250
diff
changeset
|
88 | static void load_file(GtkWidget *, gpointer); |
|
90
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
89 | static void load_which_plugin(GtkWidget *, gpointer); |
|
1252
94fbface2d84
[gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1250
diff
changeset
|
90 | static void list_clicked(GtkWidget *, struct gaim_plugin *); |
|
2494
895b59bd222b
[gaim-migrate @ 2507]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2405
diff
changeset
|
91 | void update_show_plugins(); |
|
1252
94fbface2d84
[gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1250
diff
changeset
|
92 | static void hide_plugins(GtkWidget *, gpointer); |
|
90
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
93 | |
| 1 | 94 | /* ------------------ Code Below ---------------------------- */ |
| 95 | ||
|
1252
94fbface2d84
[gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1250
diff
changeset
|
96 | static void destroy_plugins(GtkWidget *w, gpointer data) |
|
94fbface2d84
[gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1250
diff
changeset
|
97 | { |
|
90
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
98 | if (plugin_dialog) |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
99 | gtk_widget_destroy(plugin_dialog); |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
100 | plugin_dialog = NULL; |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
101 | } |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
102 | |
|
142
fc9c79676b08
[gaim-migrate @ 152]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
139
diff
changeset
|
103 | static void load_file(GtkWidget *w, gpointer data) |
| 1 | 104 | { |
| 943 | 105 | gchar *buf; |
|
1252
94fbface2d84
[gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1250
diff
changeset
|
106 | |
|
138
96e94ba5be76
[gaim-migrate @ 148]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
134
diff
changeset
|
107 | if (plugin_dialog) { |
|
96e94ba5be76
[gaim-migrate @ 148]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
134
diff
changeset
|
108 | gtk_widget_show(plugin_dialog); |
|
96e94ba5be76
[gaim-migrate @ 148]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
134
diff
changeset
|
109 | gdk_window_raise(plugin_dialog->window); |
|
96e94ba5be76
[gaim-migrate @ 148]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
134
diff
changeset
|
110 | return; |
|
96e94ba5be76
[gaim-migrate @ 148]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
134
diff
changeset
|
111 | } |
|
90
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
112 | |
|
350
b02a56431923
[gaim-migrate @ 360]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
349
diff
changeset
|
113 | plugin_dialog = gtk_file_selection_new(_("Gaim - Plugin List")); |
|
138
96e94ba5be76
[gaim-migrate @ 148]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
134
diff
changeset
|
114 | |
|
1252
94fbface2d84
[gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1250
diff
changeset
|
115 | gtk_file_selection_hide_fileop_buttons(GTK_FILE_SELECTION(plugin_dialog)); |
|
90
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
116 | |
|
1025
6b935cc3f62d
[gaim-migrate @ 1035]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1000
diff
changeset
|
117 | if (!last_dir) |
|
1163
a64d453c2189
[gaim-migrate @ 1173]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1145
diff
changeset
|
118 | buf = g_strdup(LIBDIR); |
|
153
0964148d34fe
[gaim-migrate @ 163]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
142
diff
changeset
|
119 | else |
|
1025
6b935cc3f62d
[gaim-migrate @ 1035]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1000
diff
changeset
|
120 | buf = g_strconcat(last_dir, G_DIR_SEPARATOR_S, NULL); |
| 1 | 121 | |
|
90
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
122 | gtk_file_selection_set_filename(GTK_FILE_SELECTION(plugin_dialog), buf); |
|
153
0964148d34fe
[gaim-migrate @ 163]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
142
diff
changeset
|
123 | gtk_file_selection_complete(GTK_FILE_SELECTION(plugin_dialog), "*.so"); |
|
90
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
124 | gtk_signal_connect(GTK_OBJECT(plugin_dialog), "destroy", |
|
1252
94fbface2d84
[gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1250
diff
changeset
|
125 | GTK_SIGNAL_FUNC(destroy_plugins), plugin_dialog); |
|
90
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
126 | |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
127 | gtk_signal_connect(GTK_OBJECT(GTK_FILE_SELECTION(plugin_dialog)->ok_button), |
|
1252
94fbface2d84
[gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1250
diff
changeset
|
128 | "clicked", GTK_SIGNAL_FUNC(load_which_plugin), NULL); |
|
94fbface2d84
[gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1250
diff
changeset
|
129 | |
|
90
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
130 | gtk_signal_connect(GTK_OBJECT(GTK_FILE_SELECTION(plugin_dialog)->cancel_button), |
|
1252
94fbface2d84
[gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1250
diff
changeset
|
131 | "clicked", GTK_SIGNAL_FUNC(destroy_plugins), NULL); |
|
90
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
132 | |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
133 | g_free(buf); |
|
626
e18692a6e87d
[gaim-migrate @ 636]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
619
diff
changeset
|
134 | gtk_widget_show(plugin_dialog); |
|
1252
94fbface2d84
[gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1250
diff
changeset
|
135 | gdk_window_raise(plugin_dialog->window); |
|
90
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
136 | } |
| 1 | 137 | |
|
1252
94fbface2d84
[gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1250
diff
changeset
|
138 | static void load_which_plugin(GtkWidget *w, gpointer data) |
|
94fbface2d84
[gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1250
diff
changeset
|
139 | { |
| 1035 | 140 | char *file; |
| 141 | ||
|
1252
94fbface2d84
[gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1250
diff
changeset
|
142 | file = gtk_file_selection_get_filename(GTK_FILE_SELECTION(plugin_dialog)); |
| 1035 | 143 | if (file_is_dir(file, plugin_dialog)) { |
| 144 | return; | |
| 145 | } | |
| 146 | ||
|
1710
4793276c2510
[gaim-migrate @ 1720]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1429
diff
changeset
|
147 | if (file) |
|
4793276c2510
[gaim-migrate @ 1720]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1429
diff
changeset
|
148 | load_plugin(file); |
|
142
fc9c79676b08
[gaim-migrate @ 152]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
139
diff
changeset
|
149 | |
|
fc9c79676b08
[gaim-migrate @ 152]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
139
diff
changeset
|
150 | if (plugin_dialog) |
|
fc9c79676b08
[gaim-migrate @ 152]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
139
diff
changeset
|
151 | gtk_widget_destroy(plugin_dialog); |
|
fc9c79676b08
[gaim-migrate @ 152]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
139
diff
changeset
|
152 | plugin_dialog = NULL; |
|
92
b2cc29da946e
[gaim-migrate @ 102]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
90
diff
changeset
|
153 | |
|
b2cc29da946e
[gaim-migrate @ 102]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
90
diff
changeset
|
154 | update_show_plugins(); |
|
90
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
155 | } |
| 1 | 156 | |
|
1252
94fbface2d84
[gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1250
diff
changeset
|
157 | void show_plugins(GtkWidget *w, gpointer data) |
|
94fbface2d84
[gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1250
diff
changeset
|
158 | { |
|
1911
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
159 | /* most of this code was shamelessly stolen from Glade */ |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
160 | GtkWidget *mainvbox; |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
161 | GtkWidget *tophbox; |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
162 | GtkWidget *bothbox; |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
163 | GtkWidget *hbox; |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
164 | GtkWidget *vbox; |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
165 | GtkWidget *frame; |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
166 | GtkWidget *scrolledwindow; |
|
90
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
167 | GtkWidget *label; |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
168 | GtkWidget *add; |
|
96
2b8586ab9456
[gaim-migrate @ 106]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
94
diff
changeset
|
169 | GtkWidget *close; |
|
90
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
170 | |
|
1252
94fbface2d84
[gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1250
diff
changeset
|
171 | if (plugwindow) |
|
94fbface2d84
[gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1250
diff
changeset
|
172 | return; |
|
92
b2cc29da946e
[gaim-migrate @ 102]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
90
diff
changeset
|
173 | |
|
2725
a844d0964552
[gaim-migrate @ 2738]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2494
diff
changeset
|
174 | GAIM_DIALOG(plugwindow); |
| 905 | 175 | gtk_window_set_wmclass(GTK_WINDOW(plugwindow), "plugins", "Gaim"); |
|
92
b2cc29da946e
[gaim-migrate @ 102]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
90
diff
changeset
|
176 | gtk_widget_realize(plugwindow); |
|
b2cc29da946e
[gaim-migrate @ 102]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
90
diff
changeset
|
177 | aol_icon(plugwindow->window); |
|
350
b02a56431923
[gaim-migrate @ 360]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
349
diff
changeset
|
178 | gtk_window_set_title(GTK_WINDOW(plugwindow), _("Gaim - Plugins")); |
|
1911
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
179 | gtk_widget_set_usize(plugwindow, 515, 300); |
|
1252
94fbface2d84
[gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1250
diff
changeset
|
180 | gtk_signal_connect(GTK_OBJECT(plugwindow), "destroy", GTK_SIGNAL_FUNC(hide_plugins), NULL); |
|
90
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
181 | |
|
1911
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
182 | mainvbox = gtk_vbox_new(FALSE, 0); |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
183 | gtk_container_add(GTK_CONTAINER(plugwindow), mainvbox); |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
184 | gtk_widget_show(mainvbox); |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
185 | |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
186 | /* Build the top */ |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
187 | tophbox = gtk_hbox_new(FALSE, 0); |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
188 | gtk_box_pack_start(GTK_BOX(mainvbox), tophbox, TRUE, TRUE, 0); |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
189 | gtk_widget_show(tophbox); |
|
90
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
190 | |
|
1911
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
191 | /* Left side: frame with list of plugin file names */ |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
192 | frame = gtk_frame_new(_("Plugins")); |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
193 | gtk_box_pack_start(GTK_BOX(tophbox), frame, FALSE, FALSE, 0); |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
194 | gtk_widget_set_usize(frame, 140, -1); |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
195 | gtk_container_set_border_width(GTK_CONTAINER(frame), 6); |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
196 | gtk_frame_set_label_align(GTK_FRAME(frame), 0.05, 0.5); |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
197 | gtk_widget_show(frame); |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
198 | |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
199 | scrolledwindow = gtk_scrolled_window_new(NULL, NULL); |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
200 | gtk_container_add(GTK_CONTAINER(frame), scrolledwindow); |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
201 | gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolledwindow), |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
202 | GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
203 | gtk_widget_show(scrolledwindow); |
|
90
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
204 | |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
205 | pluglist = gtk_list_new(); |
|
1911
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
206 | gtk_list_set_selection_mode(GTK_LIST(pluglist), GTK_SELECTION_BROWSE); |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
207 | gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(scrolledwindow), pluglist); |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
208 | gtk_widget_show(pluglist); |
|
90
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
209 | |
|
1911
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
210 | /* Right side: frame with description and the filepath of plugin */ |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
211 | frame = gtk_frame_new(_("Description")); |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
212 | gtk_box_pack_start(GTK_BOX(tophbox), frame, TRUE, TRUE, 0); |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
213 | gtk_container_set_border_width(GTK_CONTAINER(frame), 6); |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
214 | gtk_frame_set_label_align(GTK_FRAME(frame), 0.05, 0.5); |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
215 | gtk_widget_show(frame); |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
216 | |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
217 | vbox = gtk_vbox_new(FALSE, 0); |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
218 | gtk_container_add(GTK_CONTAINER(frame), vbox); |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
219 | gtk_widget_show(vbox); |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
220 | |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
221 | scrolledwindow = gtk_scrolled_window_new(NULL, NULL); |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
222 | gtk_box_pack_start(GTK_BOX(vbox), scrolledwindow, TRUE, TRUE, 0); |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
223 | gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolledwindow), |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
224 | GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
225 | gtk_widget_show(scrolledwindow); |
|
90
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
226 | |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
227 | plugtext = gtk_text_new(NULL, NULL); |
|
1911
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
228 | gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(scrolledwindow), plugtext); |
|
90
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
229 | gtk_text_set_word_wrap(GTK_TEXT(plugtext), TRUE); |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
230 | gtk_text_set_editable(GTK_TEXT(plugtext), FALSE); |
|
1911
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
231 | gtk_widget_show(plugtext); |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
232 | |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
233 | hbox = gtk_hbox_new(FALSE, 5); |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
234 | gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
235 | gtk_container_set_border_width(GTK_CONTAINER(hbox), 6); |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
236 | gtk_widget_show(hbox); |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
237 | |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
238 | label = gtk_label_new(_("Filepath:")); |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
239 | gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
240 | gtk_widget_show(label); |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
241 | |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
242 | plugentry = gtk_entry_new(); |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
243 | gtk_box_pack_start(GTK_BOX(hbox), plugentry, TRUE, TRUE, 0); |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
244 | gtk_entry_set_editable(GTK_ENTRY(plugentry), FALSE); |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
245 | gtk_widget_show(plugentry); |
|
90
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
246 | |
| 943 | 247 | /* Build the bottom button bar */ |
|
1911
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
248 | bothbox = gtk_hbox_new(TRUE, 10); |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
249 | gtk_box_pack_start(GTK_BOX(mainvbox), bothbox, FALSE, FALSE, 0); |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
250 | gtk_container_set_border_width(GTK_CONTAINER(hbox), 5); |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
251 | gtk_widget_show(bothbox); |
|
110
ca79cce0ea62
[gaim-migrate @ 120]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
96
diff
changeset
|
252 | |
|
1911
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
253 | if (!tooltips) |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
254 | tooltips = gtk_tooltips_new(); |
|
90
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
255 | |
|
1911
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
256 | add = picture_button(plugwindow, _("Load"), gnome_add_xpm); |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
257 | gtk_signal_connect(GTK_OBJECT(add), "clicked", GTK_SIGNAL_FUNC(load_file), NULL); |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
258 | gtk_box_pack_start(GTK_BOX(bothbox), add, TRUE, TRUE, 0); |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
259 | gtk_tooltips_set_tip(tooltips, add, _("Load a plugin from a file"), ""); |
|
90
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
260 | |
|
1911
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
261 | config = picture_button(plugwindow, _("Configure"), gnome_preferences_xpm); |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
262 | gtk_widget_set_sensitive(config, FALSE); |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
263 | gtk_box_pack_start(GTK_BOX(bothbox), config, TRUE, TRUE, 0); |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
264 | gtk_tooltips_set_tip(tooltips, config, _("Configure settings of the selected plugin"), ""); |
|
90
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
265 | |
|
1911
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
266 | reload = picture_button(plugwindow, _("Reload"), refresh_xpm); |
| 2056 | 267 | gtk_widget_set_sensitive(reload, FALSE); |
|
1911
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
268 | gtk_signal_connect(GTK_OBJECT(reload), "clicked", GTK_SIGNAL_FUNC(plugin_reload_cb), NULL); |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
269 | gtk_box_pack_start(GTK_BOX(bothbox), reload, TRUE, TRUE, 0); |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
270 | gtk_tooltips_set_tip(tooltips, reload, _("Reload the selected plugin"), ""); |
|
1252
94fbface2d84
[gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1250
diff
changeset
|
271 | |
| 2056 | 272 | unload = picture_button(plugwindow, _("Unload"), gnome_remove_xpm); |
|
2393
cfef0212506b
[gaim-migrate @ 2406]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
273 | gtk_signal_connect(GTK_OBJECT(unload), "clicked", GTK_SIGNAL_FUNC(unload_plugin_cb), pluglist); |
| 2056 | 274 | gtk_box_pack_start(GTK_BOX(bothbox), unload, TRUE, TRUE, 0); |
| 275 | gtk_tooltips_set_tip(tooltips, unload, _("Unload the selected plugin"), ""); | |
|
90
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
276 | |
|
1911
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
277 | close = picture_button(plugwindow, _("Close"), cancel_xpm); |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
278 | gtk_signal_connect(GTK_OBJECT(close), "clicked", GTK_SIGNAL_FUNC(hide_plugins), NULL); |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
279 | gtk_box_pack_start(GTK_BOX(bothbox), close, TRUE, TRUE, 0); |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
280 | gtk_tooltips_set_tip(tooltips, close, _("Close this window"), ""); |
|
90
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
281 | |
|
1911
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
282 | update_show_plugins(); |
|
92
b2cc29da946e
[gaim-migrate @ 102]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
90
diff
changeset
|
283 | gtk_widget_show(plugwindow); |
|
b2cc29da946e
[gaim-migrate @ 102]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
90
diff
changeset
|
284 | } |
|
b2cc29da946e
[gaim-migrate @ 102]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
90
diff
changeset
|
285 | |
|
2494
895b59bd222b
[gaim-migrate @ 2507]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2405
diff
changeset
|
286 | void update_show_plugins() |
|
1252
94fbface2d84
[gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1250
diff
changeset
|
287 | { |
|
92
b2cc29da946e
[gaim-migrate @ 102]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
90
diff
changeset
|
288 | GList *plugs = plugins; |
|
b2cc29da946e
[gaim-migrate @ 102]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
90
diff
changeset
|
289 | struct gaim_plugin *p; |
|
b2cc29da946e
[gaim-migrate @ 102]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
90
diff
changeset
|
290 | GtkWidget *label; |
|
b2cc29da946e
[gaim-migrate @ 102]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
90
diff
changeset
|
291 | GtkWidget *list_item; |
|
1911
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
292 | GtkWidget *hbox; |
|
92
b2cc29da946e
[gaim-migrate @ 102]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
90
diff
changeset
|
293 | |
|
1252
94fbface2d84
[gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1250
diff
changeset
|
294 | if (plugwindow == NULL) |
|
94fbface2d84
[gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1250
diff
changeset
|
295 | return; |
|
92
b2cc29da946e
[gaim-migrate @ 102]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
90
diff
changeset
|
296 | |
|
b2cc29da946e
[gaim-migrate @ 102]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
90
diff
changeset
|
297 | gtk_list_clear_items(GTK_LIST(pluglist), 0, -1); |
|
b2cc29da946e
[gaim-migrate @ 102]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
90
diff
changeset
|
298 | while (plugs) { |
|
b2cc29da946e
[gaim-migrate @ 102]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
90
diff
changeset
|
299 | p = (struct gaim_plugin *)plugs->data; |
|
1911
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
300 | label = gtk_label_new(plugin_makelistname(p->handle)); |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
301 | hbox = gtk_hbox_new(FALSE, 0); /* for left justification */ |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
302 | gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
303 | |
|
92
b2cc29da946e
[gaim-migrate @ 102]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
90
diff
changeset
|
304 | list_item = gtk_list_item_new(); |
|
1911
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
305 | gtk_container_add(GTK_CONTAINER(list_item), hbox); |
|
1252
94fbface2d84
[gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1250
diff
changeset
|
306 | gtk_signal_connect(GTK_OBJECT(list_item), "select", GTK_SIGNAL_FUNC(list_clicked), p); |
|
92
b2cc29da946e
[gaim-migrate @ 102]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
90
diff
changeset
|
307 | gtk_object_set_user_data(GTK_OBJECT(list_item), p); |
|
b2cc29da946e
[gaim-migrate @ 102]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
90
diff
changeset
|
308 | |
|
1911
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
309 | gtk_widget_show(hbox); |
|
92
b2cc29da946e
[gaim-migrate @ 102]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
90
diff
changeset
|
310 | gtk_widget_show(label); |
|
b2cc29da946e
[gaim-migrate @ 102]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
90
diff
changeset
|
311 | gtk_container_add(GTK_CONTAINER(pluglist), list_item); |
|
b2cc29da946e
[gaim-migrate @ 102]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
90
diff
changeset
|
312 | gtk_widget_show(list_item); |
|
1911
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
313 | |
| 943 | 314 | plugs = g_list_next(plugs); |
|
92
b2cc29da946e
[gaim-migrate @ 102]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
90
diff
changeset
|
315 | } |
| 2056 | 316 | |
| 317 | /* Clear the display if nothing's selected */ | |
| 318 | if (GTK_LIST(pluglist)->selection == NULL) { | |
| 319 | guint text_len = gtk_text_get_length(GTK_TEXT(plugtext)); | |
| 320 | gtk_text_set_point(GTK_TEXT(plugtext), 0); | |
| 321 | gtk_text_forward_delete(GTK_TEXT(plugtext), text_len); | |
| 322 | gtk_entry_set_text(GTK_ENTRY(plugentry), ""); | |
| 323 | ||
| 324 | gtk_widget_set_sensitive(config, FALSE); | |
| 325 | gtk_widget_set_sensitive(reload, FALSE); | |
| 326 | gtk_widget_set_sensitive(unload, FALSE); | |
| 327 | } | |
| 1 | 328 | } |
| 329 | ||
|
2393
cfef0212506b
[gaim-migrate @ 2406]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
330 | static void unload_plugin_cb(GtkWidget *w, gpointer data) |
|
1252
94fbface2d84
[gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1250
diff
changeset
|
331 | { |
|
90
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
332 | GList *i; |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
333 | struct gaim_plugin *p; |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
334 | |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
335 | i = GTK_LIST(pluglist)->selection; |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
336 | |
|
1252
94fbface2d84
[gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1250
diff
changeset
|
337 | if (i == NULL) |
|
94fbface2d84
[gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1250
diff
changeset
|
338 | return; |
|
90
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
339 | |
|
92
b2cc29da946e
[gaim-migrate @ 102]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
90
diff
changeset
|
340 | p = gtk_object_get_user_data(GTK_OBJECT(i->data)); |
| 1 | 341 | |
|
2393
cfef0212506b
[gaim-migrate @ 2406]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
342 | unload_plugin(p); |
|
1911
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
343 | update_show_plugins(); |
|
425
bc3f0933ce54
[gaim-migrate @ 435]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
403
diff
changeset
|
344 | } |
|
bc3f0933ce54
[gaim-migrate @ 435]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
403
diff
changeset
|
345 | |
|
1911
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
346 | static void plugin_reload_cb(GtkWidget *w, gpointer data) |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
347 | { |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
348 | GList *i; |
|
2393
cfef0212506b
[gaim-migrate @ 2406]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
349 | struct gaim_plugin *p; |
|
1911
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
350 | |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
351 | i = GTK_LIST(pluglist)->selection; |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
352 | if (i == NULL) |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
353 | return; |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
354 | |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
355 | /* Just pass off plugin to the actual function */ |
|
2393
cfef0212506b
[gaim-migrate @ 2406]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
356 | p = reload_plugin(gtk_object_get_user_data(GTK_OBJECT(i->data))); |
|
1911
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
357 | |
|
2393
cfef0212506b
[gaim-migrate @ 2406]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
358 | update_show_plugins(); |
|
1911
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
359 | |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
360 | /* Try and reselect the plugin in list */ |
|
2280
b52bf81539dd
[gaim-migrate @ 2290]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2274
diff
changeset
|
361 | if (!pluglist) |
|
b52bf81539dd
[gaim-migrate @ 2290]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2274
diff
changeset
|
362 | return; |
|
2393
cfef0212506b
[gaim-migrate @ 2406]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2372
diff
changeset
|
363 | gtk_list_select_item(GTK_LIST(pluglist), g_list_index(plugins, p)); |
|
1911
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
364 | } |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
365 | |
| 2056 | 366 | static void list_clicked(GtkWidget *w, struct gaim_plugin *p) |
|
1252
94fbface2d84
[gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1250
diff
changeset
|
367 | { |
| 943 | 368 | gchar *temp; |
|
90
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
369 | guint text_len; |
|
110
ca79cce0ea62
[gaim-migrate @ 120]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
96
diff
changeset
|
370 | void (*gaim_plugin_config)(); |
|
90
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
371 | |
|
522
d37b5ddaab58
[gaim-migrate @ 532]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
425
diff
changeset
|
372 | if (confighandle != 0) |
|
403
6086902fc4f1
[gaim-migrate @ 413]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
397
diff
changeset
|
373 | gtk_signal_disconnect(GTK_OBJECT(config), confighandle); |
|
1911
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
374 | |
|
90
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
375 | text_len = gtk_text_get_length(GTK_TEXT(plugtext)); |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
376 | gtk_text_set_point(GTK_TEXT(plugtext), 0); |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
377 | gtk_text_forward_delete(GTK_TEXT(plugtext), text_len); |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
378 | |
|
1911
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
379 | temp = g_strdup_printf("Name: %s\n\nDescription:\n%s", |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
380 | (p->name != NULL) ? p->name : "", |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
381 | (p->description != NULL) ? p->description : ""); |
| 943 | 382 | gtk_text_insert(GTK_TEXT(plugtext), NULL, NULL, NULL, temp, -1); |
| 383 | g_free(temp); | |
|
1911
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
384 | gtk_entry_set_text(GTK_ENTRY(plugentry), g_module_name(p->handle)); |
|
110
ca79cce0ea62
[gaim-migrate @ 120]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
96
diff
changeset
|
385 | |
| 943 | 386 | /* Find out if this plug-in has a configuration function */ |
|
1047
783f8520d9a0
[gaim-migrate @ 1057]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1039
diff
changeset
|
387 | if (g_module_symbol(p->handle, "gaim_plugin_config", (gpointer *)&gaim_plugin_config)) { |
|
403
6086902fc4f1
[gaim-migrate @ 413]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
397
diff
changeset
|
388 | confighandle = gtk_signal_connect(GTK_OBJECT(config), "clicked", |
|
1252
94fbface2d84
[gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1250
diff
changeset
|
389 | GTK_SIGNAL_FUNC(gaim_plugin_config), NULL); |
|
1911
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
390 | gtk_widget_set_sensitive(config, TRUE); |
|
110
ca79cce0ea62
[gaim-migrate @ 120]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
96
diff
changeset
|
391 | } else { |
|
403
6086902fc4f1
[gaim-migrate @ 413]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
397
diff
changeset
|
392 | confighandle = 0; |
|
1911
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
393 | gtk_widget_set_sensitive(config, FALSE); |
|
110
ca79cce0ea62
[gaim-migrate @ 120]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
96
diff
changeset
|
394 | } |
| 2056 | 395 | |
| 396 | gtk_widget_set_sensitive(reload, TRUE); | |
| 397 | gtk_widget_set_sensitive(unload, TRUE); | |
|
90
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
398 | } |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
399 | |
| 2056 | 400 | static void hide_plugins(GtkWidget *w, gpointer data) |
|
1252
94fbface2d84
[gaim-migrate @ 1262]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1250
diff
changeset
|
401 | { |
|
92
b2cc29da946e
[gaim-migrate @ 102]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
90
diff
changeset
|
402 | if (plugwindow) |
|
b2cc29da946e
[gaim-migrate @ 102]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
90
diff
changeset
|
403 | gtk_widget_destroy(plugwindow); |
|
b2cc29da946e
[gaim-migrate @ 102]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
90
diff
changeset
|
404 | plugwindow = NULL; |
|
425
bc3f0933ce54
[gaim-migrate @ 435]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
403
diff
changeset
|
405 | config = NULL; |
|
522
d37b5ddaab58
[gaim-migrate @ 532]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
425
diff
changeset
|
406 | confighandle = 0; |
|
92
b2cc29da946e
[gaim-migrate @ 102]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
90
diff
changeset
|
407 | } |
|
b2cc29da946e
[gaim-migrate @ 102]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
90
diff
changeset
|
408 | |
|
1911
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
409 | static const gchar *plugin_makelistname(GModule *module) |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
410 | { |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
411 | static gchar filename[PATHSIZE]; |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
412 | gchar *filepath = g_module_name(module); |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
413 | char *cp; |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
414 | |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
415 | if (filepath == NULL || strlen(filepath) == 0) |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
416 | return NULL; |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
417 | |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
418 | if ((cp = strrchr(filepath, '/')) == NULL || *++cp == '\0') |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
419 | cp = filepath; |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
420 | |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
421 | strncpy(filename, cp, sizeof(filename)); |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
422 | filename[sizeof(filename) - 1] = '\0'; |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
423 | |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
424 | /* Try to pretty name by removing any trailing ".so" */ |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
425 | if (strlen(filename) > 3 && |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
426 | strncmp(filename + strlen(filename) - 3, ".so", 3) == 0) |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
427 | filename[strlen(filename) - 3] = '\0'; |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
428 | |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
429 | return filename; |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
430 | } |
|
f108642d2da6
[gaim-migrate @ 1921]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1874
diff
changeset
|
431 | |
|
783
ebe13222930c
[gaim-migrate @ 793]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
780
diff
changeset
|
432 | #endif |