1 #pragma once 2 #include "CHotKey.h" 3 #include "IniHelper.h" 4 5 enum eHotKeyId 6 { 7 HK_PLAY_PAUSE = 1031, 8 HK_STOP, 9 HK_FF, 10 HK_REW, 11 HK_PREVIOUS, 12 HK_NEXT, 13 HK_VOLUME_UP, 14 HK_VOLUME_DOWN, 15 HK_EXIT, 16 HK_SHOW_HIDE_PLAYER, 17 HK_SHOW_HIDE_DESKTOP_LYRIC, 18 HK_ADD_TO_MY_FAVOURITE, 19 HK_MAX 20 }; 21 22 class CHotkeyManager 23 { 24 public: 25 CHotkeyManager(); 26 ~CHotkeyManager(); 27 28 using HotKeyMap = std::map<eHotKeyId, CHotKey>; 29 30 void SetHotKey(eHotKeyId id, CHotKey key); 31 CHotKey GetHotKey(eHotKeyId id); 32 void RegisterAllHotKey(); 33 void UnRegisterAllHotKey(); 34 void FromHotkeyGroup(const HotKeyMap& group); 35 const HotKeyMap& GetHotKeyGroup() const; 36 37 void LoadFromIni(const CIniHelper& ini); 38 void SaveToTni(CIniHelper& ini); 39 40 private: 41 HotKeyMap m_hotkey_group; 42 }; 43