grim/guifications2

Fix cp gf_config.h.mingw gf_config.h
org.guifications.gf2
2007-05-02, datallah
5e11127271b1
Fix cp gf_config.h.mingw gf_config.h
make -C ./src -f Makefile.mingw
make[1]: Entering directory `/home/datallah/winpidgin/gf2/src'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/datallah/winpidgin/gf2/src'
make -C ./po -f Makefile.mingw
make[1]: Entering directory `/home/datallah/winpidgin/gf2/po'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/datallah/winpidgin/gf2/po'
make -C ./pixmaps -f Makefile.mingw install
make[1]: Entering directory `/home/datallah/winpidgin/gf2/pixmaps'
if test 'item_icon_size_big.png item_icon_size_huge.png item_icon_size_large.png item_icon_size_little.png item_icon_size_normal.png item_icon_size_small.png item_icon_size_tiny.png item_position_center.png item_position_east.png item_position_north_east.png item_position_north.png item_position_north_west.png item_position_south_east.png item_position_south.png item_position_south_west.png item_position_west.png item_text_clipping_ellipsis_end.png item_text_clipping_ellipsis_middle.png item_text_clipping_ellipsis_start.png item_text_clipping_truncate.png window_position_north_east.png window_position_north_west.png window_position_south_east.png window_position_south_west.png'; then \
mkdir -p ../../pidgin/win32-install-dir/pixmaps/pidgin/guifications/conf; \
cp item_icon_size_big.png item_icon_size_huge.png item_icon_size_large.png item_icon_size_little.png item_icon_size_normal.png item_icon_size_small.png item_icon_size_tiny.png item_position_center.png item_position_east.png item_position_north_east.png item_position_north.png item_position_north_west.png item_position_south_east.png item_position_south.png item_position_south_west.png item_position_west.png item_text_clipping_ellipsis_end.png item_text_clipping_ellipsis_middle.png item_text_clipping_ellipsis_start.png item_text_clipping_truncate.png window_position_north_east.png window_position_north_west.png window_position_south_east.png window_position_south_west.png ../../pidgin/win32-install-dir/pixmaps/pidgin/guifications/conf; \
fi;
if test ''; then \
mkdir -p ; \
cp ; \
fi;
make[1]: Leaving directory `/home/datallah/winpidgin/gf2/pixmaps'
make -C ./themes -f Makefile.mingw install
make[1]: Entering directory `/home/datallah/winpidgin/gf2/themes'
make -C ./default -f Makefile.mingw install
make[2]: Entering directory `/home/datallah/winpidgin/gf2/themes/default'
if test 'background.png theme.xml'; then \
mkdir -p ../../../pidgin/win32-install-dir/pixmaps/pidgin/guifications/themes/default; \
cp background.png theme.xml ../../../pidgin/win32-install-dir/pixmaps/pidgin/guifications/themes/default; \
fi;
make[2]: Leaving directory `/home/datallah/winpidgin/gf2/themes/default'
make -C ./mini -f Makefile.mingw install
make[2]: Entering directory `/home/datallah/winpidgin/gf2/themes/mini'
if test 'background.png theme.xml'; then \
mkdir -p ../../../pidgin/win32-install-dir/pixmaps/pidgin/guifications/themes/mini; \
cp background.png theme.xml ../../../pidgin/win32-install-dir/pixmaps/pidgin/guifications/themes/mini; \
fi;
make[2]: Leaving directory `/home/datallah/winpidgin/gf2/themes/mini'
make -C ./Penguins -f Makefile.mingw install
make[2]: Entering directory `/home/datallah/winpidgin/gf2/themes/Penguins'
if test 'penguin.png theme.xml'; then \
mkdir -p ../../../pidgin/win32-install-dir/pixmaps/pidgin/guifications/themes/Penguins; \
cp penguin.png theme.xml ../../../pidgin/win32-install-dir/pixmaps/pidgin/guifications/themes/Penguins; \
fi;
make[2]: Leaving directory `/home/datallah/winpidgin/gf2/themes/Penguins'
make[1]: Leaving directory `/home/datallah/winpidgin/gf2/themes'
make -C ./src -f Makefile.mingw install
make[1]: Entering directory `/home/datallah/winpidgin/gf2/src'
cp guifications.dll ../../pidgin/win32-install-dir/plugins
make[1]: Leaving directory `/home/datallah/winpidgin/gf2/src'
make -C ./po -f Makefile.mingw install
make[1]: Entering directory `/home/datallah/winpidgin/gf2/po'
mkdir -p ../../pidgin/win32-install-dir/locale
installing bn.gmo as ../../pidgin/win32-install-dir/locale/bn/LC_MESSAGES/guifications.mo
installing cs.gmo as ../../pidgin/win32-install-dir/locale/cs/LC_MESSAGES/guifications.mo
installing de.gmo as ../../pidgin/win32-install-dir/locale/de/LC_MESSAGES/guifications.mo
installing en_AU.gmo as ../../pidgin/win32-install-dir/locale/en_AU/LC_MESSAGES/guifications.mo
installing en_GB.gmo as ../../pidgin/win32-install-dir/locale/en_GB/LC_MESSAGES/guifications.mo
installing es.gmo as ../../pidgin/win32-install-dir/locale/es/LC_MESSAGES/guifications.mo
installing fr.gmo as ../../pidgin/win32-install-dir/locale/fr/LC_MESSAGES/guifications.mo
installing gl.gmo as ../../pidgin/win32-install-dir/locale/gl/LC_MESSAGES/guifications.mo
installing he.gmo as ../../pidgin/win32-install-dir/locale/he/LC_MESSAGES/guifications.mo
installing hu.gmo as ../../pidgin/win32-install-dir/locale/hu/LC_MESSAGES/guifications.mo
installing it.gmo as ../../pidgin/win32-install-dir/locale/it/LC_MESSAGES/guifications.mo
installing ja.gmo as ../../pidgin/win32-install-dir/locale/ja/LC_MESSAGES/guifications.mo
installing mk.gmo as ../../pidgin/win32-install-dir/locale/mk/LC_MESSAGES/guifications.mo
installing nl.gmo as ../../pidgin/win32-install-dir/locale/nl/LC_MESSAGES/guifications.mo
installing no.gmo as ../../pidgin/win32-install-dir/locale/no/LC_MESSAGES/guifications.mo
installing pt_BR.gmo as ../../pidgin/win32-install-dir/locale/pt_BR/LC_MESSAGES/guifications.mo
installing pt.gmo as ../../pidgin/win32-install-dir/locale/pt/LC_MESSAGES/guifications.mo
installing ru.gmo as ../../pidgin/win32-install-dir/locale/ru/LC_MESSAGES/guifications.mo
installing sk.gmo as ../../pidgin/win32-install-dir/locale/sk/LC_MESSAGES/guifications.mo
installing sr@Latn.gmo as ../../pidgin/win32-install-dir/locale/sr@Latn/LC_MESSAGES/guifications.mo
installing sr.gmo as ../../pidgin/win32-install-dir/locale/sr/LC_MESSAGES/guifications.mo
installing sv.gmo as ../../pidgin/win32-install-dir/locale/sv/LC_MESSAGES/guifications.mo
installing uk.gmo as ../../pidgin/win32-install-dir/locale/uk/LC_MESSAGES/guifications.mo
installing zh_CN.gmo as ../../pidgin/win32-install-dir/locale/zh_CN/LC_MESSAGES/guifications.mo
installing zh_TW.gmo as ../../pidgin/win32-install-dir/locale/zh_TW/LC_MESSAGES/guifications.mo
make[1]: Leaving directory `/home/datallah/winpidgin/gf2/po'
/*
* Guifications - The end all, be all, toaster popup plugin
* Copyright (C) 2003-2005 Gary Kramlich
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
#include <glib.h>
#include <gdk/gdk.h>
#include <debug.h>
#include <xmlnode.h>
#include "gf_event_info.h"
#include "gf_gtk_utils.h"
#include "gf_item.h"
#include "gf_notification.h"
#include "gf_theme.h"
struct _GfItemImage {
GfItem *item;
gchar *filename;
};
#include "gf_item_image.h"
void
gf_item_image_destroy(GfItemImage *item_image) {
g_return_if_fail(item_image);
item_image->item = NULL;
if(item_image->filename) {
g_free(item_image->filename);
item_image->filename = NULL;
}
g_free(item_image);
item_image = NULL;
}
GfItemImage *
gf_item_image_new(GfItem *item) {
GfItemImage *item_image;
g_return_val_if_fail(item, NULL);
item_image = g_new0(GfItemImage, 1);
item_image->item = item;
return item_image;
}
GfItemImage *
gf_item_image_new_from_xmlnode(GfItem *item, xmlnode *node) {
GfItemImage *item_image;
g_return_val_if_fail(item, NULL);
g_return_val_if_fail(node, NULL);
item_image = gf_item_image_new(item);
item_image->filename = g_strdup(xmlnode_get_attrib(node, "filename"));
if(!item_image) {
purple_debug_info("Guifications",
"** Error loading image item: 'Unknown filename'\n");
gf_item_image_destroy(item_image);
return NULL;
}
return item_image;
}
GfItemImage *
gf_item_image_copy(GfItemImage *image) {
GfItemImage *new_image;
g_return_val_if_fail(image, NULL);
new_image = gf_item_image_new(image->item);
if(image->filename)
new_image->filename = g_strdup(image->filename);
return new_image;
}
xmlnode *
gf_item_image_to_xmlnode(GfItemImage *image) {
xmlnode *parent;
parent = xmlnode_new("image");
xmlnode_set_attrib(parent, "filename", image->filename);
return parent;
}
void
gf_item_image_set_item(GfItemImage *item_image, GfItem *item) {
g_return_if_fail(item_image);
g_return_if_fail(item);
item_image->item = item;
}
GfItem *
gf_item_image_get_item(GfItemImage *item_image) {
g_return_val_if_fail(item_image, NULL);
return item_image->item;
}
void
gf_item_image_set_image(GfItemImage *item_image, const gchar *image) {
g_return_if_fail(item_image);
g_return_if_fail(image);
item_image->filename = g_strdup(image);
}
const gchar *
gf_item_image_get_image(GfItemImage *item_image) {
g_return_val_if_fail(item_image, NULL);
return item_image->filename;
}
void
gf_item_image_render(GfItemImage *item_image, GdkPixbuf *pixbuf,
GfEventInfo *info)
{
GfNotification *notification;
GfTheme *theme;
GdkPixbuf *image;
gint x, y;
gint width, height;
gchar *filename;
g_return_if_fail(item_image);
g_return_if_fail(pixbuf);
g_return_if_fail(info);
notification = gf_item_get_notification(item_image->item);
theme = gf_notification_get_theme(notification);
filename = g_build_filename(gf_theme_get_path(theme),
item_image->filename, NULL);
image = gdk_pixbuf_new_from_file(filename, NULL);
g_free(filename);
if(!image)
return;
width = gdk_pixbuf_get_width(image);
height = gdk_pixbuf_get_height(image);
gf_item_get_render_position(&x, &y,
width, height,
gdk_pixbuf_get_width(pixbuf),
gdk_pixbuf_get_height(pixbuf),
item_image->item);
gf_gtk_pixbuf_clip_composite(image, x, y, pixbuf);
g_object_unref(G_OBJECT(image));
}