diff options
-rw-r--r-- | calendar/gui/dialogs/comp-editor.c | 3 | ||||
-rw-r--r-- | composer/e-msg-composer.c | 12 | ||||
-rw-r--r-- | e-util/e-util.c | 30 | ||||
-rw-r--r-- | e-util/e-util.h | 5 | ||||
-rw-r--r-- | filter/ChangeLog | 7 | ||||
-rw-r--r-- | filter/filter-option.c | 5 | ||||
-rw-r--r-- | mail/ChangeLog | 16 | ||||
-rw-r--r-- | mail/em-filter-rule.c | 2 | ||||
-rw-r--r-- | mail/em-filter-source-element.c | 2 | ||||
-rw-r--r-- | mail/em-format-html.h | 5 | ||||
-rw-r--r-- | mail/em-format.h | 4 | ||||
-rw-r--r-- | mail/mail-session.c | 2 |
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) { |