[evolution-rss] limit feed folder selection only to import and adding new feeds



commit 2656fcc192f34cd10ef866fe2eda572e69a958b3
Author: Lucian Langa <lucilanga gnome org>
Date:   Fri May 14 00:06:30 2010 +0300

    limit feed folder selection only to import and adding new feeds

 src/parser.c |    6 +++++-
 src/rss.c    |    7 +++++--
 2 files changed, 10 insertions(+), 3 deletions(-)
---
diff --git a/src/parser.c b/src/parser.c
index a71a62f..7e474c0 100644
--- a/src/parser.c
+++ b/src/parser.c
@@ -44,6 +44,7 @@ extern int rss_verbose_debug;
 guint rsserror = FALSE;
 gchar *rssstrerror = NULL;
 extern rssfeed *rf;
+extern gboolean feed_new;
 
 //
 // decodes url_encoded strings that might appear in a html body
@@ -1182,8 +1183,11 @@ update_channel(RDF *r)
 	if (freeze)
 		refresh_mail_folder(mail_folder);
 	if (mail_folder) {
-		if (!rf->cancel && !rf->cancel_all && !rf->display_cancel)
+		if ((rf->import || feed_new)
+		&& (!rf->cancel && !rf->cancel_all && !rf->display_cancel)) {
 			rss_select_folder(camel_folder_get_full_name(mail_folder));
+			if (feed_new) feed_new = FALSE;
+		}
 #if (DATASERVER_VERSION >= 2031001)
 		g_object_unref(mail_folder);
 #else
diff --git a/src/rss.c b/src/rss.c
index 98c09ef..e9d9c12 100644
--- a/src/rss.c
+++ b/src/rss.c
@@ -199,6 +199,8 @@ guint resize_pane_vsize = 0;
 guint resize_browser_hsize = 0;
 guint resize_browser_vsize = 0;
 guint progress = 0;
+gboolean feed_new = FALSE;	//make sense only for setting up a new feed
+			//prevents jumping to old feeds when new articles found
 
 extern guint net_queue_run_count;
 extern guint net_qid;
@@ -3382,6 +3384,7 @@ finish_setup_feed(
 		goto out;
 
 	r = g_new0 (RDF, 1);
+	feed_new = TRUE;
 	r->shown = TRUE;
 
 	prepare_hashes();
@@ -3563,7 +3566,7 @@ add:
 
 		if (rf->import) {
 			rf->import--;
-			dp("IMPORT:%d, chn:%s\n", rf->import, chn_name);
+			d("IMPORT:%d, chn:%s\n", rf->import, chn_name);
 			progress++;
 			update_progress_bar(rf->import);
 		}
@@ -6114,7 +6117,7 @@ create_mail(create_feed *CF)
 		g_warning("FILTER DISABLED\n");
 /*		filter_uids = g_ptr_array_sized_new(1);
 		g_ptr_array_add(filter_uids, appended_uid);
-		mail_filter_on_demand (mail_folder, filter_uids);
+		mail_filter_on_demand (mail_folder, filter_uids);*/
 /* FIXME do not know how to free this */
 //		g_object_weak_ref((GObject *)filter_uids, free_filter_uids, NULL);
 	}



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]