1*f6dc9357SAndroid Build Coastguard Worker // PanelKey.cpp
2*f6dc9357SAndroid Build Coastguard Worker
3*f6dc9357SAndroid Build Coastguard Worker #include "StdAfx.h"
4*f6dc9357SAndroid Build Coastguard Worker
5*f6dc9357SAndroid Build Coastguard Worker #include "Panel.h"
6*f6dc9357SAndroid Build Coastguard Worker #include "HelpUtils.h"
7*f6dc9357SAndroid Build Coastguard Worker
8*f6dc9357SAndroid Build Coastguard Worker #include "../../PropID.h"
9*f6dc9357SAndroid Build Coastguard Worker #include "App.h"
10*f6dc9357SAndroid Build Coastguard Worker
11*f6dc9357SAndroid Build Coastguard Worker using namespace NWindows;
12*f6dc9357SAndroid Build Coastguard Worker
13*f6dc9357SAndroid Build Coastguard Worker // #define kHelpTopic "FM/index.htm"
14*f6dc9357SAndroid Build Coastguard Worker
15*f6dc9357SAndroid Build Coastguard Worker struct CVKeyPropIDPair
16*f6dc9357SAndroid Build Coastguard Worker {
17*f6dc9357SAndroid Build Coastguard Worker WORD VKey;
18*f6dc9357SAndroid Build Coastguard Worker PROPID PropID;
19*f6dc9357SAndroid Build Coastguard Worker };
20*f6dc9357SAndroid Build Coastguard Worker
21*f6dc9357SAndroid Build Coastguard Worker static const CVKeyPropIDPair g_VKeyPropIDPairs[] =
22*f6dc9357SAndroid Build Coastguard Worker {
23*f6dc9357SAndroid Build Coastguard Worker { VK_F3, kpidName },
24*f6dc9357SAndroid Build Coastguard Worker { VK_F4, kpidExtension },
25*f6dc9357SAndroid Build Coastguard Worker { VK_F5, kpidMTime },
26*f6dc9357SAndroid Build Coastguard Worker { VK_F6, kpidSize },
27*f6dc9357SAndroid Build Coastguard Worker { VK_F7, kpidNoProperty }
28*f6dc9357SAndroid Build Coastguard Worker };
29*f6dc9357SAndroid Build Coastguard Worker
FindVKeyPropIDPair(WORD vKey)30*f6dc9357SAndroid Build Coastguard Worker static int FindVKeyPropIDPair(WORD vKey)
31*f6dc9357SAndroid Build Coastguard Worker {
32*f6dc9357SAndroid Build Coastguard Worker for (unsigned i = 0; i < Z7_ARRAY_SIZE(g_VKeyPropIDPairs); i++)
33*f6dc9357SAndroid Build Coastguard Worker if (g_VKeyPropIDPairs[i].VKey == vKey)
34*f6dc9357SAndroid Build Coastguard Worker return (int)i;
35*f6dc9357SAndroid Build Coastguard Worker return -1;
36*f6dc9357SAndroid Build Coastguard Worker }
37*f6dc9357SAndroid Build Coastguard Worker
38*f6dc9357SAndroid Build Coastguard Worker
OnKeyDown(LPNMLVKEYDOWN keyDownInfo,LRESULT & result)39*f6dc9357SAndroid Build Coastguard Worker bool CPanel::OnKeyDown(LPNMLVKEYDOWN keyDownInfo, LRESULT &result)
40*f6dc9357SAndroid Build Coastguard Worker {
41*f6dc9357SAndroid Build Coastguard Worker if (keyDownInfo->wVKey == VK_TAB && keyDownInfo->hdr.hwndFrom == _listView)
42*f6dc9357SAndroid Build Coastguard Worker {
43*f6dc9357SAndroid Build Coastguard Worker _panelCallback->OnTab();
44*f6dc9357SAndroid Build Coastguard Worker return false;
45*f6dc9357SAndroid Build Coastguard Worker }
46*f6dc9357SAndroid Build Coastguard Worker const bool alt = IsKeyDown(VK_MENU);
47*f6dc9357SAndroid Build Coastguard Worker const bool ctrl = IsKeyDown(VK_CONTROL);
48*f6dc9357SAndroid Build Coastguard Worker // const bool leftCtrl = IsKeyDown(VK_LCONTROL);
49*f6dc9357SAndroid Build Coastguard Worker const bool rightCtrl = IsKeyDown(VK_RCONTROL);
50*f6dc9357SAndroid Build Coastguard Worker const bool shift = IsKeyDown(VK_SHIFT);
51*f6dc9357SAndroid Build Coastguard Worker result = 0;
52*f6dc9357SAndroid Build Coastguard Worker
53*f6dc9357SAndroid Build Coastguard Worker if (keyDownInfo->wVKey >= '0' &&
54*f6dc9357SAndroid Build Coastguard Worker keyDownInfo->wVKey <= '9' &&
55*f6dc9357SAndroid Build Coastguard Worker (rightCtrl || alt))
56*f6dc9357SAndroid Build Coastguard Worker {
57*f6dc9357SAndroid Build Coastguard Worker const unsigned index = (unsigned)(keyDownInfo->wVKey - '0');
58*f6dc9357SAndroid Build Coastguard Worker if (shift)
59*f6dc9357SAndroid Build Coastguard Worker {
60*f6dc9357SAndroid Build Coastguard Worker SetBookmark(index);
61*f6dc9357SAndroid Build Coastguard Worker return true;
62*f6dc9357SAndroid Build Coastguard Worker }
63*f6dc9357SAndroid Build Coastguard Worker else
64*f6dc9357SAndroid Build Coastguard Worker {
65*f6dc9357SAndroid Build Coastguard Worker OpenBookmark(index);
66*f6dc9357SAndroid Build Coastguard Worker return true;
67*f6dc9357SAndroid Build Coastguard Worker }
68*f6dc9357SAndroid Build Coastguard Worker }
69*f6dc9357SAndroid Build Coastguard Worker
70*f6dc9357SAndroid Build Coastguard Worker if ((keyDownInfo->wVKey == VK_F2 ||
71*f6dc9357SAndroid Build Coastguard Worker keyDownInfo->wVKey == VK_F1)
72*f6dc9357SAndroid Build Coastguard Worker && alt && !ctrl && !shift)
73*f6dc9357SAndroid Build Coastguard Worker {
74*f6dc9357SAndroid Build Coastguard Worker _panelCallback->SetFocusToPath(keyDownInfo->wVKey == VK_F1 ? 0 : 1);
75*f6dc9357SAndroid Build Coastguard Worker return true;
76*f6dc9357SAndroid Build Coastguard Worker }
77*f6dc9357SAndroid Build Coastguard Worker
78*f6dc9357SAndroid Build Coastguard Worker if ((keyDownInfo->wVKey == VK_F9) && !alt && !ctrl && !shift)
79*f6dc9357SAndroid Build Coastguard Worker {
80*f6dc9357SAndroid Build Coastguard Worker g_App.SwitchOnOffOnePanel();
81*f6dc9357SAndroid Build Coastguard Worker }
82*f6dc9357SAndroid Build Coastguard Worker
83*f6dc9357SAndroid Build Coastguard Worker if (keyDownInfo->wVKey >= VK_F3 && keyDownInfo->wVKey <= VK_F12 && ctrl)
84*f6dc9357SAndroid Build Coastguard Worker {
85*f6dc9357SAndroid Build Coastguard Worker const int index = FindVKeyPropIDPair(keyDownInfo->wVKey);
86*f6dc9357SAndroid Build Coastguard Worker if (index >= 0)
87*f6dc9357SAndroid Build Coastguard Worker SortItemsWithPropID(g_VKeyPropIDPairs[index].PropID);
88*f6dc9357SAndroid Build Coastguard Worker }
89*f6dc9357SAndroid Build Coastguard Worker
90*f6dc9357SAndroid Build Coastguard Worker switch (keyDownInfo->wVKey)
91*f6dc9357SAndroid Build Coastguard Worker {
92*f6dc9357SAndroid Build Coastguard Worker case VK_SHIFT:
93*f6dc9357SAndroid Build Coastguard Worker {
94*f6dc9357SAndroid Build Coastguard Worker _selectionIsDefined = false;
95*f6dc9357SAndroid Build Coastguard Worker _prevFocusedItem = _listView.GetFocusedItem();
96*f6dc9357SAndroid Build Coastguard Worker break;
97*f6dc9357SAndroid Build Coastguard Worker }
98*f6dc9357SAndroid Build Coastguard Worker /*
99*f6dc9357SAndroid Build Coastguard Worker case VK_F1:
100*f6dc9357SAndroid Build Coastguard Worker {
101*f6dc9357SAndroid Build Coastguard Worker // ShowHelpWindow(NULL, kHelpTopic);
102*f6dc9357SAndroid Build Coastguard Worker break;
103*f6dc9357SAndroid Build Coastguard Worker }
104*f6dc9357SAndroid Build Coastguard Worker */
105*f6dc9357SAndroid Build Coastguard Worker case VK_F2:
106*f6dc9357SAndroid Build Coastguard Worker {
107*f6dc9357SAndroid Build Coastguard Worker if (!alt && !ctrl &&!shift)
108*f6dc9357SAndroid Build Coastguard Worker {
109*f6dc9357SAndroid Build Coastguard Worker RenameFile();
110*f6dc9357SAndroid Build Coastguard Worker return true;
111*f6dc9357SAndroid Build Coastguard Worker }
112*f6dc9357SAndroid Build Coastguard Worker break;
113*f6dc9357SAndroid Build Coastguard Worker }
114*f6dc9357SAndroid Build Coastguard Worker case VK_F3:
115*f6dc9357SAndroid Build Coastguard Worker {
116*f6dc9357SAndroid Build Coastguard Worker if (!alt && !ctrl && !shift)
117*f6dc9357SAndroid Build Coastguard Worker {
118*f6dc9357SAndroid Build Coastguard Worker EditItem(false);
119*f6dc9357SAndroid Build Coastguard Worker return true;
120*f6dc9357SAndroid Build Coastguard Worker }
121*f6dc9357SAndroid Build Coastguard Worker break;
122*f6dc9357SAndroid Build Coastguard Worker }
123*f6dc9357SAndroid Build Coastguard Worker case VK_F4:
124*f6dc9357SAndroid Build Coastguard Worker {
125*f6dc9357SAndroid Build Coastguard Worker if (!alt && !ctrl && !shift)
126*f6dc9357SAndroid Build Coastguard Worker {
127*f6dc9357SAndroid Build Coastguard Worker EditItem(true);
128*f6dc9357SAndroid Build Coastguard Worker return true;
129*f6dc9357SAndroid Build Coastguard Worker }
130*f6dc9357SAndroid Build Coastguard Worker if (!alt && !ctrl && shift)
131*f6dc9357SAndroid Build Coastguard Worker {
132*f6dc9357SAndroid Build Coastguard Worker CreateFile();
133*f6dc9357SAndroid Build Coastguard Worker return true;
134*f6dc9357SAndroid Build Coastguard Worker }
135*f6dc9357SAndroid Build Coastguard Worker break;
136*f6dc9357SAndroid Build Coastguard Worker }
137*f6dc9357SAndroid Build Coastguard Worker case VK_F5:
138*f6dc9357SAndroid Build Coastguard Worker {
139*f6dc9357SAndroid Build Coastguard Worker if (!alt && !ctrl)
140*f6dc9357SAndroid Build Coastguard Worker {
141*f6dc9357SAndroid Build Coastguard Worker _panelCallback->OnCopy(false, shift);
142*f6dc9357SAndroid Build Coastguard Worker return true;
143*f6dc9357SAndroid Build Coastguard Worker }
144*f6dc9357SAndroid Build Coastguard Worker break;
145*f6dc9357SAndroid Build Coastguard Worker }
146*f6dc9357SAndroid Build Coastguard Worker case VK_F6:
147*f6dc9357SAndroid Build Coastguard Worker {
148*f6dc9357SAndroid Build Coastguard Worker if (!alt && !ctrl)
149*f6dc9357SAndroid Build Coastguard Worker {
150*f6dc9357SAndroid Build Coastguard Worker _panelCallback->OnCopy(true, shift);
151*f6dc9357SAndroid Build Coastguard Worker return true;
152*f6dc9357SAndroid Build Coastguard Worker }
153*f6dc9357SAndroid Build Coastguard Worker break;
154*f6dc9357SAndroid Build Coastguard Worker }
155*f6dc9357SAndroid Build Coastguard Worker case VK_F7:
156*f6dc9357SAndroid Build Coastguard Worker {
157*f6dc9357SAndroid Build Coastguard Worker if (!alt && !ctrl && !shift)
158*f6dc9357SAndroid Build Coastguard Worker {
159*f6dc9357SAndroid Build Coastguard Worker /* we can process F7 via menu ACCELERATOR.
160*f6dc9357SAndroid Build Coastguard Worker But menu loading can be slow in case of UNC paths and system menu.
161*f6dc9357SAndroid Build Coastguard Worker So we use don't use ACCELERATOR */
162*f6dc9357SAndroid Build Coastguard Worker CreateFolder();
163*f6dc9357SAndroid Build Coastguard Worker return true;
164*f6dc9357SAndroid Build Coastguard Worker }
165*f6dc9357SAndroid Build Coastguard Worker break;
166*f6dc9357SAndroid Build Coastguard Worker }
167*f6dc9357SAndroid Build Coastguard Worker case VK_DELETE:
168*f6dc9357SAndroid Build Coastguard Worker {
169*f6dc9357SAndroid Build Coastguard Worker DeleteItems(!shift);
170*f6dc9357SAndroid Build Coastguard Worker return true;
171*f6dc9357SAndroid Build Coastguard Worker }
172*f6dc9357SAndroid Build Coastguard Worker case VK_INSERT:
173*f6dc9357SAndroid Build Coastguard Worker {
174*f6dc9357SAndroid Build Coastguard Worker if (!alt)
175*f6dc9357SAndroid Build Coastguard Worker {
176*f6dc9357SAndroid Build Coastguard Worker if (ctrl && !shift)
177*f6dc9357SAndroid Build Coastguard Worker {
178*f6dc9357SAndroid Build Coastguard Worker EditCopy();
179*f6dc9357SAndroid Build Coastguard Worker return true;
180*f6dc9357SAndroid Build Coastguard Worker }
181*f6dc9357SAndroid Build Coastguard Worker if (shift && !ctrl)
182*f6dc9357SAndroid Build Coastguard Worker {
183*f6dc9357SAndroid Build Coastguard Worker EditPaste();
184*f6dc9357SAndroid Build Coastguard Worker return true;
185*f6dc9357SAndroid Build Coastguard Worker }
186*f6dc9357SAndroid Build Coastguard Worker if (!shift && !ctrl && _mySelectMode)
187*f6dc9357SAndroid Build Coastguard Worker {
188*f6dc9357SAndroid Build Coastguard Worker OnInsert();
189*f6dc9357SAndroid Build Coastguard Worker return true;
190*f6dc9357SAndroid Build Coastguard Worker }
191*f6dc9357SAndroid Build Coastguard Worker }
192*f6dc9357SAndroid Build Coastguard Worker return false;
193*f6dc9357SAndroid Build Coastguard Worker }
194*f6dc9357SAndroid Build Coastguard Worker case VK_DOWN:
195*f6dc9357SAndroid Build Coastguard Worker {
196*f6dc9357SAndroid Build Coastguard Worker if (shift)
197*f6dc9357SAndroid Build Coastguard Worker OnArrowWithShift();
198*f6dc9357SAndroid Build Coastguard Worker return false;
199*f6dc9357SAndroid Build Coastguard Worker }
200*f6dc9357SAndroid Build Coastguard Worker case VK_UP:
201*f6dc9357SAndroid Build Coastguard Worker {
202*f6dc9357SAndroid Build Coastguard Worker if (alt)
203*f6dc9357SAndroid Build Coastguard Worker _panelCallback->OnSetSameFolder();
204*f6dc9357SAndroid Build Coastguard Worker else if (shift)
205*f6dc9357SAndroid Build Coastguard Worker OnArrowWithShift();
206*f6dc9357SAndroid Build Coastguard Worker return false;
207*f6dc9357SAndroid Build Coastguard Worker }
208*f6dc9357SAndroid Build Coastguard Worker case VK_RIGHT:
209*f6dc9357SAndroid Build Coastguard Worker {
210*f6dc9357SAndroid Build Coastguard Worker if (alt)
211*f6dc9357SAndroid Build Coastguard Worker _panelCallback->OnSetSubFolder();
212*f6dc9357SAndroid Build Coastguard Worker else if (shift)
213*f6dc9357SAndroid Build Coastguard Worker OnArrowWithShift();
214*f6dc9357SAndroid Build Coastguard Worker return false;
215*f6dc9357SAndroid Build Coastguard Worker }
216*f6dc9357SAndroid Build Coastguard Worker case VK_LEFT:
217*f6dc9357SAndroid Build Coastguard Worker {
218*f6dc9357SAndroid Build Coastguard Worker if (alt)
219*f6dc9357SAndroid Build Coastguard Worker _panelCallback->OnSetSubFolder();
220*f6dc9357SAndroid Build Coastguard Worker else if (shift)
221*f6dc9357SAndroid Build Coastguard Worker OnArrowWithShift();
222*f6dc9357SAndroid Build Coastguard Worker return false;
223*f6dc9357SAndroid Build Coastguard Worker }
224*f6dc9357SAndroid Build Coastguard Worker case VK_NEXT:
225*f6dc9357SAndroid Build Coastguard Worker {
226*f6dc9357SAndroid Build Coastguard Worker if (ctrl && !alt && !shift)
227*f6dc9357SAndroid Build Coastguard Worker {
228*f6dc9357SAndroid Build Coastguard Worker // EnterToFocused();
229*f6dc9357SAndroid Build Coastguard Worker return true;
230*f6dc9357SAndroid Build Coastguard Worker }
231*f6dc9357SAndroid Build Coastguard Worker break;
232*f6dc9357SAndroid Build Coastguard Worker }
233*f6dc9357SAndroid Build Coastguard Worker case VK_ADD:
234*f6dc9357SAndroid Build Coastguard Worker {
235*f6dc9357SAndroid Build Coastguard Worker if (alt)
236*f6dc9357SAndroid Build Coastguard Worker SelectByType(true);
237*f6dc9357SAndroid Build Coastguard Worker else if (shift)
238*f6dc9357SAndroid Build Coastguard Worker SelectAll(true);
239*f6dc9357SAndroid Build Coastguard Worker else if (!ctrl)
240*f6dc9357SAndroid Build Coastguard Worker SelectSpec(true);
241*f6dc9357SAndroid Build Coastguard Worker return true;
242*f6dc9357SAndroid Build Coastguard Worker }
243*f6dc9357SAndroid Build Coastguard Worker case VK_SUBTRACT:
244*f6dc9357SAndroid Build Coastguard Worker {
245*f6dc9357SAndroid Build Coastguard Worker if (alt)
246*f6dc9357SAndroid Build Coastguard Worker SelectByType(false);
247*f6dc9357SAndroid Build Coastguard Worker else if (shift)
248*f6dc9357SAndroid Build Coastguard Worker SelectAll(false);
249*f6dc9357SAndroid Build Coastguard Worker else
250*f6dc9357SAndroid Build Coastguard Worker SelectSpec(false);
251*f6dc9357SAndroid Build Coastguard Worker return true;
252*f6dc9357SAndroid Build Coastguard Worker }
253*f6dc9357SAndroid Build Coastguard Worker /*
254*f6dc9357SAndroid Build Coastguard Worker case VK_DELETE:
255*f6dc9357SAndroid Build Coastguard Worker CommandDelete();
256*f6dc9357SAndroid Build Coastguard Worker return 0;
257*f6dc9357SAndroid Build Coastguard Worker case VK_F1:
258*f6dc9357SAndroid Build Coastguard Worker CommandHelp();
259*f6dc9357SAndroid Build Coastguard Worker return 0;
260*f6dc9357SAndroid Build Coastguard Worker */
261*f6dc9357SAndroid Build Coastguard Worker case VK_BACK:
262*f6dc9357SAndroid Build Coastguard Worker OpenParentFolder();
263*f6dc9357SAndroid Build Coastguard Worker return true;
264*f6dc9357SAndroid Build Coastguard Worker /*
265*f6dc9357SAndroid Build Coastguard Worker case VK_DIVIDE:
266*f6dc9357SAndroid Build Coastguard Worker case '\\':
267*f6dc9357SAndroid Build Coastguard Worker case '/':
268*f6dc9357SAndroid Build Coastguard Worker case VK_OEM_5:
269*f6dc9357SAndroid Build Coastguard Worker {
270*f6dc9357SAndroid Build Coastguard Worker // OpenRootFolder();
271*f6dc9357SAndroid Build Coastguard Worker OpenDrivesFolder();
272*f6dc9357SAndroid Build Coastguard Worker
273*f6dc9357SAndroid Build Coastguard Worker return true;
274*f6dc9357SAndroid Build Coastguard Worker }
275*f6dc9357SAndroid Build Coastguard Worker */
276*f6dc9357SAndroid Build Coastguard Worker case 'A':
277*f6dc9357SAndroid Build Coastguard Worker if (ctrl)
278*f6dc9357SAndroid Build Coastguard Worker {
279*f6dc9357SAndroid Build Coastguard Worker SelectAll(true);
280*f6dc9357SAndroid Build Coastguard Worker return true;
281*f6dc9357SAndroid Build Coastguard Worker }
282*f6dc9357SAndroid Build Coastguard Worker return false;
283*f6dc9357SAndroid Build Coastguard Worker case 'X':
284*f6dc9357SAndroid Build Coastguard Worker if (ctrl)
285*f6dc9357SAndroid Build Coastguard Worker {
286*f6dc9357SAndroid Build Coastguard Worker EditCut();
287*f6dc9357SAndroid Build Coastguard Worker return true;
288*f6dc9357SAndroid Build Coastguard Worker }
289*f6dc9357SAndroid Build Coastguard Worker return false;
290*f6dc9357SAndroid Build Coastguard Worker case 'C':
291*f6dc9357SAndroid Build Coastguard Worker if (ctrl)
292*f6dc9357SAndroid Build Coastguard Worker {
293*f6dc9357SAndroid Build Coastguard Worker EditCopy();
294*f6dc9357SAndroid Build Coastguard Worker return true;
295*f6dc9357SAndroid Build Coastguard Worker }
296*f6dc9357SAndroid Build Coastguard Worker return false;
297*f6dc9357SAndroid Build Coastguard Worker case 'V':
298*f6dc9357SAndroid Build Coastguard Worker if (ctrl)
299*f6dc9357SAndroid Build Coastguard Worker {
300*f6dc9357SAndroid Build Coastguard Worker EditPaste();
301*f6dc9357SAndroid Build Coastguard Worker return true;
302*f6dc9357SAndroid Build Coastguard Worker }
303*f6dc9357SAndroid Build Coastguard Worker return false;
304*f6dc9357SAndroid Build Coastguard Worker case 'N':
305*f6dc9357SAndroid Build Coastguard Worker if (ctrl)
306*f6dc9357SAndroid Build Coastguard Worker {
307*f6dc9357SAndroid Build Coastguard Worker CreateFile();
308*f6dc9357SAndroid Build Coastguard Worker return true;
309*f6dc9357SAndroid Build Coastguard Worker }
310*f6dc9357SAndroid Build Coastguard Worker return false;
311*f6dc9357SAndroid Build Coastguard Worker case 'R':
312*f6dc9357SAndroid Build Coastguard Worker if (ctrl)
313*f6dc9357SAndroid Build Coastguard Worker {
314*f6dc9357SAndroid Build Coastguard Worker OnReload();
315*f6dc9357SAndroid Build Coastguard Worker return true;
316*f6dc9357SAndroid Build Coastguard Worker }
317*f6dc9357SAndroid Build Coastguard Worker return false;
318*f6dc9357SAndroid Build Coastguard Worker case 'W':
319*f6dc9357SAndroid Build Coastguard Worker if (ctrl)
320*f6dc9357SAndroid Build Coastguard Worker {
321*f6dc9357SAndroid Build Coastguard Worker // SendMessage();
322*f6dc9357SAndroid Build Coastguard Worker PostMessage(g_HWND, WM_COMMAND, IDCLOSE, 0);
323*f6dc9357SAndroid Build Coastguard Worker return true;
324*f6dc9357SAndroid Build Coastguard Worker }
325*f6dc9357SAndroid Build Coastguard Worker return false;
326*f6dc9357SAndroid Build Coastguard Worker case 'Z':
327*f6dc9357SAndroid Build Coastguard Worker if (ctrl)
328*f6dc9357SAndroid Build Coastguard Worker {
329*f6dc9357SAndroid Build Coastguard Worker ChangeComment();
330*f6dc9357SAndroid Build Coastguard Worker return true;
331*f6dc9357SAndroid Build Coastguard Worker }
332*f6dc9357SAndroid Build Coastguard Worker return false;
333*f6dc9357SAndroid Build Coastguard Worker case '1':
334*f6dc9357SAndroid Build Coastguard Worker case '2':
335*f6dc9357SAndroid Build Coastguard Worker case '3':
336*f6dc9357SAndroid Build Coastguard Worker case '4':
337*f6dc9357SAndroid Build Coastguard Worker if (ctrl)
338*f6dc9357SAndroid Build Coastguard Worker {
339*f6dc9357SAndroid Build Coastguard Worker const unsigned styleIndex = (unsigned)(keyDownInfo->wVKey - '1');
340*f6dc9357SAndroid Build Coastguard Worker SetListViewMode(styleIndex);
341*f6dc9357SAndroid Build Coastguard Worker return true;
342*f6dc9357SAndroid Build Coastguard Worker }
343*f6dc9357SAndroid Build Coastguard Worker return false;
344*f6dc9357SAndroid Build Coastguard Worker case VK_MULTIPLY:
345*f6dc9357SAndroid Build Coastguard Worker {
346*f6dc9357SAndroid Build Coastguard Worker InvertSelection();
347*f6dc9357SAndroid Build Coastguard Worker return true;
348*f6dc9357SAndroid Build Coastguard Worker }
349*f6dc9357SAndroid Build Coastguard Worker case VK_F12:
350*f6dc9357SAndroid Build Coastguard Worker if (alt && !ctrl && !shift)
351*f6dc9357SAndroid Build Coastguard Worker {
352*f6dc9357SAndroid Build Coastguard Worker FoldersHistory();
353*f6dc9357SAndroid Build Coastguard Worker return true;
354*f6dc9357SAndroid Build Coastguard Worker }
355*f6dc9357SAndroid Build Coastguard Worker }
356*f6dc9357SAndroid Build Coastguard Worker return false;
357*f6dc9357SAndroid Build Coastguard Worker }
358