summaryrefslogtreecommitdiff
path: root/noncore/applets/keyhelper/keyhelperapplet/extension/KeyExtensions.h
blob: 20ffc4587089c95b8bf1753260085ba5a0a19893 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#ifndef _KEY_EXTENSIONS_H_
#define _KEY_EXTENSIONS_H_

#include <qstring.h>
#include <qstringlist.h>
#include "KeyNames.h"
#include "KeyModifiers.h"
#include "ExtensionFactory.h"

class KeyExtensions
{
public:
	KeyExtensions();
	~KeyExtensions();

	void setKeyModifiers(KeyModifiers* mod)
	{
		m_pModifiers = mod;
	}

	void assign(const QString& kind, int keycode,
		int keymask, const QValueList<int>& modcodes);
	void assign(const QString& kind, int keycode,
		int keymask, int modcode);
	bool doKey(int keycode, int keymask, bool isPress);

	void statistics();

	void reset();
	void init();
private:
	KeyModifiers* m_pModifiers;
	ExtensionFactory m_oExtFactory;
	int m_cancelcode;

	void clear();
};

#endif /* _KEY_EXTENSIONS_H_ */