/*
* Sylpheed -- a GTK+ based, lightweight, and fast e-mail client
- * Copyright (C) 1999-2009 Hiroyuki Yamamoto & the Claws Mail Team
+ * Copyright (C) 1999-2012 Hiroyuki Yamamoto & the Claws Mail Team
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
#ifdef HAVE_CONFIG_H
# include "config.h"
+#include "claws-features.h"
#endif
#include "defs.h"
#undef SET_SENS
}
+static FolderItem *news_find_child_item(FolderItem *item, const gchar *path)
+{
+ GNode *node;
+ FolderItem *child;
+
+ for (node = item->node->children; node != NULL; node = node->next) {
+ child = FOLDER_ITEM(node->data);
+ if (strcmp2(child->path, path) == 0) {
+ return child;
+ }
+ }
+
+ return NULL;
+}
+
static void subscribe_newsgroup_cb(GtkAction *action, gpointer data)
{
FolderView *folderview = (FolderView *)data;
if (!folderview->selected) return;
item = gtk_cmctree_node_get_row_data(ctree, folderview->selected);
- g_return_if_fail(item != NULL);
+ cm_return_if_fail(item != NULL);
if (mainwin->lock_count || news_folder_locked(item->folder))
return;
folder = item->folder;
- g_return_if_fail(folder != NULL);
- g_return_if_fail(FOLDER_TYPE(folder) == F_NEWS);
- g_return_if_fail(folder->account != NULL);
+ cm_return_if_fail(folder != NULL);
+ cm_return_if_fail(FOLDER_TYPE(folder) == F_NEWS);
+ cm_return_if_fail(folder->account != NULL);
if (GTK_CMCTREE_ROW(folderview->selected)->parent != NULL)
servernode = GTK_CMCTREE_ROW(folderview->selected)->parent;
gchar *name = (gchar *)cur->data;
FolderUpdateData hookdata;
- if (folder_find_child_item_by_name(rootitem, name) != NULL)
+ if (news_find_child_item(rootitem, name) != NULL)
continue;
newitem = folder_item_new(folder, name, name);
gtk_cmclist_thaw(GTK_CMCLIST(ctree));
- slist_free_strings(new_subscr);
- g_slist_free(new_subscr);
+ slist_free_strings_full(new_subscr);
folder_write_list();
}
if (!folderview->selected) return;
item = gtk_cmctree_node_get_row_data(ctree, folderview->selected);
- g_return_if_fail(item != NULL);
+ cm_return_if_fail(item != NULL);
if (mainwin->lock_count || news_folder_locked(item->folder))
return;
- g_return_if_fail(item->folder != NULL);
- g_return_if_fail(FOLDER_TYPE(item->folder) == F_NEWS);
- g_return_if_fail(item->folder->account != NULL);
+ cm_return_if_fail(item->folder != NULL);
+ cm_return_if_fail(FOLDER_TYPE(item->folder) == F_NEWS);
+ cm_return_if_fail(item->folder->account != NULL);
old_id = folder_item_get_identifier(item);
g_free(old_id);
}
-static FolderItem *find_child_by_name(FolderItem *item, const gchar *name)
-{
- GNode *node;
- FolderItem *child;
-
- for (node = item->node->children; node != NULL; node = node->next) {
- child = FOLDER_ITEM(node->data);
- if (strcmp2(child->name, name) == 0) {
- return child;
- }
- }
-
- return NULL;
-}
-
static void rename_newsgroup_cb(GtkAction *action, gpointer data)
{
FolderView *folderview = (FolderView *)data;
gchar *message;
item = folderview_get_selected_item(folderview);
- g_return_if_fail(item != NULL);
- g_return_if_fail(item->path != NULL);
- g_return_if_fail(item->folder != NULL);
+ cm_return_if_fail(item != NULL);
+ cm_return_if_fail(item->path != NULL);
+ cm_return_if_fail(item->folder != NULL);
name = trim_string(item->name, 32);
message = g_strdup_printf(_("Input new name for '%s':"), name);
return;
}
- if (find_child_by_name(folder_item_parent(item), new_folder)) {
+ if (folder_find_child_item_by_name(folder_item_parent(item), new_folder)) {
name = trim_string(new_folder, 32);
alertpanel_error(_("The folder '%s' already exists."), name);
g_free(name);
MainWindow *mainwin = mainwindow_get_mainwindow();
item = folderview_get_selected_item(folderview);
- g_return_if_fail(item != NULL);
+ cm_return_if_fail(item != NULL);
if (mainwin->lock_count || news_folder_locked(item->folder))
return;
summary_show(folderview->summaryview, NULL);
- g_return_if_fail(item->folder != NULL);
+ cm_return_if_fail(item->folder != NULL);
folderview_check_new(item->folder);
}
FolderItem *item;
item = folderview_get_selected_item(folderview);
- g_return_if_fail(item != NULL);
+ cm_return_if_fail(item != NULL);
folder_synchronise(item->folder);
}
gint total = 0;
time_t t = time(NULL);
- g_return_if_fail(item != NULL);
- g_return_if_fail(item->folder != NULL);
+ cm_return_if_fail(item != NULL);
+ cm_return_if_fail(item->folder != NULL);
if (mainwin->lock_count || news_folder_locked(item->folder))
return;