r2642 - in trunk/src/target/OM-2007.2/applications/openmoko-feedreader2: . src
zecke at sita.openmoko.org
zecke at sita.openmoko.org
Mon Aug 6 00:50:05 CEST 2007
Author: zecke
Date: 2007-08-06 00:50:00 +0200 (Mon, 06 Aug 2007)
New Revision: 2642
Modified:
trunk/src/target/OM-2007.2/applications/openmoko-feedreader2/ChangeLog
trunk/src/target/OM-2007.2/applications/openmoko-feedreader2/src/feed-data.c
Log:
2007-08-06 Holger Hans Peter Freyther <zecke at selfish.org>
Remove old feed posts from the model only once the new posts
were fetched and parsed.
* src/feed-data.c:
(remove_old_items):
(feed_update_thread):
(feed_data_update_all):
Modified: trunk/src/target/OM-2007.2/applications/openmoko-feedreader2/ChangeLog
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-feedreader2/ChangeLog 2007-08-05 21:44:33 UTC (rev 2641)
+++ trunk/src/target/OM-2007.2/applications/openmoko-feedreader2/ChangeLog 2007-08-05 22:50:00 UTC (rev 2642)
@@ -1,3 +1,13 @@
+2007-08-06 Holger Hans Peter Freyther <zecke at selfish.org>
+
+ Remove old feed posts from the model only once the new posts
+ were fetched and parsed.
+
+ * src/feed-data.c:
+ (remove_old_items):
+ (feed_update_thread):
+ (feed_data_update_all):
+
2007-08-05 Holger Hans Peter Freyther <zecke at selfish.org>
Implement category filtering (and made sure it compiles). Feature wise
Modified: trunk/src/target/OM-2007.2/applications/openmoko-feedreader2/src/feed-data.c
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-feedreader2/src/feed-data.c 2007-08-05 21:44:33 UTC (rev 2641)
+++ trunk/src/target/OM-2007.2/applications/openmoko-feedreader2/src/feed-data.c 2007-08-05 22:50:00 UTC (rev 2642)
@@ -111,6 +111,28 @@
}
/*
+ * remove all entries with this category
+ */
+static void
+remove_old_items (FeedData *data, const gchar* delete_category)
+{
+ gdk_threads_enter();
+
+ GtkTreeIter iter;
+ gboolean valid = gtk_tree_model_get_iter_first (GTK_TREE_MODEL (data), &iter);
+ while (valid) {
+ gchar *category;
+ gtk_tree_model_get (GTK_TREE_MODEL (data), &iter, RSS_READER_COLUMN_CATEGORY, &category, -1);
+ if (category && strcmp(category, delete_category) == 0)
+ valid = gtk_list_store_remove (GTK_LIST_STORE (data), &iter);
+ else
+ valid = gtk_tree_model_iter_next (GTK_TREE_MODEL (data), &iter);
+ }
+
+ gdk_threads_leave();
+}
+
+/*
* Add items from rss_data to the GtkListStore/FeedData
*/
static void
@@ -223,6 +245,7 @@
/*
* create the new item(s)
*/
+ remove_old_items (data, category);
add_mrss_item (data, rss_data, url, category);
/*
@@ -322,8 +345,6 @@
void
feed_data_update_all (FeedData* data)
{
- gtk_list_store_clear (GTK_LIST_STORE (data));
-
GError *error = NULL;
(void)g_thread_create( (GThreadFunc)feed_update_thread, data, FALSE, &error );
More information about the commitlog
mailing list