mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager
synced 2024-09-06 17:14:02 +00:00
tui: fix NmtMacEntry validation/display
NmtMacEntry would allow you to input 1 character more than it should have. Fix that. Also, the code to insert ":"s automatically was bumping against some weirdness in NmtNewtEntry that made it so that the ":" didn't get displayed until you typed one more character after the one where it got inserted. Hack around that by manually requesting a redraw. https://bugzilla.gnome.org/show_bug.cgi?id=731160
This commit is contained in:
parent
5ee85fe46e
commit
d57795d474
|
@ -82,7 +82,7 @@ mac_filter (NmtNewtEntry *entry,
|
|||
{
|
||||
NmtMacEntryPrivate *priv = NMT_MAC_ENTRY_GET_PRIVATE (entry);
|
||||
|
||||
if (position > priv->mac_str_length)
|
||||
if (position >= priv->mac_str_length)
|
||||
return FALSE;
|
||||
|
||||
return g_ascii_isxdigit (ch) || ch == ':';
|
||||
|
@ -116,8 +116,13 @@ mac_validator (NmtNewtEntry *entry,
|
|||
if (g_ascii_isxdigit (p[0]) && !p[1]) {
|
||||
char *fixed = g_strdup_printf ("%.*s:%c", (int)(p - text), text, *p);
|
||||
|
||||
g_object_set (G_OBJECT (entry), "text", fixed, NULL);
|
||||
return TRUE;
|
||||
nmt_newt_entry_set_text (entry, fixed);
|
||||
g_free (fixed);
|
||||
|
||||
/* FIXME: NmtNewtEntry doesn't correctly deal with us calling set_text()
|
||||
* from inside the validator.
|
||||
*/
|
||||
nmt_newt_widget_needs_rebuild (NMT_NEWT_WIDGET (entry));
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
|
|
Loading…
Reference in a new issue