/* connection-specific-smtp-window.c */
#include "modest-signature-editor-dialog.h"
-#include "maemo/modest-maemo-ui-constants.h"
-#include <hildon-widgets/hildon-caption.h>
-#include <hildon-widgets/hildon-number-editor.h>
+#include "widgets/modest-ui-constants.h"
+#include "modest-hildon-includes.h"
#include "widgets/modest-serversecurity-combo-box.h"
#include "widgets/modest-secureauth-combo-box.h"
#include "widgets/modest-validating-entry.h"
+#include "modest-runtime.h"
#include <modest-account-mgr-helpers.h>
#include <gtk/gtkcheckbutton.h>
#include <gtk/gtkhbox.h>
#include <gtk/gtkvbox.h>
#include <gtk/gtktextview.h>
#include <gtk/gtklabel.h>
+#include <gtk/gtkscrolledwindow.h>
#include <gtk/gtkstock.h>
#include <glib/gi18n.h>
{
GtkWidget *checkbox_use;
GtkWidget *label;
+ GtkWidget *scrolledwindow;
GtkWidget *textview;
};
}
static void
+enable_widgets (ModestSignatureEditorDialog *self)
+{
+ ModestSignatureEditorDialogPrivate *priv =
+ SIGNATURE_EDITOR_DIALOG_GET_PRIVATE (self);
+
+ const gboolean enable = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (priv->checkbox_use));
+ gtk_widget_set_sensitive (priv->label, enable);
+ gtk_widget_set_sensitive (priv->scrolledwindow, enable);
+ gtk_text_view_set_editable (GTK_TEXT_VIEW (priv->textview), enable);
+}
+
+static void
+on_toggle_button_changed (GtkToggleButton *togglebutton, gpointer user_data)
+{
+ ModestSignatureEditorDialog *self = MODEST_SIGNATURE_EDITOR_DIALOG (user_data);
+ enable_widgets (self);
+}
+
+static void
modest_signature_editor_dialog_init (ModestSignatureEditorDialog *self)
{
ModestSignatureEditorDialogPrivate *priv =
gtk_window_set_title (GTK_WINDOW (self), _("mcen_ti_email_signatures_edit_title"));
GtkWidget *box = GTK_DIALOG(self)->vbox; /* gtk_vbox_new (FALSE, MODEST_MARGIN_HALF); */
+ gtk_container_set_border_width (GTK_CONTAINER (box), MODEST_MARGIN_HALF);
priv->checkbox_use = gtk_check_button_new_with_label (
_("mcen_fi_email_signatures_use_signature"));
gtk_box_pack_start (GTK_BOX (box), priv->checkbox_use, FALSE, FALSE, MODEST_MARGIN_HALF);
gtk_widget_show (priv->checkbox_use);
+ g_signal_connect (G_OBJECT (priv->checkbox_use), "toggled",
+ G_CALLBACK (on_toggle_button_changed), self);
+
+
priv->label = gtk_label_new (""); /* Set in modest_signature_editor_dialog_set_settings(). */
gtk_box_pack_start (GTK_BOX (box), priv->label, FALSE, FALSE, MODEST_MARGIN_HALF);
gtk_widget_show (priv->label);
+ priv->scrolledwindow = gtk_scrolled_window_new (NULL, NULL);
+ gtk_container_set_border_width (GTK_CONTAINER (priv->scrolledwindow), MODEST_MARGIN_DEFAULT);
+ gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (priv->scrolledwindow),
+ GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
+ gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (priv->scrolledwindow), GTK_SHADOW_IN);
+ gtk_box_pack_start (GTK_BOX (box), priv->scrolledwindow, FALSE, FALSE, MODEST_MARGIN_HALF);
+ gtk_widget_show (priv->scrolledwindow);
+
priv->textview = gtk_text_view_new ();
- gtk_box_pack_start (GTK_BOX (box), priv->textview, FALSE, FALSE, MODEST_MARGIN_HALF);
+ gtk_container_add (GTK_CONTAINER (priv->scrolledwindow), priv->textview);
gtk_widget_show (priv->textview);
+ GtkTextBuffer *buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (priv->textview));
+ gtk_text_buffer_set_text (buffer, "--\n", -1); /* Default, as per the UI spec. */
/* Add the buttons: */
gtk_dialog_add_button (GTK_DIALOG (self), GTK_STOCK_OK, GTK_RESPONSE_OK);
gtk_widget_show (box);
+
+ /* When this window is shown, hibernation should not be possible,
+ * because there is no sensible way to save the state: */
+ modest_window_mgr_prevent_hibernation_while_window_is_shown (
+ modest_runtime_get_window_mgr (), GTK_WINDOW (self));
}
ModestSignatureEditorDialog*
if (signature)
gtk_text_buffer_set_text (buffer, signature, -1);
else
- gtk_text_buffer_set_text (buffer, "", -1);
+ gtk_text_buffer_set_text (buffer, "--\n", -1); /* Default, as per the UI spec. */
+
+ enable_widgets (window);
}
/*