commit ae3a830bd1919b1ab8de385c11d936e8853f35c8
parent 91af1a4bee0153e9f2abd047e025d94f3f84fbac
Author: Andrej Kacian <ticho@claws-mail.org>
Date: Sat, 25 Feb 2017 11:32:52 +0100
Remove rssyl_feed_subscribe_new(), it was redundant.
rssyl_subscribe() is almost identical, so it is used instead.
Some minor usability issues that arise from this change will
be fixed in next commit(s).
Diffstat:
6 files changed, 10 insertions(+), 77 deletions(-)
diff --git a/src/plugins/rssyl/opml_import.c b/src/plugins/rssyl/opml_import.c
@@ -34,7 +34,7 @@
#include <common/utils.h>
/* Local includes */
-#include "rssyl_feed.h"
+#include "rssyl_subscribe.h"
#include "opml_import.h"
gint rssyl_folder_depth(FolderItem *item)
@@ -101,7 +101,7 @@ void rssyl_opml_import_func(gchar *title, gchar *url, gint depth, gpointer data)
ctx->depth++;
} else {
/* We have URL, try to add new feed... */
- new_item = rssyl_feed_subscribe_new((FolderItem *)ctx->current->data,
+ new_item = rssyl_subscribe((FolderItem *)ctx->current->data,
url, TRUE);
/* ...and rename it if needed */
if (new_item != NULL && strcmp(title, new_item->name)) {
diff --git a/src/plugins/rssyl/rssyl.c b/src/plugins/rssyl/rssyl.c
@@ -48,6 +48,7 @@
#include "rssyl_gtk.h"
#include "rssyl_feed.h"
#include "rssyl_prefs.h"
+#include "rssyl_subscribe.h"
#include "rssyl_update_feed.h"
#include "rssyl_update_format.h"
#include "opml_import.h"
@@ -865,7 +866,7 @@ static gboolean rssyl_subscribe_uri(Folder *folder, const gchar *uri)
{
if (folder->klass != rssyl_folder_get_class())
return FALSE;
- return (rssyl_feed_subscribe_new(FOLDER_ITEM(folder->node->data), uri, FALSE) ?
+ return (rssyl_subscribe(FOLDER_ITEM(folder->node->data), uri, FALSE) ?
TRUE : FALSE);
}
diff --git a/src/plugins/rssyl/rssyl_feed.c b/src/plugins/rssyl/rssyl_feed.c
@@ -41,71 +41,6 @@
#include "rssyl_update_feed.h"
#include "strutils.h"
-FolderItem *rssyl_feed_subscribe_new(FolderItem *parent, const gchar *url,
- gboolean verbose)
-{
- gchar *myurl = NULL, *tmpname = NULL;
- FolderItem *new_item = NULL;
- RFolderItem *ritem = NULL;
- gboolean success = FALSE;
-
- g_return_val_if_fail(parent != NULL, FALSE);
- g_return_val_if_fail(url != NULL, FALSE);
-
- log_print(LOG_PROTOCOL, RSSYL_LOG_SUBSCRIBING, url);
-
- if( !strncmp(url, "feed://", 7) )
- myurl = g_strdup(url+7);
- else if( !strncmp(url, "feed:", 5) )
- myurl = g_strdup(url+5);
- else
- myurl = g_strdup(url);
-
- myurl = g_strchomp(myurl);
-
- folderview_freeze(mainwindow_get_mainwindow()->folderview);
- folder_item_update_freeze();
-
- /* Create a feed folder with generic name. */
- tmpname = g_strdup_printf("%s.%ld", RSSYL_NEW_FOLDER_NAME, (long int)time(NULL));
- new_item = folder_create_folder(parent, tmpname);
- g_free(tmpname);
- if( !new_item ) {
- if( verbose )
- alertpanel_error(_("Couldn't create folder for new feed '%s'."),
- myurl);
- g_free(myurl);
- return NULL;
- }
-
- /* Set it up as a RSSyl folder */
- ritem = (RFolderItem *)new_item;
- ritem->url = g_strdup(myurl);
-
- /* Try to update it, delete if failed.
- * (it is renamed in rssyl_update_feed(). */
- if( (success = rssyl_update_feed(ritem, verbose)) == FALSE )
- new_item->folder->klass->remove_folder(new_item->folder, new_item);
- else {
- folder_item_scan(new_item);
- folder_write_list();
- }
-
- folder_item_update_thaw();
- folderview_thaw(mainwindow_get_mainwindow()->folderview);
-
- if( success )
- log_print(LOG_PROTOCOL, RSSYL_LOG_SUBSCRIBED, ritem->official_title,
- ritem->url);
- else {
- debug_print("RSSyl: Failed to add feed '%s'\n", myurl);
- g_free(myurl);
- return NULL;
- }
-
- return new_item;
-}
-
MsgInfo *rssyl_feed_parse_item_to_msginfo(gchar *file, MsgFlags flags,
gboolean a, gboolean b, FolderItem *item)
{
diff --git a/src/plugins/rssyl/rssyl_feed.h b/src/plugins/rssyl/rssyl_feed.h
@@ -16,9 +16,6 @@
#define RSSYL_LOG_ERROR_PROC _("RSSyl: Couldn't process feed at '%s'\n")
#define RSSYL_LOG_ABORTED_EXITING _("RSSyl: Application is exiting, couldn't finish updating feed at '%s'\n")
-FolderItem *rssyl_feed_subscribe_new(FolderItem *parent, const gchar *url,
- gboolean verbose);
-
MsgInfo *rssyl_feed_parse_item_to_msginfo(gchar *file, MsgFlags flags,
gboolean a, gboolean b, FolderItem *item);
diff --git a/src/plugins/rssyl/rssyl_subscribe.c b/src/plugins/rssyl/rssyl_subscribe.c
@@ -56,7 +56,7 @@ static void rssyl_subscribe_foreach_func(gpointer data, gpointer user_data)
rssyl_add_item(ritem, feed_item);
}
-gboolean rssyl_subscribe(FolderItem *parent, const gchar *url,
+FolderItem *rssyl_subscribe(FolderItem *parent, const gchar *url,
gboolean verbose)
{
gchar *myurl = NULL, *tmpname = NULL, *tmpname2 = NULL;
@@ -91,7 +91,7 @@ gboolean rssyl_subscribe(FolderItem *parent, const gchar *url,
feed_free(ctx->feed);
g_free(ctx->error);
g_free(ctx);
- return FALSE;
+ return NULL;
}
if (verbose) {
@@ -105,7 +105,7 @@ gboolean rssyl_subscribe(FolderItem *parent, const gchar *url,
if (sctx->feed == NULL) {
debug_print("RSSyl: User cancelled subscribe.\n");
g_free(sctx);
- return FALSE;
+ return NULL;
}
edit_properties = sctx->edit_properties;
@@ -161,7 +161,7 @@ gboolean rssyl_subscribe(FolderItem *parent, const gchar *url,
g_free(ctx->error);
g_free(ctx);
g_free(myurl);
- return FALSE;
+ return NULL;
}
debug_print("RSSyl: Adding '%s'\n", ctx->feed->url);
@@ -185,5 +185,5 @@ gboolean rssyl_subscribe(FolderItem *parent, const gchar *url,
folder_item_update_thaw();
- return TRUE;
+ return new_item;
}
diff --git a/src/plugins/rssyl/rssyl_subscribe.h b/src/plugins/rssyl/rssyl_subscribe.h
@@ -1,6 +1,6 @@
#ifndef __RSSYL_SUBSCRIBE_H
#define __RSSYL_SUBSCRIBE_H
-gboolean rssyl_subscribe(FolderItem *parent, const gchar *url, gboolean verbose);
+FolderItem *rssyl_subscribe(FolderItem *parent, const gchar *url, gboolean verbose);
#endif /* __RSSYL_SUBSCRIBE_H */