1 #pragma once
2 
3 #include "lc_commands.h"
4 
5 class lcKeyboardShortcuts
6 {
7 public:
8 	void Reset();
9 	bool Save(const QString& FileName);
10 	bool Save(QTextStream& Stream);
11 	bool Load(const QString& FileName);
12 	bool Load(QTextStream& Stream);
13 
14 	QString mShortcuts[LC_NUM_COMMANDS];
15 };
16 
17 extern lcKeyboardShortcuts gKeyboardShortcuts;
18 
19 void lcLoadDefaultKeyboardShortcuts();
20 void lcSaveDefaultKeyboardShortcuts();
21 void lcResetDefaultKeyboardShortcuts();
22 
23 class lcMouseShortcuts
24 {
25 public:
26 	void Reset();
27 	bool Save(const QString& FileName);
28 	bool Save(QStringList& Shortcuts);
29 	bool Load(const QString& FileName);
30 	bool Load(const QStringList& Shortcuts);
31 
32 	lcTool GetTool(Qt::MouseButton Button, Qt::KeyboardModifiers Modifiers) const;
33 
34 	struct lcToolShortcut
35 	{
36 		Qt::KeyboardModifiers Modifiers1;
37 		Qt::MouseButton Button1;
38 		Qt::KeyboardModifiers Modifiers2;
39 		Qt::MouseButton Button2;
40 	};
41 
42 	lcToolShortcut mShortcuts[static_cast<int>(lcTool::Count)];
43 };
44 
45 extern lcMouseShortcuts gMouseShortcuts;
46 
47 void lcLoadDefaultMouseShortcuts();
48 void lcSaveDefaultMouseShortcuts();
49 void lcResetDefaultMouseShortcuts();
50 
51