MythTV
master
|
Screen for managing and configuring keyboard input bindings. More...
#include <mythcontrols.h>
Public Types | |
enum | ListType { 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 | |
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... | |
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) |
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 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... | |
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 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 | |
Public Slots inherited from MythUIType | |
void | LoseFocus () |
bool | TakeFocus () |
void | Activate () |
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 | RequestRegionUpdate (const QRect &) |
void | TakingFocus () |
void | LosingFocus () |
void | VisibilityChanged (bool Visible) |
void | Showing () |
void | Hiding () |
void | Enabling () |
void | Disabling () |
void | FinishedMoving () |
void | FinishedFading () |
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 |
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.
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 47 of file mythcontrols.cpp.
|
overridevirtual |
Loads UI elements from theme.
Reimplemented from MythScreenType.
Definition at line 68 of file mythcontrols.cpp.
|
override |
Definition at line 669 of file mythcontrols.cpp.
QString MythControls::GetCurrentContext | ( | void | ) |
Get the currently selected context string.
If no context is selected, an empty string is returned.
Definition at line 357 of file mythcontrols.cpp.
Referenced by AddKeyToAction(), DeleteKey(), GetCurrentKey(), and RefreshKeyInformation().
QString MythControls::GetCurrentAction | ( | void | ) |
Get the currently selected action string.
If no action is selected, an empty string is returned.
Definition at line 383 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 445 of file mythcontrols.cpp.
Referenced by ActionButtonPressed(), and DeleteKey().
|
protected |
Definition at line 52 of file mythcontrols.cpp.
Referenced by customEvent(), and ~MythControls().
|
protected |
|
protected |
Load the settings for a particular host.
hostname | The host to load settings for. |
Definition at line 491 of file mythcontrols.cpp.
Referenced by Create().
|
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 135 of file mythcontrols.cpp.
Referenced by RightPressed().
|
protected |
|
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 279 of file mythcontrols.cpp.
Referenced by Create(), customEvent(), and UpdateRightList().
|
protected |
Update the right list.
Definition at line 296 of file mythcontrols.cpp.
Referenced by Create(), customEvent(), and LeftSelected().
|
protected |
Definition at line 600 of file mythcontrols.cpp.
Referenced by ActionButtonPressed(), and customEvent().
|
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 520 of file mythcontrols.cpp.
Referenced by customEvent().
|
inlineprotected |
Definition at line 96 of file mythcontrols.h.
Referenced by customEvent().
|
protected |
Returns the focused button, or Action::kMaximumNumberOfBindings if no buttons are focued.
Definition at line 425 of file mythcontrols.cpp.
Referenced by AddKeyToAction(), and GetCurrentKey().
|
protected |
Resolve a potential conflict.
Definition at line 560 of file mythcontrols.cpp.
Referenced by AddKeyToAction().
|
protected |
|
privateslot |
Refreshes the right list when an item in the left list is selected.
Definition at line 258 of file mythcontrols.cpp.
Referenced by Create().
|
privateslot |
Refreshes key information when an item in the right list is selected.
Definition at line 267 of file mythcontrols.cpp.
Referenced by Create().
|
privateslot |
Slot handling a button being pressed in the left list.
Definition at line 147 of file mythcontrols.cpp.
Referenced by Create().
|
privateslot |
Slot handling a button being pressed in the left list.
Definition at line 155 of file mythcontrols.cpp.
Referenced by Create().
|
privateslot |
Slot handling a button being pressed in the left list.
Definition at line 164 of file mythcontrols.cpp.
Referenced by Create().
|
privateslot |
Updates the list of keys that are shown and the description of the action.
Definition at line 324 of file mythcontrols.cpp.
Referenced by AddKeyToAction(), Create(), customEvent(), DeleteKey(), and RightSelected().
|
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 624 of file mythcontrols.cpp.
Referenced by AddKeyToAction(), customEvent(), and GrabKey().
|
privateslot |
Definition at line 664 of file mythcontrols.cpp.
|
overrideprivatevirtual |
Reimplemented from MythScreenType.
Definition at line 213 of file mythcontrols.cpp.
|
overrideprivatevirtual |
Reimplemented from MythScreenType.
Definition at line 233 of file mythcontrols.cpp.
Referenced by customEvent().
|
private |
Definition at line 120 of file mythcontrols.h.
Referenced by Create(), customEvent(), RightPressed(), and UpdateRightList().
|
private |
Definition at line 121 of file mythcontrols.h.
Referenced by Create(), customEvent(), GetCurrentAction(), GetCurrentContext(), GetCurrentKey(), RefreshKeyInformation(), and UpdateRightList().
|
private |
Definition at line 122 of file mythcontrols.h.
Referenced by Create(), GetCurrentAction(), GetCurrentContext(), GetCurrentKey(), and UpdateRightList().
|
private |
Definition at line 123 of file mythcontrols.h.
Referenced by Create(), and RefreshKeyInformation().
|
private |
Definition at line 124 of file mythcontrols.h.
Referenced by Create(), and customEvent().
|
private |
Definition at line 125 of file mythcontrols.h.
Referenced by Create(), and customEvent().
|
private |
Definition at line 126 of file mythcontrols.h.
Referenced by ChangeButtonFocus(), Create(), GetCurrentButton(), and RefreshKeyInformation().
|
private |
Definition at line 127 of file mythcontrols.h.
Referenced by ActionButtonPressed(), ChangeView(), customEvent(), and ShowMenu().
|
private |
Definition at line 129 of file mythcontrols.h.
Referenced by AddKeyToAction(), Close(), Create(), customEvent(), DeleteKey(), GetCurrentKey(), LoadData(), RefreshKeyInformation(), Save(), Teardown(), and UpdateRightList().
|
private |
|
private |
actions for a given context
Definition at line 132 of file mythcontrols.h.
Referenced by LoadData(), Teardown(), and UpdateRightList().
|
private |
Definition at line 133 of file mythcontrols.h.
Referenced by ChangeButtonFocus(), GetCurrentAction(), GetCurrentContext(), and GetCurrentKey().
|
private |
Definition at line 134 of file mythcontrols.h.
Referenced by ChangeButtonFocus(), GetCurrentAction(), GetCurrentContext(), and GetCurrentKey().
|
private |
Definition at line 135 of file mythcontrols.h.
Referenced by LoadData().