Priority flags changes.
[modest] / src / maemo / modest-msg-edit-window.c
index f96e01e..96a883a 100644 (file)
@@ -873,7 +873,7 @@ set_msg (ModestMsgEditWindow *self, TnyMsg *msg, gboolean preserve_is_rich)
        cc      = tny_header_get_cc (header);
        bcc     = tny_header_get_bcc (header);
        subject = tny_header_get_subject (header);
-       priority_flags = tny_header_get_flags (header) & TNY_HEADER_FLAG_PRIORITY;
+       priority_flags = tny_header_get_priority (header);
 
        if (to)
                modest_recpt_editor_set_recipients (MODEST_RECPT_EDITOR (priv->to_field),  to);
@@ -1729,7 +1729,7 @@ text_buffer_refresh_attributes (WPTextBuffer *buffer, ModestMsgEditWindow *windo
 
 }
 
-
+#ifdef MODEST_HILDON_VERSION_0
 void
 modest_msg_edit_window_select_color (ModestMsgEditWindow *window)
 {
@@ -1738,43 +1738,69 @@ modest_msg_edit_window_select_color (ModestMsgEditWindow *window)
        ModestMsgEditWindowPrivate *priv;
        GtkWidget *dialog = NULL;
        gint response;
-       const GdkColor *new_color = NULL;
-       
+       GdkColor *new_color = NULL;
+
        priv = MODEST_MSG_EDIT_WINDOW_GET_PRIVATE (window);
        wp_text_buffer_get_attributes (WP_TEXT_BUFFER (priv->text_buffer), buffer_format, FALSE);
        
-#ifdef MODEST_HILDON_VERSION_0 
        dialog = hildon_color_selector_new (GTK_WINDOW (window));
        hildon_color_selector_set_color (HILDON_COLOR_SELECTOR (dialog), &(buffer_format->color));
-#else
+       g_free (buffer_format);
+
+       response = gtk_dialog_run (GTK_DIALOG (dialog));
+       switch (response) {
+       case GTK_RESPONSE_OK: {
+               new_color = hildon_color_selector_get_color (HILDON_COLOR_SELECTOR (dialog));
+       }
+               break;
+       default:
+               break;
+       }
+       gtk_widget_destroy (dialog);
+       
+       if (new_color != NULL) {
+               wp_text_buffer_set_attribute (WP_TEXT_BUFFER (priv->text_buffer), WPT_FORECOLOR, (gpointer) new_color);
+               /* FIXME: free new_color here? */
+       }
+}
+#else 
+void
+modest_msg_edit_window_select_color (ModestMsgEditWindow *window)
+{
+       
+       WPTextBufferFormat *buffer_format = g_new0 (WPTextBufferFormat, 1);
+       ModestMsgEditWindowPrivate *priv;
+       GtkWidget *dialog = NULL;
+       gint response;
+       const GdkColor *new_color = NULL;
+       GdkColor col;
+
+       priv = MODEST_MSG_EDIT_WINDOW_GET_PRIVATE (window);
+       wp_text_buffer_get_attributes (WP_TEXT_BUFFER (priv->text_buffer), buffer_format, FALSE);
+               
        dialog = hildon_color_chooser_new ();
        hildon_color_chooser_set_color (HILDON_COLOR_CHOOSER (dialog), &(buffer_format->color));
-#endif /*MODEST_HILDON_VERSION_0*/             
        g_free (buffer_format);
 
        response = gtk_dialog_run (GTK_DIALOG (dialog));
        switch (response) {
        case GTK_RESPONSE_OK: {
-#ifdef MODEST_HILDON_VERSION_0
-               new_color = hildon_color_selector_get_color (HILDON_COLOR_SELECTOR (dialog));
-#else
-               GdkColor col;
                hildon_color_chooser_get_color (HILDON_COLOR_CHOOSER(dialog), &col);
                new_color = &col;
-#endif /*MODEST_HILDON_VERSION_0*/
        }
-
-       break;
+               
+               break;
        default:
                break;
        }
        gtk_widget_destroy (dialog);
-
        if (new_color != NULL)
-               wp_text_buffer_set_attribute (WP_TEXT_BUFFER (priv->text_buffer), WPT_FORECOLOR, (gpointer) new_color);
-
+               wp_text_buffer_set_attribute (WP_TEXT_BUFFER (priv->text_buffer), WPT_FORECOLOR,
+                                             (gpointer) new_color);
 }
 
+#endif /*!MODEST_HILDON_VERSION_0*/
+
 void
 modest_msg_edit_window_select_background_color (ModestMsgEditWindow *window)
 {
@@ -2463,7 +2489,6 @@ modest_msg_edit_window_set_priority_flags (ModestMsgEditWindow *window,
 
        priv = MODEST_MSG_EDIT_WINDOW_GET_PRIVATE (window);
        parent_priv = MODEST_WINDOW_GET_PRIVATE (window);
-       priority_flags = priority_flags & (TNY_HEADER_FLAG_PRIORITY);
 
        if (priv->priority_flags != priority_flags) {
                GtkAction *priority_action = NULL;
@@ -3191,23 +3216,20 @@ modest_msg_edit_window_set_draft (ModestMsgEditWindow *window,
        ModestWindowMgr *mgr = modest_runtime_get_window_mgr ();
 
        if (priv->draft_msg != NULL) {
-               header = tny_msg_get_header (priv->draft_msg);
-               if (TNY_IS_HEADER (header)) {
-                       modest_window_mgr_unregister_header (mgr, header);
-               }
+               modest_window_mgr_unregister_window (mgr, MODEST_WINDOW (window));
                g_object_unref (priv->draft_msg);
        }
 
        if (draft != NULL) {
                g_object_ref (draft);
                header = tny_msg_get_header (draft);
-               if (TNY_IS_HEADER (header))
-                       modest_window_mgr_register_header (mgr, header);
                if (priv->msg_uid) {
                        g_free (priv->msg_uid);
                        priv->msg_uid = NULL;
                }
                priv->msg_uid = modest_tny_folder_get_header_unique_id (header);
+               if (GTK_WIDGET_REALIZED (window))
+                       modest_window_mgr_register_window (mgr, MODEST_WINDOW (window));
        }
 
        priv->draft_msg = draft;