[gnumeric] Permit data entry by-passing autocorrection.
- From: Andreas J. Guelzow <guelzow src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnumeric] Permit data entry by-passing autocorrection.
- Date: Mon, 29 Nov 2010 00:13:01 +0000 (UTC)
commit 92f94a17ecaad1e0a1510d17f8cbaf2bedf62625
Author: Andreas J Guelzow <aguelzow pyrshep ca>
Date: Sun Nov 28 17:12:36 2010 -0700
Permit data entry by-passing autocorrection.
2010-11-28 Andreas J. Guelzow <aguelzow pyrshep ca>
* src/commands.h (cmd_set_text): add autocorrect flag
* src/commands.c (cmd_set_text): add autocorrect flag, change
all callers
(cmd_set_text_full): add autocorrect flag, change all callers
* src/wbc-gtk-edit.c (wbcg_edit_finish): handle WBC_EDIT_ACCEPT_WO_AC
* src/wbc-gtk.h (WBCEditResult): add WBC_EDIT_ACCEPT_WO_AC
* src/wbc-gtk.c (cb_accept_input_wo_ac): new
(cb_accept_input_menu): connect cb_accept_input_wo_ac
ChangeLog | 11 +++++++++++
NEWS | 1 +
src/commands.c | 20 ++++++++++++++------
src/commands.h | 2 +-
src/wbc-gtk-edit.c | 7 ++++++-
src/wbc-gtk.c | 8 ++++++++
src/wbc-gtk.h | 2 ++
src/widgets/gnm-sheet-slicer-combo-view.c | 2 +-
src/widgets/gnm-validation-combo-view.c | 2 +-
9 files changed, 45 insertions(+), 10 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index 450e601..d02769e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2010-11-28 Andreas J. Guelzow <aguelzow pyrshep ca>
+
+ * src/commands.h (cmd_set_text): add autocorrect flag
+ * src/commands.c (cmd_set_text): add autocorrect flag, change
+ all callers
+ (cmd_set_text_full): add autocorrect flag, change all callers
+ * src/wbc-gtk-edit.c (wbcg_edit_finish): handle WBC_EDIT_ACCEPT_WO_AC
+ * src/wbc-gtk.h (WBCEditResult): add WBC_EDIT_ACCEPT_WO_AC
+ * src/wbc-gtk.c (cb_accept_input_wo_ac): new
+ (cb_accept_input_menu): connect cb_accept_input_wo_ac
+
2010-11-25 Morten Welinder <terra gnome org>
* configure.in: Post-release bump.
diff --git a/NEWS b/NEWS
index db6e857..745aff7 100644
--- a/NEWS
+++ b/NEWS
@@ -2,6 +2,7 @@ Gnumeric 1.10.13
Andreas:
* Calculate residuals when using the regression tool. [#635064]
+ * Permit data entry by-passing autocorrection.
--------------------------------------------------------------------------
Gnumeric 1.10.12
diff --git a/src/commands.c b/src/commands.c
index 4eb589b..8b25e39 100644
--- a/src/commands.c
+++ b/src/commands.c
@@ -806,7 +806,8 @@ cmd_set_text_full_check_markup (GnmCellIter const *iter, PangoAttrList *markup)
static gboolean
cmd_set_text_full (WorkbookControl *wbc, GSList *selection, GnmEvalPos *ep,
- char const *new_text, PangoAttrList *markup)
+ char const *new_text, PangoAttrList *markup,
+ gboolean autocorrect)
{
GSList *l;
char const *expr_txt;
@@ -891,10 +892,16 @@ cmd_set_text_full (WorkbookControl *wbc, GSList *selection, GnmEvalPos *ep,
} else {
GString *text_str;
PangoAttrList *adj_markup = NULL;
- char *corrected = (new_text != NULL) ?
- autocorrect_tool (new_text) : NULL;
+ char *corrected;
gboolean same_text = TRUE;
gboolean same_markup = TRUE;
+
+ if (new_text == NULL)
+ corrected = NULL;
+ else if (autocorrect)
+ corrected = autocorrect_tool (new_text);
+ else
+ corrected = g_strdup (new_text);
if (corrected && (corrected[0] == '\'') && corrected[1] == '\0') {
g_free (corrected);
@@ -1075,7 +1082,7 @@ cmd_area_set_text (WorkbookControl *wbc, SheetView *sv,
eval_pos_init_editpos (&ep, sv);
result = cmd_set_text_full (wbc, selection, &ep,
- new_text, markup);
+ new_text, markup, TRUE);
return result;
}
@@ -1083,7 +1090,8 @@ gboolean
cmd_set_text (WorkbookControl *wbc,
Sheet *sheet, GnmCellPos const *pos,
char const *new_text,
- PangoAttrList *markup)
+ PangoAttrList *markup,
+ gboolean autocorrect)
{
GnmCell const *cell;
GnmEvalPos ep;
@@ -1107,7 +1115,7 @@ cmd_set_text (WorkbookControl *wbc,
r->start = r->end = *pos;
selection = g_slist_prepend (NULL, r);
result = cmd_set_text_full (wbc, selection, &ep,
- new_text, markup);
+ new_text, markup, autocorrect);
return result;
}
diff --git a/src/commands.h b/src/commands.h
index 4d2c75c..609936a 100644
--- a/src/commands.h
+++ b/src/commands.h
@@ -33,7 +33,7 @@ gboolean cmd_generic_with_size (WorkbookControl *wbc, const char *text,
gboolean cmd_set_text (WorkbookControl *wbc, Sheet *sheet,
GnmCellPos const *pos, char const *new_text,
- PangoAttrList *markup);
+ PangoAttrList *markup, gboolean autocorrect);
gboolean cmd_area_set_text (WorkbookControl *wbc, SheetView *sv,
char const *text, PangoAttrList *markup);
diff --git a/src/wbc-gtk-edit.c b/src/wbc-gtk-edit.c
index 7f76e08..c58fe44 100644
--- a/src/wbc-gtk-edit.c
+++ b/src/wbc-gtk-edit.c
@@ -162,6 +162,7 @@ wbcg_edit_finish (WBCGtk *wbcg, WBCEditResult result,
}
break;
}
+ case (WBC_EDIT_ACCEPT_WO_AC):
case (WBC_EDIT_ACCEPT): {
GnmCell const *cell = sheet_cell_get
(sheet, sv->edit_pos.col, sv->edit_pos.row);
@@ -196,6 +197,7 @@ wbcg_edit_finish (WBCGtk *wbcg, WBCEditResult result,
}
break;
}
+ case (WBC_EDIT_ACCEPT_WO_AC):
case (WBC_EDIT_ACCEPT): {
GnmRange r;
r.end = r.start = pp.eval;
@@ -358,6 +360,7 @@ wbcg_edit_finish (WBCGtk *wbcg, WBCEditResult result,
showed_dialog);
break;
}
+ case (WBC_EDIT_ACCEPT_WO_AC):
case (WBC_EDIT_ACCEPT): {
GnmRange r;
GnmCell *cell;
@@ -406,7 +409,9 @@ wbcg_edit_finish (WBCGtk *wbcg, WBCEditResult result,
? pango_attr_list_copy (wbcg->edit_line.markup)
: NULL;
if (result == WBC_EDIT_ACCEPT)
- cmd_set_text (wbc, sheet, &sv->edit_pos, txt, res_markup);
+ cmd_set_text (wbc, sheet, &sv->edit_pos, txt, res_markup, TRUE);
+ else if (result == WBC_EDIT_ACCEPT_WO_AC)
+ cmd_set_text (wbc, sheet, &sv->edit_pos, txt, res_markup, FALSE);
else
cmd_area_set_text (wbc, sv, txt, res_markup);
if (res_markup)
diff --git a/src/wbc-gtk.c b/src/wbc-gtk.c
index 7678922..0e8695e 100644
--- a/src/wbc-gtk.c
+++ b/src/wbc-gtk.c
@@ -1953,6 +1953,12 @@ cb_accept_input (WBCGtk *wbcg)
}
static void
+cb_accept_input_wo_ac (WBCGtk *wbcg)
+{
+ wbcg_edit_finish (wbcg, WBC_EDIT_ACCEPT_WO_AC, NULL);
+}
+
+static void
cb_accept_input_array (WBCGtk *wbcg)
{
wbcg_edit_finish (wbcg, WBC_EDIT_ACCEPT_ARRAY, NULL);
@@ -2092,6 +2098,8 @@ cb_accept_input_menu (GtkMenuToolButton *button, WBCGtk *wbcg)
} const accept_input_actions [] = {
{ N_("Enter in current cell"), cb_accept_input,
NULL },
+ { N_("Enter in current cell without autocorrection"), cb_accept_input_wo_ac,
+ NULL },
/* { N_("Enter on all non-hidden sheets"), cb_accept_input_sheets, */
/* cb_accept_input_menu_sensitive_sheets}, */
/* { N_("Enter on multiple sheets..."), cb_accept_input_selected_sheets, */
diff --git a/src/wbc-gtk.h b/src/wbc-gtk.h
index 75d3b19..646ada2 100644
--- a/src/wbc-gtk.h
+++ b/src/wbc-gtk.h
@@ -54,6 +54,8 @@ WBCGtk *wbcg_find_for_workbook (Workbook *wb,
typedef enum {
WBC_EDIT_REJECT = 0,
WBC_EDIT_ACCEPT, /* assign content to current edit pos */
+ WBC_EDIT_ACCEPT_WO_AC, /* assign content to current edit pos not */
+ /* autocorrecting*/
WBC_EDIT_ACCEPT_RANGE, /* assign content to first range in selection */
WBC_EDIT_ACCEPT_ARRAY /* assign content as an array to the first range in selection */
} WBCEditResult;
diff --git a/src/widgets/gnm-sheet-slicer-combo-view.c b/src/widgets/gnm-sheet-slicer-combo-view.c
index 4c2042b..3982f5e 100644
--- a/src/widgets/gnm-sheet-slicer-combo-view.c
+++ b/src/widgets/gnm-sheet-slicer-combo-view.c
@@ -62,7 +62,7 @@ sscombo_activate (SheetObject *so, GtkTreeView *list, WBCGtk *wbcg, gboolean but
GnmSheetSlicerCombo *sscombo = GNM_SHEET_SLICER_COMBO (so);
SheetView *sv = sscombo->sv;
cmd_set_text (WORKBOOK_CONTROL (wbcg),
- sv_sheet (sv), &sv->edit_pos, strval, NULL);
+ sv_sheet (sv), &sv->edit_pos, strval, NULL, TRUE);
#endif
g_free (strval);
}
diff --git a/src/widgets/gnm-validation-combo-view.c b/src/widgets/gnm-validation-combo-view.c
index 90f40e2..9976bf5 100644
--- a/src/widgets/gnm-validation-combo-view.c
+++ b/src/widgets/gnm-validation-combo-view.c
@@ -59,7 +59,7 @@ vcombo_activate (SheetObject *so, GtkTreeView *list, WBCGtk *wbcg,
1, &strval,
-1);
cmd_set_text (WORKBOOK_CONTROL (wbcg),
- sv_sheet (sv), &sv->edit_pos, strval, NULL);
+ sv_sheet (sv), &sv->edit_pos, strval, NULL, TRUE);
g_free (strval);
}
return TRUE;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]