summaryrefslogtreecommitdiff
path: root/source3/utils/regedit_dialog.c
diff options
context:
space:
mode:
authorC. Davis <cd.rattan@gmail.com>2012-08-17 02:15:20 -0700
committerMichael Adam <obnox@samba.org>2013-04-29 13:06:32 +0200
commite8d6a33c830bf34733450c9d9a9cf792f1136c1a (patch)
tree23940b0ed7c1e9782800f392c0a9c05879a1ec5c /source3/utils/regedit_dialog.c
parent9d0ccd1b4896396b0a83d6e767b145bcc3ab111f (diff)
downloadsamba-e8d6a33c830bf34733450c9d9a9cf792f1136c1a.tar.gz
samba-e8d6a33c830bf34733450c9d9a9cf792f1136c1a.tar.bz2
samba-e8d6a33c830bf34733450c9d9a9cf792f1136c1a.zip
regedit: Restore cursor position when user tabs to a field.
Reviewed-by: Andreas Schneider <asn@samba.org> Reviewed-by: Michael Adam <obnox@samba.org>
Diffstat (limited to 'source3/utils/regedit_dialog.c')
-rw-r--r--source3/utils/regedit_dialog.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/source3/utils/regedit_dialog.c b/source3/utils/regedit_dialog.c
index 94f1b65e25..6571baaf96 100644
--- a/source3/utils/regedit_dialog.c
+++ b/source3/utils/regedit_dialog.c
@@ -426,6 +426,7 @@ int dialog_input(TALLOC_CTX *ctx, char **output, const char *title,
} else {
input_section = true;
set_current_field(input, field[0]);
+ pos_form_cursor(input);
}
} else if (input_section) {
handle_form_input(input, c);
@@ -716,6 +717,7 @@ static void section_down(struct edit_dialog *edit)
} else {
set_current_field(edit->input,
edit->field[FLD_DATA]);
+ pos_form_cursor(edit->input);
}
}
break;
@@ -729,6 +731,7 @@ static void section_down(struct edit_dialog *edit)
case IN_MENU:
edit->section = IN_NAME;
set_current_field(edit->input, edit->field[FLD_NAME]);
+ pos_form_cursor(edit->input);
break;
}
update_panels();
@@ -749,6 +752,7 @@ static void section_up(struct edit_dialog *edit)
form_driver(edit->input, REQ_VALIDATION) == E_OK) {
edit->section = IN_NAME;
set_current_field(edit->input, edit->field[FLD_NAME]);
+ pos_form_cursor(edit->input);
}
break;
case IN_MENU:
@@ -757,6 +761,7 @@ static void section_up(struct edit_dialog *edit)
hexedit_set_cursor(edit->buf);
} else {
set_current_field(edit->input, edit->field[FLD_DATA]);
+ pos_form_cursor(edit->input);
}
break;
}