Copy rpoolmgr.h from trunk
[reactos.git] / rosapps / winfile / settings.c
1 /*
2 * ReactOS winfile
3 *
4 * settings.c
5 *
6 * Copyright (C) 2002 Robert Dickenson <robd@reactos.org>
7 *
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation; either version 2 of the License, or
11 * (at your option) any later version.
12 *
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
17 *
18 * You should have received a copy of the GNU General Public License
19 * along with this program; if not, write to the Free Software
20 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
21 */
22
23 #define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers
24 #include <windows.h>
25 #include <commctrl.h>
26 #include <stdlib.h>
27 #include <malloc.h>
28 #include <memory.h>
29 #include <tchar.h>
30 #include <process.h>
31 #include <stdio.h>
32
33 #include "main.h"
34 #include "settings.h"
35
36
37 DWORD Confirmation;
38 DWORD ViewType;
39 TCHAR ViewTypeMaskStr[MAX_TYPE_MASK_LEN];
40 //LPCTSTR lpViewTypeMaskStr;
41
42
43 void LoadSettings(void)
44 {
45 HKEY hKey;
46 TCHAR szSubKey[] = _T("Software\\ReactWare\\FileManager");
47 /*
48 int i;
49 DWORD dwSize;
50
51 // Window size & position settings
52 TaskManagerSettings.Maximized = FALSE;
53 TaskManagerSettings.Left = 0;
54 TaskManagerSettings.Top = 0;
55 TaskManagerSettings.Right = 0;
56 TaskManagerSettings.Bottom = 0;
57
58 // Tab settings
59 TaskManagerSettings.ActiveTabPage = 0;
60
61 // Options menu settings
62 TaskManagerSettings.AlwaysOnTop = FALSE;
63 TaskManagerSettings.MinimizeOnUse = TRUE;
64 TaskManagerSettings.HideWhenMinimized = TRUE;
65 TaskManagerSettings.Show16BitTasks = TRUE;
66
67 // Update speed settings
68 TaskManagerSettings.UpdateSpeed = 2;
69
70 // Applications page settings
71 TaskManagerSettings.View_LargeIcons = FALSE;
72 TaskManagerSettings.View_SmallIcons = FALSE;
73 TaskManagerSettings.View_Details = TRUE;
74
75 // Processes page settings
76 TaskManagerSettings.ShowProcessesFromAllUsers = FALSE; // Server-only?
77 TaskManagerSettings.Column_ImageName = TRUE;
78 TaskManagerSettings.Column_PID = TRUE;
79 TaskManagerSettings.Column_CPUUsage = TRUE;
80 TaskManagerSettings.Column_CPUTime = TRUE;
81 TaskManagerSettings.Column_MemoryUsage = TRUE;
82 TaskManagerSettings.Column_MemoryUsageDelta = FALSE;
83 TaskManagerSettings.Column_PeakMemoryUsage = FALSE;
84 TaskManagerSettings.Column_PageFaults = FALSE;
85 TaskManagerSettings.Column_USERObjects = FALSE;
86 TaskManagerSettings.Column_IOReads = FALSE;
87 TaskManagerSettings.Column_IOReadBytes = FALSE;
88 TaskManagerSettings.Column_SessionID = FALSE; // Server-only?
89 TaskManagerSettings.Column_UserName = FALSE; // Server-only?
90 TaskManagerSettings.Column_PageFaultsDelta = FALSE;
91 TaskManagerSettings.Column_VirtualMemorySize = FALSE;
92 TaskManagerSettings.Column_PagedPool = FALSE;
93 TaskManagerSettings.Column_NonPagedPool = FALSE;
94 TaskManagerSettings.Column_BasePriority = FALSE;
95 TaskManagerSettings.Column_HandleCount = FALSE;
96 TaskManagerSettings.Column_ThreadCount = FALSE;
97 TaskManagerSettings.Column_GDIObjects = FALSE;
98 TaskManagerSettings.Column_IOWrites = FALSE;
99 TaskManagerSettings.Column_IOWriteBytes = FALSE;
100 TaskManagerSettings.Column_IOOther = FALSE;
101 TaskManagerSettings.Column_IOOtherBytes = FALSE;
102
103 for (i = 0; i < 25; i++) {
104 TaskManagerSettings.ColumnOrderArray[i] = i;
105 }
106 TaskManagerSettings.ColumnSizeArray[0] = 105;
107 TaskManagerSettings.ColumnSizeArray[1] = 50;
108 TaskManagerSettings.ColumnSizeArray[2] = 107;
109 TaskManagerSettings.ColumnSizeArray[3] = 70;
110 TaskManagerSettings.ColumnSizeArray[4] = 35;
111 TaskManagerSettings.ColumnSizeArray[5] = 70;
112 TaskManagerSettings.ColumnSizeArray[6] = 70;
113 TaskManagerSettings.ColumnSizeArray[7] = 100;
114 TaskManagerSettings.ColumnSizeArray[8] = 70;
115 TaskManagerSettings.ColumnSizeArray[9] = 70;
116 TaskManagerSettings.ColumnSizeArray[10] = 70;
117 TaskManagerSettings.ColumnSizeArray[11] = 70;
118 TaskManagerSettings.ColumnSizeArray[12] = 70;
119 TaskManagerSettings.ColumnSizeArray[13] = 70;
120 TaskManagerSettings.ColumnSizeArray[14] = 60;
121 TaskManagerSettings.ColumnSizeArray[15] = 60;
122 TaskManagerSettings.ColumnSizeArray[16] = 60;
123 TaskManagerSettings.ColumnSizeArray[17] = 60;
124 TaskManagerSettings.ColumnSizeArray[18] = 60;
125 TaskManagerSettings.ColumnSizeArray[19] = 70;
126 TaskManagerSettings.ColumnSizeArray[20] = 70;
127 TaskManagerSettings.ColumnSizeArray[21] = 70;
128 TaskManagerSettings.ColumnSizeArray[22] = 70;
129 TaskManagerSettings.ColumnSizeArray[23] = 70;
130 TaskManagerSettings.ColumnSizeArray[24] = 70;
131
132 TaskManagerSettings.SortColumn = 1;
133 TaskManagerSettings.SortAscending = TRUE;
134
135 // Performance page settings
136 TaskManagerSettings.CPUHistory_OneGraphPerCPU = TRUE;
137 TaskManagerSettings.ShowKernelTimes = FALSE;
138 */
139 // Open the key
140 if (RegOpenKeyEx(HKEY_CURRENT_USER, szSubKey, 0, KEY_READ, &hKey) != ERROR_SUCCESS)
141 return;
142 // Read the settings
143 // dwSize = sizeof(TASKMANAGER_SETTINGS);
144 // RegQueryValueEx(hKey, "Preferences", NULL, NULL, (LPBYTE)&TaskManagerSettings, &dwSize);
145
146 // Close the key
147 RegCloseKey(hKey);
148 }
149
150 void SaveSettings(void)
151 {
152 HKEY hKey;
153 TCHAR szSubKey1[] = _T("Software");
154 TCHAR szSubKey2[] = _T("Software\\ReactWare");
155 TCHAR szSubKey3[] = _T("Software\\ReactWare\\FileManager");
156
157 // Open (or create) the key
158 hKey = NULL;
159 RegCreateKeyEx(HKEY_CURRENT_USER, szSubKey1, 0, NULL, REG_OPTION_NON_VOLATILE, KEY_WRITE, NULL, &hKey, NULL);
160 RegCloseKey(hKey);
161 hKey = NULL;
162 RegCreateKeyEx(HKEY_CURRENT_USER, szSubKey2, 0, NULL, REG_OPTION_NON_VOLATILE, KEY_WRITE, NULL, &hKey, NULL);
163 RegCloseKey(hKey);
164 hKey = NULL;
165 if (RegCreateKeyEx(HKEY_CURRENT_USER, szSubKey3, 0, NULL, REG_OPTION_NON_VOLATILE, KEY_WRITE, NULL, &hKey, NULL) != ERROR_SUCCESS)
166 return;
167 // Save the settings
168 // RegSetValueEx(hKey, "Preferences", 0, REG_BINARY, (LPBYTE)&TaskManagerSettings, sizeof(TASKMANAGER_SETTINGS));
169 // Close the key
170 RegCloseKey(hKey);
171 }
172