Sun, 22 Jul 2007 01:28:19 +0000
propagate from branch 'tmpbranch' (head 99adc2a159d591428565c43f8121b7f0d5cdf6f6)
to branch 'im.pidgin.soc.2007.finchfeat' (head 4c0284a98465984103fcdcdf66fce684482034ce)
|
17681
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
1 | /* |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
2 | * GtkBuddyNote - Store notes on particular buddies |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
3 | * Copyright (C) 2007 Etan Reisner <deryni@pidgin.im> |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
4 | * |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
5 | * This program is free software; you can redistribute it and/or |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
6 | * modify it under the terms of the GNU General Public License |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
7 | * as published by the Free Software Foundation; either version 2 |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
8 | * of the License, or (at your option) any later version. |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
9 | * |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
10 | * This program is distributed in the hope that it will be useful, |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
13 | * GNU General Public License for more details. |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
14 | * |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
15 | * You should have received a copy of the GNU General Public License |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
16 | * along with this program; if not, write to the Free Software |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
17 | * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
18 | */ |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
19 | #include "internal.h" |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
20 | |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
21 | #include <gtkblist.h> |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
22 | #include <gtkplugin.h> |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
23 | |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
24 | #include <debug.h> |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
25 | #include <version.h> |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
26 | |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
27 | static void |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
28 | append_to_tooltip(PurpleBlistNode *node, GString *text, gboolean full) |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
29 | { |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
30 | if (full) { |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
31 | const gchar *note = purple_blist_node_get_string(node, "notes"); |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
32 | |
|
18324
7ebbdeaaa30d
Make gtkbuddynote load itself if it finds buddynote was loaded and it is
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
17681
diff
changeset
|
33 | if ((note != NULL) && (*note != '\0')) { |
|
7ebbdeaaa30d
Make gtkbuddynote load itself if it finds buddynote was loaded and it is
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
17681
diff
changeset
|
34 | g_string_append_printf(text, _("\n<b>Buddy Note</b>: %s"), |
|
17681
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
35 | note); |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
36 | } |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
37 | } |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
38 | } |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
39 | |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
40 | static gboolean |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
41 | plugin_load(PurplePlugin *plugin) |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
42 | { |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
43 | purple_signal_connect(pidgin_blist_get_handle(), "drawing-tooltip", |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
44 | plugin, PURPLE_CALLBACK(append_to_tooltip), NULL); |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
45 | return TRUE; |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
46 | } |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
47 | |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
48 | static gboolean |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
49 | plugin_unload(PurplePlugin *plugin) |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
50 | { |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
51 | PurplePlugin *buddynote = NULL; |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
52 | |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
53 | buddynote = purple_plugins_find_with_id("core-plugin_pack-buddynote"); |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
54 | |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
55 | purple_plugin_unload(buddynote); |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
56 | |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
57 | return TRUE; |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
58 | } |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
59 | |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
60 | static PurplePluginInfo info = |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
61 | { |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
62 | PURPLE_PLUGIN_MAGIC, |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
63 | PURPLE_MAJOR_VERSION, /**< major version */ |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
64 | PURPLE_MINOR_VERSION, /**< minor version */ |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
65 | PURPLE_PLUGIN_STANDARD, /**< type */ |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
66 | PIDGIN_PLUGIN_TYPE, /**< ui_requirement */ |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
67 | 0, /**< flags */ |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
68 | NULL, /**< dependencies */ |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
69 | PURPLE_PRIORITY_DEFAULT, /**< priority */ |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
70 | "gtkbuddynote", /**< id */ |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
71 | N_("Buddy Notes"), /**< name */ |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
72 | VERSION, /**< version */ |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
73 | N_("Store notes on particular buddies."), /**< summary */ |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
74 | N_("Adds the option to store notes for buddies " |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
75 | "on your buddy list."), /**< description */ |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
76 | "Etan Reisner <deryni@pidgin.im>", /**< author */ |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
77 | PURPLE_WEBSITE, /**< homepage */ |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
78 | plugin_load, /**< load */ |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
79 | plugin_unload, /**< unload */ |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
80 | NULL, /**< destroy */ |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
81 | NULL, /**< ui_info */ |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
82 | NULL, /**< extra_info */ |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
83 | NULL, /**< prefs_info */ |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
84 | NULL, /**< actions */ |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
85 | |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
86 | /* padding */ |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
87 | NULL, |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
88 | NULL, |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
89 | NULL, |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
90 | NULL |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
91 | }; |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
92 | |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
93 | static gboolean |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
94 | check_for_buddynote(gpointer data) |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
95 | { |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
96 | PurplePlugin *buddynote = NULL; |
|
18324
7ebbdeaaa30d
Make gtkbuddynote load itself if it finds buddynote was loaded and it is
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
17681
diff
changeset
|
97 | PurplePlugin *plugin = (PurplePlugin *)data; |
|
17681
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
98 | |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
99 | buddynote = purple_plugins_find_with_id("core-plugin_pack-buddynote"); |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
100 | |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
101 | if (buddynote == NULL) { |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
102 | buddynote = purple_plugins_find_with_basename("buddynote"); |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
103 | } |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
104 | |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
105 | if (buddynote != NULL) { |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
106 | PurplePluginInfo *bninfo = buddynote->info; |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
107 | |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
108 | bninfo->flags = PURPLE_PLUGIN_FLAG_INVISIBLE; |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
109 | |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
110 | info.dependencies = g_list_append(info.dependencies, |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
111 | "core-plugin_pack-buddynote"); |
|
18324
7ebbdeaaa30d
Make gtkbuddynote load itself if it finds buddynote was loaded and it is
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
17681
diff
changeset
|
112 | |
|
7ebbdeaaa30d
Make gtkbuddynote load itself if it finds buddynote was loaded and it is
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
17681
diff
changeset
|
113 | /* If non-gtk buddy note plugin is loaded, but we are not, then load |
|
7ebbdeaaa30d
Make gtkbuddynote load itself if it finds buddynote was loaded and it is
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
17681
diff
changeset
|
114 | * ourselves, otherwise people upgrading from pre-gtkbuddynote days |
|
7ebbdeaaa30d
Make gtkbuddynote load itself if it finds buddynote was loaded and it is
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
17681
diff
changeset
|
115 | * will not have 'Buddy Notes' showing as loaded in the plugins list. |
|
7ebbdeaaa30d
Make gtkbuddynote load itself if it finds buddynote was loaded and it is
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
17681
diff
changeset
|
116 | * We also trigger a save on the list of plugins because it's not been |
|
7ebbdeaaa30d
Make gtkbuddynote load itself if it finds buddynote was loaded and it is
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
17681
diff
changeset
|
117 | * loaded through the UI. */ |
|
7ebbdeaaa30d
Make gtkbuddynote load itself if it finds buddynote was loaded and it is
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
17681
diff
changeset
|
118 | if (purple_plugin_is_loaded(buddynote) && |
|
7ebbdeaaa30d
Make gtkbuddynote load itself if it finds buddynote was loaded and it is
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
17681
diff
changeset
|
119 | !purple_plugin_is_loaded(plugin)) { |
|
7ebbdeaaa30d
Make gtkbuddynote load itself if it finds buddynote was loaded and it is
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
17681
diff
changeset
|
120 | purple_plugin_load(plugin); |
|
7ebbdeaaa30d
Make gtkbuddynote load itself if it finds buddynote was loaded and it is
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
17681
diff
changeset
|
121 | pidgin_plugins_save(); |
|
7ebbdeaaa30d
Make gtkbuddynote load itself if it finds buddynote was loaded and it is
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
17681
diff
changeset
|
122 | } |
|
7ebbdeaaa30d
Make gtkbuddynote load itself if it finds buddynote was loaded and it is
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
17681
diff
changeset
|
123 | |
|
17681
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
124 | } else { |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
125 | info.flags = PURPLE_PLUGIN_FLAG_INVISIBLE; |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
126 | } |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
127 | |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
128 | return FALSE; |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
129 | } |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
130 | |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
131 | static void |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
132 | init_plugin(PurplePlugin *plugin) |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
133 | { |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
134 | /* Use g_idle_add so that the rest of the plugins can get loaded |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
135 | * before we do our check. */ |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
136 | g_idle_add(check_for_buddynote, plugin); |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
137 | } |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
138 | |
|
b16ce226d996
Fix #318 which asked for the buddynote plugins notes to be shown in the
Etan Reisner <deryni@pidgin.im>
parents:
diff
changeset
|
139 | PURPLE_INIT_PLUGIN(gtkbuddynote, init_plugin, info) |