Refacor of our GUI Keyboard for allowing native onscreen keyboards #1194

Merged
merged 5 commits into from Aug 1, 2012

Projects

None yet

3 participants

@Memphiz
Member
Memphiz commented Jul 21, 2012

This splits our GUIDialogKeyboard.cpp approach into some classes for allowing the implementation of native onscreen keyboards (mostly interesting for touch devices).

Therefore:

  • add guilib/GUIKeyboard.cpp/.h - this is the baseclass each onscreen keyboard has to implement
  • move the GUIDialog/Keyboard out of dialogs/GUIDialogKeyboard.cpp/.h to dialogs/GUIDialogKeyboardGeneric.cpp/.h
  • move the rest (all the static ShowAndGetInput methods) to guilib/GUIKeyboardFactory.cpp/.h
  • make all keyboard users use the CGUIKeyboardFactory class for accessing keyboard functions
  • add implementation for native onscreen keyboard for ios

Well i know its not bisectable - but i tried hard and didn't come up with a solution because of the trickyness :).

I have tested it on osx, linux, windows, ios and atv2. Behaviour is same like before (except ios which now has a fancy native on screen keyboard :D).

@jmarshallnz its you again i guess (sounds familiar ha? ;) ). If you remember you proposed something like this some months ago. I hope i've hit your taste...

@Memphiz
Member
Memphiz commented Jul 28, 2012

Ok - i have done your comments and also moved the object creation of the GUIKeyboard implementations into the factory where it belongs to (getting rid of the GUIKeyboard.cpp - only have the GUIKeyboard.h in there now).

@Memphiz
Member
Memphiz commented Jul 31, 2012

@jmarshallnz do we want this for august merge window?

@jmarshallnz
Member

I don't see why not - android will mean that anything else that needs altering to make it work there can then happen in master.

@Memphiz Memphiz was assigned Aug 1, 2012
Memphiz added some commits Jul 21, 2012
@Memphiz Memphiz [ios] - add methods to XBMCController for allowing to attach an UIVie…
…w to the controller view (in our case this will be the native ios keyboard) - and for fetching the screenScale
af71c48
@Memphiz Memphiz [keyboard] - add the GUIKeyboard baseclass which needs to be implemen…
…ted for each native keyboard

        - add ios keyboard implementation
        - add generic keyboard implementation (moved code from GUIDialogKeyboard.cpp)
d9d7498
@Memphiz Memphiz [keyboard] - moved the rest of the GUIDialogKeyboard (which is no dia…
…log anymore but only he bunch of ShowAndGetInput methods) to guilib/GUIKeyboardFactory
628a646
@Memphiz Memphiz [keyboard] - change all occurences of GUIDialogKeyboard to the new ap…
…proach and removed unneeded keyboard includes
8142cf1
@Memphiz Memphiz [keyboard] - buildsys changes b648a45
@Memphiz Memphiz merged commit 63c8b72 into xbmc:master Aug 1, 2012
@natethomas
Member

In messing around with the keyboard, I have a small suggestion. It seems to me that "Enter value" is somewhat dry and unnecessary in the text entry box. I would think if the box was simply left empty altogether, users would still pretty much get the point of what it's there for, particularly as they start typing.

@Memphiz
Member
Memphiz commented Sep 5, 2012

Hey nate - basically the text which is shown there differs (depends if you hit search or filter). I have pinged JoeTheFox on making the Editbox for the native keyboard a bit more fancy some month ago. (because i don't like the gap between editbox and keyboard). Maybe i can ping him about it again and see if he can make it even more native ;)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment