From 4c610cfb2256686ca28b4ed18cc8d20287496c4c Mon Sep 17 00:00:00 2001 From: tanya Date: Mon, 17 May 2010 16:27:25 +0300 Subject: [PATCH] in billboard show only missed message --- applet/src/livewp-actor.c | 85 ++++++++++++++++++++++----------------------- 1 file changed, 42 insertions(+), 43 deletions(-) diff --git a/applet/src/livewp-actor.c b/applet/src/livewp-actor.c index 25e89f2..4415e28 100644 --- a/applet/src/livewp-actor.c +++ b/applet/src/livewp-actor.c @@ -114,21 +114,6 @@ set_actor_position(Actor *actor, gint x, gint y, gint z, AWallpaperPlugin *deskt z); } -int -func_callback(void *user_data, int argc, char **argv, char **azColName) -{ - fprintf(stderr, "callback\n"); - int i; - GtkTreeIter iter; - GtkListStore *list = GTK_LIST_STORE(user_data); - gtk_list_store_append(list, &iter); - for(i = 0; i < argc; i++){ - fprintf(stderr, "argc=%d, argv=%s, colname=%s\n", argc, argv, azColName[i]); - //if(!strcmp(azColName[i], "count")) - gtk_list_store_set(list, &iter, 0, atoi(argv[i]), -1); - } - return 0; -} int get_notify_count(gchar *notify_type) { sqlite3 *db = NULL; @@ -161,28 +146,51 @@ void change_billboard(Actor * actor, AWallpaperPlugin *desktop_plugin) { GtkWidget *label; - gchar *message; + gchar *message = NULL, *mes = NULL; PangoFontDescription *pfd = NULL; - - //fprintf(stderr, "change billboard\n"); + gint count = 0; label = actor->image; - message = g_markup_printf_escaped("%s: %d \n%s: %d \n%s: %d \n%s: %d", "#FFFFFF", "#000000", - _("Missed calls"), - get_notify_count("missed"), - _("Missed sms"), - get_notify_count("sms"), - _("Missed chat"), - get_notify_count("chat"), - _("Missed mail"), - get_notify_count("mail")); - gtk_label_set_markup(GTK_LABEL(label), message); - g_free(message); - pfd = pango_font_description_from_string("Sans 14"); - gtk_widget_modify_font(GTK_WIDGET(label), NULL); - gtk_widget_modify_font(GTK_WIDGET(label), pfd); - pango_font_description_free(pfd); - actor->time_start_animation = time(NULL) + 20; + count = get_notify_count("missed"); + if (count > 0){ + message = g_strdup_printf("%s: %d", _("Missed calls"), count); + } + count = get_notify_count("sms"); + if (count > 0){ + if (message){ + message = g_strdup_printf("%s \n%s: %d", message, _("Missed sms"), count); + }else { + message = g_strdup_printf("%s: %d", _("Missed sms"), count); + } + } + count = get_notify_count("chat"); + if (count > 0){ + if (message){ + message = g_strdup_printf("%s \n%s: %d", message, _("Missed chat"), count); + }else { + message = g_strdup_printf("%s: %d", _("Missed chat"), count); + } + } + count = get_notify_count("mail"); + if (count > 0){ + if (message){ + message = g_strdup_printf("%s \n%s: %d", message, _("Missed mail"), count); + }else { + message = g_strdup_printf("%s: %d", _("Missed mail"), count); + } + } + + fprintf(stderr, "message = %s", message); + if (message){ + mes = g_markup_printf_escaped("%s", "#FFFFFF", "#000000", message); + gtk_label_set_markup(GTK_LABEL(label), mes); + g_free(message); + pfd = pango_font_description_from_string("Sans 14"); + gtk_widget_modify_font(GTK_WIDGET(label), NULL); + gtk_widget_modify_font(GTK_WIDGET(label), pfd); + pango_font_description_free(pfd); + actor->time_start_animation = time(NULL) + 20; + } } @@ -203,15 +211,6 @@ change_billboard1(Actor * actor, AWallpaperPlugin *desktop_plugin) fprintf(stderr, "error open db %d %s\n", rc, sqlite3_errmsg(db)); }else { snprintf(sql, sizeof(sql)-1, "select count(id) from Events where event_type_id=%d", 3); -#if 0 - gtk_list_store_new(1, G_TYPE_INT); - rc = sqlite3_exec(db, sql, func_callback, (void*)list, &errMsg); - if (rc != SQLITE_OK){ - fprintf(stderr, "error %s\n", errMsg); - - } - fprintf(stderr, "after exec sql=%s rc= %d err=%d \n", sql, rc, errMsg); -#endif //#if 0 rc = sqlite3_prepare(db, sql, sizeof(sql)-1, &res, NULL); if (rc != SQLITE_OK){ -- 1.7.9.5