From 646cde735b54f33fd935535c97bace0d9971beb6 Mon Sep 17 00:00:00 2001 From: Jean-Philippe Orsini Date: Mon, 22 Apr 2013 10:05:59 +0000 Subject: [PATCH 1/1] --- src/glade/prss.glade | 5 ++++- src/main.c | 17 +++++++++++++---- src/ttrss.c | 11 +++++++++++ src/ttrss.h | 1 + 4 files changed, 29 insertions(+), 5 deletions(-) diff --git a/src/glade/prss.glade b/src/glade/prss.glade index 24aef48..37c45b6 100644 --- a/src/glade/prss.glade +++ b/src/glade/prss.glade @@ -283,7 +283,7 @@ - 0 + 0 @@ -314,6 +314,9 @@ True headline_store + + + 3 diff --git a/src/main.c b/src/main.c index dd7ce91..4365e11 100644 --- a/src/main.c +++ b/src/main.c @@ -78,6 +78,7 @@ void update() struct feed **feeds; GtkTreeModel *model; GtkTreeIter iter; + char *title; ttrss_login(g_settings_get_string(settings, "url"), g_settings_get_string(settings, "user"), @@ -87,14 +88,22 @@ void update() gtk_list_store_clear(GTK_LIST_STORE(model)); for (feeds = ttrss_get_feeds(); *feeds; feeds++) { + if ((*feeds)->unread) + title = g_strdup_printf("%s (%d)", + (*feeds)->title, + (*feeds)->unread); + else + title = strdup((*feeds)->title); + + gtk_list_store_append(GTK_LIST_STORE(model), &iter); gtk_list_store_set(GTK_LIST_STORE(model), &iter, - 0, (*feeds)->title, + 0, title, 1, (*feeds), -1); - + free(title); } printf("refresh done\n"); } @@ -269,8 +278,6 @@ int main(int argc, char **argv) gtk_builder_connect_signals(builder, NULL); - update(); - panh = GTK_WIDGET(gtk_builder_get_object(builder, "webkit_window")); gtk_container_add(GTK_CONTAINER(panh), web_get_widget()); @@ -279,6 +286,8 @@ int main(int argc, char **argv) gtk_widget_show_all(window); + update(); + gtk_main(); exit(EXIT_SUCCESS); diff --git a/src/ttrss.c b/src/ttrss.c index 4dbde65..d83db4f 100644 --- a/src/ttrss.c +++ b/src/ttrss.c @@ -100,6 +100,8 @@ struct feed **ttrss_get_feeds() int i, n; struct feed **feeds, *feed; + printf("ttrss_get_feeds\n"); + rq = create_op("getFeeds"); rp = post_json_object(session_url, rq); @@ -125,6 +127,9 @@ struct feed **ttrss_get_feeds() j = json_object_object_get(jfeed, "id"); feed->id = json_object_get_int(j); + j = json_object_object_get(jfeed, "unread"); + feed->unread = json_object_get_int(j); + feed->headlines = ttrss_get_headlines(feed->id); feeds[i] = feed; @@ -136,6 +141,8 @@ struct feed **ttrss_get_feeds() json_object_put(rp); + printf("ttrss_get_feeds ended\n"); + return feeds; } @@ -145,6 +152,8 @@ struct headline **ttrss_get_headlines(int feed_id) int i, n; struct headline **headlines, *h; + printf("ttrss_get_headlines %d\n", feed_id); + rq = create_op("getHeadlines"); json_object_object_add(rq, "feed_id", json_object_new_int(feed_id)); json_object_object_add(rq, "show_excerpt", json_object_new_boolean(1)); @@ -185,5 +194,7 @@ struct headline **ttrss_get_headlines(int feed_id) json_object_put(rp); + printf("ttrss_get_headlines %d end\n", feed_id); + return headlines; } diff --git a/src/ttrss.h b/src/ttrss.h index a6835bf..88cde67 100644 --- a/src/ttrss.h +++ b/src/ttrss.h @@ -31,6 +31,7 @@ struct feed { char *title; char *url; int id; + int unread; struct headline **headlines; }; -- 2.7.4