14192
+ ��膩��� 1 /*
+ ��膩��� 2 * PluginPref Example Plugin
+ ��膩��� 3 *
+ ��膩��� 4 * Copyright (C) 2004, Gary Kramlich <amc_grim@users.sf.net>
+ ��膩��� 5 *
+ ��膩��� 6 * This program is free software; you can redistribute it and/or
+ ��膩��� 7 * modify it under the terms of the GNU General Public License as
+ ��膩��� 8 * published by the Free Software Foundation; either version 2 of the
+ ��膩��� 9 * License, or (at your option) any later version.
+ ��膩��� 10 *
+ ��膩��� 11 * This program is distributed in the hope that it will be useful, but
+ ��膩��� 12 * WITHOUT ANY WARRANTY; without even the implied warranty of
+ ��膩��� 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ ��膩��� 14 * 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
+ ��膩��� 19 * 02111-1307, USA.
+ ��膩��� 20 */
+ ��膩��� 21
+ ��膩��� 22 #ifdef HAVE_CONFIG_H
+ ��膩��� 23 # include <config.h>
+ ��膩��� 24 #endif
+ ��膩��� 25
+ ��膩��� 26 #ifndef GAIM_PLUGINS
+ ��膩��� 27 # define GAIM_PLUGINS
+ ��膩��� 28 #endif
+ ��膩��� 29
+ ��膩��� 30 #include "internal.h"
+ ��膩��� 31
+ ��膩��� 32 #include "plugin.h"
+ ��膩��� 33 #include "pluginpref.h"
+ ��膩��� 34 #include "prefs.h"
+ ��膩��� 35 #include "version.h"
+ ��膩��� 36
+ ��膩��� 37 static GaimPluginPrefFrame *
+ ��膩��� 38 get_plugin_pref_frame(GaimPlugin *plugin) {
+ ��膩��� 39 GaimPluginPrefFrame *frame;
+ ��膩��� 40 GaimPluginPref *ppref;
+ ��膩��� 41
+ ��膩��� 42 frame = gaim_plugin_pref_frame_new();
+ ��膩��� 43
+ ��膩��� 44 ppref = gaim_plugin_pref_new_with_label("boolean");
+ ��膩��� 45 gaim_plugin_pref_frame_add(frame, ppref);
+ ��膩��� 46
+ ��膩��� 47 ppref = gaim_plugin_pref_new_with_name_and_label(
+ ��膩��� 48 "/plugins/core/pluginpref_example/bool",
+ ��膩��� 49 "boolean pref");
+ ��膩��� 50 gaim_plugin_pref_frame_add(frame, ppref);
+ ��膩��� 51
+ ��膩��� 52 ppref = gaim_plugin_pref_new_with_label("integer");
+ ��膩��� 53 gaim_plugin_pref_frame_add(frame, ppref);
+ ��膩��� 54
+ ��膩��� 55 ppref = gaim_plugin_pref_new_with_name_and_label(
+ ��膩��� 56 "/plugins/core/pluginpref_example/int",
+ ��膩��� 57 "integer pref");
+ ��膩��� 58 gaim_plugin_pref_set_bounds(ppref, 0, 255);
+ ��膩��� 59 gaim_plugin_pref_frame_add(frame, ppref);
+ ��膩��� 60
+ ��膩��� 61 ppref = gaim_plugin_pref_new_with_name_and_label(
+ ��膩��� 62 "/plugins/core/pluginpref_example/int_choice",
+ ��膩��� 63 "integer choice");
+ ��膩��� 64 gaim_plugin_pref_set_type(ppref, GAIM_PLUGIN_PREF_CHOICE);
+ ��膩��� 65 gaim_plugin_pref_add_choice(ppref, "One", GINT_TO_POINTER(1));
+ ��膩��� 66 gaim_plugin_pref_add_choice(ppref, "Two", GINT_TO_POINTER(2));
+ ��膩��� 67 gaim_plugin_pref_add_choice(ppref, "Four", GINT_TO_POINTER(4));
+ ��膩��� 68 gaim_plugin_pref_add_choice(ppref, "Eight", GINT_TO_POINTER(8));
+ ��膩��� 69 gaim_plugin_pref_add_choice(ppref, "Sixteen", GINT_TO_POINTER(16));
+ ��膩��� 70 gaim_plugin_pref_add_choice(ppref, "Thirty Two", GINT_TO_POINTER(32));
+ ��膩��� 71 gaim_plugin_pref_add_choice(ppref, "Sixty Four", GINT_TO_POINTER(64));
+ ��膩��� 72 gaim_plugin_pref_add_choice(ppref, "One Hundred Twenty Eight", GINT_TO_POINTER(128));
+ ��膩��� 73 gaim_plugin_pref_frame_add(frame, ppref);
+ ��膩��� 74
+ ��膩��� 75 ppref = gaim_plugin_pref_new_with_label("string");
+ ��膩��� 76 gaim_plugin_pref_frame_add(frame, ppref);
+ ��膩��� 77
+ ��膩��� 78 ppref = gaim_plugin_pref_new_with_name_and_label(
+ ��膩��� 79 "/plugins/core/pluginpref_example/string",
+ ��膩��� 80 "string pref");
+ ��膩��� 81 gaim_plugin_pref_frame_add(frame, ppref);
+ ��膩��� 82
+ ��膩��� 83 ppref = gaim_plugin_pref_new_with_name_and_label(
+ ��膩��� 84 "/plugins/core/pluginpref_example/masked_string",
+ ��膩��� 85 "masked string");
+ ��膩��� 86 gaim_plugin_pref_set_masked(ppref, TRUE);
+ ��膩��� 87 gaim_plugin_pref_frame_add(frame, ppref);
+ ��膩��� 88
+ ��膩��� 89 ppref = gaim_plugin_pref_new_with_name_and_label(
+ ��膩��� 90 "/plugins/core/pluginpref_example/max_string",
+ ��膩��� 91 "string pref\n(max length of 16)");
+ ��膩��� 92 gaim_plugin_pref_set_max_length(ppref, 16);
+ ��膩��� 93 gaim_plugin_pref_frame_add(frame, ppref);
+ ��膩��� 94
+ ��膩��� 95 ppref = gaim_plugin_pref_new_with_name_and_label(
+ ��膩��� 96 "/plugins/core/pluginpref_example/string_choice",
+ ��膩��� 97 "string choice");
+ ��膩��� 98 gaim_plugin_pref_set_type(ppref, GAIM_PLUGIN_PREF_CHOICE);
+ ��膩��� 99 gaim_plugin_pref_add_choice(ppref, "red", "red");
+ ��膩��� 100 gaim_plugin_pref_add_choice(ppref, "orange", "orange");
+ ��膩��� 101 gaim_plugin_pref_add_choice(ppref, "yellow", "yellow");
+ ��膩��� 102 gaim_plugin_pref_add_choice(ppref, "green", "green");
+ ��膩��� 103 gaim_plugin_pref_add_choice(ppref, "blue", "blue");
+ ��膩��� 104 gaim_plugin_pref_add_choice(ppref, "purple", "purple");
+ ��膩��� 105 gaim_plugin_pref_frame_add(frame, ppref);
+ ��膩��� 106
+ ��膩��� 107 return frame;
+ ��膩��� 108 }
+ ��膩��� 109
+ ��膩��� 110 static GaimPluginUiInfo prefs_info = {
+ ��膩��� 111 get_plugin_pref_frame,
+ ��膩��� 112 0, /* page_num (Reserved) */
+ ��膩��� 113 NULL /* frame (Reserved) */
+ ��膩��� 114 };
+ ��膩��� 115
+ ��膩��� 116 static GaimPluginInfo info =
+ ��膩��� 117 {
+ ��膩��� 118 GAIM_PLUGIN_MAGIC,
+ ��膩��� 119 GAIM_MAJOR_VERSION,
+ ��膩��� 120 GAIM_MINOR_VERSION,
+ ��膩��� 121 GAIM_PLUGIN_STANDARD, /**< type */
+ ��膩��� 122 NULL, /**< ui_requirement */
+ ��膩��� 123 0, /**< flags */
+ ��膩��� 124 NULL, /**< dependencies */
+ ��膩��� 125 GAIM_PRIORITY_DEFAULT, /**< priority */
+ ��膩��� 126
+ ��膩��� 127 "core-pluginpref_example", /**< id */
+ ��膩��� 128 "Pluginpref Example", /**< name */
+ ��膩��� 129 VERSION, /**< version */
+ ��膩��� 130 /** summary */
+ ��膩��� 131 "An example of how to use pluginprefs",
+ ��膩��� 132 /** description */
+ ��膩��� 133 "An example of how to use pluginprefs",
+ ��膩��� 134 "Gary Kramlich <amc_grim@users.sf.net>", /**< author */
+ ��膩��� 135 GAIM_WEBSITE, /**< homepage */
+ ��膩��� 136
+ ��膩��� 137 NULL, /**< load */
+ ��膩��� 138 NULL, /**< unload */
+ ��膩��� 139 NULL, /**< destroy */
+ ��膩��� 140
+ ��膩��� 141 NULL, /**< ui_info */
+ ��膩��� 142 NULL, /**< extra_info */
+ ��膩��� 143 &prefs_info, /**< prefs_info */
+ ��膩��� 144 NULL
+ ��膩��� 145 };
+ ��膩��� 146
+ ��膩��� 147 static void
+ ��膩��� 148 init_plugin(GaimPlugin *plugin)
+ ��膩��� 149 {
+ ��膩��� 150 gaim_prefs_add_none("/plugins/core/pluginpref_example");
+ ��膩��� 151 gaim_prefs_add_bool("/plugins/core/pluginpref_example/bool", TRUE);
+ ��膩��� 152 gaim_prefs_add_int("/plugins/core/pluginpref_example/int", 0);
+ ��膩��� 153 gaim_prefs_add_int("/plugins/core/pluginpref_example/int_choice", 1);
+ ��膩��� 154 gaim_prefs_add_string("/plugins/core/pluginpref_example/string",
+ ��膩��� 155 "string");
+ ��膩��� 156 gaim_prefs_add_string("/plugins/core/pluginpref_example/max_string",
+ ��膩��� 157 "max length string");
+ ��膩��� 158 gaim_prefs_add_string("/plugins/core/pluginpref_example/masked_string", "masked");
+ ��膩��� 159 gaim_prefs_add_string("/plugins/core/pluginpref_example/string_choice", "red");
+ ��膩��� 160 }
+ ��膩��� 161
+ ��膩��� 162 GAIM_INIT_PLUGIN(ppexample, init_plugin, info)