xref: /MusicPlayer2/MusicPlayer2/CHotkeyManager.h (revision 0fc1c23250c9d2ac73d9c13c8e94c7a863ad989d)
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