static gboolean modest_msg_view_window_key_event (GtkWidget *window,
GdkEventKey *event,
gpointer userdata);
-static gboolean modest_msg_view_window_toggle_menu (HildonWindow *window,
- guint button,
- guint32 time);
static void modest_msg_view_window_update_priority (ModestMsgViewWindow *window);
static void modest_msg_view_window_show_toolbar (ModestWindow *window,
TnyHeader *header,
GtkTreeRowReference *row_reference);
-static void add_to_menu (ModestMsgViewWindow *self,
- HildonAppMenu *menu,
- gchar *label,
- GCallback callback,
- ModestDimmingRulesGroup *group,
- GCallback dimming_callback);
-static void setup_menu (ModestMsgViewWindow *self,
- ModestDimmingRulesGroup *group);
+static void setup_menu (ModestMsgViewWindow *self);
/* list my signals */
enum {
(GInstanceInitFunc) modest_msg_view_window_init,
NULL
};
- my_type = g_type_register_static (MODEST_TYPE_WINDOW,
+ my_type = g_type_register_static (MODEST_TYPE_HILDON2_WINDOW,
"ModestMsgViewWindow",
&my_info, 0);
parent_class = g_type_class_peek_parent (klass);
gobject_class->finalize = modest_msg_view_window_finalize;
- hildon_window_class->toggle_menu = modest_msg_view_window_toggle_menu;
-
modest_window_class->set_zoom_func = modest_msg_view_window_set_zoom;
modest_window_class->get_zoom_func = modest_msg_view_window_get_zoom;
modest_window_class->zoom_plus_func = modest_msg_view_window_zoom_plus;
GObject *obj = NULL;
ModestMsgViewWindowPrivate *priv = NULL;
ModestWindowPrivate *parent_priv = NULL;
- ModestDimmingRulesGroup *menu_rules_group = NULL;
ModestDimmingRulesGroup *toolbar_rules_group = NULL;
ModestDimmingRulesGroup *clipboard_rules_group = NULL;
/* Menubar */
parent_priv->menubar = NULL;
- parent_priv->ui_dimming_manager = modest_ui_dimming_manager_new();
- menu_rules_group = modest_dimming_rules_group_new (MODEST_DIMMING_RULES_MENU, FALSE);
toolbar_rules_group = modest_dimming_rules_group_new (MODEST_DIMMING_RULES_TOOLBAR, TRUE);
clipboard_rules_group = modest_dimming_rules_group_new (MODEST_DIMMING_RULES_CLIPBOARD, FALSE);
- setup_menu (self, menu_rules_group);
+ setup_menu (self);
/* Add common dimming rules */
- modest_dimming_rules_group_add_rules (menu_rules_group,
- modest_msg_view_menu_dimming_entries,
- G_N_ELEMENTS (modest_msg_view_menu_dimming_entries),
- MODEST_WINDOW (self));
modest_dimming_rules_group_add_rules (toolbar_rules_group,
modest_msg_view_toolbar_dimming_entries,
G_N_ELEMENTS (modest_msg_view_toolbar_dimming_entries),
MODEST_WINDOW (self));
/* Insert dimming rules group for this window */
- modest_ui_dimming_manager_insert_rules_group (parent_priv->ui_dimming_manager, menu_rules_group);
modest_ui_dimming_manager_insert_rules_group (parent_priv->ui_dimming_manager, toolbar_rules_group);
modest_ui_dimming_manager_insert_rules_group (parent_priv->ui_dimming_manager, clipboard_rules_group);
- g_object_unref (menu_rules_group);
g_object_unref (toolbar_rules_group);
g_object_unref (clipboard_rules_group);
if ((current_search == NULL) || (strcmp (current_search, "") == 0)) {
g_free (current_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 = 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"));
+ hildon_banner_show_information (NULL, NULL,
+ _HL("ckct_ib_find_no_matches"));
g_free (priv->last_search);
priv->last_search = NULL;
} else {
}
} else {
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"));
+ hildon_banner_show_information (NULL, NULL,
+ _HL("ckct_ib_find_search_complete"));
g_free (priv->last_search);
priv->last_search = NULL;
} else {
{
gdouble zoom_level;
ModestMsgViewWindowPrivate *priv;
+ gint int_zoom;
+ gchar *banner_text;
g_return_val_if_fail (MODEST_IS_MSG_VIEW_WINDOW (window), 1.0);
priv = MODEST_MSG_VIEW_WINDOW_GET_PRIVATE (window);
zoom_level = modest_zoomable_get_zoom (MODEST_ZOOMABLE (priv->msg_view));
if (zoom_level >= 2.0) {
- hildon_banner_show_information (NULL, NULL, dgettext("hildon-common-strings", "ckct_ib_max_zoom_level_reached"));
+ hildon_banner_show_information (NULL, NULL,
+ _CS("ckct_ib_max_zoom_level_reached"));
return FALSE;
} else if (zoom_level >= 1.5) {
zoom_level = 2.0;
}
/* set zoom level */
+ int_zoom = (gint) rint (zoom_level*100.0+0.1);
+ banner_text = g_strdup_printf (_HL("wdgt_ib_zoom"), int_zoom);
+ modest_platform_information_banner (GTK_WIDGET (window), NULL, banner_text);
+ g_free (banner_text);
modest_zoomable_set_zoom (MODEST_ZOOMABLE (priv->msg_view), zoom_level);
return TRUE;
-
}
static gboolean
{
gdouble zoom_level;
ModestMsgViewWindowPrivate *priv;
+ gint int_zoom;
+ gchar *banner_text;
g_return_val_if_fail (MODEST_IS_MSG_VIEW_WINDOW (window), 1.0);
priv = MODEST_MSG_VIEW_WINDOW_GET_PRIVATE (window);
zoom_level = modest_zoomable_get_zoom (MODEST_ZOOMABLE (priv->msg_view));
if (zoom_level <= 0.5) {
- hildon_banner_show_information (NULL, NULL, dgettext("hildon-common-strings", "ckct_ib_min_zoom_level_reached"));
+ hildon_banner_show_information (NULL, NULL,
+ _CS("ckct_ib_min_zoom_level_reached"));
return FALSE;
} else if (zoom_level <= 0.8) {
zoom_level = 0.5;
}
/* set zoom level */
+ int_zoom = (gint) rint (zoom_level*100.0+0.1);
+ banner_text = g_strdup_printf (_HL("wdgt_ib_zoom"), int_zoom);
+ modest_platform_information_banner (GTK_WIDGET (window), NULL, banner_text);
+ g_free (banner_text);
modest_zoomable_set_zoom (MODEST_ZOOMABLE (priv->msg_view), zoom_level);
return TRUE;
if (event->type == GDK_KEY_PRESS) {
GtkScrollType scroll_type;
-
+
switch (event->keyval) {
case GDK_Up:
case GDK_KP_Up:
scroll_type = GTK_SCROLL_END; break;
default: scroll_type = GTK_SCROLL_NONE;
}
-
+
/* g_signal_emit_by_name (G_OBJECT (priv->main_scroll), "scroll-child", */
/* scroll_type, FALSE, &return_value); */
return FALSE;
mgr = modest_runtime_get_window_mgr ();
/* Msg download completed */
if (!(tny_header_get_flags (header) & TNY_HEADER_FLAG_CACHED)) {
+
+ /* We set the header from model while we're loading */
+ tny_header_view_set_header (TNY_HEADER_VIEW (priv->msg_view), header);
+ gtk_window_set_title (GTK_WINDOW (window), _CS("ckdg_pb_updating"));
+
/* Ask the user if he wants to download the message if
we're not online */
if (!tny_device_is_online (modest_runtime_get_device())) {
parent_acc = modest_tny_account_get_parent_modest_account_name_for_server_account (account);
/* Close this window if I'm showing a message of the removed account */
- if (strcmp (parent_acc, our_acc) == 0)
+ if (our_acc && parent_acc && strcmp (parent_acc, our_acc) == 0)
modest_ui_actions_on_close_window (NULL, MODEST_WINDOW (user_data));
}
}
g_return_val_if_fail (MODEST_IS_MSG_VIEW_WINDOW (win), NULL);
priv = MODEST_MSG_VIEW_WINDOW_GET_PRIVATE (win);
- selected_attachments = modest_msg_view_get_selected_attachments (MODEST_MSG_VIEW (priv->msg_view));
+ /* In Hildon 2.2 as there's no selection we assume we have all attachments selected */
+ selected_attachments = modest_msg_view_get_attachments (MODEST_MSG_VIEW (priv->msg_view));
return selected_attachments;
}
if (info->result == GNOME_VFS_OK) {
hildon_banner_show_information (NULL, NULL, _CS("sfil_ib_saved"));
} else if (info->result == GNOME_VFS_ERROR_NO_SPACE) {
- hildon_banner_show_information (NULL, NULL, dgettext("ke-recv",
- "cerm_device_memory_full"));
+ hildon_banner_show_information (NULL, NULL,
+ _KR("cerm_device_memory_full"));
} else {
hildon_banner_show_information (NULL, NULL, _("mail_ib_file_operation_failed"));
}
if (!modest_utils_folder_writable (chooser_uri)) {
hildon_banner_show_information
- (NULL, NULL, dgettext("hildon-fm", "sfil_ib_readonly_location"));
+ (NULL, NULL, _FM("sfil_ib_readonly_location"));
} else {
TnyIterator *iter;
!tny_mime_part_is_purged (mime_part) &&
(tny_mime_part_get_filename (mime_part) != NULL)) {
SaveMimePartPair *pair;
-
+
pair = g_slice_new0 (SaveMimePartPair);
if (tny_list_get_length (mime_parts) > 1) {
priv = MODEST_MSG_VIEW_WINDOW_GET_PRIVATE (window);
if (mime_parts == NULL) {
- mime_parts = modest_msg_view_get_selected_attachments (MODEST_MSG_VIEW (priv->msg_view));
+ /* In Hildon 2.2 save and delete operate over all the attachments as there's no
+ * selection available */
+ mime_parts = modest_msg_view_get_attachments (MODEST_MSG_VIEW (priv->msg_view));
if (mime_parts == NULL || tny_list_get_length (mime_parts) == 0)
return;
} else {
GTK_FILE_CHOOSER_ACTION_SAVE);
/* set folder */
- folder = g_build_filename (g_get_home_dir (), g_getenv (MYDOCS_ENV), DOCS_FOLDER, NULL);
+ folder = g_build_filename (g_getenv (MYDOCS_ENV), DOCS_FOLDER, NULL);
gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (save_dialog), folder);
g_free (folder);
g_return_if_fail (MODEST_IS_MSG_VIEW_WINDOW (window));
priv = MODEST_MSG_VIEW_WINDOW_GET_PRIVATE (window);
- if (get_all)
- mime_parts = modest_msg_view_get_attachments (MODEST_MSG_VIEW (priv->msg_view));
- else
- mime_parts = modest_msg_view_get_selected_attachments (MODEST_MSG_VIEW (priv->msg_view));
+ /* In hildon 2.2 we ignore the get_all flag as we always get all attachments. This is
+ * because we don't have selection
+ */
+ mime_parts = modest_msg_view_get_attachments (MODEST_MSG_VIEW (priv->msg_view));
/* Remove already purged messages from mime parts list */
iter = tny_list_create_iterator (mime_parts);
}
static void
-add_to_menu (ModestMsgViewWindow *self,
- HildonAppMenu *menu,
- gchar *label,
- GCallback callback,
- ModestDimmingRulesGroup *dimming_group,
- GCallback dimming_callback)
+setup_menu (ModestMsgViewWindow *self)
{
- GtkWidget *button;
-
- button = gtk_button_new_with_label (label);
- g_signal_connect_after (G_OBJECT (button), "clicked",
- callback, (gpointer) self);
- modest_dimming_rules_group_add_widget_rule (dimming_group,
- button,
- dimming_callback,
- MODEST_WINDOW (self));
- hildon_app_menu_append (menu, GTK_BUTTON (button));
-}
-
-static void
-setup_menu (ModestMsgViewWindow *self, ModestDimmingRulesGroup *group)
-{
- ModestMsgViewWindowPrivate *priv = NULL;
- GtkWidget *app_menu;
-
g_return_if_fail (MODEST_IS_MSG_VIEW_WINDOW(self));
- priv = MODEST_MSG_VIEW_WINDOW_GET_PRIVATE (self);
-
- app_menu = hildon_app_menu_new ();
-
/* Settings menu buttons */
- add_to_menu (self, HILDON_APP_MENU (app_menu), _("mcen_me_inbox_replytoall"),
- G_CALLBACK (modest_ui_actions_on_reply_all),
- group, G_CALLBACK (modest_ui_dimming_rules_on_reply_msg));
- add_to_menu (self, HILDON_APP_MENU (app_menu), _("mcen_me_inbox_forward"),
- G_CALLBACK (modest_ui_actions_on_forward),
- group, G_CALLBACK (modest_ui_dimming_rules_on_reply_msg));
-
- add_to_menu (self, HILDON_APP_MENU (app_menu), _("mcen_me_inbox_mark_as_read"),
- G_CALLBACK (modest_ui_actions_on_mark_as_read),
- group, G_CALLBACK (modest_ui_dimming_rules_on_mark_as_read_msg_in_view));
- add_to_menu (self, HILDON_APP_MENU (app_menu), _("mcen_me_inbox_mark_as_unread"),
- G_CALLBACK (modest_ui_actions_on_mark_as_unread),
- group, G_CALLBACK (modest_ui_dimming_rules_on_mark_as_unread_msg_in_view));
-
- add_to_menu (self, HILDON_APP_MENU (app_menu), _("mcen_me_viewer_save_attachments"),
- G_CALLBACK (modest_ui_actions_save_attachments),
- group, G_CALLBACK (modest_ui_dimming_rules_on_save_attachments));
- add_to_menu (self, HILDON_APP_MENU (app_menu), _("mcen_me_inbox_remove_attachments"),
- G_CALLBACK (modest_ui_actions_remove_attachments),
- group, G_CALLBACK (modest_ui_dimming_rules_on_remove_attachments));
-
- add_to_menu (self, HILDON_APP_MENU (app_menu), _("mcen_me_viewer_newemail"),
- G_CALLBACK (modest_ui_actions_on_new_msg),
- group, G_CALLBACK (modest_ui_dimming_rules_on_new_msg));
- add_to_menu (self, HILDON_APP_MENU (app_menu), _("mcen_me_viewer_addtocontacts"),
- G_CALLBACK (modest_ui_actions_add_to_contacts),
- group, G_CALLBACK (modest_ui_dimming_rules_on_add_to_contacts));
-
- hildon_stackable_window_set_main_menu (HILDON_STACKABLE_WINDOW (self),
- HILDON_APP_MENU (app_menu));
-}
-
-static gboolean
-modest_msg_view_window_toggle_menu (HildonWindow *window,
- guint button,
- guint32 time)
-{
- modest_ui_actions_check_menu_dimming_rules (MODEST_WINDOW (window));
-
- return HILDON_WINDOW_CLASS (parent_class)->toggle_menu (window, button, time);
+ modest_hildon2_window_add_to_menu (MODEST_HILDON2_WINDOW (self), _("mcen_me_inbox_replytoall"), NULL,
+ APP_MENU_CALLBACK (modest_ui_actions_on_reply_all),
+ MODEST_DIMMING_CALLBACK (modest_ui_dimming_rules_on_reply_msg));
+ modest_hildon2_window_add_to_menu (MODEST_HILDON2_WINDOW (self), _("mcen_me_inbox_forward"), "<Control>d",
+ APP_MENU_CALLBACK (modest_ui_actions_on_forward),
+ MODEST_DIMMING_CALLBACK (modest_ui_dimming_rules_on_reply_msg));
+
+ modest_hildon2_window_add_to_menu (MODEST_HILDON2_WINDOW (self), _("mcen_me_inbox_mark_as_read"), NULL,
+ APP_MENU_CALLBACK (modest_ui_actions_on_mark_as_read),
+ MODEST_DIMMING_CALLBACK (modest_ui_dimming_rules_on_mark_as_read_msg_in_view));
+ modest_hildon2_window_add_to_menu (MODEST_HILDON2_WINDOW (self), _("mcen_me_inbox_mark_as_unread"), NULL,
+ APP_MENU_CALLBACK (modest_ui_actions_on_mark_as_unread),
+ MODEST_DIMMING_CALLBACK (modest_ui_dimming_rules_on_mark_as_unread_msg_in_view));
+
+ modest_hildon2_window_add_to_menu (MODEST_HILDON2_WINDOW (self), _("mcen_me_viewer_save_attachments"), NULL,
+ APP_MENU_CALLBACK (modest_ui_actions_save_attachments),
+ MODEST_DIMMING_CALLBACK (modest_ui_dimming_rules_on_save_attachments));
+ modest_hildon2_window_add_to_menu (MODEST_HILDON2_WINDOW (self), _("mcen_me_inbox_remove_attachments"), NULL,
+ APP_MENU_CALLBACK (modest_ui_actions_remove_attachments),
+ MODEST_DIMMING_CALLBACK (modest_ui_dimming_rules_on_remove_attachments));
+
+ modest_hildon2_window_add_to_menu (MODEST_HILDON2_WINDOW (self), _("mcen_me_new_message"), "<Control>n",
+ APP_MENU_CALLBACK (modest_ui_actions_on_new_msg),
+ MODEST_DIMMING_CALLBACK (modest_ui_dimming_rules_on_new_msg));
+ modest_hildon2_window_add_to_menu (MODEST_HILDON2_WINDOW (self), _("mcen_me_viewer_addtocontacts"), NULL,
+ APP_MENU_CALLBACK (modest_ui_actions_add_to_contacts),
+ MODEST_DIMMING_CALLBACK (modest_ui_dimming_rules_on_add_to_contacts));
}
-
void
modest_msg_view_window_add_to_contacts (ModestMsgViewWindow *self)
{
gboolean contacts_to_add = FALSE;
msg = tny_msg_view_get_msg (TNY_MSG_VIEW (priv->msg_view));
- if (msg == NULL) return;
- recipients = modest_tny_msg_get_all_recipients_list (msg);
+ if (msg == NULL) {
+ TnyHeader *header;
+
+ header = modest_msg_view_window_get_header (self);
+ if (header == NULL)
+ return;
+ recipients = modest_tny_msg_header_get_all_recipients_list (header);
+ g_object_unref (header);
+ } else {
+ recipients = modest_tny_msg_get_all_recipients_list (msg);
+ g_object_unref (msg);
+ }
if (recipients != NULL) {
GtkWidget *picker_dialog;
}
if (recipients) {g_slist_foreach (recipients, (GFunc) g_free, NULL); g_slist_free (recipients);}
- g_object_unref (msg);
}