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