Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Loading…

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

Merged
merged 5 commits into from

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.

Memphiz Memphiz was assigned
Memphiz added some commits
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 from
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
Commits on Aug 1, 2012
  1. Memphiz

    [ios] - add methods to XBMCController for allowing to attach an UIVie…

    Memphiz authored
    …w to the controller view (in our case this will be the native ios keyboard) - and for fetching the screenScale
  2. Memphiz

    [keyboard] - add the GUIKeyboard baseclass which needs to be implemen…

    Memphiz authored
    …ted for each native keyboard
    
            - add ios keyboard implementation
            - add generic keyboard implementation (moved code from GUIDialogKeyboard.cpp)
  3. Memphiz

    [keyboard] - moved the rest of the GUIDialogKeyboard (which is no dia…

    Memphiz authored
    …log anymore but only he bunch of ShowAndGetInput methods) to guilib/GUIKeyboardFactory
  4. Memphiz

    [keyboard] - change all occurences of GUIDialogKeyboard to the new ap…

    Memphiz authored
    …proach and removed unneeded keyboard includes
  5. Memphiz

    [keyboard] - buildsys changes

    Memphiz authored
Something went wrong with that request. Please try again.