evolution-rss r226 - in trunk: . src
- From: lucilanga svn gnome org
- To: svn-commits-list gnome org
- Subject: evolution-rss r226 - in trunk: . src
- Date: Mon, 24 Mar 2008 16:01:52 +0000 (GMT)
Author: lucilanga
Date: Mon Mar 24 16:01:52 2008
New Revision: 226
URL: http://svn.gnome.org/viewvc/evolution-rss?rev=226&view=rev
Log:
save/restore feed hash
Modified:
trunk/TODO
trunk/src/rss-config-factory.c
trunk/src/rss.c
trunk/src/rss.h
Modified: trunk/TODO
==============================================================================
--- trunk/TODO (original)
+++ trunk/TODO Mon Mar 24 16:01:52 2008
@@ -36,3 +36,4 @@
* convert rest of non-intrusive error messages
* search in the content of page for feed
* obey ttl entity
+ * fix editing (reading possible deleted feed)
Modified: trunk/src/rss-config-factory.c
==============================================================================
--- trunk/src/rss-config-factory.c (original)
+++ trunk/src/rss-config-factory.c Mon Mar 24 16:01:52 2008
@@ -645,6 +645,37 @@
camel_store_free_folder_info (store, fi);
}
+feed*
+save_feed_hash(gpointer name)
+{
+ feed *saved_feed = g_new0(feed, 1);
+ saved_feed->hrname = g_strdup(g_hash_table_lookup(rf->hrname, name));
+ saved_feed->hrname_r = g_strdup(g_hash_table_lookup(rf->hrname_r, lookup_key(name)));
+ saved_feed->hre = g_hash_table_lookup(rf->hre, lookup_key(name));
+ saved_feed->hrt = g_strdup(g_hash_table_lookup(rf->hrt, lookup_key(name)));
+ saved_feed->hrh = g_hash_table_lookup(rf->hrh, lookup_key(name));
+ saved_feed->hr = g_strdup(g_hash_table_lookup(rf->hr, lookup_key(name)));
+ saved_feed->hrdel_feed = g_hash_table_lookup(rf->hrdel_feed, lookup_key(name));
+ saved_feed->hrdel_days = g_hash_table_lookup(rf->hrdel_days, lookup_key(name));
+ saved_feed->hrdel_messages = g_hash_table_lookup(rf->hrdel_messages, lookup_key(name));
+ saved_feed->hrdel_unread = g_hash_table_lookup(rf->hrdel_unread, lookup_key(name));
+ return saved_feed;
+}
+
+// restores a feed structure removed from hash
+// name - key to restore
+// s - feed structure to restore
+void
+restore_feed_hash(gpointer name, feed *s)
+{
+ g_hash_table_insert(rf->hre, g_strdup(lookup_key(name)), s->hre);
+ g_hash_table_insert(rf->hrh, g_strdup(lookup_key(name)), s->hre);
+ g_hash_table_insert(rf->hrdel_feed, g_strdup(lookup_key(name)), s->hre);
+ g_hash_table_insert(rf->hrdel_days, g_strdup(lookup_key(name)), s->hre);
+ g_hash_table_insert(rf->hrdel_messages, g_strdup(lookup_key(name)), s->hre);
+ g_hash_table_insert(rf->hrdel_unread, g_strdup(lookup_key(name)), s->hre);
+}
+
void
remove_feed_hash(gpointer name)
{
@@ -655,6 +686,10 @@
g_hash_table_remove(rf->hrt, lookup_key(name));
g_hash_table_remove(rf->hrh, lookup_key(name));
g_hash_table_remove(rf->hr, lookup_key(name));
+ g_hash_table_remove(rf->hrdel_feed, lookup_key(name));
+ g_hash_table_remove(rf->hrdel_days, lookup_key(name));
+ g_hash_table_remove(rf->hrdel_messages, lookup_key(name));
+ g_hash_table_remove(rf->hrdel_unread, lookup_key(name));
g_hash_table_remove(rf->hrname_r, lookup_key(name));
g_hash_table_remove(rf->hrname, name);
rf->pending = FALSE;
Modified: trunk/src/rss.c
==============================================================================
--- trunk/src/rss.c (original)
+++ trunk/src/rss.c Mon Mar 24 16:01:52 2008
@@ -524,7 +524,7 @@
(GtkAttachOptions) (0), 0, 0);
gtk_entry_set_invisible_char (GTK_ENTRY (username), 8226);
gchar *user = g_hash_table_lookup(rf->hruser, url);
- g_print("user:%s\n", user);
+ d(g_print("user:%s\n", user));
if (user)
gtk_entry_set_text (GTK_ENTRY (username), user);
password = gtk_entry_new ();
Modified: trunk/src/rss.h
==============================================================================
--- trunk/src/rss.h (original)
+++ trunk/src/rss.h Mon Mar 24 16:01:52 2008
@@ -42,6 +42,22 @@
SoupMessage *message;
} RDF;
+//we keep these values of a feed to be deleted in order
+//to easily restore in case delete does not success or
+//it is canceled
+typedef struct _feed {
+ gchar *hrname;
+ gchar *hrname_r;
+ gchar *hr;
+ guint hre;
+ gchar *hrt;
+ guint hrh;
+ guint hrdel_feed;
+ guint hrdel_days;
+ guint hrdel_messages;
+ guint hrdel_unread;
+} feed;
+
typedef struct _rssfeed {
GHashTable *hrname; //bind feed name to key
GHashTable *hrname_r; //and mirrored structure for faster lookups
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]