Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP

Loading…

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

Merged
merged 5 commits into from

3 participants

@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 xbmc:master
@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.