#include "modest-msg-edit-window-ui-dimming.h"
#include "modest-hildon-includes.h"
-#ifdef MODEST_HAVE_HILDON0_WIDGETS
-#include <hildon-widgets/hildon-color-chooser.h>
-#endif
#include "widgets/modest-msg-edit-window-ui.h"
-#ifdef MODEST_HAVE_HILDON0_WIDGETS
-#include <libgnomevfs/gnome-vfs-mime-utils.h>
-#else
#include <libgnomevfs/gnome-vfs-mime.h>
-#endif
#include <modest-utils.h>
#include "modest-maemo-utils.h"
{
#ifdef DEBUG
GtkTextIter iter;
- g_message ("BEGIN BUFFER OF SIZE %d", gtk_text_buffer_get_char_count (GTK_TEXT_BUFFER (buffer)));
+ g_debug ("BEGIN BUFFER OF SIZE %d", gtk_text_buffer_get_char_count (GTK_TEXT_BUFFER (buffer)));
gtk_text_buffer_get_start_iter (GTK_TEXT_BUFFER (buffer), &iter);
while (!gtk_text_iter_is_end (&iter)) {
g_string_append (output, " ");
}
output = g_string_append (output, "]\n");
- g_message ("%s", output->str);
+ g_debug ("%s", output->str);
g_string_free (output, TRUE);
gtk_text_iter_forward_to_tag_toggle (&iter, NULL);
}
- g_message ("END BUFFER");
+ g_debug ("END BUFFER");
#endif
}
TnyMsg *draft_msg;
TnyMsg *outbox_msg;
gchar *msg_uid;
+ gchar *references;
+ gchar *in_reply_to;
gboolean sent;
};
priv->draft_msg = NULL;
priv->outbox_msg = NULL;
priv->msg_uid = NULL;
+ priv->references = NULL;
+ priv->in_reply_to = NULL;
priv->can_undo = FALSE;
priv->can_redo = FALSE;
gchar *from_string = NULL;
if (account_name) {
from_string = modest_account_mgr_get_from_string (account_mgr,
- account_name);
+ account_name, NULL);
}
if (from_string && account_name) {
if (priv->original_account_name)
g_free (priv->original_account_name);
g_free (priv->msg_uid);
+ g_free (priv->references);
+ g_free (priv->in_reply_to);
g_free (priv->last_search);
g_slist_free (priv->font_items_group);
g_slist_free (priv->size_items_group);
readed = tny_stream_read (TNY_STREAM (stream), (char *) read_buffer, 128);
size += readed;
if (!gdk_pixbuf_loader_write (loader, read_buffer, readed, &error)) {
+ if (error)
+ g_free (error);
break;
}
}
content_type = tny_mime_part_get_content_type (TNY_MIME_PART (msg));
- if (content_type && !g_strcasecmp (content_type, "multipart/related")) {
+ if (content_type && !g_ascii_strcasecmp (content_type, "multipart/related")) {
parent = g_object_ref (msg);
- } else if (content_type && !g_strcasecmp (content_type, "multipart/mixed")) {
+ } else if (content_type && !g_ascii_strcasecmp (content_type, "multipart/mixed")) {
TnyList *parts = TNY_LIST (tny_simple_list_new ());
TnyIterator *iter;
TnyMimePart *part;
part = TNY_MIME_PART (tny_iterator_get_current (iter));
content_type = tny_mime_part_get_content_type (part);
- if (content_type && !g_strcasecmp (content_type, "multipart/related")) {
+ if (content_type && !g_ascii_strcasecmp (content_type, "multipart/related")) {
parent = part;
break;
} else {
gtk_entry_set_text (GTK_ENTRY(priv->subject_field), subject);
modest_msg_edit_window_set_priority_flags (MODEST_MSG_EDIT_WINDOW(self),
priority_flags);
+ modest_tny_msg_get_references (TNY_MSG (msg), NULL, &(priv->references), &(priv->in_reply_to));
update_window_title (self);
ModestWindow*
-modest_msg_edit_window_new (TnyMsg *msg, const gchar *account_name, gboolean preserve_is_rich)
+modest_msg_edit_window_new (TnyMsg *msg,
+ const gchar *account_name,
+ const gchar *mailbox, /* ignored */
+ gboolean preserve_is_rich)
{
GObject *obj;
ModestWindowPrivate *parent_priv;
/* don't free these (except from) */
data = g_slice_new0 (MsgData);
data->from = modest_account_mgr_get_from_string (modest_runtime_get_account_mgr(),
- account_name);
+ account_name, NULL);
data->account_name = g_strdup (account_name);
data->to = g_strdup (modest_recpt_editor_get_recipients (MODEST_RECPT_EDITOR (priv->to_field)));
data->cc = g_strdup (modest_recpt_editor_get_recipients (MODEST_RECPT_EDITOR (priv->cc_field)));
data->bcc = g_strdup (modest_recpt_editor_get_recipients (MODEST_RECPT_EDITOR (priv->bcc_field)));
data->subject = g_strdup (gtk_entry_get_text (GTK_ENTRY (priv->subject_field)));
+ data->references = g_strdup (priv->references);
+ data->in_reply_to = g_strdup (priv->in_reply_to);
if (priv->draft_msg) {
data->draft_msg = g_object_ref (priv->draft_msg);
} else if (priv->outbox_msg) {
g_free (data->plain_body);
g_free (data->html_body);
g_free (data->account_name);
+ g_free (data->in_reply_to);
+ g_free (data->references);
if (data->draft_msg != NULL) {
g_object_unref (data->draft_msg);
text_buffer_refresh_attributes (WP_TEXT_BUFFER (priv->text_buffer), self);
+ g_free (buffer_format);
g_free (current_format);
+ /* Check dimming rules */
+ modest_ui_actions_check_toolbar_dimming_rules (MODEST_WINDOW (self));
+ modest_ui_actions_check_menu_dimming_rules (MODEST_WINDOW (self));
}
static void
}
-#ifdef MODEST_HILDON_VERSION_0
-void
-modest_msg_edit_window_select_color (ModestMsgEditWindow *window)
-{
-
- WPTextBufferFormat *buffer_format = g_new0 (WPTextBufferFormat, 1);
- ModestMsgEditWindowPrivate *priv;
- GtkWidget *dialog = NULL;
- gint response;
- GdkColor *new_color = NULL;
-
- priv = MODEST_MSG_EDIT_WINDOW_GET_PRIVATE (window);
- wp_text_buffer_get_attributes (WP_TEXT_BUFFER (priv->text_buffer), buffer_format, FALSE);
-
- dialog = hildon_color_selector_new (GTK_WINDOW (window));
- hildon_color_selector_set_color (HILDON_COLOR_SELECTOR (dialog), &(buffer_format->color));
- g_free (buffer_format);
-
- if (gtk_dialog_run (GTK_DIALOG (dialog) == GTK_RESPONSE_OK)) {
- new_color = hildon_color_selector_get_color (HILDON_COLOR_SELECTOR (dialog));
- if (new_color != NULL) {
- wp_text_buffer_set_attribute (WP_TEXT_BUFFER (priv->text_buffer), WPT_FORECOLOR,
- (gpointer) new_color);
- }
- }
- gtk_widget_destroy (dialog);
-}
-
void
-modest_msg_edit_window_select_background_color (ModestMsgEditWindow *window)
-{
-
- ModestMsgEditWindowPrivate *priv;
- GtkWidget *dialog = NULL;
- gint response;
- GdkColor *old_color = NULL;
- const GdkColor *new_color = NULL;
-
- priv = MODEST_MSG_EDIT_WINDOW_GET_PRIVATE (window);
- old_color = (GdkColor*)wp_text_buffer_get_background_color (WP_TEXT_BUFFER (priv->text_buffer));
-
- dialog = hildon_color_selector_new (GTK_WINDOW (window));
- hildon_color_selector_set_color (HILDON_COLOR_SELECTOR (dialog),(GdkColor*)old_color);
-
- if (gtk_dialog_run (GTK_DIALOG (dialog) == GTK_RESPONSE_OK)) {
- new_color = hildon_color_selector_get_color (HILDON_COLOR_SELECTOR (dialog));
- if (new_color != NULL)
- wp_text_buffer_set_background_color (WP_TEXT_BUFFER (priv->text_buffer), new_color);
- }
- gtk_widget_destroy (dialog);
-
-}
-
-#else
-void
modest_msg_edit_window_select_color (ModestMsgEditWindow *window)
{
gtk_widget_destroy (dialog);
}
-#endif /*!MODEST_HILDON_VERSION_0*/
-
-
static TnyStream*
create_stream_for_uri (const gchar* uri)
modest_maemo_utils_setup_images_filechooser (GTK_FILE_CHOOSER (dialog));
modest_window_mgr_set_modal (modest_runtime_get_window_mgr (),
- GTK_WINDOW (dialog));
+ GTK_WINDOW (dialog),
+ GTK_WINDOW (window));
response = gtk_dialog_run (GTK_DIALOG (dialog));
switch (response) {
if (stream == NULL) {
- modest_platform_information_banner (NULL, NULL, dgettext("hildon-fm", "sfil_ib_opening_not_allowed"));
+ modest_platform_information_banner (NULL, NULL,
+ _FM("sfil_ib_opening_not_allowed"));
g_object_unref (mime_part);
gnome_vfs_file_info_unref (info);
dialog = hildon_file_chooser_dialog_new (GTK_WINDOW (window), GTK_FILE_CHOOSER_ACTION_OPEN);
gtk_window_set_title (GTK_WINDOW (dialog), _("mcen_ti_select_attachment_title"));
gtk_file_chooser_set_select_multiple (GTK_FILE_CHOOSER (dialog), TRUE);
- modest_window_mgr_set_modal (modest_runtime_get_window_mgr (), GTK_WINDOW (dialog));
+ modest_window_mgr_set_modal (modest_runtime_get_window_mgr (), GTK_WINDOW (dialog), GTK_WINDOW (window));
response = gtk_dialog_run (GTK_DIALOG (dialog));
switch (response) {
info->valid_fields & GNOME_VFS_FILE_INFO_FIELDS_SIZE) {
size = info->size;
if (size > allowed_size) {
- modest_platform_information_banner (NULL, NULL,
- dgettext("hildon-fm", "sfil_ib_opening_not_allowed"));
+ modest_platform_information_banner (NULL, NULL,
+ _("mail_ib_error_attachment_size"));
return 0;
}
} else
- g_warning ("%s: could not get attachment size", __FUNCTION__);
+ g_debug ("%s: could not get attachment size", __FUNCTION__);
stream = create_stream_for_uri (uri);
if (stream == NULL) {
- modest_platform_information_banner (NULL, NULL, dgettext("hildon-fm", "sfil_ib_opening_not_allowed"));
+ modest_platform_information_banner (NULL, NULL, _FM("sfil_ib_opening_not_allowed"));
g_object_unref (mime_part);
gnome_vfs_file_info_unref (info);
GdkColor *new_color;
priv = MODEST_MSG_EDIT_WINDOW_GET_PRIVATE (window);
-#ifdef MODEST_HAVE_HILDON0_WIDGETS
- new_color = hildon_color_button_get_color (HILDON_COLOR_BUTTON (priv->font_color_button));
-#else
- GdkColor col;
- hildon_color_button_get_color (HILDON_COLOR_BUTTON(priv->font_color_button), &col);
- new_color = &col;
-#endif /*#ifdef MODEST_HAVE_HILDON0_WIDGETS*/
+ hildon_color_button_get_color (HILDON_COLOR_BUTTON(priv->font_color_button), new_color);
wp_text_buffer_set_attribute (WP_TEXT_BUFFER (priv->text_buffer), WPT_FORECOLOR, (gpointer) new_color);
}
- modest_address_book_select_addresses (editor);
+ modest_address_book_select_addresses (editor, GTK_WINDOW (window));
}
break;
}
modest_ui_actions_check_toolbar_dimming_rules (MODEST_WINDOW (window));
+ modest_ui_actions_check_menu_dimming_rules (MODEST_WINDOW (window));
text_buffer_refresh_attributes (WP_TEXT_BUFFER (priv->text_buffer), window);
}
}
dialog = hildon_font_selection_dialog_new (GTK_WINDOW (window), NULL);
modest_window_mgr_set_modal (modest_runtime_get_window_mgr(),
- GTK_WINDOW(dialog));
+ GTK_WINDOW(dialog), GTK_WINDOW (window));
/* First we get the currently selected font information */
wp_text_buffer_get_attributes (WP_TEXT_BUFFER (priv->text_buffer), &oldfmt, TRUE);
"family-set", !oldfmt.cs.font,
NULL);
+ modest_window_mgr_set_modal (modest_runtime_get_window_mgr (),
+ GTK_WINDOW (dialog), GTK_WINDOW (window));
gtk_widget_show_all (dialog);
priv->font_dialog = dialog;
response = gtk_dialog_run (GTK_DIALOG (dialog));
modest_ui_actions_check_toolbar_dimming_rules (MODEST_WINDOW (window));
modest_ui_actions_check_menu_dimming_rules (MODEST_WINDOW (window));
-
}
void
modest_msg_edit_window_check_names (ModestMsgEditWindow *window, gboolean add_to_addressbook)
{
ModestMsgEditWindowPrivate *priv = NULL;
-
+ GSList *address_list = NULL;
+
g_return_val_if_fail (MODEST_IS_MSG_EDIT_WINDOW (window), FALSE);
priv = MODEST_MSG_EDIT_WINDOW_GET_PRIVATE (window);
return FALSE;
}
- if (!modest_address_book_check_names (MODEST_RECPT_EDITOR (priv->to_field), add_to_addressbook)) {
+ /* Check names */
+ g_object_ref (window);
+ if (!modest_address_book_check_names (MODEST_RECPT_EDITOR (priv->to_field), &address_list)) {
modest_recpt_editor_grab_focus (MODEST_RECPT_EDITOR (priv->to_field));
+ g_object_unref (window);
return FALSE;
}
- if (!modest_address_book_check_names (MODEST_RECPT_EDITOR (priv->cc_field), add_to_addressbook)) {
+ if (!modest_address_book_check_names (MODEST_RECPT_EDITOR (priv->cc_field), &address_list)) {
modest_recpt_editor_grab_focus (MODEST_RECPT_EDITOR (priv->cc_field));
+ g_object_unref (window);
return FALSE;
}
- if (!modest_address_book_check_names (MODEST_RECPT_EDITOR (priv->bcc_field), add_to_addressbook)) {
+ if (!modest_address_book_check_names (MODEST_RECPT_EDITOR (priv->bcc_field), &address_list)) {
modest_recpt_editor_grab_focus (MODEST_RECPT_EDITOR (priv->bcc_field));
+ g_object_unref (window);
return FALSE;
}
+ /* Add contacts to address book */
+ if (address_list)
+ modest_address_book_add_address_list (address_list);
+
if (!modest_recpt_editor_has_focus (MODEST_RECPT_EDITOR (priv->cc_field)) &&
!modest_recpt_editor_has_focus (MODEST_RECPT_EDITOR (priv->bcc_field)))
modest_recpt_editor_grab_focus (MODEST_RECPT_EDITOR (priv->to_field));
+ g_object_unref (window);
return TRUE;
if (result_len + old_length > 1000) {
hildon_banner_show_information (GTK_WIDGET (window), NULL,
- dgettext("hildon-common-strings",
- "ckdg_ib_maximum_characters_reached"));
+ _CS("ckdg_ib_maximum_characters_reached"));
}
g_string_free (result, TRUE);
g_free (priv->last_search);
priv->last_search = NULL;
/* Information banner about empty search */
- hildon_banner_show_information (NULL, NULL, dgettext ("hildon-common-strings", "ecdg_ib_find_rep_enter_text"));
+ hildon_banner_show_information (NULL, NULL,
+ _CS ("ecdg_ib_find_rep_enter_text"));
return;
}
result = gtk_text_iter_forward_search_insensitive (&selection_end, current_search,
&match_start, &match_end);
if (!result)
- hildon_banner_show_information (NULL, NULL, dgettext ("hildon-libs", "ckct_ib_find_search_complete"));
+ hildon_banner_show_information (NULL, NULL,
+ _HL ("ckct_ib_find_search_complete"));
} else {
GtkTextIter buffer_start;
gtk_text_buffer_get_start_iter (priv->text_buffer, &buffer_start);
result = gtk_text_iter_forward_search_insensitive (&buffer_start, current_search,
&match_start, &match_end);
if (!result)
- hildon_banner_show_information (NULL, NULL, dgettext ("hildon-libs", "ckct_ib_find_no_matches"));
+ hildon_banner_show_information (NULL, NULL,
+ _HL ("ckct_ib_find_no_matches"));
}
/* Mark as selected the string found in search */
}
priv->msg_uid = modest_tny_folder_get_header_unique_id (header);
if (GTK_WIDGET_REALIZED (window))
- modest_window_mgr_register_window (mgr, MODEST_WINDOW (window));
+ modest_window_mgr_register_window (mgr, MODEST_WINDOW (window), NULL);
}
priv->draft_msg = draft;
ModestMsgEditWindowPrivate *priv = MODEST_MSG_EDIT_WINDOW_GET_PRIVATE (userdata);
gchar *tag_name;
- if (tag == NULL+13) return;
+ if (tag == NULL) return;
g_object_get (G_OBJECT (tag), "name", &tag_name, NULL);
if ((tag_name != NULL) && (g_str_has_prefix (tag_name, "image-tag-replace-"))) {
replace_with_images (window, priv->images);
{
g_return_val_if_fail (MODEST_IS_MSG_EDIT_WINDOW (window), FALSE);
- hildon_banner_show_information (NULL, NULL, dgettext("hildon-common-strings", "ckct_ib_cannot_zoom_here"));
+ hildon_banner_show_information (NULL, NULL,
+ _CS("ckct_ib_cannot_zoom_here"));
return FALSE;
}