|
MythTV master
|
Screen for managing and configuring keyboard input bindings. More...
#include <mythfrontend/mythcontrols.h>
Public Types | |
| enum | ListType : std::uint8_t { kContextList , kKeyList , kActionList } |
Public Member Functions | |
| MythControls (MythScreenStack *parent, const char *name, KeyBindings::Filter Filters=KeyBindings::AllBindings) | |
| Creates a new MythControls wizard. More... | |
| ~MythControls () override | |
| bool | Create (void) override |
| Loads UI elements from theme. More... | |
| void | customEvent (QEvent *event) override |
| QString | GetCurrentContext (void) |
| Get the currently selected context string. More... | |
| QString | GetCurrentAction (void) |
| Get the currently selected action string. More... | |
| QString | GetCurrentKey (void) |
| Get the currently selected key string. More... | |
Public Member Functions inherited from MythScreenType | |
| MythScreenType (MythScreenStack *parent, const QString &name, bool fullscreen=true) | |
| ~MythScreenType () override | |
| virtual bool | Create (void) |
| bool | keyPressEvent (QKeyEvent *event) override |
| Key event handler. More... | |
| bool | inputMethodEvent (QInputMethodEvent *event) override |
| Input Method event handler. More... | |
| bool | gestureEvent (MythGestureEvent *event) override |
| Mouse click/movement handler, receives mouse gesture events from the QCoreApplication event loop. More... | |
| virtual void | ShowMenu (void) |
| void | doInit (void) |
| void | LoadInForeground (void) |
| bool | IsInitialized (void) const |
| Has Init() been called on this screen? More... | |
| bool | IsFullscreen (void) const |
| void | SetFullscreen (bool full) |
| MythUIType * | GetFocusWidget (void) const |
| bool | SetFocusWidget (MythUIType *widget=nullptr) |
| virtual bool | NextPrevWidgetFocus (bool up_or_down) |
| void | BuildFocusList (void) |
| MythScreenStack * | GetScreenStack () const |
| virtual void | aboutToHide (void) |
| virtual void | aboutToShow (void) |
| bool | IsDeleting (void) const |
| void | SetDeleting (bool deleting) |
| bool | IsLoading (void) const |
| bool | IsLoaded (void) const |
| MythPainter * | GetPainter (void) override |
Public Member Functions inherited from MythUIComposite | |
| MythUIComposite (QObject *parent, const QString &name) | |
| ~MythUIComposite () override=default | |
| virtual void | SetTextFromMap (const InfoMap &infoMap) |
| virtual void | ResetMap (const InfoMap &infoMap) |
Public Member Functions inherited from MythUIType | |
| MythUIType (QObject *parent, const QString &name) | |
| virtual void | Reset (void) |
| Reset the widget to it's original state, should not reset changes made by the theme. More... | |
| void | AddChild (MythUIType *child) |
| Add a child UIType. More... | |
| MythUIType * | GetChild (const QString &name) const |
| Get a named child of this UIType. More... | |
| MythUIType * | GetChildAt (QPoint p, bool recursive=true, bool focusable=true) const |
| Return the first MythUIType at the given coordinates. More... | |
| QList< MythUIType * > * | GetAllChildren (void) |
| Return a list of all child widgets. More... | |
| QList< MythUIType * > | GetAllDescendants (void) |
| void | DeleteChild (const QString &name) |
| Delete a named child of this UIType. More... | |
| void | DeleteChild (MythUIType *child) |
| Delete the given UIType if it is a child of this UIType. More... | |
| void | DeleteAllChildren (void) |
| Delete all child widgets. More... | |
| bool | NeedsRedraw (void) const |
| void | ResetNeedsRedraw (void) |
| void | SetRedraw (void) |
| void | SetChildNeedsRedraw (MythUIType *child) |
| bool | CanTakeFocus (void) const |
| Return if this widget can accept input focus. More... | |
| void | SetCanTakeFocus (bool set=true) |
| Set whether this widget can take focus. More... | |
| void | SetFocusOrder (int order) |
| void | SetFocusedName (const QString &widgetname) |
| QString | GetFocusedName (void) const |
| bool | IsEnabled (void) const |
| void | SetEnabled (bool enable) |
| bool | MoveToTop (void) |
| bool | MoveChildToTop (MythUIType *child) |
| void | ActivateAnimations (MythUIAnimation::Trigger trigger) |
| QList< MythUIAnimation * > * | GetAnimations (void) |
| virtual void | Pulse (void) |
| Pulse is called 70 times a second to trigger a single frame of an animation. More... | |
| void | Draw (MythPainter *p, int xoffset, int yoffset, int alphaMod=255, QRect clipRect=QRect()) |
| void | SetPosition (int x, int y) |
| Convenience method, calls SetPosition(const MythPoint&) Override that instead to change functionality. More... | |
| void | SetPosition (QPoint point) |
| virtual void | SetPosition (const MythPoint &point) |
| virtual MythPoint | GetPosition (void) const |
| virtual void | SetSize (QSize size) |
| virtual void | SetMinSize (const MythPoint &size) |
| Set the minimum size of this widget, for widgets which can be rescaled. More... | |
| virtual QSize | GetMinSize (void) const |
| virtual void | SetArea (const MythRect &rect) |
| virtual void | AdjustMinArea (int delta_x, int delta_y, int delta_w, int delta_h) |
| Adjust the size of a sibling. More... | |
| virtual void | VanishSibling (void) |
| virtual void | SetMinAreaParent (MythRect actual_area, MythRect allowed_area, MythUIType *child) |
| Adjust the size of sibling objects within the button. More... | |
| virtual void | SetMinArea (const MythRect &rect) |
| Set the minimum area based on the given size. More... | |
| virtual MythRect | GetArea (void) const |
| If the object has a minimum area defined, return it, other wise return the default area. More... | |
| virtual MythRect | GetFullArea (void) const |
| virtual void | RecalculateArea (bool recurse=true) |
| void | ExpandArea (QRect rect) |
| virtual QRegion | GetDirtyArea (void) const |
| bool | IsVisible (bool recurse=false) const |
| virtual void | SetVisible (bool visible) |
| void | MoveTo (QPoint destXY, QPoint speedXY) |
| void | AdjustAlpha (int mode, int alphachange, int minalpha=0, int maxalpha=255) |
| void | SetAlpha (int newalpha) |
| int | GetAlpha (void) const |
| virtual bool | keyPressEvent (QKeyEvent *event) |
| Key event handler. More... | |
| virtual bool | inputMethodEvent (QInputMethodEvent *event) |
| Input Method event handler. More... | |
| virtual bool | gestureEvent (MythGestureEvent *event) |
| Mouse click/movement handler, receives mouse gesture events from the QCoreApplication event loop. More... | |
| virtual void | mediaEvent (MythMediaEvent *event) |
| Media/Device status event handler, received from MythMediaMonitor. More... | |
| MythFontProperties * | GetFont (const QString &text) const |
| bool | AddFont (const QString &text, MythFontProperties *fontProp) |
| void | SetHelpText (const QString &text) |
| QString | GetHelpText (void) const |
| void | SetXMLLocation (const QString &filename, int where) |
| QString | GetXMLLocation (void) const |
| void | SetXMLName (const QString &name) |
| QString | GetXMLName (void) const |
| bool | IsDeferredLoading (bool recurse=false) const |
| void | SetDeferLoad (bool defer) |
| virtual void | LoadNow (void) |
| Cause images in this and child widgets to be loaded. More... | |
| bool | ContainsPoint (QPoint point) const |
| Check if the given point falls within this widgets area. More... | |
| virtual MythPainter * | GetPainter (void) |
| void | SetPainter (MythPainter *painter) |
| void | SetCentre (UIEffects::Centre centre) |
| void | SetZoom (float zoom) |
| void | SetHorizontalZoom (float zoom) |
| void | SetVerticalZoom (float zoom) |
| void | SetAngle (float angle) |
| void | SetDependIsDefault (bool isDefault) |
| void | SetReverseDependence (MythUIType *dependee, bool reverse) |
| void | SetDependsMap (QMap< QString, QString > dependsMap) |
| QMap< QString, QString > | GetDependsMap () const |
Protected Member Functions | |
| void | Teardown (void) |
| bool | LoadUI (void) |
| void | LoadData (const QString &hostname) |
| Load the settings for a particular host. More... | |
| void | ChangeButtonFocus (int direction) |
| Change button focus in a particular direction. More... | |
| void | ChangeView (void) |
| Change the view. More... | |
| void | UpdateRightList (void) |
| Update the right list. More... | |
| void | GrabKey (void) const |
| void | DeleteKey (void) |
| Delete the currently active key to action mapping. More... | |
| void | Save (void) |
| uint | GetCurrentButton (void) |
| Returns the focused button, or Action::kMaximumNumberOfBindings if no buttons are focued. More... | |
| void | ResolveConflict (ActionID *conflict, int error_level, const QString &key) |
| Resolve a potential conflict. More... | |
| QString | GetTypeDesc (ListType type) const |
Protected Member Functions inherited from MythScreenType | |
| MythScreenType (MythUIType *parent, const QString &name, bool fullscreen=true) | |
| void | CopyFrom (MythUIType *base) override |
| Copy this widgets state from another. More... | |
| void | CreateCopy (MythUIType *parent) override |
| Copy the state of this widget to the one given, it must be of the same type. More... | |
| bool | ParseElement (const QString &filename, QDomElement &element, bool showWarnings) override |
| Parse the xml definition of this widget setting the state of the object accordingly. More... | |
| virtual void | Load (void) |
| Load data which will ultimately be displayed on-screen or used to determine what appears on-screen (See Warning) More... | |
| virtual void | Init (void) |
| Used after calling Load() to assign data to widgets and other UI initilisation which is prohibited in Load() More... | |
| void | LoadInBackground (const QString &message="") |
| void | ReloadInBackground (void) |
| void | OpenBusyPopup (const QString &message="") |
| void | CloseBusyPopup (void) |
| void | SetBusyPopupMessage (const QString &message) |
| void | ResetBusyPopup (void) |
Protected Member Functions inherited from MythUIType | |
| ~MythUIType () override | |
| void | customEvent (QEvent *event) override |
| virtual void | DrawSelf (MythPainter *p, int xoffset, int yoffset, int alphaMod, QRect clipRect) |
| void | AddFocusableChildrenToList (FocusInfoType &focusList) |
| void | HandleAlphaPulse () |
| Handle one frame of an alpha (transparency) change animation. More... | |
| void | HandleMovementPulse () |
| Handle one frame of a movement animation. More... | |
| int | CalcAlpha (int alphamod) const |
| void | ConnectDependants (bool recurse=false) |
| virtual bool | ParseElement (const QString &filename, QDomElement &element, bool showWarnings) |
| Parse the xml definition of this widget setting the state of the object accordingly. More... | |
| virtual void | CopyFrom (MythUIType *base) |
| Copy this widgets state from another. More... | |
| virtual void | CreateCopy (MythUIType *parent) |
| Copy the state of this widget to the one given, it must be of the same type. More... | |
| virtual void | Finalize (void) |
| Perform any post-xml parsing initialisation tasks. More... | |
Static Protected Member Functions | |
| static void | SetListContents (MythUIButtonList *uilist, const QStringList &contents, bool arrows=false) |
| Set the contents of a list. More... | |
Static Protected Member Functions inherited from MythUIType | |
| static int | NormX (int width) |
| static int | NormY (int height) |
Private Slots | |
| void | LeftSelected (MythUIButtonListItem *item) |
| Refreshes the right list when an item in the left list is selected. More... | |
| void | RightSelected (MythUIButtonListItem *item) |
| Refreshes key information when an item in the right list is selected. More... | |
| void | LeftPressed (MythUIButtonListItem *item) |
| Slot handling a button being pressed in the left list. More... | |
| void | RightPressed (MythUIButtonListItem *item) |
| Slot handling a button being pressed in the left list. More... | |
| void | ActionButtonPressed () |
| Slot handling a button being pressed in the left list. More... | |
| void | RefreshKeyInformation (void) |
| Updates the list of keys that are shown and the description of the action. More... | |
| void | AddKeyToAction (const QString &key, bool ignoreconflict) |
| Add a key to the currently selected action. More... | |
| void | AddKeyToAction (const QString &key) |
Private Member Functions | |
| void | ShowMenu (void) override |
| void | Close (void) override |
Private Attributes | |
| ViewType | m_currentView {kActionsByContext} |
| MythUIButtonList * | m_leftList {nullptr} |
| MythUIButtonList * | m_rightList {nullptr} |
| MythUIText * | m_description {nullptr} |
| MythUIText * | m_leftDescription {nullptr} |
| MythUIText * | m_rightDescription {nullptr} |
| QList< MythUIButton * > | m_actionButtons |
| MythDialogBox * | m_menuPopup {nullptr} |
| KeyBindings * | m_bindings {nullptr} |
| QStringList | m_sortedContexts |
| sorted list of contexts More... | |
| QHash< QString, QStringList > | m_contexts |
| actions for a given context More... | |
| ListType | m_leftListType {kContextList} |
| ListType | m_rightListType {kActionList} |
| KeyBindings::Filter | m_filters {KeyBindings::AllBindings} |
Additional Inherited Members | |
Public Slots inherited from MythScreenType | |
| virtual void | Close () |
Public Slots inherited from MythUIType | |
| void | LoseFocus (void) |
| bool | TakeFocus (void) |
| void | Activate (void) |
| void | Hide (void) |
| void | Show (void) |
| void | Refresh (void) |
| void | UpdateDependState (bool isDefault) |
| void | UpdateDependState (MythUIType *dependee, bool isDefault) |
Signals inherited from MythScreenType | |
| void | Exiting () |
Signals inherited from MythUIType | |
| void | RequestUpdate (void) |
| void | RequestRegionUpdate (const QRect &) |
| void | TakingFocus (void) |
| void | LosingFocus (void) |
| void | VisibilityChanged (bool Visible) |
| void | Showing (void) |
| void | Hiding (void) |
| void | Enabling (void) |
| void | Disabling (void) |
| void | FinishedMoving (void) |
| void | FinishedFading (void) |
| void | DependChanged (bool isDefault) |
Static Public Member Functions inherited from XMLParseBase | |
| static QString | getFirstText (QDomElement &element) |
| static bool | parseBool (const QString &text) |
| static bool | parseBool (QDomElement &element) |
| static MythPoint | parsePoint (const QString &text, bool normalize=true) |
| static MythPoint | parsePoint (QDomElement &element, bool normalize=true) |
| static QSize | parseSize (const QString &text, bool normalize=true) |
| static QSize | parseSize (QDomElement &element, bool normalize=true) |
| static MythRect | parseRect (const QString &text, bool normalize=true) |
| static MythRect | parseRect (QDomElement &element, bool normalize=true) |
| static int | parseAlignment (const QString &text) |
| static int | parseAlignment (QDomElement &element) |
| static QBrush | parseGradient (const QDomElement &element) |
| static QString | parseText (QDomElement &element) |
| static MythUIType * | GetGlobalObjectStore (void) |
| static void | ClearGlobalObjectStore (void) |
| static void | ParseChildren (const QString &filename, QDomElement &element, MythUIType *parent, bool showWarnings) |
| static MythUIType * | ParseUIType (const QString &filename, QDomElement &element, const QString &type, MythUIType *parent, MythScreenType *screen, bool showWarnings, QMap< QString, QString > &parentDependsMap) |
| static bool | WindowExists (const QString &xmlfile, const QString &windowname) |
| static bool | LoadWindowFromXML (const QString &xmlfile, const QString &windowname, MythUIType *parent) |
| static bool | LoadBaseTheme (void) |
| static bool | LoadBaseTheme (const QString &baseTheme) |
| static bool | CopyWindowFromBase (const QString &windowname, MythScreenType *win) |
Protected Attributes inherited from MythScreenType | |
| bool | m_fullScreen {false} |
| bool | m_isDeleting {false} |
| QSemaphore | m_loadLock {1} |
| volatile bool | m_isLoading {false} |
| volatile bool | m_isLoaded {false} |
| bool | m_isInitialized {false} |
| MythUIType * | m_currentFocusWidget {nullptr} |
| FocusInfoType | m_focusWidgetList |
| MythScreenStack * | m_screenStack {nullptr} |
| MythUIBusyDialog * | m_busyPopup {nullptr} |
| QRegion | m_savedMask |
Protected Attributes inherited from MythUIType | |
| QList< MythUIType * > | m_childrenList |
| QMap< QString, QString > | m_dependsMap |
| QList< QPair< MythUIType *, bool > > | m_dependsValue |
| QList< int > | m_dependOperator |
| bool | m_visible {true} |
| bool | m_hasFocus {false} |
| bool | m_canHaveFocus {false} |
| bool | m_enabled {true} |
| bool | m_enableInitiator {false} |
| bool | m_initiator {false} |
| bool | m_vanish {false} |
| bool | m_vanished {false} |
| bool | m_isDependDefault {false} |
| QMap< MythUIType *, bool > | m_reverseDepend |
| QString | m_focusedName |
| int | m_focusOrder {0} |
| MythRect | m_area {0,0,0,0} |
| MythRect | m_minArea {0,0,0,0} |
| MythPoint | m_minSize |
| QRegion | m_dirtyRegion {0,0,0,0} |
| bool | m_needsRedraw {false} |
| UIEffects | m_effects |
| int | m_alphaChangeMode {0} |
| int | m_alphaChange {0} |
| int | m_alphaMin {0} |
| int | m_alphaMax {255} |
| bool | m_moving {false} |
| QPoint | m_xyDestination {0,0} |
| QPoint | m_xySpeed {0,0} |
| FontMap * | m_fonts {nullptr} |
| MythUIType * | m_parent {nullptr} |
| MythPainter * | m_painter {nullptr} |
| QList< MythUIAnimation * > | m_animations |
| QString | m_helptext |
| QString | m_xmlName |
| QString | m_xmlLocation |
| bool | m_deferload {false} |
| QColor | m_borderColor {Qt::black} |
Screen for managing and configuring keyboard input bindings.
Definition at line 48 of file mythcontrols.h.
| enum MythControls::ListType : std::uint8_t |
| Enumerator | |
|---|---|
| kContextList | |
| kKeyList | |
| kActionList | |
Definition at line 69 of file mythcontrols.h.
|
inline |
Creates a new MythControls wizard.
| parent | Pointer to the screen stack |
| name | The name of the window |
| Modifiers | If true only show key modifications (e.g. LongPress) otherwise filter them out |
Definition at line 60 of file mythcontrols.h.
|
override |
Definition at line 48 of file mythcontrols.cpp.
|
privateslot |
Slot handling a button being pressed in the left list.
Definition at line 165 of file mythcontrols.cpp.
Referenced by Create().
|
privateslot |
Definition at line 671 of file mythcontrols.cpp.
|
privateslot |
Add a key to the currently selected action.
TODO FIXME This code needs work to support deleteKey in any mode exc. Context/Action TODO FIXME This code needs work to deal with multiple binding conflicts.
Definition at line 631 of file mythcontrols.cpp.
Referenced by AddKeyToAction(), customEvent(), and GrabKey().
|
protected |
Change button focus in a particular direction.
| direction | +1 moves focus to the right, -1 moves to the left, and 0 changes the focus to the first button. |
Definition at line 136 of file mythcontrols.cpp.
Referenced by RightPressed().
|
protected |
|
overrideprivatevirtual |
Reimplemented from MythScreenType.
Definition at line 236 of file mythcontrols.cpp.
Referenced by customEvent().
|
overridevirtual |
Loads UI elements from theme.
Reimplemented from MythScreenType.
Definition at line 69 of file mythcontrols.cpp.
|
override |
Definition at line 676 of file mythcontrols.cpp.
|
protected |
Delete the currently active key to action mapping.
TODO FIXME This code needs work to support deleteKey in any mode exc. Context/Action
Definition at line 525 of file mythcontrols.cpp.
Referenced by customEvent().
| QString MythControls::GetCurrentAction | ( | void | ) |
Get the currently selected action string.
If no action is selected, an empty string is returned.
Definition at line 388 of file mythcontrols.cpp.
Referenced by AddKeyToAction(), DeleteKey(), GetCurrentKey(), and RefreshKeyInformation().
|
protected |
Returns the focused button, or Action::kMaximumNumberOfBindings if no buttons are focued.
Definition at line 430 of file mythcontrols.cpp.
Referenced by AddKeyToAction(), and GetCurrentKey().
| QString MythControls::GetCurrentContext | ( | void | ) |
Get the currently selected context string.
If no context is selected, an empty string is returned.
Definition at line 362 of file mythcontrols.cpp.
Referenced by AddKeyToAction(), DeleteKey(), GetCurrentKey(), and RefreshKeyInformation().
| QString MythControls::GetCurrentKey | ( | void | ) |
Get the currently selected key string.
If no key is selected, an empty string is returned.
Definition at line 450 of file mythcontrols.cpp.
Referenced by ActionButtonPressed(), and DeleteKey().
|
protected |
|
protected |
Definition at line 607 of file mythcontrols.cpp.
Referenced by ActionButtonPressed(), and customEvent().
|
privateslot |
Slot handling a button being pressed in the left list.
Definition at line 148 of file mythcontrols.cpp.
Referenced by Create().
|
privateslot |
Refreshes the right list when an item in the left list is selected.
Definition at line 263 of file mythcontrols.cpp.
Referenced by Create().
|
protected |
Load the settings for a particular host.
| hostname | The host to load settings for. |
Definition at line 496 of file mythcontrols.cpp.
Referenced by Create().
|
protected |
|
privateslot |
Updates the list of keys that are shown and the description of the action.
Definition at line 329 of file mythcontrols.cpp.
Referenced by AddKeyToAction(), Create(), customEvent(), DeleteKey(), and RightSelected().
|
protected |
Resolve a potential conflict.
Definition at line 567 of file mythcontrols.cpp.
Referenced by AddKeyToAction().
|
privateslot |
Slot handling a button being pressed in the left list.
Definition at line 156 of file mythcontrols.cpp.
Referenced by Create().
|
privateslot |
Refreshes key information when an item in the right list is selected.
Definition at line 272 of file mythcontrols.cpp.
Referenced by Create().
|
inlineprotected |
Definition at line 96 of file mythcontrols.h.
Referenced by customEvent().
|
staticprotected |
Set the contents of a list.
| uilist | The list being changed. |
| contents | The contents of the list. |
| arrows | True to draw with arrows, otherwise arrows are not drawn. |
Definition at line 284 of file mythcontrols.cpp.
Referenced by Create(), customEvent(), and UpdateRightList().
|
overrideprivatevirtual |
Reimplemented from MythScreenType.
Definition at line 216 of file mythcontrols.cpp.
|
protected |
Definition at line 53 of file mythcontrols.cpp.
Referenced by customEvent(), and ~MythControls().
|
protected |
Update the right list.
Definition at line 301 of file mythcontrols.cpp.
Referenced by Create(), customEvent(), and LeftSelected().
|
private |
Definition at line 126 of file mythcontrols.h.
Referenced by ChangeButtonFocus(), Create(), GetCurrentButton(), and RefreshKeyInformation().
|
private |
Definition at line 129 of file mythcontrols.h.
Referenced by AddKeyToAction(), Close(), Create(), customEvent(), DeleteKey(), GetCurrentKey(), LoadData(), RefreshKeyInformation(), Save(), Teardown(), and UpdateRightList().
|
private |
actions for a given context
Definition at line 132 of file mythcontrols.h.
Referenced by LoadData(), Teardown(), and UpdateRightList().
|
private |
Definition at line 120 of file mythcontrols.h.
Referenced by Create(), customEvent(), RightPressed(), and UpdateRightList().
|
private |
Definition at line 123 of file mythcontrols.h.
Referenced by Create(), and RefreshKeyInformation().
|
private |
Definition at line 135 of file mythcontrols.h.
Referenced by LoadData().
|
private |
Definition at line 124 of file mythcontrols.h.
Referenced by Create(), and customEvent().
|
private |
Definition at line 121 of file mythcontrols.h.
Referenced by Create(), customEvent(), GetCurrentAction(), GetCurrentContext(), GetCurrentKey(), RefreshKeyInformation(), and UpdateRightList().
|
private |
Definition at line 133 of file mythcontrols.h.
Referenced by ChangeButtonFocus(), GetCurrentAction(), GetCurrentContext(), and GetCurrentKey().
|
private |
Definition at line 127 of file mythcontrols.h.
Referenced by ActionButtonPressed(), ChangeView(), customEvent(), and ShowMenu().
|
private |
Definition at line 125 of file mythcontrols.h.
Referenced by Create(), and customEvent().
|
private |
Definition at line 122 of file mythcontrols.h.
Referenced by Create(), GetCurrentAction(), GetCurrentContext(), GetCurrentKey(), and UpdateRightList().
|
private |
Definition at line 134 of file mythcontrols.h.
Referenced by ChangeButtonFocus(), GetCurrentAction(), GetCurrentContext(), and GetCurrentKey().
|
private |