maemo.org Bugzilla – Bug 1227
GtkEntry::"hildon-input-mode" should default to off
Last modified: 2009-06-19 10:27:57 UTC
You need to log in before you can comment on or make changes to this bug.
Maemo adds a GtkEntry::"hildon-input-mode" property to disallow some characters and to do auto-capitalization. This feature should not be on by default, but at least HILDON_GTK_INPUT_MODE_AUTOCAP does seem to be used by default somehow. Actually the source code even hardcodes "9" as the default instead of using the #defines, which is rather ugly.
Actually I agree, but I guess this is deeply rooted in our specs. Not sure if I'll manage to do anything about it, but I'll try.
(In reply to comment #1) > Actually I agree, but I guess this is deeply rooted in our specs. Not sure if > I'll manage to do anything about it, but I'll try. Did you try? If it's indeed deeply rooted in the specs, this probably won't be fixed any time soon ...
reassigning Tommi's bugs to Rodrigo.
Murray: Which exact source file does hardcode the value to 9? (WONTFIX for Diablo.)
(In reply to comment #4) > Murray: Which exact source file does hardcode the value to 9? I don't know. I can't find it now. I assume it was in gtkentry.c, though I can't find any relevant change in svn: https://stage.maemo.org/viewcvs.cgi/projects/haf/trunk/gtk%2B/gtk/gtkentry.c?root=maemo&view=log Anyway, the very bad default is still there: /** * GtkEntry:hildon-input-mode: * * Allowed characters and input mode for the entry. See #HildonGtkInputMode. * * Since: maemo 2.0 * Stability: Unstable **/ g_object_class_install_property (gobject_class, PROP_HILDON_INPUT_MODE, g_param_spec_flags ("hildon-input-mode", P_("Hildon input mode"), P_("Define widget's input mode"), HILDON_TYPE_GTK_INPUT_MODE, HILDON_GTK_INPUT_MODE_FULL | HILDON_GTK_INPUT_MODE_AUTOCAP | HILDON_GTK_INPUT_MODE_DICTIONARY, GTK_PARAM_READWRITE | G_PARAM_CONSTRUCT));
And I would be surprised if any specs say what the defaults for the widget should be. I think it's more likely that the specs say what the behaviour should be for specific uses of widgets in specific parts of specific applications.
Yepp, correct file - found it in https://stage.maemo.org/svn/maemo/projects/haf/branches/gtk+/maemo-gtk-2-6/gtk/gtkentry.c : /** * GtkEntry:input-mode: * Allowed characters for the entry, specified by HILDON_INPUT_MODE_HINT_* * Since: maemo 1.0 * @Deprecated: Use hildon-input-mode instead. **/ g_object_class_install_property (gobject_class, PROP_INPUT_MODE, g_param_spec_int ("input-mode", P_("input mode"), P_("Define widget's input mode"), 0, 9, /* keep me updated */ 0, GTK_PARAM_READABLE | GTK_PARAM_WRITABLE));
It's actually not THAT deeply rooted in the Text Input Spec. To clarify the current state: The option to determine whether auto-capitalization is on or off is a property of the widgets. The default setting for the text input widgets is "on". Application developers must set this property to be suitable to the occasion. I currently see this as an enhancement request. If it's not, please convince me. ;-)
Sorry, why should this feature be on by default?
(In reply to comment #9) > Sorry, why should this feature be on by default? I certainly won't advocate that - I just can't judge which usecase (autocapitalize or not) happens more often, so I hoped the current default value was chosen with a reason.
Roope: If it is not planned to change the default setting, and if the default setting has been chosen with a reason, should we close this as WONTFIX?
Yes - if this hasn't been changed for Fremantle. I'm no longer doing text input specs, so ... let's check them. Yes, it's still on. I would say wontfix. It was set on by default because ... well, it's easy for developers to notice if they want it to be off. If auto-capitalization would be off by default, then some developers would perhaps miss to turn it on. (Well, it's a weak reason, but anyway.)
I am disappointed that this was closed with no rationale for why the bad default must be the default or why this obstacle to porting is not documented in a porting guide.
Documenting it would be worth a separate bug report, yes.
For the default issue, changing the default could possibly make us have to check each of our applications (all the views) to see whether the change would set the auto-cap to be off when we still want it to be on.
Yes. I think you should do that. At moment you are instead forcing all applications to unset the default for most Entries when porting to Maemo.
(In reply to comment #16) > Yes. I think you should do that. > > At moment you are instead forcing all applications to unset the default for > most Entries when porting to Maemo. Isn't autocap useful/non-harmful in most entries? I think it's mostly an issue only to password entries (earlier there was a separate widget for those which set autocap off).
(In reply to comment #17) > Isn't autocap useful/non-harmful in most entries? I think it's mostly an > issue only to password entries (earlier there was a separate widget for those > which set autocap off). I think it's annoying and unexpected for most uses of GtkEntry, because GtkEntry is typically not used for whole sentences - GtkTextEntry would be used for that. If you really thought it was a good idea, I think you'd be suggesting it for regular upstream GTK+.
(In reply to comment #18) > GtkTextEntry would be used for that. I mean GtkTextView, of course.