in billboard show only missed message
authortanya <tanyshk@gmail.com>
Mon, 17 May 2010 13:27:25 +0000 (16:27 +0300)
committertanya <tanyshk@gmail.com>
Mon, 17 May 2010 13:27:25 +0000 (16:27 +0300)
applet/src/livewp-actor.c

index 25e89f2..4415e28 100644 (file)
@@ -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("<span bgcolor=\"%s\" foreground=\"%s\">%s: %d \n%s: %d \n%s: %d \n%s: %d</span>", "#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("<span bgcolor=\"%s\" foreground=\"%s\">%s</span>", "#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){