data->cc = (gchar*) gtk_entry_get_text (GTK_ENTRY(priv->cc_field));
data->bcc = (gchar*) gtk_entry_get_text (GTK_ENTRY(priv->bcc_field));
data->subject = (gchar*) gtk_entry_get_text (GTK_ENTRY(priv->subject_field));
- data->body = gtk_text_buffer_get_text (buf, &b, &e, FALSE);
+ data->plain_body = gtk_text_buffer_get_text (buf, &b, &e, FALSE);
+ /* No rich supported yet, then html body is NULL */
+ data->html_body = NULL;
return data;
}
g_return_if_fail (MODEST_IS_MSG_EDIT_WINDOW (edit_window));
g_free (data->from);
- g_free (data->body);
+ g_free (data->plain_body);
+ g_free (data->html_body);
g_slice_free (MsgData, data);
}
+
+/* Rich formatting API functions */
+ModestMsgEditFormat
+modest_msg_edit_window_get_format (ModestMsgEditWindow *self)
+{
+ return MODEST_MSG_EDIT_FORMAT_TEXT;
+}
+
+void
+modest_msg_edit_window_set_format (ModestMsgEditWindow *self,
+ ModestMsgEditFormat format)
+{
+ switch (format) {
+ case MODEST_MSG_EDIT_FORMAT_TEXT:
+ break;
+ case MODEST_MSG_EDIT_FORMAT_HTML:
+ g_message ("HTML format not supported in Gnome ModestMsgEditWindow");
+ break;
+ default:
+ break;
+ }
+}
+
+ModestMsgEditFormatState *
+modest_msg_edit_window_get_format_state (ModestMsgEditWindow *self)
+{
+ ModestMsgEditFormatState *format_state;
+
+ g_return_val_if_fail (MODEST_IS_MSG_EDIT_WINDOW (self), NULL);
+
+ format_state = g_new0 (ModestMsgEditFormatState, 1);
+
+ return format_state;
+}
+
+void
+modest_msg_edit_window_set_format_state (ModestMsgEditWindow *self,
+ const ModestMsgEditFormatState *format_state)
+{
+ g_return_if_fail (MODEST_MSG_EDIT_WINDOW (self));
+
+ /* Ends silently as set_format_state should do nothing when edit window format
+ is not HTML */
+ return;
+}
+
+void
+modest_msg_edit_window_select_color (ModestMsgEditWindow *window)
+{
+ g_return_if_fail (MODEST_MSG_EDIT_WINDOW (window));
+
+ g_message ("Select color operation is not supported");
+}
+
+void
+modest_msg_edit_window_select_background_color (ModestMsgEditWindow *window)
+{
+ g_return_if_fail (MODEST_MSG_EDIT_WINDOW (window));
+
+ g_message ("Select background color operation is not supported");
+}
+
+void
+modest_msg_edit_window_insert_image (ModestMsgEditWindow *window)
+{
+ g_return_if_fail (MODEST_MSG_EDIT_WINDOW (window));
+
+ g_message ("Insert image operation is not supported");
+}
+
+void
+modest_msg_edit_window_show_cc (ModestMsgEditWindow *window,
+ gboolean show)
+{
+ g_return_if_fail (MODEST_IS_MSG_EDIT_WINDOW (window));
+
+ g_message ("not implemented yet %s", __FUNCTION__);
+}
+void
+modest_msg_edit_window_show_bcc (ModestMsgEditWindow *window,
+ gboolean show)
+{
+ g_return_if_fail (MODEST_IS_MSG_EDIT_WINDOW (window));
+
+ g_message ("not implemented yet %s", __FUNCTION__);
+}
+
+static void
+modest_msg_edit_window_set_zoom (ModestWindow *window,
+ gdouble zoom)
+{
+ g_return_if_fail (MODEST_IS_MSG_EDIT_WINDOW (window));
+
+}
+
+static gdouble
+modest_msg_edit_window_get_zoom (ModestWindow *window)
+{
+ g_return_val_if_fail (MODEST_IS_MSG_EDIT_WINDOW (window), 1.0);
+
+ return 1.0;
+}
+
+static void
+modest_msg_edit_window_zoom_plus (GtkAction *action, ModestWindow *window)
+{
+ ModestWindowPrivate *parent_priv;
+ GtkRadioAction *zoom_radio_action;
+ GSList *group, *node;
+
+ parent_priv = MODEST_WINDOW_GET_PRIVATE (window);
+ zoom_radio_action = GTK_RADIO_ACTION (gtk_ui_manager_get_action (parent_priv->ui_manager,
+ "/MenuBar/ViewMenu/ZoomMenu/Zoom50Menu"));
+
+ group = gtk_radio_action_get_group (zoom_radio_action);
+
+ if (gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (group->data))) {
+ /* FIXME: maemo */
+/* hildon_banner_show_information (NULL, NULL, _("mcen_ib_max_zoom_level")); */
+ return;
+ }
+
+ for (node = group; node != NULL; node = g_slist_next (node)) {
+ if ((node->next != NULL) && gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (node->next->data))) {
+ gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (node->data), TRUE);
+ return;
+ }
+ }
+}
+
+static void
+modest_msg_edit_window_zoom_minus (GtkAction *action, ModestWindow *window)
+{
+ ModestWindowPrivate *parent_priv;
+ GtkRadioAction *zoom_radio_action;
+ GSList *group, *node;
+
+ parent_priv = MODEST_WINDOW_GET_PRIVATE (window);
+ zoom_radio_action = GTK_RADIO_ACTION (gtk_ui_manager_get_action (parent_priv->ui_manager,
+ "/MenuBar/ViewMenu/ZoomMenu/Zoom50Menu"));
+
+ group = gtk_radio_action_get_group (zoom_radio_action);
+
+ for (node = group; node != NULL; node = g_slist_next (node)) {
+ if (gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (node->data))) {
+ if (node->next != NULL)
+ gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (node->next->data), TRUE);
+ /* FIXME: maemo */
+/* else */
+/* hildon_banner_show_information (NULL, NULL, _("mcen_ib_min_zoom_level")); */
+ break;
+ }
+ }
+}