grim/guifications1

e758cf4ec153
Parents f6ba4565c13a
Children 3549d43914d3
more updates i don't want to lose..
--- a/src/gf_pixbuf.c Sun Jan 11 19:30:27 2004 +0000
+++ b/src/gf_pixbuf.c Wed Jan 14 00:28:38 2004 +0000
@@ -19,15 +19,86 @@
#include <gtk/gtk.h>
#include <gdk/gdk.h>
#include <pango/pango.h>
-#include <blist.h>
+#include <string.h>
#include "gtkblist.h"
#include "blist.h"
+#include "server.h"
#include "debug.h"
#include "gf_pixbuf.h"
#include "gf_types.h"
+static gchar *
+gf_format_text(GaimBuddy *buddy, gf_event event, gf_theme *theme) {
+ /* Formatting Options
+ %N = Screen Name %A = Alias
+ %P = Protocol %M = Away Message
+ %C = Account %W = Warning level
+ */
+ char formatted[255], format[255];
+ gchar *buff = NULL;
+ int c = 0, i = 0;
+
+ strcpy(format, theme->notification[event]->text[line]->format);
+
+ while (*format) {
+ if (*format == '%') {
+ switch(*(format+1)) {
+ case 'N': /* screen name */
+ for (i = 0; i < strlen(buddy->name); i++)
+ output[c+i] = buddy->name[i];
+ c += i;
+ break;
+ case 'A': /* alias, follows alias pref rules */
+ buff = g_strdup(gaim_get_buddy_alias(buddy));
+ for (i = 0; i < strlen(buff); i++)
+ output[c+i] = buff[i];
+ c+=i;
+ g_free(buff);
+ break;
+ case 'P': /* protocol */
+ buff = g_strdup(gaim_account_get_protocol_id(buddy->account));
+ for (i = 0; i < strlen(buff); i++)
+ output[c+i] = buff[i];
+ c+=i;
+ g_free(buff);
+ break;
+ case 'M': /* away message if event isn't away this value
+ gets removed */
+ if (event == gf_event_away) {
+ buff = g_strdup(serv_get_away(buddy->account->gc, buddy->name));
+ for (i = 0; i < strlen(buff); i++)
+ output[c+i] = buff[i];
+ c+=i;
+ g_free(buff);
+ }
+ break;
+ case 'C': /* account name */
+ buff = g_strdup(buddy->account->username);
+ for (i = 0; i < strlen(buff); i++)
+ output[c+i] = buff[i];
+ c+=i;
+ g_free(buff);
+ break;
+ case 'W': /* warning level, if protocol isn't oscar this
+ value gets removed */
+ break;
+ case '%':
+ output[i] = '%';
+ c++;
+ break;
+ }
+ } else {
+ output[i] = *format;
+ c++:
+ }
+ format++;
+ }
+
+ return output;
+}
+
static void
gf_background_get_size(gint *width, gint *height, gf_event event, gf_theme *theme) {
GError *error;