[gnumeric] Implement input message editing. [Part of #705310]
- From: Andreas J. Guelzow <guelzow src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnumeric] Implement input message editing. [Part of #705310]
- Date: Sat, 3 Aug 2013 06:11:32 +0000 (UTC)
commit 6f3db5c32e0c5318da08ecebaf4031ef1d3e35b0
Author: Andreas J Guelzow <aguelzow pyrshep ca>
Date: Sat Aug 3 00:10:34 2013 -0600
Implement input message editing. [Part of #705310]
2013-08-03 Andreas J. Guelzow <aguelzow pyrshep ca>
* dialog-cell-format.c (input_msg_rebuild_input_msg): new
(cb_input_msg_rebuild): new
(cb_input_msg_flag_toggled): rebuild input message
(fmt_dialog_init_input_msg_page): connect new callbacks
NEWS | 1 +
src/dialogs/ChangeLog | 7 +++++++
src/dialogs/dialog-cell-format.c | 34 ++++++++++++++++++++++++++++++++++
3 files changed, 42 insertions(+), 0 deletions(-)
---
diff --git a/NEWS b/NEWS
index 7d35a32..fddceac 100644
--- a/NEWS
+++ b/NEWS
@@ -12,6 +12,7 @@ Andreas:
* Fix crash on corrupted files. [#704636]
* Fix ODF import of charts with series consisting of multiple ranges. [#704742]
* Fix ODF export of charts with series consisting of multiple ranges.
+ * Implement input message editing. [Part of #705310]
Jean:
* Fix text wrap inside sheet objects. [#704417]
diff --git a/src/dialogs/ChangeLog b/src/dialogs/ChangeLog
index 2357b92..ef6f8c0 100644
--- a/src/dialogs/ChangeLog
+++ b/src/dialogs/ChangeLog
@@ -1,3 +1,10 @@
+2013-08-03 Andreas J. Guelzow <aguelzow pyrshep ca>
+
+ * dialog-cell-format.c (input_msg_rebuild_input_msg): new
+ (cb_input_msg_rebuild): new
+ (cb_input_msg_flag_toggled): rebuild input message
+ (fmt_dialog_init_input_msg_page): connect new callbacks
+
2013-08-02 Andreas J. Guelzow <aguelzow pyrshep ca>
* dialog-cell-format.c: remove dialog_changed and dialog_changed_user_data
diff --git a/src/dialogs/dialog-cell-format.c b/src/dialogs/dialog-cell-format.c
index c4869e9..b33612f 100644
--- a/src/dialogs/dialog-cell-format.c
+++ b/src/dialogs/dialog-cell-format.c
@@ -1963,6 +1963,26 @@ fmt_dialog_init_validation_page (FormatState *state)
/*****************************************************************************/
static void
+input_msg_rebuild_input_msg (FormatState *state)
+{
+ GnmInputMsg *im;
+ char *msg = gnumeric_textview_get_text (state->input_msg.msg);
+ char const *title = gtk_entry_get_text (state->input_msg.title);
+
+ im = gnm_input_msg_new (msg, title);
+ g_free (msg);
+ gnm_style_set_input_msg (state->result, im);
+ fmt_dialog_changed (state);
+}
+
+static void
+cb_input_msg_rebuild (G_GNUC_UNUSED void *ignored,
+ FormatState *state)
+{
+ input_msg_rebuild_input_msg (state);
+}
+
+static void
cb_input_msg_flag_toggled (GtkToggleButton *button, FormatState *state)
{
gboolean flag = gtk_toggle_button_get_active (button);
@@ -1971,6 +1991,14 @@ cb_input_msg_flag_toggled (GtkToggleButton *button, FormatState *state)
gtk_widget_set_sensitive (GTK_WIDGET (state->input_msg.msg_label), flag);
gtk_widget_set_sensitive (GTK_WIDGET (state->input_msg.title), flag);
gtk_widget_set_sensitive (GTK_WIDGET (state->input_msg.msg), flag);
+
+ if (state->enable_edit) {
+ if (flag)
+ input_msg_rebuild_input_msg (state);
+ else
+ gnm_style_set_input_msg (state->result, NULL);
+ fmt_dialog_changed (state);
+ }
}
static void
@@ -2005,6 +2033,12 @@ fmt_dialog_init_input_msg_page (FormatState *state)
g_signal_connect (G_OBJECT (state->input_msg.flag),
"toggled",
G_CALLBACK (cb_input_msg_flag_toggled), state);
+ g_signal_connect (G_OBJECT (state->input_msg.title),
+ "changed",
+ G_CALLBACK (cb_input_msg_rebuild), state);
+ g_signal_connect (G_OBJECT (gtk_text_view_get_buffer (state->input_msg.msg)),
+ "changed",
+ G_CALLBACK (cb_input_msg_rebuild), state);
/* Initialize */
cb_input_msg_flag_toggled (state->input_msg.flag, state);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]