summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/ui/documentwidget.c8
-rw-r--r--src/ui/inputwidget.c5
-rw-r--r--src/ui/inputwidget.h1
-rw-r--r--src/ui/util.c4
4 files changed, 14 insertions, 4 deletions
diff --git a/src/ui/documentwidget.c b/src/ui/documentwidget.c
index 1f3e0e37..7c071f47 100644
--- a/src/ui/documentwidget.c
+++ b/src/ui/documentwidget.c
@@ -3273,9 +3273,11 @@ static void checkResponse_DocumentWidget_(iDocumentWidget *d) {
3273 setTextColor_LabelWidget(menu, uiTextAction_ColorId); 3273 setTextColor_LabelWidget(menu, uiTextAction_ColorId);
3274 } 3274 }
3275 } 3275 }
3276 setValidator_InputWidget(findChild_Widget(dlg, "input"), inputQueryValidator_, d); 3276 iInputWidget *input = findChild_Widget(dlg, "input");
3277 setSensitiveContent_InputWidget(findChild_Widget(dlg, "input"), 3277 setValidator_InputWidget(input, inputQueryValidator_, d);
3278 statusCode == sensitiveInput_GmStatusCode); 3278 setBackupFileName_InputWidget(input, "inputbackup.txt");
3279 setSelectAllOnFocus_InputWidget(input, iTrue);
3280 setSensitiveContent_InputWidget(input, statusCode == sensitiveInput_GmStatusCode);
3279 if (document_App() != d) { 3281 if (document_App() != d) {
3280 postCommandf_App("tabs.switch page:%p", d); 3282 postCommandf_App("tabs.switch page:%p", d);
3281 } 3283 }
diff --git a/src/ui/inputwidget.c b/src/ui/inputwidget.c
index 6a8d428a..1b68ff57 100644
--- a/src/ui/inputwidget.c
+++ b/src/ui/inputwidget.c
@@ -1201,6 +1201,11 @@ void selectAll_InputWidget(iInputWidget *d) {
1201#endif 1201#endif
1202} 1202}
1203 1203
1204void deselect_InputWidget(iInputWidget *d) {
1205 iZap(d->mark);
1206 refresh_Widget(as_Widget(d));
1207}
1208
1204void validate_InputWidget(iInputWidget *d) { 1209void validate_InputWidget(iInputWidget *d) {
1205 if (d->validator) { 1210 if (d->validator) {
1206 d->validator(d, d->validatorContext); /* this may change the contents */ 1211 d->validator(d, d->validatorContext); /* this may change the contents */
diff --git a/src/ui/inputwidget.h b/src/ui/inputwidget.h
index 000fa4b7..832f7853 100644
--- a/src/ui/inputwidget.h
+++ b/src/ui/inputwidget.h
@@ -59,6 +59,7 @@ void setBackupFileName_InputWidget (iInputWidget *, const char *fileName);
59void begin_InputWidget (iInputWidget *); 59void begin_InputWidget (iInputWidget *);
60void end_InputWidget (iInputWidget *, iBool accept); 60void end_InputWidget (iInputWidget *, iBool accept);
61void selectAll_InputWidget (iInputWidget *); 61void selectAll_InputWidget (iInputWidget *);
62void deselect_InputWidget (iInputWidget *);
62void validate_InputWidget (iInputWidget *); 63void validate_InputWidget (iInputWidget *);
63 64
64void setSelectAllOnFocus_InputWidget (iInputWidget *, iBool selectAllOnFocus); 65void setSelectAllOnFocus_InputWidget (iInputWidget *, iBool selectAllOnFocus);
diff --git a/src/ui/util.c b/src/ui/util.c
index 94e4b00c..de755b3f 100644
--- a/src/ui/util.c
+++ b/src/ui/util.c
@@ -1712,13 +1712,14 @@ iLabelWidget *addDialogTitle_Widget(iWidget *dlg, const char *text, const char *
1712} 1712}
1713 1713
1714static void acceptValueInput_(iWidget *dlg) { 1714static void acceptValueInput_(iWidget *dlg) {
1715 const iInputWidget *input = findChild_Widget(dlg, "input"); 1715 iInputWidget *input = findChild_Widget(dlg, "input");
1716 if (!isEmpty_String(id_Widget(dlg))) { 1716 if (!isEmpty_String(id_Widget(dlg))) {
1717 const iString *val = text_InputWidget(input); 1717 const iString *val = text_InputWidget(input);
1718 postCommandf_App("%s arg:%d value:%s", 1718 postCommandf_App("%s arg:%d value:%s",
1719 cstr_String(id_Widget(dlg)), 1719 cstr_String(id_Widget(dlg)),
1720 toInt_String(val), 1720 toInt_String(val),
1721 cstr_String(val)); 1721 cstr_String(val));
1722 setBackupFileName_InputWidget(input, NULL);
1722 } 1723 }
1723} 1724}
1724 1725
@@ -1782,6 +1783,7 @@ iBool valueInputHandler_(iWidget *dlg, const char *cmd) {
1782 else if (equal_Command(cmd, "valueinput.set")) { 1783 else if (equal_Command(cmd, "valueinput.set")) {
1783 iInputWidget *input = findChild_Widget(dlg, "input"); 1784 iInputWidget *input = findChild_Widget(dlg, "input");
1784 setTextUndoableCStr_InputWidget(input, suffixPtr_Command(cmd, "text"), iTrue); 1785 setTextUndoableCStr_InputWidget(input, suffixPtr_Command(cmd, "text"), iTrue);
1786 deselect_InputWidget(input);
1785 validate_InputWidget(input); 1787 validate_InputWidget(input);
1786 return iTrue; 1788 return iTrue;
1787 } 1789 }