diff options
author | Milan Crha <mcrha@redhat.com> | 2008-12-03 20:28:57 +0800 |
---|---|---|
committer | Milan Crha <mcrha@src.gnome.org> | 2008-12-03 20:28:57 +0800 |
commit | 792772dc246fe7d2119f946a2ea95a70256fb147 (patch) | |
tree | edf35d2afc3982b67b72da945e06109ab0298200 /calendar/gui | |
parent | 4bec962f7b5cd2a65bed33de3e8f56f3b2b4bad7 (diff) | |
download | gsoc2013-evolution-792772dc246fe7d2119f946a2ea95a70256fb147.tar.gz gsoc2013-evolution-792772dc246fe7d2119f946a2ea95a70256fb147.tar.zst gsoc2013-evolution-792772dc246fe7d2119f946a2ea95a70256fb147.zip |
** Part of fix for bug #352287
2008-12-03 Milan Crha <mcrha@redhat.com>
** Part of fix for bug #352287
* calendar/gui/e-day-view-top-item.c: (e_day_view_top_item_draw_long_event):
Draw top icons in full detail/color depth (for weather, for example).
* plugins/calendar-weather/Makefile.am: Compile and link with libgweather.
* plugins/calendar-weather/calendar-weather.c: (e_plugin_lib_enable), (selection_changed),
(find_location_func), (find_location), (treeview_clicked),
(create_source_selector), (build_location_path),
(location_clicked), (e_calendar_weather_location):
Use libgweather for weather calendar.
Note: Requires eds revision at least 9793.
svn path=/trunk/; revision=36827
Diffstat (limited to 'calendar/gui')
-rw-r--r-- | calendar/gui/e-day-view-top-item.c | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/calendar/gui/e-day-view-top-item.c b/calendar/gui/e-day-view-top-item.c index 4523fa6978..2f9bbf00fb 100644 --- a/calendar/gui/e-day-view-top-item.c +++ b/calendar/gui/e-day-view-top-item.c @@ -33,6 +33,7 @@ #include "e-util/e-categories-config.h" #include <libecal/e-cal-time-util.h> #include <libedataserver/e-data-server-util.h> +#include <libedataserver/e-categories.h> #include "e-calendar-view.h" #include "e-day-view-top-item.h" @@ -687,29 +688,28 @@ e_day_view_top_item_draw_long_event (EDayViewTopItem *dvtitem, e_cal_component_get_categories_list (comp, &categories_list); for (elem = categories_list; elem; elem = elem->next) { char *category; - GdkPixmap *pixmap = NULL; - GdkBitmap *mask = NULL; + const char *file; + GdkPixbuf *pixbuf; category = (char *) elem->data; - e_categories_config_get_icon_for (category, &pixmap, &mask); - if (pixmap == NULL) + file = e_categories_get_icon_file_for (category); + if (!file) + continue; + + pixbuf = gdk_pixbuf_new_from_file (file, NULL); + if (pixbuf == NULL) continue; if (icon_x <= max_icon_x) { gdk_gc_set_clip_origin (gc, icon_x, icon_y); - if (mask != NULL) - gdk_gc_set_clip_mask (gc, mask); - gdk_draw_drawable (drawable, gc, - pixmap, + gdk_draw_pixbuf (drawable, gc, + pixbuf, 0, 0, icon_x, icon_y, E_DAY_VIEW_ICON_WIDTH, - E_DAY_VIEW_ICON_HEIGHT); + E_DAY_VIEW_ICON_HEIGHT, + GDK_RGB_DITHER_NORMAL, 0, 0); icon_x -= icon_x_inc; } - - g_object_unref (pixmap); - if (mask != NULL) - g_object_unref (mask); } e_cal_component_free_categories_list (categories_list); |