X-Git-Url: http://git.maemo.org/git/?p=modest;a=blobdiff_plain;f=src%2Fmaemo%2Fmodest-msg-view-window.c;h=92ea3008a340aa05441eb58ee789ec5ba3f8d0cf;hp=6e27bfd1064d413e8c38833194b602b3a193d179;hb=531402cfff9f940ed5c3b49ec30f8cb9bbd32d34;hpb=1a4b6bce7dcf450e194555b90ff3c887a23400f4 diff --git a/src/maemo/modest-msg-view-window.c b/src/maemo/modest-msg-view-window.c index 6e27bfd..92ea300 100644 --- a/src/maemo/modest-msg-view-window.c +++ b/src/maemo/modest-msg-view-window.c @@ -345,6 +345,9 @@ modest_msg_view_window_init (ModestMsgViewWindow *obj) priv->purge_timeout = 0; priv->remove_attachment_banner = NULL; priv->msg_uid = NULL; + + modest_window_mgr_register_help_id (modest_runtime_get_window_mgr(), + GTK_WINDOW(obj),"applications_email_viewer"); } @@ -513,16 +516,17 @@ init_window (ModestMsgViewWindow *obj) hildon_window_set_menu (HILDON_WINDOW(obj), GTK_MENU(parent_priv->menubar)); gtk_widget_show (GTK_WIDGET(parent_priv->menubar)); +#ifdef MODEST_USE_MOZEMBED + priv->main_scroll = priv->msg_view; + gtk_widget_set_size_request (priv->msg_view, -1, 1600); +#else priv->main_scroll = gtk_scrolled_window_new (NULL, NULL); + gtk_container_add (GTK_CONTAINER (priv->main_scroll), priv->msg_view); +#endif gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (priv->main_scroll), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); 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); @@ -541,9 +545,8 @@ modest_msg_view_window_disconnect_signals (ModestWindow *self) { ModestMsgViewWindowPrivate *priv; ModestHeaderView *header_view = NULL; - ModestMainWindow *main_window = NULL; - ModestWindowMgr *window_mgr = NULL; - + ModestWindow *main_window = NULL; + priv = MODEST_MSG_VIEW_WINDOW_GET_PRIVATE (self); if (gtk_clipboard_get (GDK_SELECTION_PRIMARY) && @@ -584,19 +587,15 @@ modest_msg_view_window_disconnect_signals (ModestWindow *self) priv->rows_reordered_handler); } - window_mgr = modest_runtime_get_window_mgr(); - g_assert(window_mgr != NULL); - - main_window = MODEST_MAIN_WINDOW( - modest_window_mgr_get_main_window(window_mgr)); - - if(main_window == NULL) + main_window = modest_window_mgr_get_main_window (modest_runtime_get_window_mgr(), + FALSE); /* don't create */ + if (!main_window) return; - + header_view = MODEST_HEADER_VIEW( modest_main_window_get_child_widget( - main_window, MODEST_MAIN_WINDOW_WIDGET_TYPE_HEADER_VIEW)); - + MODEST_MAIN_WINDOW(main_window), + MODEST_MAIN_WINDOW_WIDGET_TYPE_HEADER_VIEW)); if (header_view == NULL) return; @@ -843,6 +842,7 @@ modest_msg_view_window_construct (ModestMsgViewWindow *self, } +/* FIXME: parameter checks */ ModestWindow * modest_msg_view_window_new_with_header_model (TnyMsg *msg, const gchar *modest_account_name, @@ -854,24 +854,28 @@ modest_msg_view_window_new_with_header_model (TnyMsg *msg, ModestMsgViewWindowPrivate *priv = NULL; TnyFolder *header_folder = NULL; ModestHeaderView *header_view = NULL; - ModestMainWindow *main_window = NULL; - ModestWindowMgr *window_mgr = NULL; - + ModestWindow *main_window = NULL; + 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, modest_account_name, msg_uid); priv = MODEST_MSG_VIEW_WINDOW_GET_PRIVATE (window); /* Remember the message list's TreeModel so we can detect changes * and change the list selection when necessary: */ - window_mgr = modest_runtime_get_window_mgr(); - g_assert(window_mgr != NULL); - main_window = MODEST_MAIN_WINDOW( - modest_window_mgr_get_main_window(window_mgr)); - g_assert(main_window != NULL); + + main_window = modest_window_mgr_get_main_window( + modest_runtime_get_window_mgr(), FALSE); /* don't create */ + if (!main_window) { + g_warning ("%s: BUG: no main window", __FUNCTION__); + return NULL; + } + header_view = MODEST_HEADER_VIEW(modest_main_window_get_child_widget( - main_window, MODEST_MAIN_WINDOW_WIDGET_TYPE_HEADER_VIEW)); + MODEST_MAIN_WINDOW(main_window), + MODEST_MAIN_WINDOW_WIDGET_TYPE_HEADER_VIEW)); if (header_view != NULL){ header_folder = modest_header_view_get_folder(header_view); g_assert(header_folder != NULL); @@ -910,6 +914,7 @@ modest_msg_view_window_new_with_header_model (TnyMsg *msg, gtk_widget_show_all (GTK_WIDGET (window)); tny_msg_view_set_msg (TNY_MSG_VIEW (priv->msg_view), msg); + update_window_title (MODEST_MSG_VIEW_WINDOW (window)); modest_msg_view_window_update_priority (window); @@ -1800,7 +1805,7 @@ view_msg_cb (ModestMailOperation *mail_op, /* Mark header as read */ if (!(tny_header_get_flags (header) & TNY_HEADER_FLAG_SEEN)) - tny_header_set_flags (header, TNY_HEADER_FLAG_SEEN); + tny_header_set_flag (header, TNY_HEADER_FLAG_SEEN); /* Set new message */ tny_msg_view_set_msg (TNY_MSG_VIEW (priv->msg_view), msg); @@ -2336,7 +2341,7 @@ save_mime_part_to_file (SaveMimePartInfo *info) TnyStream *stream; SaveMimePartPair *pair = (SaveMimePartPair *) info->pairs->data; - result = gnome_vfs_create (&handle, pair->filename, GNOME_VFS_OPEN_WRITE, FALSE, 0777); + result = gnome_vfs_create (&handle, pair->filename, GNOME_VFS_OPEN_WRITE, FALSE, 0444); if (result == GNOME_VFS_OK) { stream = tny_vfs_stream_new (handle); tny_mime_part_decode_to_stream (pair->part, stream); @@ -2619,8 +2624,9 @@ update_window_title (ModestMsgViewWindow *window) TnyMsg *msg = NULL; TnyHeader *header = NULL; const gchar *subject = NULL; - + msg = tny_msg_view_get_msg (TNY_MSG_VIEW (priv->msg_view)); + if (msg != NULL) { header = tny_msg_get_header (msg); subject = tny_header_get_subject (header); @@ -2633,6 +2639,7 @@ update_window_title (ModestMsgViewWindow *window) gtk_window_set_title (GTK_WINDOW (window), subject); } + static void on_move_focus (ModestMsgViewWindow *window, GtkDirectionType direction, gpointer userdata)