blob: 4f9de2e3e28adca0da9a5ecce675f1d61776dfed (
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
|
#ifndef KR_SELECTION_MODE_H
#define KR_SELECTION_MODE_H
/**
Every selection mode inherits this class, and has to implement init().
Usage:
KrSelectionMode::getSelectionHandler()->whateverFunctionYouNeed()
\note You can call KrSelectionMode::resetSelectionHandler() if you want the
selection mode to be re-read. This is useful after a configuration where you
changed the selection mode. calling resetSelectionHandler() will cause the next
call to getSelectionHandler() to (possibly) select a different mode.
*/
class KrSelectionMode {
public:
static KrSelectionMode * getSelectionHandler();
static void resetSelectionHandler();
virtual void init() = 0; // everyone must implement this in order to be a selection mode
inline bool useQTSelection() { return _useQTSelection; }
inline bool spaceMovesDown() { return _spaceMovesDown; }
inline bool insertMovesDown() { return _insertMovesDown; }
inline bool spaceCalculatesDiskSpace() { return _spaceCalculatesDiskSpace; }
inline bool rightButtonSelects() { return _rightButtonSelects; }
inline bool leftButtonSelects() { return _leftButtonSelects; }
inline bool rightButtonPreservesSelection() { return _rightButtonPreservesSelection; }
inline bool leftButtonPreservesSelection() { return _leftButtonPreservesSelection; }
inline bool shiftCtrlRightButtonSelects() { return _shiftCtrlRightButtonSelects; }
inline bool shiftCtrlLeftButtonSelects() { return _shiftCtrlLeftButtonSelects; }
inline int showContextMenu() { return _showContextMenu; } // 0: no, -1: yes, n>0: after n milliseconds
virtual ~KrSelectionMode() {}
protected:
bool _useQTSelection, _spaceMovesDown, _insertMovesDown, _spaceCalculatesDiskSpace;
bool _rightButtonSelects, _leftButtonSelects, _rightButtonPreservesSelection;
bool _leftButtonPreservesSelection, _shiftCtrlRightButtonSelects, _shiftCtrlLeftButtonSelects;
int _showContextMenu;
};
class KonqSelectionMode : public KrSelectionMode {
public:
void init() {
_useQTSelection = true;
_spaceMovesDown = false;
_insertMovesDown = true;
_spaceCalculatesDiskSpace = false;
_rightButtonSelects = true;
_leftButtonSelects = true;
_rightButtonPreservesSelection = false;
_leftButtonPreservesSelection = false;
_shiftCtrlRightButtonSelects = false;
_shiftCtrlLeftButtonSelects = false;
_showContextMenu = -1;
}
};
class OriginalSelectionMode : public KrSelectionMode {
public:
void init() {
_useQTSelection = false;
_spaceMovesDown = true;
_insertMovesDown = true;
_spaceCalculatesDiskSpace = true;
_rightButtonSelects = true;
_leftButtonSelects = true;
_rightButtonPreservesSelection = false;
_leftButtonPreservesSelection = false;
_shiftCtrlRightButtonSelects = false;
_shiftCtrlLeftButtonSelects = false;
_showContextMenu = -1;
}
};
class TCSelectionMode : public KrSelectionMode {
public:
void init() {
_useQTSelection = false;
_spaceMovesDown = false;
_insertMovesDown = true;
_spaceCalculatesDiskSpace = true;
_rightButtonSelects = true;
_leftButtonSelects = false;
_rightButtonPreservesSelection = true;
_leftButtonPreservesSelection = false;
_shiftCtrlRightButtonSelects = false;
_shiftCtrlLeftButtonSelects = true;
_showContextMenu = 500;
}
};
class UserSelectionMode: public KrSelectionMode {
public:
void init();
};
#endif // KR_SELECTION_MODE_H
|