#include "modest-progress-bar-widget.h"
#include "modest-defs.h"
#include "modest-hildon-includes.h"
-#include <gtkhtml/gtkhtml-search.h>
#include "modest-ui-dimming-manager.h"
#include <gdk/gdkkeysyms.h>
#include <modest-tny-account.h>
+#include <modest-mime-part-view.h>
+#include <modest-isearch-view.h>
#include <math.h>
#define DEFAULT_FOLDER "MyDocs/.documents"
}
static void
-init_window (ModestMsgViewWindow *obj, TnyMsg *msg)
+init_window (ModestMsgViewWindow *obj)
{
GtkWidget *main_vbox;
ModestMsgViewWindowPrivate *priv;
priv = MODEST_MSG_VIEW_WINDOW_GET_PRIVATE(obj);
parent_priv = MODEST_WINDOW_GET_PRIVATE(obj);
- priv->msg_view = modest_msg_view_new (msg);
+ priv->msg_view = GTK_WIDGET (tny_platform_factory_new_msg_view (modest_tny_platform_factory_get_instance ()));
modest_msg_view_set_shadow_type (MODEST_MSG_VIEW (priv->msg_view), GTK_SHADOW_NONE);
main_vbox = gtk_vbox_new (FALSE, 6);
gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (priv->main_scroll), GTK_SHADOW_NONE);
modest_maemo_set_thumbable_scrollbar (GTK_SCROLLED_WINDOW(priv->main_scroll), TRUE);
+#ifdef MODEST_USE_MOZEMBED
+ gtk_scrolled_window_add_with_viewport (GTK_SCROLLED_WINDOW (priv->main_scroll), priv->msg_view);
+#else
gtk_container_add (GTK_CONTAINER (priv->main_scroll), priv->msg_view);
+#endif
gtk_box_pack_start (GTK_BOX(main_vbox), priv->main_scroll, TRUE, TRUE, 0);
gtk_container_add (GTK_CONTAINER(obj), main_vbox);
/* TODO: This should be in _init(), with the parameters as properties. */
static void
-modest_msg_view_window_construct (ModestMsgViewWindow *self, TnyMsg *msg,
+modest_msg_view_window_construct (ModestMsgViewWindow *self,
const gchar *modest_account_name,
const gchar *msg_uid)
{
GError *error = NULL;
GdkPixbuf *window_icon;
- g_return_if_fail (msg);
-
obj = G_OBJECT (self);
priv = MODEST_MSG_VIEW_WINDOW_GET_PRIVATE(obj);
parent_priv = MODEST_WINDOW_GET_PRIVATE(obj);
gtk_ui_manager_get_accel_group (parent_priv->ui_manager));
/* Init window */
- init_window (MODEST_MSG_VIEW_WINDOW(obj), msg);
+ init_window (MODEST_MSG_VIEW_WINDOW(obj));
restore_settings (MODEST_MSG_VIEW_WINDOW(obj));
/* Set window icon */
/* g_signal_connect (G_OBJECT(obj), "delete-event", G_CALLBACK(on_delete_event), obj); */
- g_signal_connect (G_OBJECT(priv->msg_view), "link_clicked",
+ g_signal_connect (G_OBJECT(priv->msg_view), "activate_link",
G_CALLBACK (modest_ui_actions_on_msg_link_clicked), obj);
g_signal_connect (G_OBJECT(priv->msg_view), "link_hover",
G_CALLBACK (modest_ui_actions_on_msg_link_hover), obj);
/* Check toolbar dimming rules */
modest_ui_actions_check_toolbar_dimming_rules (MODEST_WINDOW (obj));
modest_window_check_dimming_rules_group (MODEST_WINDOW (obj), "ModestClipboardDimmingRules");
-
+
}
ModestWindow *
window = g_object_new(MODEST_TYPE_MSG_VIEW_WINDOW, NULL);
g_return_val_if_fail (MODEST_IS_MSG_VIEW_WINDOW (window), NULL);
- modest_msg_view_window_construct (window, msg, modest_account_name, msg_uid);
+ modest_msg_view_window_construct (window, modest_account_name, msg_uid);
priv = MODEST_MSG_VIEW_WINDOW_GET_PRIVATE (window);
MODEST_HEADER_VIEW_OBSERVER(window));
}
+ gtk_widget_show_all (GTK_WIDGET (window));
+
+ tny_msg_view_set_msg (TNY_MSG_VIEW (priv->msg_view), msg);
+
modest_msg_view_window_update_priority (window);
/* Check toolbar dimming rules */
window = g_object_new(MODEST_TYPE_MSG_VIEW_WINDOW, NULL);
g_return_val_if_fail (MODEST_IS_MSG_VIEW_WINDOW (window), NULL);
- modest_msg_view_window_construct (window, msg, modest_account_name, msg_uid);
+ modest_msg_view_window_construct (window, modest_account_name, msg_uid);
priv = MODEST_MSG_VIEW_WINDOW_GET_PRIVATE (window);
* so we can disable some UI appropriately: */
priv->is_search_result = TRUE;
+ tny_msg_view_set_msg (TNY_MSG_VIEW (priv->msg_view), msg);
+
return MODEST_WINDOW(window);
}
const gchar *msg_uid)
{
GObject *obj = NULL;
+ ModestMsgViewWindowPrivate *priv;
g_return_val_if_fail (msg, NULL);
obj = g_object_new(MODEST_TYPE_MSG_VIEW_WINDOW, NULL);
+ priv = MODEST_MSG_VIEW_WINDOW_GET_PRIVATE (obj);
modest_msg_view_window_construct (MODEST_MSG_VIEW_WINDOW (obj),
- msg, modest_account_name, msg_uid);
+ modest_account_name, msg_uid);
+
+ tny_msg_view_set_msg (TNY_MSG_VIEW (priv->msg_view), msg);
return MODEST_WINDOW(obj);
}
*/
if (priv->header_model == NULL) {
msg = modest_msg_view_window_get_message (self);
- header = tny_msg_get_header (msg);
- g_object_unref (msg);
+ if (msg) {
+ header = tny_msg_get_header (msg);
+ g_object_unref (msg);
+ }
return header;
}
gchar *current_search;
ModestMsgViewWindowPrivate *priv = MODEST_MSG_VIEW_WINDOW_GET_PRIVATE (obj);
- if (modest_msg_view_get_message_is_empty (MODEST_MSG_VIEW (priv->msg_view))) {
+ if (modest_mime_part_view_is_empty (MODEST_MIME_PART_VIEW (priv->msg_view))) {
hildon_banner_show_information (NULL, NULL, _("mail_ib_nothing_to_find"));
return;
}
gboolean result;
g_free (priv->last_search);
priv->last_search = g_strdup (current_search);
- result = modest_msg_view_search (MODEST_MSG_VIEW (priv->msg_view),
- priv->last_search);
+ result = modest_isearch_view_search (MODEST_ISEARCH_VIEW (priv->msg_view),
+ priv->last_search);
if (!result) {
hildon_banner_show_information (NULL, NULL, dgettext("hildon-libs", "ckct_ib_find_no_matches"));
g_free (priv->last_search);
modest_msg_view_grab_focus (MODEST_MSG_VIEW (priv->msg_view));
}
} else {
- if (!modest_msg_view_search_next (MODEST_MSG_VIEW (priv->msg_view))) {
+ if (!modest_isearch_view_search_next (MODEST_ISEARCH_VIEW (priv->msg_view))) {
hildon_banner_show_information (NULL, NULL, dgettext("hildon-libs", "ckct_ib_find_search_complete"));
g_free (priv->last_search);
priv->last_search = NULL;