+2002-11-08 [colin] 0.8.5claws99
+
+ * src/folderview.c
+ Fix folder reordering after a move if parent is
+ root
+ * src/scoring.[ch]
+ Add function to copy a ScoringProp
+ * src/prefs_folder_item.c
+ Copy scoring rules when copying a folder prefs
+
2002-11-08 [colin] 0.8.5claws98
* src/folderview.c
MICRO_VERSION=5
INTERFACE_AGE=0
BINARY_AGE=0
-EXTRA_VERSION=claws98
+EXTRA_VERSION=claws99
VERSION=$MAJOR_VERSION.$MINOR_VERSION.$MICRO_VERSION$EXTRA_VERSION
dnl set $target
folderview_create_folder_node_recursive(folderview, new_item);
folderview_update_item(src_parent, TRUE);
folderview_update_item_recursive(new_item, TRUE);
- gtk_sctree_sort_recursive(GTK_CTREE(widget),
+ folderview_sort_folders(folderview,
gtk_ctree_find_by_row_data(GTK_CTREE(widget),
- NULL, new_item->parent));
+ NULL, new_item->parent), new_item->folder);
STATUSBAR_PUSH(folderview->mainwin, _("Done."));
main_window_cursor_normal(folderview->mainwin);
summary_clear_all(folderview->summaryview);
void prefs_folder_item_copy_prefs(FolderItem * src, FolderItem * dest)
{
- GSList *tmp_prop_list = NULL, *tmp;
+ GSList *tmp_prop_list = NULL, *tmp_scor_list = NULL, *tmp;
prefs_folder_item_read_config(src);
tmp_prefs.directory = g_strdup(src->prefs->directory);
tmp_prefs.scoring = g_slist_copy(src->prefs->scoring);
*/
+ prefs_matcher_read_config();
+ for (tmp = src->prefs->scoring; tmp != NULL && tmp->data != NULL;) {
+ ScoringProp *prop = (ScoringProp *)tmp->data;
+
+ tmp_scor_list = g_slist_append(tmp_scor_list,
+ scoringprop_copy(prop));
+ tmp = tmp->next;
+ }
+ tmp_prefs.scoring = tmp_scor_list;
+
for (tmp = src->prefs->processing; tmp != NULL && tmp->data != NULL;) {
FilteringProp *prop = (FilteringProp *)tmp->data;
return scoring;
}
+ScoringProp * scoringprop_copy(ScoringProp *src)
+{
+ ScoringProp * new;
+ GSList *tmp;
+
+ new = g_new0(ScoringProp, 1);
+ new->matchers = g_new0(MatcherList, 1);
+ for (tmp = src->matchers->matchers; tmp != NULL && tmp->data != NULL;) {
+ MatcherProp *matcher = (MatcherProp *)tmp->data;
+
+ new->matchers->matchers = g_slist_append(new->matchers->matchers,
+ matcherprop_copy(matcher));
+ tmp = tmp->next;
+ }
+ new->matchers->bool_and = src->matchers->bool_and;
+ new->score = src->score;
+
+ return new;
+}
+
void scoringprop_free(ScoringProp * prop)
{
matcherlist_free(prop->matchers);
gint scoringprop_score_message(ScoringProp * scoring, MsgInfo * info);
ScoringProp * scoringprop_parse(gchar ** str);
-
+ScoringProp * scoringprop_copy(ScoringProp *src);
gint score_message(GSList * scoring_list, MsgInfo * info);