X-Git-Url: http://git.maemo.org/git/?a=blobdiff_plain;ds=sidebyside;f=src%2Fmaemo%2Fmodest-msg-edit-window.c;h=77cedb06ddbecf797ef5653fa89e4facb2bc5efc;hb=a4a4f2640022f8b27dc85bc1ef49ac88dbbcf3d3;hp=657fd459666bcd84d54e9f7f4bc2dde29d5af933;hpb=d4537d8a01b0789310de9a11d3344147ee9691c0;p=modest diff --git a/src/maemo/modest-msg-edit-window.c b/src/maemo/modest-msg-edit-window.c index 657fd45..77cedb0 100644 --- a/src/maemo/modest-msg-edit-window.c +++ b/src/maemo/modest-msg-edit-window.c @@ -1753,22 +1753,42 @@ modest_msg_edit_window_select_color (ModestMsgEditWindow *window) hildon_color_selector_set_color (HILDON_COLOR_SELECTOR (dialog), &(buffer_format->color)); g_free (buffer_format); - response = gtk_dialog_run (GTK_DIALOG (dialog)); - switch (response) { - case GTK_RESPONSE_OK: { + if (gtk_dialog_run (GTK_DIALOG (dialog) == GTK_RESPONSE_OK)) { new_color = hildon_color_selector_get_color (HILDON_COLOR_SELECTOR (dialog)); - } - break; - default: - break; + if (new_color != NULL) { + wp_text_buffer_set_attribute (WP_TEXT_BUFFER (priv->text_buffer), WPT_FORECOLOR, + (gpointer) new_color); + } } gtk_widget_destroy (dialog); +} + + +void +modest_msg_edit_window_select_background_color (ModestMsgEditWindow *window) +{ + + ModestMsgEditWindowPrivate *priv; + GtkWidget *dialog = NULL; + gint response; + GdkColor *old_color = NULL; + const GdkColor *new_color = NULL; - 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? */ + priv = MODEST_MSG_EDIT_WINDOW_GET_PRIVATE (window); + old_color = (GdkColor*)wp_text_buffer_get_background_color (WP_TEXT_BUFFER (priv->text_buffer)); + + dialog = hildon_color_selector_new (GTK_WINDOW (window)); + hildon_color_selector_set_color (HILDON_COLOR_SELECTOR (dialog),(GdkColor*)old_color); + + if (gtk_dialog_run (GTK_DIALOG (dialog) == GTK_RESPONSE_OK)) { + new_color = hildon_color_selector_get_color (HILDON_COLOR_SELECTOR (dialog)); + if (new_color != NULL) + wp_text_buffer_set_background_color (WP_TEXT_BUFFER (priv->text_buffer), new_color); } + gtk_widget_destroy (dialog); + } + #else void modest_msg_edit_window_select_color (ModestMsgEditWindow *window) @@ -1777,9 +1797,6 @@ 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); @@ -1788,24 +1805,15 @@ modest_msg_edit_window_select_color (ModestMsgEditWindow *window) hildon_color_chooser_set_color (HILDON_COLOR_CHOOSER (dialog), &(buffer_format->color)); g_free (buffer_format); - response = gtk_dialog_run (GTK_DIALOG (dialog)); - switch (response) { - case GTK_RESPONSE_OK: { + if (gtk_dialog_run (GTK_DIALOG (dialog)) == GTK_RESPONSE_OK) { + GdkColor col; hildon_color_chooser_get_color (HILDON_COLOR_CHOOSER(dialog), &col); - new_color = &col; - } - - break; - default: - break; + wp_text_buffer_set_attribute (WP_TEXT_BUFFER (priv->text_buffer), WPT_FORECOLOR, + (gpointer) &col); } gtk_widget_destroy (dialog); - if (new_color != NULL) - 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) @@ -1813,42 +1821,25 @@ modest_msg_edit_window_select_background_color (ModestMsgEditWindow *window) ModestMsgEditWindowPrivate *priv; GtkWidget *dialog = NULL; - gint response; GdkColor *old_color = NULL; - const GdkColor *new_color = NULL; priv = MODEST_MSG_EDIT_WINDOW_GET_PRIVATE (window); old_color = (GdkColor*)wp_text_buffer_get_background_color (WP_TEXT_BUFFER (priv->text_buffer)); -#ifdef MODEST_HILDON_VERSION_0 - dialog = hildon_color_selector_new (GTK_WINDOW (window)); - hildon_color_selector_set_color (HILDON_COLOR_SELECTOR (dialog),(GdkColor*)old_color); -#else dialog = hildon_color_chooser_new (); hildon_color_chooser_set_color (HILDON_COLOR_CHOOSER (dialog),(GdkColor*)old_color); -#endif /*MODEST_HILDON_VERSION_9*/ - 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 + if (gtk_dialog_run (GTK_DIALOG (dialog)) == GTK_RESPONSE_OK) { GdkColor col; hildon_color_chooser_get_color (HILDON_COLOR_CHOOSER(dialog), &col); - new_color = &col; -#endif /*MODEST_HILDON_VERSION_0*/ - } - break; - default: - break; + wp_text_buffer_set_background_color (WP_TEXT_BUFFER (priv->text_buffer), &col); } gtk_widget_destroy (dialog); +} + +#endif /*!MODEST_HILDON_VERSION_0*/ - if (new_color != NULL) - wp_text_buffer_set_background_color (WP_TEXT_BUFFER (priv->text_buffer), new_color); -} static TnyStream* create_stream_for_uri (const gchar* uri) { @@ -3222,7 +3213,6 @@ modest_msg_edit_window_set_draft (ModestMsgEditWindow *window, ModestWindowMgr *mgr = modest_runtime_get_window_mgr (); if (priv->draft_msg != NULL) { - modest_window_mgr_unregister_window (mgr, MODEST_WINDOW (window)); g_object_unref (priv->draft_msg); }