ReactOS 0.4.17-dev-1133-gc25e4fd
misc.cpp
Go to the documentation of this file.
1/*
2 * PROJECT: ReactOS Management Console
3 * LICENSE: GPL-2.0+ (https://spdx.org/licenses/GPL-2.0+)
4 * PURPOSE: Misc Stuff
5 * COPYRIGHT: Copyright 2026 Eric Kohl (eric.kohl@reactos.org)
6 */
7
8 #include "precomp.h"
9
10UINT
12{
13 UINT CmdId;
14
15 switch (ListViewMode)
16 {
19 break;
20
23 break;
24
25 case ListView_List:
26 CmdId = IDM_VIEW_LIST;
27 break;
28
29 default:
30 case ListView_Detail:
31 CmdId = IDM_VIEW_DETAILS;
32 break;
33 }
34
35 return CmdId;
36}
37
40{
41 LISTVIEW_MODE ListViewMode;
42
43 switch (CmdId)
44 {
46 ListViewMode = ListView_SmallIcons;
47 break;
48
50 ListViewMode = ListView_LargeIcons;
51 break;
52
53 case IDM_VIEW_LIST:
54 ListViewMode = ListView_List;
55 break;
56
57 default:
59 ListViewMode = ListView_Detail;
60 break;
61 }
62
63 return ListViewMode;
64}
65
68{
69 switch (ListViewMode)
70 {
72 return (LPWSTR)L"SmallIcon";
73
75 return (LPWSTR)L"Icon";
76
77 case ListView_List:
78 return (LPWSTR)L"List";
79
80 default:
81 case ListView_Detail:
82 return (LPWSTR)L"Report";
83 }
84 return (LPWSTR)L"-1";
85}
86
89{
90 if (_wcsicmp(ViewMode, L"SmallIcon") == 0)
91 {
93 }
94 else if (_wcsicmp(ViewMode, L"Icon") == 0)
95 {
97 }
98 else if (_wcsicmp(ViewMode, L"List") == 0)
99 {
100 return ListView_List;
101 }
102 else
103 {
104 return ListView_Detail;
105 }
106}
107
108DWORD
110{
111 switch (ListViewMode)
112 {
114 return LVS_SMALLICON;
115
117 return LVS_ICON;
118
119 case ListView_List:
120 return LVS_LIST;
121
122 default:
123 case ListView_Detail:
124 return LVS_REPORT;
125 }
126 return 0;
127}
128
129LPWSTR
131 int nShowCmd)
132{
133 switch (nShowCmd)
134 {
135 case SW_HIDE:
136 return (LPWSTR)L"SW_HIDE";
137
138 case SW_SHOWNORMAL:
139 return (LPWSTR)L"SW_SHOWNORMAL";
140
141 case SW_SHOWMINIMIZED:
142 return (LPWSTR)L"SW_SHOWMINIMIZED";
143
144 case SW_SHOWMAXIMIZED:
145 return (LPWSTR)L"SW_SHOWMAXIMIZED";
146
148 return (LPWSTR)L"SW_SHOWNOACTIVATE";
149
150 case SW_SHOW:
151 return (LPWSTR)L"SW_SHOW";
152
153 case SW_MINIMIZE:
154 return (LPWSTR)L"SW_MINIMIZE";
155
157 return (LPWSTR)L"SW_SHOWMINNOACTIVE";
158
159 case SW_SHOWNA:
160 return (LPWSTR)L"SW_SHOWNA";
161
162 case SW_RESTORE:
163 return (LPWSTR)L"SW_RESTORE";
164
165 case SW_SHOWDEFAULT:
166 return (LPWSTR)L"SW_SHOWDEFAULT";
167
168 case SW_FORCEMINIMIZE:
169 return (LPWSTR)L"SW_FORCEMINIMIZE";
170 }
171
172 return (LPWSTR)L"-1";
173}
174
175int
177{
178 if (_wcsicmp(pszString, L"SW_HIDE") == 0)
179 return SW_HIDE;
180 else if (_wcsicmp(pszString, L"SW_SHOWNORMAL") == 0)
181 return SW_SHOWNORMAL;
182 else if (_wcsicmp(pszString, L"SW_SHOWMINIMIZED") == 0)
183 return SW_SHOWMINIMIZED;
184 else if (_wcsicmp(pszString, L"SW_SHOWMAXIMIZED") == 0)
185 return SW_SHOWMAXIMIZED;
186 else if (_wcsicmp(pszString, L"SW_SHOWNOACTIVATE") == 0)
187 return SW_SHOWNOACTIVATE;
188 else if (_wcsicmp(pszString, L"SW_SHOW") == 0)
189 return SW_SHOW;
190 else if (_wcsicmp(pszString, L"SW_MINIMIZE") == 0)
191 return SW_MINIMIZE;
192 else if (_wcsicmp(pszString, L"SW_SHOWMINNOACTIVE") == 0)
193 return SW_SHOWMINNOACTIVE;
194 else if (_wcsicmp(pszString, L"SW_SHOWNA") == 0)
195 return SW_SHOWNA;
196 else if (_wcsicmp(pszString, L"SW_RESTORE") == 0)
197 return SW_RESTORE;
198 else if (_wcsicmp(pszString, L"SW_SHOWDEFAULT") == 0)
199 return SW_SHOWDEFAULT;
200 else if (_wcsicmp(pszString, L"SW_FORCEMINIMIZE") == 0)
201 return SW_FORCEMINIMIZE;
202 return 0;
203}
204
205LPWSTR
207{
208 switch (DocumentMode)
209 {
211 return (LPWSTR)L"Author";
212
214 return (LPWSTR)L"User";
215
217 return (LPWSTR)L"UserMDI";
218
220 return (LPWSTR)L"UserSDI";
221
222 default:
223 return (LPWSTR)L"";
224 }
225}
226
229 _In_ LPWSTR pszDocumentMode,
230 _Out_ PDOCUMENT_MODE pDocumentMode)
231{
232 HRESULT hr = S_OK;
233
234 if (_wcsicmp(pszDocumentMode, L"Author") == 0)
235 *pDocumentMode = DocumentMode_Author;
236 else if (_wcsicmp(pszDocumentMode, L"User") == 0)
237 *pDocumentMode = DocumentMode_User;
238 else if (_wcsicmp(pszDocumentMode, L"UserMDI") == 0)
239 *pDocumentMode = DocumentMode_UserMDI;
240 else if (_wcsicmp(pszDocumentMode, L"UserSDI") == 0)
241 *pDocumentMode = DocumentMode_UserSDI;
242 else
243 hr = E_FAIL;
244
245 return hr;
246}
247
248BOOL
250 _In_ LPWSTR pszString)
251{
252 if (_wcsicmp(pszString, L"true") == 0)
253 return TRUE;
254 else if (_wcsicmp(pszString, L"false") == 0)
255 return FALSE;
256
257 return FALSE;
258}
DWORD ViewModeToStyle(LISTVIEW_MODE ListViewMode)
Definition: misc.cpp:109
LPWSTR ViewModeToString(LISTVIEW_MODE ListViewMode)
Definition: misc.cpp:67
UINT ViewModeToCmdId(LISTVIEW_MODE ListViewMode)
Definition: misc.cpp:11
LPWSTR DocumentModeToString(DOCUMENT_MODE DocumentMode)
Definition: misc.cpp:206
HRESULT StringToDocumentMode(_In_ LPWSTR pszDocumentMode, _Out_ PDOCUMENT_MODE pDocumentMode)
Definition: misc.cpp:228
LISTVIEW_MODE StringToViewMode(LPWSTR ViewMode)
Definition: misc.cpp:88
int ShowCmdFromString(LPWSTR pszString)
Definition: misc.cpp:176
LPWSTR ShowCmdToString(int nShowCmd)
Definition: misc.cpp:130
LISTVIEW_MODE CmdIdToViewMode(UINT CmdId)
Definition: misc.cpp:39
BOOL StringToBool(_In_ LPWSTR pszString)
Definition: misc.cpp:249
@ ListView_SmallIcons
Definition: precomp.h:51
@ ListView_Detail
Definition: precomp.h:54
@ ListView_List
Definition: precomp.h:53
@ ListView_LargeIcons
Definition: precomp.h:52
enum _DOCUMENT_MODE * PDOCUMENT_MODE
@ DocumentMode_UserSDI
Definition: precomp.h:46
@ DocumentMode_User
Definition: precomp.h:44
@ DocumentMode_Author
Definition: precomp.h:43
@ DocumentMode_UserMDI
Definition: precomp.h:45
enum _LISTVIEW_MODE LISTVIEW_MODE
enum _DOCUMENT_MODE DOCUMENT_MODE
#define IDM_VIEW_LARGE_ICONS
Definition: resource.h:45
#define IDM_VIEW_LIST
Definition: resource.h:47
#define IDM_VIEW_DETAILS
Definition: resource.h:48
#define IDM_VIEW_SMALL_ICONS
Definition: resource.h:46
#define E_FAIL
Definition: ddrawi.h:102
HRESULT hr
Definition: delayimp.cpp:582
#define TRUE
Definition: types.h:120
#define FALSE
Definition: types.h:117
_ACRTIMP int __cdecl _wcsicmp(const wchar_t *, const wchar_t *)
Definition: wcs.c:164
#define L(x)
Definition: resources.c:13
unsigned int BOOL
Definition: ntddk_ex.h:94
unsigned long DWORD
Definition: ntddk_ex.h:95
unsigned int UINT
Definition: sysinfo.c:13
#define S_OK
Definition: intsafe.h:52
#define _Out_
Definition: no_sal2.h:160
#define _In_
Definition: no_sal2.h:158
#define LVS_ICON
Definition: commctrl.h:2266
#define LVS_REPORT
Definition: commctrl.h:2267
#define LVS_SMALLICON
Definition: commctrl.h:2268
#define LVS_LIST
Definition: commctrl.h:2269
#define SW_SHOWNORMAL
Definition: winuser.h:781
#define SW_SHOWMAXIMIZED
Definition: winuser.h:784
#define SW_HIDE
Definition: winuser.h:779
#define SW_MINIMIZE
Definition: winuser.h:787
#define SW_SHOWNOACTIVATE
Definition: winuser.h:785
#define SW_SHOWDEFAULT
Definition: winuser.h:791
#define SW_SHOWMINIMIZED
Definition: winuser.h:782
#define SW_FORCEMINIMIZE
Definition: winuser.h:792
#define SW_SHOWNA
Definition: winuser.h:789
#define SW_RESTORE
Definition: winuser.h:790
#define SW_SHOW
Definition: winuser.h:786
#define SW_SHOWMINNOACTIVE
Definition: winuser.h:788
uint16_t * LPWSTR
Definition: typedefs.h:56