|
MythTV
0.26-pre
|
00001 /* -*- myth -*- */ 00024 #ifndef KEYBINDINGS_H 00025 #define KEYBINDINGS_H 00026 00027 // MythControls headers 00028 #include "action.h" 00029 #include "actionset.h" 00030 00037 class KeyBindings 00038 { 00039 public: 00041 enum ConflictLevels { kKeyBindingWarning, kKeyBindingError, }; 00042 00043 KeyBindings(const QString &hostname); 00044 00045 // Commands 00046 bool AddActionKey(const QString &context_name, 00047 const QString &action_name, 00048 const QString &key); 00049 ActionID *GetConflict(const QString &context_name, 00050 const QString &key, int &level) const; 00051 void ReplaceActionKey(const QString &context_name, 00052 const QString &action_name, 00053 const QString &newkey, 00054 const QString &oldkey); 00055 bool RemoveActionKey(const QString &context_name, 00056 const QString &action_name, 00057 const QString &key); 00058 void CommitChanges(void); 00059 00060 // Gets 00061 QStringList GetKeys(void) const; 00062 QStringList GetContexts(void) const; 00063 QStringList GetActions(const QString &context) const; 00064 void GetKeyActions(const QString &key, ActionList &list) const; 00065 QStringList GetActionKeys(const QString &context_name, 00066 const QString &action_name) const; 00067 QStringList GetContextKeys(const QString &context) const; 00068 QStringList GetKeyContexts(const QString &key) const; 00069 QString GetActionDescription(const QString &context_name, 00070 const QString &action_name) const; 00071 bool HasMandatoryBindings(void) const; 00072 bool HasChanges(void) const { return m_actionSet.HasModified(); } 00073 00074 protected: 00075 void CommitJumppoint(const ActionID &id); 00076 void CommitAction(const ActionID &id); 00077 00078 void LoadMandatoryBindings(void); 00079 void LoadContexts(void); 00080 void LoadJumppoints(void); 00081 00082 private: 00083 QString m_hostname; 00084 ActionList m_mandatoryBindings; 00085 QStringList m_defaultKeys; 00086 ActionSet m_actionSet; 00087 }; 00088 00089 #endif /* KEYBINDINGS_H */
1.7.6.1