org.guifications.plugins: be2023dd8045f0d7222c330f90a2fe38168830ed
grim at guifications.org
grim at guifications.org
Wed Mar 26 22:55:06 CDT 2008
-----------------------------------------------------------------
Revision: be2023dd8045f0d7222c330f90a2fe38168830ed
Ancestor: bacfe0c33463ed0e67c2e0e9496d15fccc643402
Author: grim at guifications.org
Date: 2008-03-27T03:52:19
Branch: org.guifications.plugins
Deleted entries:
colorize/.incomplete
Added files:
colorize/.build colorize/Makefile.mingw
Modified files:
ChangeLog colorize/Makefile.am colorize/colorize.c
ChangeLog:
A bunch of hacking on the colorize plugin.
It works, so it builds by default, although it needs a bit more tlc
-----------------------------------------------------------------
This revision's diffstat output:
ChangeLog | 1
colorize/Makefile.am | 2
colorize/Makefile.mingw | 12 ++
colorize/colorize.c | 245 ++++++++++++++++++++++++++----------------------
4 files changed, 149 insertions(+), 111 deletions(-)
-------------- next part --------------
============================================================
--- colorize/.build da39a3ee5e6b4b0d3255bfef95601890afd80709
+++ colorize/.build da39a3ee5e6b4b0d3255bfef95601890afd80709
============================================================
--- colorize/Makefile.mingw 31978a15032876bd1451e5816d86b9059ecf2d1f
+++ colorize/Makefile.mingw 31978a15032876bd1451e5816d86b9059ecf2d1f
@@ -0,0 +1,12 @@
+#
+# Makefile.mingw
+#
+# Description: Makefile for dice plugin.
+#
+
+PP_TOP := ..
+
+PP = colorize
+
+include $(PP_TOP)/win_pp.mak
+
============================================================
--- ChangeLog 2d3d88835efbe27f6ac68977858027d14a1b9388
+++ ChangeLog 2706f436d9cce965219cec355919f792559e9f17
@@ -1,6 +1,7 @@ Version 2.4.0mtn:
Version 2.4.0mtn:
* Merged the Autoprofile plugin into our build system.
* Fixed convbadger's failure to update on conversation switch.
+ * Added Ike Gingerich's colorize plugin
Version 2.3.0: 03/17/08
* Fixed a typo in irc-more's source that allowed a potential double-free
============================================================
--- colorize/Makefile.am 91ed3c196c4509adb2b51511e030463282f6fa9b
+++ colorize/Makefile.am dcbb67a95cf0c89017a6c4c488b36a532f15a2e9
@@ -1,4 +1,4 @@
-EXTRA_DIST = .purple-plugin .incomplete Makefile.mingw
+EXTRA_DIST = .purple-plugin .build Makefile.mingw
colorizedir = $(PURPLE_LIBDIR)
============================================================
--- colorize/colorize.c 4bff15f409f9eae14838300acaab44ccb78de10f
+++ colorize/colorize.c aa000993597776695487df9c3f66ded37675829c
@@ -25,79 +25,99 @@
* 02111-1307, USA.
*/
-#include <gtk/gtk.h>
-#include <config.h>
+#include "../common/pp_internal.h"
-#ifndef GAIM_PLUGINS
-#define GAIM_PLUGINS
-#endif
-
-#include <internal.h>
#include <version.h>
+#include <plugin.h>
#include <util.h>
#include <debug.h>
-static const guchar default_initial_rgb[3] = { 0xFF, 0x00, 0x00 };
-static const guchar default_target_rgb[3] = { 0x00, 0x00, 0x00 };
+#define PLUGIN_ID "core-plugin_pack-colorize"
+#define PLUGIN_AUTHOR "Ike Gingerich <ike_ at users.sourceforge.net>"
+#define PREFS_PREFIX "/plugins/core/" PLUGIN_ID
+#define PREFS_I_RED PREFS_PREFIX "/initial_r"
+#define PREFS_I_GREEN PREFS_PREFIX "/initial_g"
+#define PREFS_I_BLUE PREFS_PREFIX "/initial_b"
+#define PREFS_T_RED PREFS_PREFIX "/target_r"
+#define PREFS_T_GREEN PREFS_PREFIX "/target_g"
+#define PREFS_T_BLUE PREFS_PREFIX "/target_b"
+
+static const guint8 default_initial_rgb[3] = { 0xFF, 0x00, 0x00 };
+static const guint8 default_target_rgb[3] = { 0x00, 0x00, 0x00 };
+
/* set up preferences dialog */
-static GaimPluginPrefFrame* init_pref_frame(GaimPlugin *plugin)
-{
- GaimPluginPrefFrame *frame;
- GaimPluginPref *ppref;
+static PurplePluginPrefFrame *
+init_pref_frame(PurplePlugin *plugin) {
+ PurplePluginPrefFrame *frame;
+ PurplePluginPref *ppref;
- frame = gaim_plugin_pref_frame_new();
+ frame = purple_plugin_pref_frame_new();
- ppref = gaim_plugin_pref_new_with_label("Initial Color");
- gaim_plugin_pref_frame_add(frame, ppref);
+ /* initial color */
+ ppref = purple_plugin_pref_new_with_label("Initial Color");
+ purple_plugin_pref_frame_add(frame, ppref);
- ppref = gaim_plugin_pref_new_with_name_and_label("/plugins/core/colorize/initial_r", "Red intensity (0-255): ");
- gaim_plugin_pref_set_bounds(ppref, 0, 255);
- gaim_plugin_pref_frame_add(frame, ppref);
+ /* initial red intensity */
+ ppref = purple_plugin_pref_new_with_name_and_label(PREFS_I_RED,
+ "Red intensity (0-255): ");
+ purple_plugin_pref_set_bounds(ppref, 0, 255);
+ purple_plugin_pref_frame_add(frame, ppref);
- ppref = gaim_plugin_pref_new_with_name_and_label("/plugins/core/colorize/initial_g", "Green intensity (0-255): ");
- gaim_plugin_pref_set_bounds(ppref, 0, 255);
- gaim_plugin_pref_frame_add(frame, ppref);
+ /* initial green intensity */
+ ppref = purple_plugin_pref_new_with_name_and_label(PREFS_I_GREEN,
+ "Green intensity (0-255): ");
+ purple_plugin_pref_set_bounds(ppref, 0, 255);
+ purple_plugin_pref_frame_add(frame, ppref);
- ppref = gaim_plugin_pref_new_with_name_and_label("/plugins/core/colorize/initial_b", "Blue intensity (0-255): ");
- gaim_plugin_pref_set_bounds(ppref, 0, 255);
- gaim_plugin_pref_frame_add(frame, ppref);
+ /* initial blue intensity */
+ ppref = purple_plugin_pref_new_with_name_and_label(PREFS_I_BLUE,
+ "Blue intensity (0-255): ");
+ purple_plugin_pref_set_bounds(ppref, 0, 255);
+ purple_plugin_pref_frame_add(frame, ppref);
- ppref = gaim_plugin_pref_new_with_label("Target Color");
- gaim_plugin_pref_frame_add(frame, ppref);
+ /* target color */
+ ppref = purple_plugin_pref_new_with_label("Target Color");
+ purple_plugin_pref_frame_add(frame, ppref);
- ppref = gaim_plugin_pref_new_with_name_and_label("/plugins/core/colorize/target_r", "Red intensity (0-255): ");
- gaim_plugin_pref_set_bounds(ppref, 0, 255);
- gaim_plugin_pref_frame_add(frame, ppref);
+ /* target red intensity */
+ ppref = purple_plugin_pref_new_with_name_and_label(PREFS_T_RED,
+ "Red intensity (0-255): ");
+ purple_plugin_pref_set_bounds(ppref, 0, 255);
+ purple_plugin_pref_frame_add(frame, ppref);
- ppref = gaim_plugin_pref_new_with_name_and_label("/plugins/core/colorize/target_g", "Green intensity (0-255): ");
- gaim_plugin_pref_set_bounds(ppref, 0, 255);
- gaim_plugin_pref_frame_add(frame, ppref);
+ /* target green intensity */
+ ppref = purple_plugin_pref_new_with_name_and_label(PREFS_T_GREEN,
+ "Green intensity (0-255): ");
+ purple_plugin_pref_set_bounds(ppref, 0, 255);
+ purple_plugin_pref_frame_add(frame, ppref);
- ppref = gaim_plugin_pref_new_with_name_and_label("/plugins/core/colorize/target_b", "Blue intensity (0-255): ");
- gaim_plugin_pref_set_bounds(ppref, 0, 255);
- gaim_plugin_pref_frame_add(frame, ppref);
+ /* target blue intensity */
+ ppref = purple_plugin_pref_new_with_name_and_label(PREFS_T_BLUE,
+ "Blue intensity (0-255): ");
+ purple_plugin_pref_set_bounds(ppref, 0, 255);
+ purple_plugin_pref_frame_add(frame, ppref);
- return frame;
+ return frame;
}
-inline static int round_gfloat_to_guchar(gfloat f)
-{
+inline static guint8
+round_gfloat_to_guint8(gfloat f) {
return ((guchar)(f + 0.5f));
}
-inline static int rgb_equals(guchar a[3], gfloat b[3])
-{
- return ( a[0] == round_gfloat_to_guchar(b[0]) &&
- a[1] == round_gfloat_to_guchar(b[1]) &&
- a[2] == round_gfloat_to_guchar(b[2]) );
+inline static gint32
+rgb_equals(guint8 a[3], gfloat b[3]) {
+ return ( a[0] == round_gfloat_to_guint8(b[0]) &&
+ a[1] == round_gfloat_to_guint8(b[1]) &&
+ a[2] == round_gfloat_to_guint8(b[2]) );
}
-static void colorize_message(char **message)
-{
+static void
+colorize_message(char **message) {
guint i, len;
gfloat d_grad[3], grad[3];
- guchar initial_rgb[3], target_rgb[3], last_rgb[3];
+ guint8 initial_rgb[3], target_rgb[3], last_rgb[3];
gchar *formatted_char, *tmp, *new_msg;
g_return_if_fail(message != NULL);
@@ -108,13 +128,13 @@ static void colorize_message(char **mess
len = strlen( *message );
/* get colors from preferences */
- initial_rgb[0] = (guint)gaim_prefs_get_int("/plugins/core/colorize/initial_r");
- initial_rgb[1] = (guint)gaim_prefs_get_int("/plugins/core/colorize/initial_g");
- initial_rgb[2] = (guint)gaim_prefs_get_int("/plugins/core/colorize/initial_b");
+ initial_rgb[0] = (guint8)purple_prefs_get_int(PREFS_I_RED);
+ initial_rgb[1] = (guint8)purple_prefs_get_int(PREFS_I_GREEN);
+ initial_rgb[2] = (guint8)purple_prefs_get_int(PREFS_I_BLUE);
- target_rgb[0] = (guint)gaim_prefs_get_int("/plugins/core/colorize/target_r");
- target_rgb[1] = (guint)gaim_prefs_get_int("/plugins/core/colorize/target_g");
- target_rgb[2] = (guint)gaim_prefs_get_int("/plugins/core/colorize/target_b");
+ target_rgb[0] = (guint8)purple_prefs_get_int(PREFS_T_RED);
+ target_rgb[1] = (guint8)purple_prefs_get_int(PREFS_T_GREEN);
+ target_rgb[2] = (guint8)purple_prefs_get_int(PREFS_T_BLUE);
/* initialize current gradient value */
grad[0] = (gfloat)initial_rgb[0];
@@ -128,9 +148,9 @@ static void colorize_message(char **mess
/* open initial font tag and format first character */
formatted_char = g_strdup_printf("<font color=\"#%02x%02x%02x\">%c",
- round_gfloat_to_guchar(grad[0]),
- round_gfloat_to_guchar(grad[1]),
- round_gfloat_to_guchar(grad[2]),
+ round_gfloat_to_guint8(grad[0]),
+ round_gfloat_to_guint8(grad[1]),
+ round_gfloat_to_guint8(grad[2]),
*(*message));
/* create a new string with the newly formatted char and free the old one */
@@ -147,9 +167,9 @@ static void colorize_message(char **mess
for(i=1; i<len; i++)
{
/* store last color */
- last_rgb[0] = round_gfloat_to_guchar(grad[0]);
- last_rgb[1] = round_gfloat_to_guchar(grad[1]);
- last_rgb[2] = round_gfloat_to_guchar(grad[2]);
+ last_rgb[0] = round_gfloat_to_guint8(grad[0]);
+ last_rgb[1] = round_gfloat_to_guint8(grad[1]);
+ last_rgb[2] = round_gfloat_to_guint8(grad[2]);
/* increment the gradient */
grad[0] += d_grad[0];
@@ -162,9 +182,9 @@ static void colorize_message(char **mess
formatted_char = g_strdup_printf("%c", *(*message+i));
else
formatted_char = g_strdup_printf("</font><font color=\"#%02x%02x%02x\">%c",
- round_gfloat_to_guchar(grad[0]),
- round_gfloat_to_guchar(grad[1]),
- round_gfloat_to_guchar(grad[2]),
+ round_gfloat_to_guint8(grad[0]),
+ round_gfloat_to_guint8(grad[1]),
+ round_gfloat_to_guint8(grad[2]),
*(*message+i));
@@ -187,13 +207,12 @@ static void colorize_message(char **mess
/* respond to a sending-im signal by replacing outgoing text
* with colorized version
*/
-static void sending_im_msg(GaimAccount *account, char *receiver,
- char **message)
-{
- char *stripped_message;
+static void
+sending_im_msg(PurpleAccount *account, gchar *receiver, gchar **message) {
+ gchar *stripped_message;
/* strip any existing HTML */
- stripped_message = gaim_markup_strip_html(*message);
+ stripped_message = purple_markup_strip_html(*message);
g_free(*message);
/* colorize the message with HTML font tags */
@@ -205,69 +224,75 @@ static void sending_im_msg(GaimAccount *
}
/* register sendin-im signal */
-static gboolean plugin_load(GaimPlugin *plugin)
-{
- gaim_debug(GAIM_DEBUG_INFO, "colorize", "colorize plugin loaded.\n");
+static gboolean
+plugin_load(PurplePlugin *plugin) {
+ purple_signal_connect(purple_conversations_get_handle(), "sending-im-msg",
+ plugin, PURPLE_CALLBACK(sending_im_msg), NULL);
- gaim_signal_connect(gaim_conversations_get_handle(), "sending-im-msg",
- plugin, GAIM_CALLBACK(sending_im_msg), NULL);
-
-
return TRUE;
}
-static gboolean plugin_unload(GaimPlugin *plugin)
-{
+static gboolean
+plugin_unload(PurplePlugin *plugin) {
return TRUE;
}
-static GaimPluginUiInfo prefs_info = {
+static PurplePluginUiInfo prefs_info = {
init_pref_frame
};
-static GaimPluginInfo info =
+static PurplePluginInfo info =
{
- GAIM_PLUGIN_MAGIC,
- GAIM_MAJOR_VERSION,
- GAIM_MINOR_VERSION,
- GAIM_PLUGIN_STANDARD, /**< type */
- NULL, /**< ui_requirement */
- 0, /**< flags */
- NULL, /**< dependencies */
- GAIM_PRIORITY_DEFAULT, /**< priority */
+ PURPLE_PLUGIN_MAGIC,
+ PURPLE_MAJOR_VERSION,
+ PURPLE_MINOR_VERSION,
+ PURPLE_PLUGIN_STANDARD,
+ NULL,
+ 0,
+ NULL,
+ PURPLE_PRIORITY_DEFAULT,
- NULL, /**< id */
- N_("Colorize Plugin"), /**< name */
- N_("pre-release"), /**< version */
- /** summary */
- N_("Colorizes outgoing message text."),
- /** description */
- N_("Colorizes outgoing message text to a gradient of specified starting and ending RGB values."),
- "Ike Gingerich <ike_ at users.sourceforge.net>", /**< author */
- GAIM_WEBSITE, /**< homepage */
+ PLUGIN_ID,
+ NULL,
+ PP_VERSION,
+ NULL,
+ NULL,
+ PLUGIN_AUTHOR,
+ PP_WEBSITE,
- plugin_load, /**< load */
- plugin_unload, /**< unload */
- NULL, /**< destroy */
+ plugin_load,
+ plugin_unload,
+ NULL,
- NULL, /**< ui_info */
- NULL, /**< extra_info */
+ NULL,
+ NULL,
&prefs_info,
NULL
};
/* initialize default preferences */
-static void init_plugin(GaimPlugin *plugin)
-{
- gaim_prefs_add_none("/plugins/core/colorize");
+static void
+init_plugin(PurplePlugin *plugin) {
+#ifdef ENABLE_NLS
+ bindtextdomain(GETTEXT_PACKAGE, PP_LOCALEDIR);
+ bind_textdomain_codeset(GETTEXT_PACKAGE, "UTF-8");
+#endif /* ENABLE_NLS */
- gaim_prefs_add_int("/plugins/core/colorize/initial_r", default_initial_rgb[0]);
- gaim_prefs_add_int("/plugins/core/colorize/initial_g", default_initial_rgb[1]);
- gaim_prefs_add_int("/plugins/core/colorize/initial_b", default_initial_rgb[2]);
+ info.name = _("Colorize");
+ info.summary = _("Colorizes outgoing message text.");
+ info.description = _("Colorizes outgoing message text to a gradient of "
+ "specified starting and ending RGB values.");
- gaim_prefs_add_int("/plugins/core/colorize/target_r", default_target_rgb[0]);
- gaim_prefs_add_int("/plugins/core/colorize/target_g", default_target_rgb[1]);
- gaim_prefs_add_int("/plugins/core/colorize/target_b", default_target_rgb[2]);
+ /* prefs */
+ purple_prefs_add_none(PREFS_PREFIX);
+
+ purple_prefs_add_int(PREFS_I_RED, default_initial_rgb[0]);
+ purple_prefs_add_int(PREFS_I_GREEN, default_initial_rgb[1]);
+ purple_prefs_add_int(PREFS_I_BLUE, default_initial_rgb[2]);
+
+ purple_prefs_add_int(PREFS_T_RED, default_target_rgb[0]);
+ purple_prefs_add_int(PREFS_T_GREEN, default_target_rgb[1]);
+ purple_prefs_add_int(PREFS_T_BLUE, default_target_rgb[2]);
}
+PURPLE_INIT_PLUGIN(colorize, init_plugin, info)
-GAIM_INIT_PLUGIN(colorize, init_plugin, info)
More information about the Plugins-commits
mailing list