Skip to content
This repository

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

Merged
merged 5 commits into from over 1 year ago

3 participants

Memphiz jmarshallnz natethomas
Memphiz
Owner

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
Owner

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
Owner

@jmarshallnz do we want this for august merge window?

jmarshallnz
Owner

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.

added some commits July 21, 2012
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 [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 [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 [keyboard] - change all occurences of GUIDialogKeyboard to the new ap…
…proach and removed unneeded keyboard includes
8142cf1
Memphiz [keyboard] - buildsys changes b648a45
Memphiz Memphiz merged commit 63c8b72 into from August 01, 2012
Memphiz Memphiz closed this August 01, 2012
natethomas
Collaborator

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
Owner

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

Showing 5 unique commits by 1 author.

Aug 01, 2012
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 [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 [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 [keyboard] - change all occurences of GUIDialogKeyboard to the new ap…
…proach and removed unneeded keyboard includes
8142cf1
Memphiz [keyboard] - buildsys changes b648a45
Something went wrong with that request. Please try again.