aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--calendar/gui/dialogs/comp-editor.c3
-rw-r--r--composer/e-msg-composer.c12
-rw-r--r--e-util/e-util.c30
-rw-r--r--e-util/e-util.h5
-rw-r--r--filter/ChangeLog7
-rw-r--r--filter/filter-option.c5
-rw-r--r--mail/ChangeLog16
-rw-r--r--mail/em-filter-rule.c2
-rw-r--r--mail/em-filter-source-element.c2
-rw-r--r--mail/em-format-html.h5
-rw-r--r--mail/em-format.h4
-rw-r--r--mail/mail-session.c2
12 files changed, 86 insertions, 7 deletions
diff --git a/calendar/gui/dialogs/comp-editor.c b/calendar/gui/dialogs/comp-editor.c
index 466973d88e..9d7e2f38ef 100644
--- a/calendar/gui/dialogs/comp-editor.c
+++ b/calendar/gui/dialogs/comp-editor.c
@@ -2356,6 +2356,9 @@ fill_widgets (CompEditor *editor)
view = E_ATTACHMENT_VIEW (editor->priv->attachment_view);
store = e_attachment_view_get_store (view);
+ view = E_ATTACHMENT_VIEW (editor->priv->attachment_view);
+ store = e_attachment_view_get_store (view);
+
priv = editor->priv;
/*Check if attachments are available here and set them*/
diff --git a/composer/e-msg-composer.c b/composer/e-msg-composer.c
index d1a6abb222..c1379d21aa 100644
--- a/composer/e-msg-composer.c
+++ b/composer/e-msg-composer.c
@@ -1109,12 +1109,13 @@ get_signature_html (EMsgComposer *composer)
"<!--+GtkHTML:<DATA class=\"ClueFlow\" key=\"signature_name\" value=\"uid:%s\">-->"
"<TABLE WIDTH=\"100%%\" CELLSPACING=\"0\" CELLPADDING=\"0\"><TR><TD><BR>"
"%s%s%s%s"
- "</TD></TR></TABLE>",
+ "%s</TD></TR></TABLE>",
encoded_uid ? encoded_uid : "",
format_html ? "" : "<PRE>\n",
format_html || (!strncmp ("-- \n", text, 4) || strstr (text, "\n-- \n")) ? "" : "-- \n",
text,
- format_html ? "" : "</PRE>\n");
+ format_html ? "" : "</PRE>\n",
+ is_top_signature () ? "<BR>" : "");
g_free (text);
g_free (encoded_uid);
text = html;
@@ -3861,6 +3862,7 @@ e_msg_composer_show_sig_file (EMsgComposer *composer)
GtkhtmlEditor *editor;
GtkHTML *html;
gchar *html_text;
+ gboolean top_signature;
g_return_if_fail (E_IS_MSG_COMPOSER (composer));
@@ -3887,6 +3889,8 @@ e_msg_composer_show_sig_file (EMsgComposer *composer)
}
gtkhtml_editor_run_command (editor, "unblock-selection");
+ top_signature = is_top_signature ();
+
html_text = get_signature_html (composer);
if (html_text) {
gtkhtml_editor_run_command (editor, "insert-paragraph");
@@ -3900,6 +3904,10 @@ e_msg_composer_show_sig_file (EMsgComposer *composer)
gtkhtml_editor_run_command (editor, "style-normal");
gtkhtml_editor_insert_html (editor, html_text);
g_free (html_text);
+ } else if (top_signature) {
+ /* insert paragraph after the signature ClueFlow things */
+ gtkhtml_editor_run_command (editor, "cursor-forward");
+ gtkhtml_editor_run_command (editor, "insert-paragraph");
}
gtkhtml_editor_undo_end (editor);
diff --git a/e-util/e-util.c b/e-util/e-util.c
index 071f5e58b8..04be119657 100644
--- a/e-util/e-util.c
+++ b/e-util/e-util.c
@@ -1531,3 +1531,33 @@ e_camel_object_get_type (void)
return type;
}
+
+static gpointer
+e_camel_object_copy (gpointer camel_object)
+{
+ if (CAMEL_IS_OBJECT (camel_object))
+ camel_object_ref (camel_object);
+
+ return camel_object;
+}
+
+static void
+e_camel_object_free (gpointer camel_object)
+{
+ if (CAMEL_IS_OBJECT (camel_object))
+ camel_object_unref (camel_object);
+}
+
+GType
+e_camel_object_get_type (void)
+{
+ static GType type = 0;
+
+ if (G_UNLIKELY (type == 0))
+ type = g_boxed_type_register_static (
+ "ECamelObject",
+ (GBoxedCopyFunc) e_camel_object_copy,
+ (GBoxedFreeFunc) e_camel_object_free);
+
+ return type;
+}
diff --git a/e-util/e-util.h b/e-util/e-util.h
index 34ef3466d3..c748aaed8e 100644
--- a/e-util/e-util.h
+++ b/e-util/e-util.h
@@ -151,6 +151,11 @@ GType e_camel_object_get_type (void);
#define E_TYPE_CAMEL_OBJECT (e_camel_object_get_type ())
GType e_camel_object_get_type (void);
+/* Camel uses its own object system, so we have to box
+ * CamelObjects to safely use them as GObject properties. */
+#define E_TYPE_CAMEL_OBJECT (e_camel_object_get_type ())
+GType e_camel_object_get_type (void);
+
G_END_DECLS
#endif /* _E_UTIL_H_ */
diff --git a/filter/ChangeLog b/filter/ChangeLog
index 656210ddce..daf8946e76 100644
--- a/filter/ChangeLog
+++ b/filter/ChangeLog
@@ -1,3 +1,10 @@
+2009-04-28 Milan Crha <mcrha@redhat.com>
+
+ ** Fix for bug #572348
+
+ * filter-option.c: (combobox_changed), (get_widget):
+ Fix breakage of filter options.
+
2009-04-24 Milan Crha <mcrha@redhat.com>
** Fix for bug #572348
diff --git a/filter/filter-option.c b/filter/filter-option.c
index 3b93084d67..7c5bbe901c 100644
--- a/filter/filter-option.c
+++ b/filter/filter-option.c
@@ -346,7 +346,7 @@ combobox_changed (GtkWidget *widget, FilterElement *fe)
{
FilterOption *fo = (FilterOption *)fe;
- fo->current = (struct _filter_option *) g_list_nth (fo->options, gtk_combo_box_get_active (GTK_COMBO_BOX (widget)));
+ fo->current = (struct _filter_option *) g_list_nth_data (fo->options, gtk_combo_box_get_active (GTK_COMBO_BOX (widget)));
}
static GSList *
@@ -439,6 +439,9 @@ get_widget (FilterElement *fe)
op = l->data;
gtk_combo_box_append_text (GTK_COMBO_BOX (combobox), _(op->title));
+ if (op == fo->current)
+ current = index;
+
l = g_list_next (l);
index++;
}
diff --git a/mail/ChangeLog b/mail/ChangeLog
index 586cb1b7bf..359083a65e 100644
--- a/mail/ChangeLog
+++ b/mail/ChangeLog
@@ -1,3 +1,19 @@
+2009-04-28 Milan Crha <mcrha@redhat.com>
+
+ ** Fix for bug #572348
+
+ * em-filter-rule.c: (part_combobox_changed):
+ * em-filter-source-element.c: (source_changed):
+ Fix breakage of filter options.
+
+2009-04-28 Milan Crha <mcrha@redhat.com>
+
+ ** Fix for bug #579550
+
+ * mail-session.c: (main_get_filter_driver):
+ Do not mark messages recognized as junk Seen, to let user notice new
+ messages in a junk folder.
+
2009-04-27 Milan Crha <mcrha@redhat.com>
** Fix for bug #579635
diff --git a/mail/em-filter-rule.c b/mail/em-filter-rule.c
index 10f06e38da..45dd78c708 100644
--- a/mail/em-filter-rule.c
+++ b/mail/em-filter-rule.c
@@ -331,7 +331,7 @@ part_combobox_changed (GtkComboBox *combobox, struct _part_data *data)
int index, i;
index = gtk_combo_box_get_active (combobox);
- for (i = 0, part = rule_context_next_part (RULE_CONTEXT (data->f), part); part && i < index; i++, part = rule_context_next_part (RULE_CONTEXT (data->f), part)) {
+ for (i = 0, part = em_filter_context_next_action (data->f, part); part && i < index; i++, part = em_filter_context_next_action (data->f, part)) {
/* traverse until reached index */
}
diff --git a/mail/em-filter-source-element.c b/mail/em-filter-source-element.c
index 096f91b2dd..e35871638f 100644
--- a/mail/em-filter-source-element.c
+++ b/mail/em-filter-source-element.c
@@ -240,7 +240,7 @@ source_changed(GtkComboBox *combobox, EMFilterSourceElement *fs)
idx = gtk_combo_box_get_active (combobox);
g_return_if_fail (idx >= 0 && idx < g_list_length (fs->priv->sources));
- info = (SourceInfo *) g_list_nth (fs->priv->sources, idx);
+ info = (SourceInfo *) g_list_nth_data (fs->priv->sources, idx);
g_return_if_fail (info != NULL);
g_free (fs->priv->current_url);
diff --git a/mail/em-format-html.h b/mail/em-format-html.h
index d35556316a..23e0057f89 100644
--- a/mail/em-format-html.h
+++ b/mail/em-format-html.h
@@ -209,6 +209,11 @@ struct _EMFormatHTML {
EMFormat parent;
EMFormatHTMLPrivate *priv;
+<<<<<<< HEAD:mail/em-format-html.h
+=======
+ EMFormatHTMLPrivate *priv;
+
+>>>>>>> master:mail/em-format-html.h
GtkHTML *html;
EDList pending_object_list;
diff --git a/mail/em-format.h b/mail/em-format.h
index fc29eeaeb4..f262d49be1 100644
--- a/mail/em-format.h
+++ b/mail/em-format.h
@@ -398,4 +398,6 @@ void em_format_merge_handler (EMFormat *new,
G_END_DECLS
-#endif /* ! _EM_FORMAT_H */
+G_END_DECLS
+
+#endif /* EM_FORMAT_H */
diff --git a/mail/mail-session.c b/mail/mail-session.c
index 58b675828a..8e7b2177c5 100644
--- a/mail/mail-session.c
+++ b/mail/mail-session.c
@@ -548,7 +548,7 @@ main_get_filter_driver (CamelSession *session, const char *type, CamelException
if ((!strcmp (type, FILTER_SOURCE_INCOMING) || !strcmp (type, FILTER_SOURCE_JUNKTEST))
&& camel_session_check_junk (session)) {
/* implicit junk check as 1st rule */
- camel_filter_driver_add_rule (driver, "Junk check", "(junk-test)", "(begin (set-system-flag \"junk\")(set-system-flag \"seen\"))");
+ camel_filter_driver_add_rule (driver, "Junk check", "(junk-test)", "(begin (set-system-flag \"junk\"))");
}
if (strcmp (type, FILTER_SOURCE_JUNKTEST) != 0) {