* Fixed some compilation problems in GNOME
[modest] / src / gnome / modest-msg-edit-window.c
index 2ed3095..9c0e688 100644 (file)
@@ -402,7 +402,9 @@ modest_msg_edit_window_get_msg_data (ModestMsgEditWindow *edit_window)
        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;
 }
@@ -414,6 +416,161 @@ modest_msg_edit_window_free_msg_data (ModestMsgEditWindow *edit_window,
        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;
+               }
+       }
+}