Changeset 551 for trunk/dll/notebook.c
- Timestamp:
- Feb 28, 2007, 2:33:51 AM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/dll/notebook.c
r443 r551 40 40 #pragma alloc_text(NOTEBOOK5,CfgGDlgProc,CfgDlgProc,CfgBDlgProc) 41 41 42 typedef struct { 42 typedef struct 43 { 43 44 USHORT frameid; 44 ULONG title; 45 PFNWP proc; 46 HWND hwnd; 47 ULONG helpid; 48 ULONG pageID; 49 } NOTEPAGES; 45 ULONG title; 46 PFNWP proc; 47 HWND hwnd; 48 ULONG helpid; 49 ULONG pageID; 50 } 51 NOTEPAGES; 50 52 51 53 static HWND hwndNotebook; 52 54 53 54 MRESULT EXPENTRY CfgADlgProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2) 55 MRESULT EXPENTRY CfgADlgProc(HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2) 55 56 { 56 switch(msg) { 57 case WM_INITDLG: 58 WinSendDlgItemMsg(hwnd,CFGA_VIRUS,EM_SETTEXTLIMIT, 59 MPFROM2SHORT(CCHMAXPATH,0),MPVOID); 60 WinSendDlgItemMsg(hwnd,CFGA_EXTRACTPATH,EM_SETTEXTLIMIT, 61 MPFROM2SHORT(CCHMAXPATH,0),MPVOID); 62 WinEnableWindow(WinWindowFromID(hwnd,CFGA_FIND),FALSE); 63 PostMsg(hwnd,UM_UNDO,MPVOID,MPVOID); 64 break; 65 66 case UM_UNDO: 67 WinCheckButton(hwnd,CFGA_ARCSTUFFVISIBLE,fArcStuffVisible); 68 WinCheckButton(hwnd,CFGA_FOLDERAFTEREXTRACT,fFolderAfterExtract); 69 WinCheckButton(hwnd,CFGA_QUICKARCFIND,fQuickArcFind); 70 WinCheckButton(hwnd,CFGA_DEFARC,(*szDefArc != 0)); 71 WinSetDlgItemText(hwnd,CFGA_DEFARCNAME,szDefArc); 72 WinSetDlgItemText(hwnd,CFGA_VIRUS,virus); 73 WinSetDlgItemText(hwnd,CFGA_EXTRACTPATH,extractpath); 74 break; 75 76 case WM_CONTROL: 77 switch(SHORT1FROMMP(mp1)) { 78 case CFGA_VIRUS: 79 case CFGA_EXTRACTPATH: 80 switch(SHORT2FROMMP(mp1)) { 81 case EN_KILLFOCUS: 82 WinEnableWindow(WinWindowFromID(hwnd,CFGA_FIND),FALSE); 83 break; 84 case EN_SETFOCUS: 85 WinEnableWindow(WinWindowFromID(hwnd,CFGA_FIND),TRUE); 86 break; 87 } 88 break; 89 case CFGA_DEFARC: 90 switch(SHORT2FROMMP(mp1)) { 91 case BN_CLICKED: 92 if (WinQueryButtonCheckstate(hwnd,CFGA_DEFARC)) { 93 94 ARC_TYPE *pat = arcsighead; // Hide dups 95 96 if (!WinDlgBox(HWND_DESKTOP,hwnd, 97 SBoxDlgProc,FM3ModHandle,ASEL_FRAME, 98 (PVOID)&pat) || 99 !pat || !pat->id || !*pat->id) { 100 DosBeep(250,100); // Complain 101 WinCheckButton(hwnd,CFGA_DEFARC,FALSE); 102 } 103 else 104 WinSetDlgItemText(hwnd,CFGA_DEFARCNAME,pat->id); 105 } 106 break; 107 default: 108 break; 109 } 110 break; 111 112 default: 113 break; 114 } 115 return 0; 116 117 case WM_COMMAND: 118 switch(SHORT1FROMMP(mp1)) { 119 case IDM_UNDO: 120 PostMsg(hwnd,UM_UNDO,MPVOID,MPVOID); 121 break; 122 123 case DID_CANCEL: 124 WinSendMsg(hwnd,UM_UNDO,MPVOID,MPVOID); 125 126 case DID_OK: 127 PostMsg((HWND)WinQueryWindowULong(hwnd,QWL_USER),msg,mp1,mp2); 128 break; 129 130 case IDM_HELP: 131 if(hwndHelp) 132 WinSendMsg(hwndHelp,HM_DISPLAY_HELP, 133 MPFROM2SHORT(HELP_CFGA,0), 134 MPFROMSHORT(HM_RESOURCEID)); 135 break; 136 137 case CFGA_FIND: 138 { 139 CHAR filename[CCHMAXPATH + 9]; 140 USHORT id; 141 HWND hwndFocus; 142 143 strcpy(filename,"*.EXE"); 144 hwndFocus = WinQueryFocus(HWND_DESKTOP); 145 if(hwndFocus) { 146 id = WinQueryWindowUShort(hwndFocus,QWS_ID); 147 switch(id) { 148 case CFGA_VIRUS: 149 if(insert_filename(hwnd,filename,2,FALSE) && *filename) 150 WinSetDlgItemText(hwnd,id,filename); 151 break; 152 case CFGA_EXTRACTPATH: 153 strcpy(filename,extractpath); 154 if(WinDlgBox(HWND_DESKTOP,hwndNotebook, 155 WalkExtractDlgProc,FM3ModHandle,WALK_FRAME, 156 MPFROMP(filename)) && 157 *filename) 158 WinSetDlgItemText(hwnd,id,filename); 159 break; 160 default: 161 Runtime_Error(pszSrcFile, __LINE__, "bad case"); 162 break; 163 } 164 } 165 } 166 break; 167 } 168 return 0; 169 170 case WM_CLOSE: 171 fQuickArcFind = WinQueryButtonCheckstate(hwnd,CFGA_QUICKARCFIND); 57 switch (msg) { 58 case WM_INITDLG: 59 WinSendDlgItemMsg(hwnd, CFGA_VIRUS, EM_SETTEXTLIMIT, 60 MPFROM2SHORT(CCHMAXPATH, 0), MPVOID); 61 WinSendDlgItemMsg(hwnd, CFGA_EXTRACTPATH, EM_SETTEXTLIMIT, 62 MPFROM2SHORT(CCHMAXPATH, 0), MPVOID); 63 WinEnableWindow(WinWindowFromID(hwnd, CFGA_FIND), FALSE); 64 PostMsg(hwnd, UM_UNDO, MPVOID, MPVOID); 65 break; 66 67 case UM_UNDO: 68 WinCheckButton(hwnd, CFGA_ARCSTUFFVISIBLE, fArcStuffVisible); 69 WinCheckButton(hwnd, CFGA_FOLDERAFTEREXTRACT, fFolderAfterExtract); 70 WinCheckButton(hwnd, CFGA_QUICKARCFIND, fQuickArcFind); 71 WinCheckButton(hwnd, CFGA_DEFARC, (*szDefArc != 0)); 72 WinSetDlgItemText(hwnd, CFGA_DEFARCNAME, szDefArc); 73 WinSetDlgItemText(hwnd, CFGA_VIRUS, virus); 74 WinSetDlgItemText(hwnd, CFGA_EXTRACTPATH, extractpath); 75 break; 76 77 case WM_CONTROL: 78 switch (SHORT1FROMMP(mp1)) { 79 case CFGA_VIRUS: 80 case CFGA_EXTRACTPATH: 81 switch (SHORT2FROMMP(mp1)) { 82 case EN_KILLFOCUS: 83 WinEnableWindow(WinWindowFromID(hwnd, CFGA_FIND), FALSE); 84 break; 85 case EN_SETFOCUS: 86 WinEnableWindow(WinWindowFromID(hwnd, CFGA_FIND), TRUE); 87 break; 88 } 89 break; 90 case CFGA_DEFARC: 91 switch (SHORT2FROMMP(mp1)) { 92 case BN_CLICKED: 93 if (WinQueryButtonCheckstate(hwnd, CFGA_DEFARC)) { 94 95 ARC_TYPE *pat = arcsighead; // Hide dups 96 97 if (!WinDlgBox(HWND_DESKTOP, hwnd, 98 SBoxDlgProc, FM3ModHandle, ASEL_FRAME, 99 (PVOID) & pat) || !pat || !pat->id || !*pat->id) { 100 DosBeep(250, 100); // Complain 101 WinCheckButton(hwnd, CFGA_DEFARC, FALSE); 102 } 103 else 104 WinSetDlgItemText(hwnd, CFGA_DEFARCNAME, pat->id); 105 } 106 break; 107 default: 108 break; 109 } 110 break; 111 112 default: 113 break; 114 } 115 return 0; 116 117 case WM_COMMAND: 118 switch (SHORT1FROMMP(mp1)) { 119 case IDM_UNDO: 120 PostMsg(hwnd, UM_UNDO, MPVOID, MPVOID); 121 break; 122 123 case DID_CANCEL: 124 WinSendMsg(hwnd, UM_UNDO, MPVOID, MPVOID); 125 126 case DID_OK: 127 PostMsg((HWND) WinQueryWindowULong(hwnd, QWL_USER), msg, mp1, mp2); 128 break; 129 130 case IDM_HELP: 131 if (hwndHelp) 132 WinSendMsg(hwndHelp, HM_DISPLAY_HELP, 133 MPFROM2SHORT(HELP_CFGA, 0), MPFROMSHORT(HM_RESOURCEID)); 134 break; 135 136 case CFGA_FIND: 137 { 138 CHAR filename[CCHMAXPATH + 9]; 139 USHORT id; 140 HWND hwndFocus; 141 142 strcpy(filename, "*.EXE"); 143 hwndFocus = WinQueryFocus(HWND_DESKTOP); 144 if (hwndFocus) { 145 id = WinQueryWindowUShort(hwndFocus, QWS_ID); 146 switch (id) { 147 case CFGA_VIRUS: 148 if (insert_filename(hwnd, filename, 2, FALSE) && *filename) 149 WinSetDlgItemText(hwnd, id, filename); 150 break; 151 case CFGA_EXTRACTPATH: 152 strcpy(filename, extractpath); 153 if (WinDlgBox(HWND_DESKTOP, hwndNotebook, 154 WalkExtractDlgProc, FM3ModHandle, WALK_FRAME, 155 MPFROMP(filename)) && *filename) 156 WinSetDlgItemText(hwnd, id, filename); 157 break; 158 default: 159 Runtime_Error(pszSrcFile, __LINE__, "bad case"); 160 break; 161 } 162 } 163 } 164 break; 165 } 166 return 0; 167 168 case WM_CLOSE: 169 fQuickArcFind = WinQueryButtonCheckstate(hwnd, CFGA_QUICKARCFIND); 170 PrfWriteProfileData(fmprof, 171 appname, 172 "QuickArcFind", &fQuickArcFind, sizeof(BOOL)); 173 fArcStuffVisible = WinQueryButtonCheckstate(hwnd, CFGA_ARCSTUFFVISIBLE); 174 PrfWriteProfileData(fmprof, 175 appname, 176 "ArcStuffVisible", &fArcStuffVisible, sizeof(BOOL)); 177 fFolderAfterExtract = WinQueryButtonCheckstate(hwnd, 178 CFGA_FOLDERAFTEREXTRACT); 179 PrfWriteProfileData(fmprof, 180 appname, 181 "FolderAfterExtract", 182 &fFolderAfterExtract, sizeof(BOOL)); 183 if (WinQueryButtonCheckstate(hwnd, CFGA_DEFARC)) { 184 185 CHAR temp[CCHMAXPATH]; 186 187 *temp = 0; 188 WinQueryDlgItemText(hwnd, CFGA_DEFARCNAME, CCHMAXPATH, temp); 189 strcpy(szDefArc, temp); 190 } 191 else 192 *szDefArc = 0; 193 PrfWriteProfileString(fmprof, appname, "DefArc", szDefArc); 194 WinQueryDlgItemText(hwnd, CFGA_VIRUS, CCHMAXPATH, virus); 195 virus[CCHMAXPATH - 1] = 0; 196 bstrip(virus); 197 if (!*virus) 198 strcpy(virus, "OS2SCAN.EXE %p /SUB /A"); 199 WinQueryDlgItemText(hwnd, CFGA_EXTRACTPATH, CCHMAXPATH, extractpath); 200 extractpath[CCHMAXPATH - 1] = 0; 201 bstrip(extractpath); 202 if (*extractpath) { 203 if (strcmp(extractpath, "*")) { 204 205 MakeFullName(extractpath); 206 if (IsFile(extractpath)) { 207 Runtime_Error(pszSrcFile, __LINE__, "%s not a directory", 208 extractpath); 209 *extractpath = 0; 210 } 211 } 212 } 213 PrfWriteProfileString(fmprof, appname, "Virus", virus); 214 PrfWriteProfileString(fmprof, appname, "ExtractPath", extractpath); 215 break; 216 } 217 return WinDefDlgProc(hwnd, msg, mp1, mp2); 218 } 219 220 MRESULT EXPENTRY CfgSDlgProc(HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2) 221 { 222 switch (msg) { 223 case WM_INITDLG: 224 WinSendDlgItemMsg(hwnd, CFGS_FILESTOGET, SPBM_SETTEXTLIMIT, 225 MPFROMSHORT(4L), MPVOID); 226 WinSendDlgItemMsg(hwnd, CFGS_FILESTOGET, SPBM_OVERRIDESETLIMITS, 227 MPFROMLONG(2048L), MPFROMLONG(16L)); 228 PostMsg(hwnd, UM_UNDO, MPVOID, MPVOID); 229 break; 230 231 case UM_UNDO: 232 WinCheckButton(hwnd, CFGS_NOICONSFILES, (fNoIconsFiles == FALSE)); 233 WinCheckButton(hwnd, CFGS_NOICONSDIRS, (fNoIconsDirs == FALSE)); 234 WinCheckButton(hwnd, CFGS_LOADSUBJECTS, fLoadSubject); 235 WinCheckButton(hwnd, CFGS_LOADLONGNAMES, fLoadLongnames); 236 WinCheckButton(hwnd, CFGS_FORCELOWER, fForceLower); 237 WinCheckButton(hwnd, CFGS_FORCEUPPER, fForceUpper); 238 WinCheckButton(hwnd, CFGS_NOREMOVABLESCAN, fNoRemovableScan); 239 WinCheckButton(hwnd, CFGS_REMOTEBUG, fRemoteBug); 240 WinSendDlgItemMsg(hwnd, CFGS_FILESTOGET, SPBM_SETCURRENTVALUE, 241 MPFROMLONG(FilesToGet), MPVOID); 242 return 0; 243 244 case WM_CONTROL: 245 switch (SHORT1FROMMP(mp1)) { 246 case CFGS_FORCEUPPER: 247 case CFGS_FORCELOWER: 248 { 249 BOOL temp; 250 251 temp = WinQueryButtonCheckstate(hwnd, SHORT1FROMMP(mp1)); 252 if (temp) { 253 switch (SHORT1FROMMP(mp1)) { 254 case CFGS_FORCEUPPER: 255 WinCheckButton(hwnd, CFGS_FORCELOWER, FALSE); 256 break; 257 case CFGS_FORCELOWER: 258 WinCheckButton(hwnd, CFGS_FORCEUPPER, FALSE); 259 break; 260 } 261 } 262 } 263 break; 264 } 265 return 0; 266 267 case WM_COMMAND: 268 switch (SHORT1FROMMP(mp1)) { 269 case IDM_UNDO: 270 PostMsg(hwnd, UM_UNDO, MPVOID, MPVOID); 271 break; 272 273 case DID_CANCEL: 274 WinSendMsg(hwnd, UM_UNDO, MPVOID, MPVOID); 275 276 case DID_OK: 277 PostMsg((HWND) WinQueryWindowULong(hwnd, QWL_USER), msg, mp1, mp2); 278 break; 279 280 case IDM_HELP: 281 if (hwndHelp) 282 WinSendMsg(hwndHelp, HM_DISPLAY_HELP, 283 MPFROM2SHORT(HELP_CFGS, 0), MPFROMSHORT(HM_RESOURCEID)); 284 break; 285 } 286 return 0; 287 288 case WM_CLOSE: 289 fLoadLongnames = WinQueryButtonCheckstate(hwnd, CFGS_LOADLONGNAMES); 290 PrfWriteProfileData(fmprof, appname, "LoadLongname", &fLoadLongnames, 291 sizeof(BOOL)); 292 fLoadSubject = WinQueryButtonCheckstate(hwnd, CFGS_LOADSUBJECTS); 293 PrfWriteProfileData(fmprof, appname, "LoadSubject", &fLoadSubject, 294 sizeof(BOOL)); 295 fRemoteBug = WinQueryButtonCheckstate(hwnd, CFGS_REMOTEBUG); 296 PrfWriteProfileData(fmprof, appname, "RemoteBug", &fRemoteBug, 297 sizeof(BOOL)); 298 fNoRemovableScan = WinQueryButtonCheckstate(hwnd, CFGS_NOREMOVABLESCAN); 299 PrfWriteProfileData(fmprof, FM3Str, "NoRemovableScan", &fNoRemovableScan, 300 sizeof(BOOL)); 301 fNoIconsFiles = WinQueryButtonCheckstate(hwnd, CFGS_NOICONSFILES); 302 fNoIconsFiles = (fNoIconsFiles) ? FALSE : TRUE; 303 PrfWriteProfileData(fmprof, appname, "NoIconsFiles", 304 &fNoIconsFiles, sizeof(BOOL)); 305 fNoIconsDirs = WinQueryButtonCheckstate(hwnd, CFGS_NOICONSDIRS); 306 fNoIconsDirs = (fNoIconsDirs) ? FALSE : TRUE; 307 PrfWriteProfileData(fmprof, appname, "NoIconsDirs", 308 &fNoIconsDirs, sizeof(BOOL)); 309 fForceUpper = WinQueryButtonCheckstate(hwnd, CFGS_FORCEUPPER); 310 PrfWriteProfileData(fmprof, appname, "ForceUpper", 311 &fForceUpper, sizeof(BOOL)); 312 fForceLower = WinQueryButtonCheckstate(hwnd, CFGS_FORCELOWER); 313 PrfWriteProfileData(fmprof, appname, "ForceLower", 314 &fForceLower, sizeof(BOOL)); 315 { 316 ULONG temp = 0; 317 318 WinSendDlgItemMsg(hwnd, CFGS_FILESTOGET, SPBM_QUERYVALUE, 319 MPFROMP(&temp), MPFROM2SHORT(0, SPBQ_DONOTUPDATE)); 320 if (temp < 16L) 321 temp = 16L; 322 else if (temp > 2048L) 323 temp = 2048L; 324 FilesToGet = temp; 172 325 PrfWriteProfileData(fmprof, 173 appname, 174 "QuickArcFind", 175 &fQuickArcFind, 176 sizeof(BOOL)); 177 fArcStuffVisible = WinQueryButtonCheckstate(hwnd,CFGA_ARCSTUFFVISIBLE); 178 PrfWriteProfileData(fmprof, 179 appname, 180 "ArcStuffVisible", 181 &fArcStuffVisible, 182 sizeof(BOOL)); 183 fFolderAfterExtract = WinQueryButtonCheckstate(hwnd, 184 CFGA_FOLDERAFTEREXTRACT); 185 PrfWriteProfileData(fmprof, 186 appname, 187 "FolderAfterExtract", 188 &fFolderAfterExtract, 189 sizeof(BOOL)); 190 if(WinQueryButtonCheckstate(hwnd,CFGA_DEFARC)) { 191 192 CHAR temp[CCHMAXPATH]; 193 194 *temp = 0; 195 WinQueryDlgItemText(hwnd,CFGA_DEFARCNAME,CCHMAXPATH,temp); 196 strcpy(szDefArc,temp); 197 } 198 else 199 *szDefArc = 0; 200 PrfWriteProfileString(fmprof,appname,"DefArc",szDefArc); 201 WinQueryDlgItemText(hwnd,CFGA_VIRUS,CCHMAXPATH,virus); 202 virus[CCHMAXPATH - 1] = 0; 203 bstrip(virus); 204 if(!*virus) 205 strcpy(virus,"OS2SCAN.EXE %p /SUB /A"); 206 WinQueryDlgItemText(hwnd, 207 CFGA_EXTRACTPATH, 208 CCHMAXPATH, 209 extractpath); 210 extractpath[CCHMAXPATH - 1] = 0; 211 bstrip(extractpath); 212 if(*extractpath) { 213 if(strcmp(extractpath,"*")) { 214 215 MakeFullName(extractpath); 216 if(IsFile(extractpath)) { 217 Runtime_Error(pszSrcFile, __LINE__, "%s not a directory", extractpath); 218 *extractpath = 0; 219 } 220 } 221 } 222 PrfWriteProfileString(fmprof, 223 appname, 224 "Virus", 225 virus); 226 PrfWriteProfileString(fmprof, 227 appname, 228 "ExtractPath", 229 extractpath); 230 break; 326 appname, "FilesToGet", &FilesToGet, sizeof(ULONG)); 327 } 328 break; 231 329 } 232 return WinDefDlgProc(hwnd, msg,mp1,mp2);330 return WinDefDlgProc(hwnd, msg, mp1, mp2); 233 331 } 234 332 235 236 MRESULT EXPENTRY CfgSDlgProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2) 333 MRESULT EXPENTRY CfgVDlgProc(HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2) 237 334 { 238 switch(msg) { 239 case WM_INITDLG: 240 WinSendDlgItemMsg(hwnd,CFGS_FILESTOGET,SPBM_SETTEXTLIMIT, 241 MPFROMSHORT(4L),MPVOID); 242 WinSendDlgItemMsg(hwnd,CFGS_FILESTOGET,SPBM_OVERRIDESETLIMITS, 243 MPFROMLONG(2048L),MPFROMLONG(16L)); 244 PostMsg(hwnd,UM_UNDO,MPVOID,MPVOID); 245 break; 246 247 case UM_UNDO: 248 WinCheckButton(hwnd,CFGS_NOICONSFILES,(fNoIconsFiles == FALSE)); 249 WinCheckButton(hwnd,CFGS_NOICONSDIRS,(fNoIconsDirs == FALSE)); 250 WinCheckButton(hwnd,CFGS_LOADSUBJECTS,fLoadSubject); 251 WinCheckButton(hwnd,CFGS_LOADLONGNAMES,fLoadLongnames); 252 WinCheckButton(hwnd,CFGS_FORCELOWER,fForceLower); 253 WinCheckButton(hwnd,CFGS_FORCEUPPER,fForceUpper); 254 WinCheckButton(hwnd,CFGS_NOREMOVABLESCAN,fNoRemovableScan); 255 WinCheckButton(hwnd,CFGS_REMOTEBUG,fRemoteBug); 256 WinSendDlgItemMsg(hwnd,CFGS_FILESTOGET,SPBM_SETCURRENTVALUE, 257 MPFROMLONG(FilesToGet),MPVOID); 258 return 0; 259 260 case WM_CONTROL: 261 switch(SHORT1FROMMP(mp1)) { 262 case CFGS_FORCEUPPER: 263 case CFGS_FORCELOWER: 264 { 265 BOOL temp; 266 267 temp = WinQueryButtonCheckstate(hwnd,SHORT1FROMMP(mp1)); 268 if(temp) { 269 switch(SHORT1FROMMP(mp1)) { 270 case CFGS_FORCEUPPER: 271 WinCheckButton(hwnd,CFGS_FORCELOWER,FALSE); 272 break; 273 case CFGS_FORCELOWER: 274 WinCheckButton(hwnd,CFGS_FORCEUPPER,FALSE); 275 break; 276 } 277 } 278 } 279 break; 280 } 281 return 0; 282 283 case WM_COMMAND: 284 switch(SHORT1FROMMP(mp1)) { 285 case IDM_UNDO: 286 PostMsg(hwnd,UM_UNDO,MPVOID,MPVOID); 287 break; 288 289 case DID_CANCEL: 290 WinSendMsg(hwnd,UM_UNDO,MPVOID,MPVOID); 291 292 case DID_OK: 293 PostMsg((HWND)WinQueryWindowULong(hwnd,QWL_USER),msg,mp1,mp2); 294 break; 295 296 case IDM_HELP: 297 if(hwndHelp) 298 WinSendMsg(hwndHelp,HM_DISPLAY_HELP, 299 MPFROM2SHORT(HELP_CFGS,0), 300 MPFROMSHORT(HM_RESOURCEID)); 301 break; 302 } 303 return 0; 304 305 case WM_CLOSE: 306 fLoadLongnames = WinQueryButtonCheckstate(hwnd,CFGS_LOADLONGNAMES); 307 PrfWriteProfileData(fmprof,appname,"LoadLongname",&fLoadLongnames,sizeof(BOOL)); 308 fLoadSubject = WinQueryButtonCheckstate(hwnd,CFGS_LOADSUBJECTS); 309 PrfWriteProfileData(fmprof,appname,"LoadSubject",&fLoadSubject,sizeof(BOOL)); 310 fRemoteBug = WinQueryButtonCheckstate(hwnd,CFGS_REMOTEBUG); 311 PrfWriteProfileData(fmprof,appname,"RemoteBug",&fRemoteBug,sizeof(BOOL)); 312 fNoRemovableScan = WinQueryButtonCheckstate(hwnd,CFGS_NOREMOVABLESCAN); 313 PrfWriteProfileData(fmprof,FM3Str,"NoRemovableScan",&fNoRemovableScan, 314 sizeof(BOOL)); 315 fNoIconsFiles = WinQueryButtonCheckstate(hwnd,CFGS_NOICONSFILES); 316 fNoIconsFiles = (fNoIconsFiles) ? FALSE : TRUE; 317 PrfWriteProfileData(fmprof,appname,"NoIconsFiles", 318 &fNoIconsFiles,sizeof(BOOL)); 319 fNoIconsDirs = WinQueryButtonCheckstate(hwnd,CFGS_NOICONSDIRS); 320 fNoIconsDirs = (fNoIconsDirs) ? FALSE : TRUE; 321 PrfWriteProfileData(fmprof,appname,"NoIconsDirs", 322 &fNoIconsDirs,sizeof(BOOL)); 323 fForceUpper = WinQueryButtonCheckstate(hwnd,CFGS_FORCEUPPER); 324 PrfWriteProfileData(fmprof,appname,"ForceUpper", 325 &fForceUpper,sizeof(BOOL)); 326 fForceLower = WinQueryButtonCheckstate(hwnd,CFGS_FORCELOWER); 327 PrfWriteProfileData(fmprof,appname,"ForceLower", 328 &fForceLower,sizeof(BOOL)); 335 switch (msg) { 336 case WM_INITDLG: 337 WinSendDlgItemMsg(hwnd, CFGV_VIEWER, EM_SETTEXTLIMIT, 338 MPFROM2SHORT(CCHMAXPATH, 0), MPVOID); 339 WinSendDlgItemMsg(hwnd, CFGV_EDITOR, EM_SETTEXTLIMIT, 340 MPFROM2SHORT(CCHMAXPATH, 0), MPVOID); 341 WinSendDlgItemMsg(hwnd, CFGV_BINVIEW, EM_SETTEXTLIMIT, 342 MPFROM2SHORT(CCHMAXPATH, 0), MPVOID); 343 WinSendDlgItemMsg(hwnd, CFGV_BINED, EM_SETTEXTLIMIT, 344 MPFROM2SHORT(CCHMAXPATH, 0), MPVOID); 345 WinSendDlgItemMsg(hwnd, CFGV_FTPRUN, EM_SETTEXTLIMIT, 346 MPFROM2SHORT(CCHMAXPATH, 0), MPVOID); 347 WinSendDlgItemMsg(hwnd, CFGV_HTTPRUN, EM_SETTEXTLIMIT, 348 MPFROM2SHORT(CCHMAXPATH, 0), MPVOID); 349 WinEnableWindow(WinWindowFromID(hwnd, CFGV_FIND), FALSE); 350 PostMsg(hwnd, UM_UNDO, MPVOID, MPVOID); 351 break; 352 353 case UM_UNDO: 354 WinSetDlgItemText(hwnd, CFGV_VIEWER, viewer); 355 WinSetDlgItemText(hwnd, CFGV_EDITOR, editor); 356 WinSetDlgItemText(hwnd, CFGV_BINVIEW, binview); 357 WinSetDlgItemText(hwnd, CFGV_BINED, bined); 358 WinSetDlgItemText(hwnd, CFGV_FTPRUN, ftprun); 359 WinSetDlgItemText(hwnd, CFGV_HTTPRUN, httprun); 360 WinCheckButton(hwnd, CFGV_USENEWVIEWER, fUseNewViewer); 361 WinCheckButton(hwnd, CFGV_GUESSTYPE, fGuessType); 362 WinCheckButton(hwnd, CFGV_VIEWCHILD, fViewChild); 363 WinCheckButton(hwnd, CFGV_CHECKMM, fCheckMM); 364 return 0; 365 366 case WM_CONTROL: 367 switch (SHORT1FROMMP(mp1)) { 368 case CFGV_VIEWER: 369 case CFGV_EDITOR: 370 case CFGV_BINVIEW: 371 case CFGV_BINED: 372 case CFGV_HTTPRUN: 373 case CFGV_FTPRUN: 374 switch (SHORT2FROMMP(mp1)) { 375 case EN_KILLFOCUS: 376 WinEnableWindow(WinWindowFromID(hwnd, CFGV_FIND), FALSE); 377 break; 378 case EN_SETFOCUS: 379 WinEnableWindow(WinWindowFromID(hwnd, CFGV_FIND), TRUE); 380 break; 381 } 382 break; 383 } 384 return 0; 385 386 case WM_COMMAND: 387 switch (SHORT1FROMMP(mp1)) { 388 case IDM_UNDO: 389 PostMsg(hwnd, UM_UNDO, MPVOID, MPVOID); 390 break; 391 392 case DID_CANCEL: 393 WinSendMsg(hwnd, UM_UNDO, MPVOID, MPVOID); 394 395 case DID_OK: 396 PostMsg((HWND) WinQueryWindowULong(hwnd, QWL_USER), msg, mp1, mp2); 397 break; 398 399 case IDM_HELP: 400 if (hwndHelp) 401 WinSendMsg(hwndHelp, HM_DISPLAY_HELP, 402 MPFROM2SHORT(HELP_CFGV, 0), MPFROMSHORT(HM_RESOURCEID)); 403 break; 404 405 case CFGV_FIND: 329 406 { 330 ULONG temp = 0; 331 332 WinSendDlgItemMsg(hwnd,CFGS_FILESTOGET,SPBM_QUERYVALUE, 333 MPFROMP(&temp),MPFROM2SHORT(0,SPBQ_DONOTUPDATE)); 334 if(temp < 16L) 335 temp = 16L; 336 else if(temp > 2048L) 337 temp = 2048L; 338 FilesToGet = temp; 339 PrfWriteProfileData(fmprof, 340 appname, 341 "FilesToGet", 342 &FilesToGet, 343 sizeof(ULONG)); 344 } 345 break; 407 CHAR filename[CCHMAXPATH + 9]; 408 USHORT id; 409 HWND hwndFocus; 410 411 strcpy(filename, "*.EXE"); 412 hwndFocus = WinQueryFocus(HWND_DESKTOP); 413 if (hwndFocus) { 414 id = WinQueryWindowUShort(hwndFocus, QWS_ID); 415 switch (id) { 416 case CFGV_BINVIEW: 417 case CFGV_BINED: 418 case CFGV_VIEWER: 419 case CFGV_EDITOR: 420 if (insert_filename(hwnd, filename, 2, FALSE) && *filename) { 421 strcat(filename, " %a"); 422 WinSetDlgItemText(hwnd, id, filename); 423 } 424 break; 425 case CFGV_HTTPRUN: 426 case CFGV_FTPRUN: 427 if (insert_filename(hwnd, filename, 2, FALSE) && *filename) 428 WinSetDlgItemText(hwnd, id, filename); 429 break; 430 default: 431 Runtime_Error(pszSrcFile, __LINE__, "bad case %d", id); 432 break; 433 } 434 } 435 } 436 break; 437 } 438 return 0; 439 440 case WM_CLOSE: 441 WinQueryDlgItemText(hwnd, CFGV_VIEWER, CCHMAXPATH, viewer); 442 viewer[CCHMAXPATH - 1] = 0; 443 bstrip(viewer); 444 WinQueryDlgItemText(hwnd, CFGV_EDITOR, CCHMAXPATH, editor); 445 editor[CCHMAXPATH - 1] = 0; 446 bstrip(editor); 447 WinQueryDlgItemText(hwnd, CFGV_BINVIEW, CCHMAXPATH, binview); 448 binview[CCHMAXPATH - 1] = 0; 449 bstrip(binview); 450 WinQueryDlgItemText(hwnd, CFGV_BINED, CCHMAXPATH, bined); 451 bined[CCHMAXPATH - 1] = 0; 452 bstrip(bined); 453 WinQueryDlgItemText(hwnd, CFGV_FTPRUN, CCHMAXPATH, ftprun); 454 ftprun[CCHMAXPATH - 1] = 0; 455 bstrip(ftprun); 456 WinQueryDlgItemText(hwnd, CFGV_HTTPRUN, CCHMAXPATH, httprun); 457 httprun[CCHMAXPATH - 1] = 0; 458 bstrip(httprun); 459 PrfWriteProfileString(fmprof, appname, "Viewer", viewer); 460 PrfWriteProfileString(fmprof, appname, "Editor", editor); 461 PrfWriteProfileString(fmprof, appname, "BinView", binview); 462 PrfWriteProfileString(fmprof, appname, "BinEd", bined); 463 PrfWriteProfileString(fmprof, appname, "FTPRun", ftprun); 464 PrfWriteProfileString(fmprof, appname, "HTTPRun", httprun); 465 fUseNewViewer = WinQueryButtonCheckstate(hwnd, CFGV_USENEWVIEWER); 466 PrfWriteProfileData(fmprof, appname, "UseNewViewer", &fUseNewViewer, 467 sizeof(BOOL)); 468 fGuessType = WinQueryButtonCheckstate(hwnd, CFGV_GUESSTYPE); 469 PrfWriteProfileData(fmprof, appname, "GuessType", &fGuessType, 470 sizeof(BOOL)); 471 fViewChild = WinQueryButtonCheckstate(hwnd, CFGV_VIEWCHILD); 472 PrfWriteProfileData(fmprof, appname, "ViewChild", &fViewChild, 473 sizeof(BOOL)); 474 fCheckMM = WinQueryButtonCheckstate(hwnd, CFGV_CHECKMM); 475 PrfWriteProfileData(fmprof, appname, "CheckMM", &fCheckMM, sizeof(BOOL)); 476 break; 346 477 } 347 return WinDefDlgProc(hwnd, msg,mp1,mp2);478 return WinDefDlgProc(hwnd, msg, mp1, mp2); 348 479 } 349 480 350 351 MRESULT EXPENTRY CfgVDlgProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2) 481 MRESULT EXPENTRY CfgBDlgProc(HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2) 352 482 { 353 switch(msg) { 354 case WM_INITDLG: 355 WinSendDlgItemMsg(hwnd,CFGV_VIEWER,EM_SETTEXTLIMIT, 356 MPFROM2SHORT(CCHMAXPATH,0),MPVOID); 357 WinSendDlgItemMsg(hwnd,CFGV_EDITOR,EM_SETTEXTLIMIT, 358 MPFROM2SHORT(CCHMAXPATH,0),MPVOID); 359 WinSendDlgItemMsg(hwnd,CFGV_BINVIEW,EM_SETTEXTLIMIT, 360 MPFROM2SHORT(CCHMAXPATH,0),MPVOID); 361 WinSendDlgItemMsg(hwnd,CFGV_BINED,EM_SETTEXTLIMIT, 362 MPFROM2SHORT(CCHMAXPATH,0),MPVOID); 363 WinSendDlgItemMsg(hwnd,CFGV_FTPRUN,EM_SETTEXTLIMIT, 364 MPFROM2SHORT(CCHMAXPATH,0),MPVOID); 365 WinSendDlgItemMsg(hwnd,CFGV_HTTPRUN,EM_SETTEXTLIMIT, 366 MPFROM2SHORT(CCHMAXPATH,0),MPVOID); 367 WinEnableWindow(WinWindowFromID(hwnd,CFGV_FIND),FALSE); 368 PostMsg(hwnd,UM_UNDO,MPVOID,MPVOID); 369 break; 370 371 case UM_UNDO: 372 WinSetDlgItemText(hwnd,CFGV_VIEWER,viewer); 373 WinSetDlgItemText(hwnd,CFGV_EDITOR,editor); 374 WinSetDlgItemText(hwnd,CFGV_BINVIEW,binview); 375 WinSetDlgItemText(hwnd,CFGV_BINED,bined); 376 WinSetDlgItemText(hwnd,CFGV_FTPRUN,ftprun); 377 WinSetDlgItemText(hwnd,CFGV_HTTPRUN,httprun); 378 WinCheckButton(hwnd,CFGV_USENEWVIEWER,fUseNewViewer); 379 WinCheckButton(hwnd,CFGV_GUESSTYPE,fGuessType); 380 WinCheckButton(hwnd,CFGV_VIEWCHILD,fViewChild); 381 WinCheckButton(hwnd,CFGV_CHECKMM,fCheckMM); 382 return 0; 383 384 case WM_CONTROL: 385 switch(SHORT1FROMMP(mp1)) { 386 case CFGV_VIEWER: 387 case CFGV_EDITOR: 388 case CFGV_BINVIEW: 389 case CFGV_BINED: 390 case CFGV_HTTPRUN: 391 case CFGV_FTPRUN: 392 switch(SHORT2FROMMP(mp1)) { 393 case EN_KILLFOCUS: 394 WinEnableWindow(WinWindowFromID(hwnd,CFGV_FIND),FALSE); 395 break; 396 case EN_SETFOCUS: 397 WinEnableWindow(WinWindowFromID(hwnd,CFGV_FIND),TRUE); 398 break; 399 } 400 break; 401 } 402 return 0; 403 404 case WM_COMMAND: 405 switch(SHORT1FROMMP(mp1)) { 406 case IDM_UNDO: 407 PostMsg(hwnd,UM_UNDO,MPVOID,MPVOID); 408 break; 409 410 case DID_CANCEL: 411 WinSendMsg(hwnd,UM_UNDO,MPVOID,MPVOID); 412 413 case DID_OK: 414 PostMsg((HWND)WinQueryWindowULong(hwnd,QWL_USER),msg,mp1,mp2); 415 break; 416 417 case IDM_HELP: 418 if(hwndHelp) 419 WinSendMsg(hwndHelp,HM_DISPLAY_HELP, 420 MPFROM2SHORT(HELP_CFGV,0), 421 MPFROMSHORT(HM_RESOURCEID)); 422 break; 423 424 case CFGV_FIND: 425 { 426 CHAR filename[CCHMAXPATH + 9]; 427 USHORT id; 428 HWND hwndFocus; 429 430 strcpy(filename,"*.EXE"); 431 hwndFocus = WinQueryFocus(HWND_DESKTOP); 432 if(hwndFocus) { 433 id = WinQueryWindowUShort(hwndFocus,QWS_ID); 434 switch(id) { 435 case CFGV_BINVIEW: 436 case CFGV_BINED: 437 case CFGV_VIEWER: 438 case CFGV_EDITOR: 439 if(insert_filename(hwnd,filename,2,FALSE) && *filename) { 440 strcat(filename," %a"); 441 WinSetDlgItemText(hwnd,id,filename); 442 } 443 break; 444 case CFGV_HTTPRUN: 445 case CFGV_FTPRUN: 446 if(insert_filename(hwnd,filename,2,FALSE) && *filename) 447 WinSetDlgItemText(hwnd,id,filename); 448 break; 449 default: 450 Runtime_Error(pszSrcFile, __LINE__, "bad case %d", id); 451 break; 452 } 453 } 454 } 455 break; 456 } 457 return 0; 458 459 case WM_CLOSE: 460 WinQueryDlgItemText(hwnd,CFGV_VIEWER,CCHMAXPATH,viewer); 461 viewer[CCHMAXPATH - 1] = 0; 462 bstrip(viewer); 463 WinQueryDlgItemText(hwnd,CFGV_EDITOR,CCHMAXPATH,editor); 464 editor[CCHMAXPATH - 1] = 0; 465 bstrip(editor); 466 WinQueryDlgItemText(hwnd,CFGV_BINVIEW,CCHMAXPATH,binview); 467 binview[CCHMAXPATH - 1] = 0; 468 bstrip(binview); 469 WinQueryDlgItemText(hwnd,CFGV_BINED,CCHMAXPATH,bined); 470 bined[CCHMAXPATH - 1] = 0; 471 bstrip(bined); 472 WinQueryDlgItemText(hwnd,CFGV_FTPRUN,CCHMAXPATH,ftprun); 473 ftprun[CCHMAXPATH - 1] = 0; 474 bstrip(ftprun); 475 WinQueryDlgItemText(hwnd,CFGV_HTTPRUN,CCHMAXPATH,httprun); 476 httprun[CCHMAXPATH - 1] = 0; 477 bstrip(httprun); 478 PrfWriteProfileString(fmprof,appname,"Viewer",viewer); 479 PrfWriteProfileString(fmprof,appname,"Editor",editor); 480 PrfWriteProfileString(fmprof,appname,"BinView",binview); 481 PrfWriteProfileString(fmprof,appname,"BinEd",bined); 482 PrfWriteProfileString(fmprof,appname,"FTPRun",ftprun); 483 PrfWriteProfileString(fmprof,appname,"HTTPRun",httprun); 484 fUseNewViewer = WinQueryButtonCheckstate(hwnd,CFGV_USENEWVIEWER); 485 PrfWriteProfileData(fmprof,appname,"UseNewViewer",&fUseNewViewer, 486 sizeof(BOOL)); 487 fGuessType = WinQueryButtonCheckstate(hwnd,CFGV_GUESSTYPE); 488 PrfWriteProfileData(fmprof,appname,"GuessType",&fGuessType,sizeof(BOOL)); 489 fViewChild = WinQueryButtonCheckstate(hwnd,CFGV_VIEWCHILD); 490 PrfWriteProfileData(fmprof,appname,"ViewChild",&fViewChild,sizeof(BOOL)); 491 fCheckMM = WinQueryButtonCheckstate(hwnd,CFGV_CHECKMM); 492 PrfWriteProfileData(fmprof,appname,"CheckMM",&fCheckMM,sizeof(BOOL)); 493 break; 483 switch (msg) { 484 case WM_INITDLG: 485 PostMsg(hwnd, UM_UNDO, MPVOID, MPVOID); 486 break; 487 488 case UM_UNDO: 489 WinCheckButton(hwnd, CFGB_TOOLBARHELP, fToolbarHelp); 490 WinCheckButton(hwnd, CFGB_DRIVEBARHELP, fDrivebarHelp); 491 WinCheckButton(hwnd, CFGB_OTHERHELP, fOtherHelp); 492 return 0; 493 494 case WM_COMMAND: 495 switch (SHORT1FROMMP(mp1)) { 496 case IDM_UNDO: 497 PostMsg(hwnd, UM_UNDO, MPVOID, MPVOID); 498 break; 499 500 case DID_CANCEL: 501 WinSendMsg(hwnd, UM_UNDO, MPVOID, MPVOID); 502 503 case DID_OK: 504 PostMsg((HWND) WinQueryWindowULong(hwnd, QWL_USER), msg, mp1, mp2); 505 break; 506 507 case IDM_HELP: 508 if (hwndHelp) 509 WinSendMsg(hwndHelp, 510 HM_DISPLAY_HELP, 511 MPFROM2SHORT(HELP_CFGB, 0), MPFROMSHORT(HM_RESOURCEID)); 512 break; 513 } 514 return 0; 515 516 case WM_CLOSE: 517 fToolbarHelp = WinQueryButtonCheckstate(hwnd, CFGB_TOOLBARHELP); 518 PrfWriteProfileData(fmprof, 519 FM3Str, "ToolbarHelp", &fToolbarHelp, sizeof(BOOL)); 520 fDrivebarHelp = WinQueryButtonCheckstate(hwnd, CFGB_DRIVEBARHELP); 521 PrfWriteProfileData(fmprof, 522 FM3Str, "DrivebarHelp", &fDrivebarHelp, sizeof(BOOL)); 523 fOtherHelp = WinQueryButtonCheckstate(hwnd, CFGB_OTHERHELP); 524 PrfWriteProfileData(fmprof, 525 FM3Str, "OtherHelp", &fOtherHelp, sizeof(BOOL)); 526 break; 494 527 } 495 return WinDefDlgProc(hwnd, msg,mp1,mp2);528 return WinDefDlgProc(hwnd, msg, mp1, mp2); 496 529 } 497 530 498 499 MRESULT EXPENTRY CfgBDlgProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2) 500 { 501 switch(msg) { 502 case WM_INITDLG: 503 PostMsg(hwnd, 504 UM_UNDO, 505 MPVOID, 506 MPVOID); 507 break; 508 509 case UM_UNDO: 510 WinCheckButton(hwnd, 511 CFGB_TOOLBARHELP, 512 fToolbarHelp); 513 WinCheckButton(hwnd, 514 CFGB_DRIVEBARHELP, 515 fDrivebarHelp); 516 WinCheckButton(hwnd, 517 CFGB_OTHERHELP, 518 fOtherHelp); 519 return 0; 520 521 case WM_COMMAND: 522 switch(SHORT1FROMMP(mp1)) { 523 case IDM_UNDO: 524 PostMsg(hwnd, 525 UM_UNDO, 526 MPVOID, 527 MPVOID); 528 break; 529 530 case DID_CANCEL: 531 WinSendMsg(hwnd,UM_UNDO,MPVOID,MPVOID); 532 533 case DID_OK: 534 PostMsg((HWND)WinQueryWindowULong(hwnd,QWL_USER), 535 msg, 536 mp1, 537 mp2); 538 break; 539 540 case IDM_HELP: 541 if(hwndHelp) 542 WinSendMsg(hwndHelp, 543 HM_DISPLAY_HELP, 544 MPFROM2SHORT(HELP_CFGB,0), 545 MPFROMSHORT(HM_RESOURCEID)); 546 break; 547 } 548 return 0; 549 550 case WM_CLOSE: 551 fToolbarHelp = WinQueryButtonCheckstate(hwnd, 552 CFGB_TOOLBARHELP); 553 PrfWriteProfileData(fmprof, 554 FM3Str, 555 "ToolbarHelp", 556 &fToolbarHelp, 557 sizeof(BOOL)); 558 fDrivebarHelp = WinQueryButtonCheckstate(hwnd, 559 CFGB_DRIVEBARHELP); 560 PrfWriteProfileData(fmprof, 561 FM3Str, 562 "DrivebarHelp", 563 &fDrivebarHelp, 564 sizeof(BOOL)); 565 fOtherHelp = WinQueryButtonCheckstate(hwnd, 566 CFGB_OTHERHELP); 567 PrfWriteProfileData(fmprof, 568 FM3Str, 569 "OtherHelp", 570 &fOtherHelp, 571 sizeof(BOOL)); 572 break; 573 } 574 return WinDefDlgProc(hwnd,msg,mp1,mp2); 575 } 576 577 578 MRESULT EXPENTRY CfgTSDlgProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2) 531 MRESULT EXPENTRY CfgTSDlgProc(HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2) 579 532 { 580 533 static MASK mask; 581 534 582 switch(msg) { 583 case WM_INITDLG: 584 WinSendDlgItemMsg(hwnd, 585 CFG5_FILTER, 586 EM_SETTEXTLIMIT, 587 MPFROM2SHORT(CCHMAXPATH,0), 588 MPVOID); 589 PostMsg(hwnd, 590 UM_UNDO, 591 MPVOID, 592 MPVOID); 593 break; 594 595 case UM_FOCUSME: 596 WinSetFocus(HWND_DESKTOP, 597 WinWindowFromID(hwnd,IDM_HELP)); 598 return 0; 599 600 case UM_UNDO: 535 switch (msg) { 536 case WM_INITDLG: 537 WinSendDlgItemMsg(hwnd, 538 CFG5_FILTER, 539 EM_SETTEXTLIMIT, MPFROM2SHORT(CCHMAXPATH, 0), MPVOID); 540 PostMsg(hwnd, UM_UNDO, MPVOID, MPVOID); 541 break; 542 543 case UM_FOCUSME: 544 WinSetFocus(HWND_DESKTOP, WinWindowFromID(hwnd, IDM_HELP)); 545 return 0; 546 547 case UM_UNDO: 548 { 549 ULONG flWindowAttr = 0, size = sizeof(ULONG); 550 551 if (!PrfQueryProfileData(fmprof, 552 appname, 553 "TreeflWindowAttr", 554 (PVOID) & flWindowAttr, &size)) 555 flWindowAttr |= (CV_TREE | CA_TREELINE | CV_ICON | CV_MINI | CV_FLOW); 556 WinCheckButton(hwnd, CFG5_ICON, ((flWindowAttr & CV_ICON) != FALSE)); 557 WinCheckButton(hwnd, CFG5_MINIICONS, 558 ((flWindowAttr & CV_MINI) != FALSE)); 559 memset(&mask, 0, sizeof(mask)); 560 mask.attrFile = FILE_DIRECTORY | FILE_ARCHIVED | FILE_HIDDEN | 561 FILE_SYSTEM | FILE_NORMAL | FILE_READONLY; 562 mask.fIsTree = TRUE; 563 size = sizeof(MASK); 564 if (PrfQueryProfileData(fmprof, appname, "TreeFilter", &mask, &size)) { 565 SetMask(NULL, &mask); 566 } 567 if (!mask.attrFile) 568 mask.attrFile = (FILE_READONLY | FILE_NORMAL | 569 FILE_ARCHIVED | FILE_DIRECTORY | 570 FILE_HIDDEN | FILE_SYSTEM); 571 strcpy(mask.prompt, GetPString(IDS_TREEFILTERTITLETEXT)); 572 WinSetDlgItemText(hwnd, CFG5_FILTER, mask.szMask); 573 WinCheckButton(hwnd, CFG6_SORTFIRST, FALSE); 574 WinCheckButton(hwnd, CFG6_SORTLAST, FALSE); 575 WinCheckButton(hwnd, CFG6_SORTSIZE, FALSE); 576 WinCheckButton(hwnd, CFG6_SORTEASIZE, FALSE); 577 WinCheckButton(hwnd, CFG6_SORTLWDATE, FALSE); 578 WinCheckButton(hwnd, CFG6_SORTLADATE, FALSE); 579 WinCheckButton(hwnd, CFG6_SORTCRDATE, FALSE); 580 WinCheckButton(hwnd, CFG6_SORTNAME, FALSE); 581 WinCheckButton(hwnd, CFG6_SORTREVERSE, FALSE); 582 if (TreesortFlags & SORT_FIRSTEXTENSION) 583 WinCheckButton(hwnd, CFG6_SORTFIRST, TRUE); 584 else if (TreesortFlags & SORT_LASTEXTENSION) 585 WinCheckButton(hwnd, CFG6_SORTLAST, TRUE); 586 else if (TreesortFlags & SORT_SIZE) 587 WinCheckButton(hwnd, CFG6_SORTSIZE, TRUE); 588 else if (TreesortFlags & SORT_EASIZE) 589 WinCheckButton(hwnd, CFG6_SORTEASIZE, TRUE); 590 else if (TreesortFlags & SORT_LWDATE) 591 WinCheckButton(hwnd, CFG6_SORTLWDATE, TRUE); 592 else if (TreesortFlags & SORT_LADATE) 593 WinCheckButton(hwnd, CFG6_SORTLADATE, TRUE); 594 else if (TreesortFlags & SORT_CRDATE) 595 WinCheckButton(hwnd, CFG6_SORTCRDATE, TRUE); 596 else if (TreesortFlags & SORT_FILENAME) 597 WinCheckButton(hwnd, CFG6_SORTFILENAME, TRUE); 598 else 599 WinCheckButton(hwnd, CFG6_SORTNAME, TRUE); 600 if (TreesortFlags & SORT_REVERSE) 601 WinCheckButton(hwnd, CFG6_SORTREVERSE, TRUE); 602 } 603 return 0; 604 605 case UM_SETUP5: 606 if (WinDlgBox(HWND_DESKTOP, hwndNotebook, PickMaskDlgProc, 607 FM3ModHandle, MSK_FRAME, MPFROMP(&mask))) { 608 SetMask(NULL, &mask); 609 WinSetDlgItemText(hwnd, CFG5_FILTER, mask.szMask); 610 } 611 return 0; 612 613 case WM_CONTROL: 614 switch (SHORT1FROMMP(mp1)) { 615 case CFG5_FILTER: 616 switch (SHORT2FROMMP(mp1)) { 617 case EN_SETFOCUS: 618 PostMsg(hwnd, UM_FOCUSME, MPVOID, MPVOID); 619 PostMsg(hwnd, UM_SETUP5, MPVOID, MPVOID); 620 break; 621 } 622 break; 623 } 624 return 0; 625 626 case WM_COMMAND: 627 switch (SHORT1FROMMP(mp1)) { 628 case IDM_UNDO: 629 PostMsg(hwnd, UM_UNDO, MPVOID, MPVOID); 630 break; 631 632 case DID_CANCEL: 633 WinSendMsg(hwnd, UM_UNDO, MPVOID, MPVOID); 634 635 case DID_OK: 636 PostMsg((HWND) WinQueryWindowULong(hwnd, QWL_USER), msg, mp1, mp2); 637 break; 638 639 case IDM_HELP: 640 if (hwndHelp) 641 WinSendMsg(hwndHelp, HM_DISPLAY_HELP, 642 MPFROM2SHORT(HELP_TREEVIEW, 0), 643 MPFROMSHORT(HM_RESOURCEID)); 644 break; 645 } 646 return 0; 647 648 case WM_CLOSE: 649 { 650 ULONG flWindowAttr = 0; 651 652 if (WinQueryButtonCheckstate(hwnd, CFG5_ICON)) 653 flWindowAttr |= CV_ICON; 654 else 655 flWindowAttr |= CV_TEXT; 656 if (WinQueryButtonCheckstate(hwnd, CFG5_MINIICONS)) 657 flWindowAttr |= CV_MINI; 658 flWindowAttr |= (CV_TREE | CV_FLOW | CA_TREELINE); 659 PrfWriteProfileData(fmprof, 660 appname, 661 "TreeflWindowAttr", &flWindowAttr, sizeof(ULONG)); 662 if (hwndTree) { 663 664 CNRINFO cnri; 665 666 memset(&cnri, 0, sizeof(cnri)); 667 cnri.cb = sizeof(cnri); 668 WinSendMsg(WinWindowFromID 669 (WinWindowFromID(hwndTree, FID_CLIENT), TREE_CNR), 670 CM_QUERYCNRINFO, MPFROMP(&cnri), MPFROMLONG(sizeof(cnri))); 671 cnri.flWindowAttr = flWindowAttr; 672 WinSendMsg(WinWindowFromID 673 (WinWindowFromID(hwndTree, FID_CLIENT), TREE_CNR), 674 CM_SETCNRINFO, MPFROMP(&cnri), 675 MPFROMLONG(CMA_FLWINDOWATTR)); 676 } 677 } 678 TreesortFlags = 0; 679 if (WinQueryButtonCheckstate(hwnd, CFG6_SORTFILENAME)) 680 TreesortFlags |= SORT_FILENAME; 681 if (WinQueryButtonCheckstate(hwnd, CFG6_SORTSIZE)) 682 TreesortFlags |= SORT_SIZE; 683 if (WinQueryButtonCheckstate(hwnd, CFG6_SORTEASIZE)) 684 TreesortFlags |= SORT_EASIZE; 685 if (WinQueryButtonCheckstate(hwnd, CFG6_SORTFIRST)) 686 TreesortFlags |= SORT_FIRSTEXTENSION; 687 if (WinQueryButtonCheckstate(hwnd, CFG6_SORTLAST)) 688 TreesortFlags |= SORT_LASTEXTENSION; 689 if (WinQueryButtonCheckstate(hwnd, CFG6_SORTLWDATE)) 690 TreesortFlags |= SORT_LWDATE; 691 if (WinQueryButtonCheckstate(hwnd, CFG6_SORTLADATE)) 692 TreesortFlags |= SORT_LADATE; 693 if (WinQueryButtonCheckstate(hwnd, CFG6_SORTCRDATE)) 694 TreesortFlags |= SORT_CRDATE; 695 if (WinQueryButtonCheckstate(hwnd, CFG6_SORTDIRSFIRST)) 696 TreesortFlags |= SORT_DIRSFIRST; 697 if (WinQueryButtonCheckstate(hwnd, CFG6_SORTDIRSLAST)) 698 TreesortFlags |= SORT_DIRSLAST; 699 if (WinQueryButtonCheckstate(hwnd, CFG6_SORTREVERSE)) 700 TreesortFlags |= SORT_REVERSE; 701 PrfWriteProfileData(fmprof, appname, "TreeSort", &TreesortFlags, 702 sizeof(INT)); 703 if (hwndTree) 704 PostMsg(hwndTree, WM_COMMAND, MPFROM2SHORT(IDM_RESORT, 0), MPVOID); 705 *mask.prompt = 0; 706 PrfWriteProfileData(fmprof, appname, "TreeFilter", &mask, sizeof(MASK)); 707 if (hwndTree) { 708 709 DIRCNRDATA *dcd; 710 711 dcd = WinQueryWindowPtr(WinWindowFromID(WinWindowFromID(hwndTree, 712 FID_CLIENT), 713 TREE_CNR), QWL_USER); 714 if (dcd && dcd->size == sizeof(DIRCNRDATA)) { 715 dcd->mask = mask; 716 PostMsg(hwndTree, UM_FILTER, MPVOID, MPVOID); 717 } 718 } 719 break; 720 } 721 return WinDefDlgProc(hwnd, msg, mp1, mp2); 722 } 723 724 MRESULT EXPENTRY CfgTDlgProc(HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2) 725 { 726 switch (msg) { 727 case WM_INITDLG: 728 PostMsg(hwnd, UM_UNDO, MPVOID, MPVOID); 729 break; 730 731 case UM_UNDO: 732 WinCheckButton(hwnd, CFGT_FOLLOWTREE, fFollowTree); 733 WinCheckButton(hwnd, CFGT_TOPDIR, fTopDir); 734 WinCheckButton(hwnd, CFGT_DCOPENS, fDCOpens); 735 WinCheckButton(hwnd, CFGT_VTREEOPENSWPS, fVTreeOpensWPS); 736 WinCheckButton(hwnd, CFGT_COLLAPSEFIRST, fCollapseFirst); 737 WinCheckButton(hwnd, CFGT_SWITCHTREEONFOCUS, fSwitchTreeOnFocus); 738 WinCheckButton(hwnd, CFGT_SWITCHTREE, fSwitchTree); 739 WinCheckButton(hwnd, CFGT_SWITCHTREEEXPAND, fSwitchTreeExpand); 740 WinCheckButton(hwnd, CFGT_SHOWENV, fShowEnv); 741 return 0; 742 743 case WM_COMMAND: 744 switch (SHORT1FROMMP(mp1)) { 745 case IDM_UNDO: 746 PostMsg(hwnd, UM_UNDO, MPVOID, MPVOID); 747 break; 748 749 case DID_CANCEL: 750 WinSendMsg(hwnd, UM_UNDO, MPVOID, MPVOID); 751 752 case DID_OK: 753 PostMsg((HWND) WinQueryWindowULong(hwnd, QWL_USER), msg, mp1, mp2); 754 break; 755 756 case IDM_HELP: 757 if (hwndHelp) 758 WinSendMsg(hwndHelp, HM_DISPLAY_HELP, 759 MPFROM2SHORT(HELP_CFGT, 0), MPFROMSHORT(HM_RESOURCEID)); 760 break; 761 } 762 return 0; 763 764 case WM_CLOSE: 765 fVTreeOpensWPS = WinQueryButtonCheckstate(hwnd, CFGT_VTREEOPENSWPS); 766 PrfWriteProfileData(fmprof, FM3Str, "VTreeOpensWPS", &fVTreeOpensWPS, 767 sizeof(BOOL)); 768 fCollapseFirst = WinQueryButtonCheckstate(hwnd, CFGT_COLLAPSEFIRST); 769 PrfWriteProfileData(fmprof, appname, "CollapseFirst", &fCollapseFirst, 770 sizeof(BOOL)); 771 fSwitchTreeOnFocus = WinQueryButtonCheckstate(hwnd, 772 CFGT_SWITCHTREEONFOCUS); 773 PrfWriteProfileData(fmprof, appname, "SwitchTreeOnFocus", 774 &fSwitchTreeOnFocus, sizeof(BOOL)); 775 fSwitchTreeExpand = WinQueryButtonCheckstate(hwnd, CFGT_SWITCHTREEEXPAND); 776 PrfWriteProfileData(fmprof, appname, "SwitchTreeExpand", 777 &fSwitchTreeExpand, sizeof(BOOL)); 778 fSwitchTree = WinQueryButtonCheckstate(hwnd, CFGT_SWITCHTREE); 779 PrfWriteProfileData(fmprof, appname, "SwitchTree", &fSwitchTree, 780 sizeof(BOOL)); 781 fFollowTree = WinQueryButtonCheckstate(hwnd, CFGT_FOLLOWTREE); 782 PrfWriteProfileData(fmprof, appname, "FollowTree", &fFollowTree, 783 sizeof(BOOL)); 784 fTopDir = WinQueryButtonCheckstate(hwnd, CFGT_TOPDIR); 785 PrfWriteProfileData(fmprof, appname, "TopDir", (PVOID) & fTopDir, 786 sizeof(BOOL)); 787 fDCOpens = WinQueryButtonCheckstate(hwnd, CFGT_DCOPENS); 788 PrfWriteProfileData(fmprof, FM3Str, "DoubleClickOpens", &fDCOpens, 789 sizeof(BOOL)); 790 if (hwndTree && fShowEnv != WinQueryButtonCheckstate(hwnd, CFGT_SHOWENV)) 791 PostMsg(WinWindowFromID 792 (WinWindowFromID(hwndTree, FID_CLIENT), TREE_CNR), WM_COMMAND, 793 MPFROM2SHORT(IDM_RESCAN, 0), MPVOID); 794 fShowEnv = WinQueryButtonCheckstate(hwnd, CFGT_SHOWENV); 795 PrfWriteProfileData(fmprof, appname, "ShowEnv", &fShowEnv, sizeof(BOOL)); 796 break; 797 } 798 return WinDefDlgProc(hwnd, msg, mp1, mp2); 799 } 800 801 MRESULT EXPENTRY CfgGDlgProc(HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2) 802 { 803 switch (msg) { 804 case WM_INITDLG: 805 PostMsg(hwnd, UM_UNDO, MPVOID, MPVOID); 806 break; 807 808 case UM_UNDO: 809 WinCheckButton(hwnd, CFGG_CONFIRMDELETE, fConfirmDelete); 810 WinCheckButton(hwnd, CFGG_VERIFYWRITES, fVerify); 811 WinCheckButton(hwnd, CFGG_LINKSETSICON, fLinkSetsIcon); 812 WinCheckButton(hwnd, CFGG_DONTMOVEMOUSE, fDontMoveMouse); 813 WinCheckButton(hwnd, CFGG_DEFAULTCOPY, fCopyDefault); 814 WinCheckButton(hwnd, CFGG_IDLECOPY, fRealIdle); 815 WinCheckButton(hwnd, CFGG_DNDDLG, fDragndropDlg); 816 WinCheckButton(hwnd, CFGG_DEFAULTDELETEPERM, fDefaultDeletePerm); 817 { 818 long th; 819 820 th = (fNoFinger) ? 2 : (fNoDead) ? 1 : 0; 821 WinCheckButton(hwnd, CFGG_NODEAD, th); 822 } 823 WinCheckButton(hwnd, CFGG_BORING, fDullMin); 824 WinCheckButton(hwnd, CFGG_CUSTOMFILEDLG, fCustomFileDlg); 825 WinCheckButton(hwnd, CFGG_FM2DELETES, fFM2Deletes); 826 WinCheckButton(hwnd, CFGG_CONFIRMTARGET, fConfirmTarget); 827 WinSetDlgItemText(hwnd, CFGG_TARGETDIR, targetdir); 828 return 0; 829 830 case UM_FOCUSME: 831 WinSetFocus(HWND_DESKTOP, WinWindowFromID(hwnd, IDM_HELP)); 832 return 0; 833 834 case UM_SETUP5: 835 SetTargetDir(hwnd, FALSE); 836 WinSetDlgItemText(hwnd, CFGG_TARGETDIR, targetdir); 837 return 0; 838 839 case WM_CONTROL: 840 switch (SHORT1FROMMP(mp1)) { 841 case CFGG_TARGETDIR: 842 switch (SHORT2FROMMP(mp1)) { 843 case EN_SETFOCUS: 844 PostMsg(hwnd, UM_FOCUSME, MPVOID, MPVOID); 845 PostMsg(hwnd, UM_SETUP5, MPVOID, MPVOID); 846 break; 847 } 848 break; 849 } 850 return 0; 851 852 case WM_COMMAND: 853 switch (SHORT1FROMMP(mp1)) { 854 case IDM_UNDO: 855 PostMsg(hwnd, UM_UNDO, MPVOID, MPVOID); 856 break; 857 858 case DID_CANCEL: 859 WinSendMsg(hwnd, UM_UNDO, MPVOID, MPVOID); 860 861 case DID_OK: 862 PostMsg((HWND) WinQueryWindowULong(hwnd, QWL_USER), msg, mp1, mp2); 863 break; 864 865 case IDM_HELP: 866 if (hwndHelp) 867 WinSendMsg(hwndHelp, 868 HM_DISPLAY_HELP, 869 MPFROM2SHORT(HELP_CFGG, 0), MPFROMSHORT(HM_RESOURCEID)); 870 break; 871 } 872 return 0; 873 874 case WM_CLOSE: 875 { 876 long test; 877 878 test = WinQueryButtonCheckstate(hwnd, CFGG_NODEAD); 879 fNoDead = (test == 1); 880 fNoFinger = (test == 2); 881 PrfWriteProfileData(fmprof, FM3Str, "NoDead", &fNoDead, sizeof(BOOL)); 882 PrfWriteProfileData(fmprof, 883 FM3Str, "NoFinger", &fNoFinger, sizeof(BOOL)); 884 WinDestroyPointer(hptrFinger); 885 if (!fNoDead) 886 hptrFinger = WinLoadPointer(HWND_DESKTOP, FM3ModHandle, FINGER_ICON); 887 else 888 hptrFinger = WinLoadPointer(HWND_DESKTOP, FM3ModHandle, FINGER2_ICON); 889 } 890 fLinkSetsIcon = WinQueryButtonCheckstate(hwnd, CFGG_LINKSETSICON); 891 PrfWriteProfileData(fmprof, 892 appname, 893 "LinkSetsIcon", &fLinkSetsIcon, sizeof(BOOL)); 894 fCustomFileDlg = WinQueryButtonCheckstate(hwnd, CFGG_CUSTOMFILEDLG); 895 PrfWriteProfileData(fmprof, 896 FM3Str, 897 "CustomFileDlg", &fCustomFileDlg, sizeof(BOOL)); 898 fDullMin = WinQueryButtonCheckstate(hwnd, CFGG_BORING); 899 PrfWriteProfileData(fmprof, 900 FM3Str, "DullDatabar", &fDullMin, sizeof(BOOL)); 901 fConfirmDelete = WinQueryButtonCheckstate(hwnd, CFGG_CONFIRMDELETE); 902 PrfWriteProfileData(fmprof, 903 appname, 904 "ConfirmDelete", &fConfirmDelete, sizeof(BOOL)); 905 fDontMoveMouse = WinQueryButtonCheckstate(hwnd, CFGG_DONTMOVEMOUSE); 906 PrfWriteProfileData(fmprof, 907 appname, 908 "DontMoveMouse", &fDontMoveMouse, sizeof(BOOL)); 909 fCopyDefault = WinQueryButtonCheckstate(hwnd, CFGG_DEFAULTCOPY); 910 PrfWriteProfileData(fmprof, appname, "DefaultCopy", 911 &fCopyDefault, sizeof(BOOL)); 912 fRealIdle = WinQueryButtonCheckstate(hwnd, CFGG_IDLECOPY); 913 PrfWriteProfileData(fmprof, appname, "IdleCopy", 914 &fRealIdle, sizeof(BOOL)); 915 fDragndropDlg = WinQueryButtonCheckstate(hwnd, CFGG_DNDDLG); 916 PrfWriteProfileData(fmprof, appname, "Drag&DropDlg", 917 &fDragndropDlg, sizeof(BOOL)); 918 fVerify = WinQueryButtonCheckstate(hwnd, CFGG_VERIFYWRITES); 919 PrfWriteProfileData(fmprof, appname, "VerifyWrites", 920 &fVerify, sizeof(BOOL)); 921 DosSetVerify(fVerify); 922 fDefaultDeletePerm = WinQueryButtonCheckstate(hwnd, 923 CFGG_DEFAULTDELETEPERM); 924 PrfWriteProfileData(fmprof, appname, "DefaultDeletePerm", 925 &fDefaultDeletePerm, sizeof(BOOL)); 926 fFM2Deletes = WinQueryButtonCheckstate(hwnd, CFGG_FM2DELETES); 927 PrfWriteProfileData(fmprof, FM3Str, "FM2Deletes", 928 &fFM2Deletes, sizeof(BOOL)); 929 fConfirmTarget = WinQueryButtonCheckstate(hwnd, CFGG_CONFIRMTARGET); 930 PrfWriteProfileData(fmprof, appname, "ConfirmTarget", 931 &fConfirmTarget, sizeof(BOOL)); 932 break; 933 } 934 return WinDefDlgProc(hwnd, msg, mp1, mp2); 935 } 936 937 MRESULT EXPENTRY CfgCDlgProc(HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2) 938 { 939 switch (msg) { 940 case WM_INITDLG: 941 WinSendDlgItemMsg(hwnd, CFGC_COMPARE, EM_SETTEXTLIMIT, 942 MPFROM2SHORT(CCHMAXPATH, 0), MPVOID); 943 WinSendDlgItemMsg(hwnd, CFGC_DIRCOMPARE, EM_SETTEXTLIMIT, 944 MPFROM2SHORT(CCHMAXPATH, 0), MPVOID); 945 WinEnableWindow(WinWindowFromID(hwnd, CFGC_FIND), FALSE); 946 PostMsg(hwnd, UM_UNDO, MPVOID, MPVOID); 947 break; 948 949 case UM_UNDO: 950 WinSetDlgItemText(hwnd, CFGC_COMPARE, compare); 951 WinSetDlgItemText(hwnd, CFGC_DIRCOMPARE, dircompare); 952 return 0; 953 954 case WM_CONTROL: 955 switch (SHORT1FROMMP(mp1)) { 956 case CFGC_COMPARE: 957 case CFGC_DIRCOMPARE: 958 switch (SHORT2FROMMP(mp1)) { 959 case EN_KILLFOCUS: 960 WinEnableWindow(WinWindowFromID(hwnd, CFGC_FIND), FALSE); 961 break; 962 case EN_SETFOCUS: 963 WinEnableWindow(WinWindowFromID(hwnd, CFGC_FIND), TRUE); 964 break; 965 } 966 break; 967 } 968 return 0; 969 970 case WM_COMMAND: 971 switch (SHORT1FROMMP(mp1)) { 972 case IDM_UNDO: 973 PostMsg(hwnd, UM_UNDO, MPVOID, MPVOID); 974 break; 975 976 case DID_CANCEL: 977 WinSendMsg(hwnd, UM_UNDO, MPVOID, MPVOID); 978 979 case DID_OK: 980 PostMsg((HWND) WinQueryWindowULong(hwnd, QWL_USER), msg, mp1, mp2); 981 break; 982 983 case IDM_HELP: 984 if (hwndHelp) 985 WinSendMsg(hwndHelp, HM_DISPLAY_HELP, 986 MPFROM2SHORT(HELP_CFGC, 0), MPFROMSHORT(HM_RESOURCEID)); 987 break; 988 989 case CFGC_FIND: 601 990 { 602 ULONG flWindowAttr = 0,size = sizeof(ULONG); 603 604 if(!PrfQueryProfileData(fmprof, 605 appname, 606 "TreeflWindowAttr", 607 (PVOID)&flWindowAttr, 608 &size)) 609 flWindowAttr |= (CV_TREE | CA_TREELINE | CV_ICON | CV_MINI | CV_FLOW); 610 WinCheckButton(hwnd,CFG5_ICON,((flWindowAttr & CV_ICON) != FALSE)); 611 WinCheckButton(hwnd,CFG5_MINIICONS,((flWindowAttr & CV_MINI) != FALSE)); 612 memset(&mask,0,sizeof(mask)); 613 mask.attrFile = FILE_DIRECTORY | FILE_ARCHIVED | FILE_HIDDEN | 614 FILE_SYSTEM | FILE_NORMAL | FILE_READONLY; 615 mask.fIsTree = TRUE; 616 size = sizeof(MASK); 617 if(PrfQueryProfileData(fmprof,appname,"TreeFilter",&mask,&size)) { 618 SetMask(NULL,&mask); 619 } 620 if(!mask.attrFile) 621 mask.attrFile = (FILE_READONLY | FILE_NORMAL | 622 FILE_ARCHIVED | FILE_DIRECTORY | 623 FILE_HIDDEN | FILE_SYSTEM); 624 strcpy(mask.prompt, 625 GetPString(IDS_TREEFILTERTITLETEXT)); 626 WinSetDlgItemText(hwnd,CFG5_FILTER,mask.szMask); 627 WinCheckButton(hwnd,CFG6_SORTFIRST,FALSE); 628 WinCheckButton(hwnd,CFG6_SORTLAST,FALSE); 629 WinCheckButton(hwnd,CFG6_SORTSIZE,FALSE); 630 WinCheckButton(hwnd,CFG6_SORTEASIZE,FALSE); 631 WinCheckButton(hwnd,CFG6_SORTLWDATE,FALSE); 632 WinCheckButton(hwnd,CFG6_SORTLADATE,FALSE); 633 WinCheckButton(hwnd,CFG6_SORTCRDATE,FALSE); 634 WinCheckButton(hwnd,CFG6_SORTNAME,FALSE); 635 WinCheckButton(hwnd,CFG6_SORTREVERSE,FALSE); 636 if(TreesortFlags & SORT_FIRSTEXTENSION) 637 WinCheckButton(hwnd,CFG6_SORTFIRST,TRUE); 638 else if(TreesortFlags & SORT_LASTEXTENSION) 639 WinCheckButton(hwnd,CFG6_SORTLAST,TRUE); 640 else if(TreesortFlags & SORT_SIZE) 641 WinCheckButton(hwnd,CFG6_SORTSIZE,TRUE); 642 else if(TreesortFlags & SORT_EASIZE) 643 WinCheckButton(hwnd,CFG6_SORTEASIZE,TRUE); 644 else if(TreesortFlags & SORT_LWDATE) 645 WinCheckButton(hwnd,CFG6_SORTLWDATE,TRUE); 646 else if(TreesortFlags & SORT_LADATE) 647 WinCheckButton(hwnd,CFG6_SORTLADATE,TRUE); 648 else if(TreesortFlags & SORT_CRDATE) 649 WinCheckButton(hwnd,CFG6_SORTCRDATE,TRUE); 650 else if(TreesortFlags & SORT_FILENAME) 651 WinCheckButton(hwnd,CFG6_SORTFILENAME,TRUE); 652 else 653 WinCheckButton(hwnd,CFG6_SORTNAME,TRUE); 654 if(TreesortFlags & SORT_REVERSE) 655 WinCheckButton(hwnd,CFG6_SORTREVERSE,TRUE); 656 } 657 return 0; 658 659 case UM_SETUP5: 660 if(WinDlgBox(HWND_DESKTOP,hwndNotebook,PickMaskDlgProc, 661 FM3ModHandle,MSK_FRAME,MPFROMP(&mask))) { 662 SetMask(NULL,&mask); 663 WinSetDlgItemText(hwnd,CFG5_FILTER,mask.szMask); 664 } 665 return 0; 666 667 case WM_CONTROL: 668 switch(SHORT1FROMMP(mp1)) { 669 case CFG5_FILTER: 670 switch(SHORT2FROMMP(mp1)) { 671 case EN_SETFOCUS: 672 PostMsg(hwnd, 673 UM_FOCUSME, 674 MPVOID, 675 MPVOID); 676 PostMsg(hwnd, 677 UM_SETUP5, 678 MPVOID, 679 MPVOID); 680 break; 681 } 682 break; 683 } 684 return 0; 685 686 case WM_COMMAND: 687 switch(SHORT1FROMMP(mp1)) { 688 case IDM_UNDO: 689 PostMsg(hwnd,UM_UNDO,MPVOID,MPVOID); 690 break; 691 692 case DID_CANCEL: 693 WinSendMsg(hwnd,UM_UNDO,MPVOID,MPVOID); 694 695 case DID_OK: 696 PostMsg((HWND)WinQueryWindowULong(hwnd,QWL_USER),msg,mp1,mp2); 697 break; 698 699 case IDM_HELP: 700 if(hwndHelp) 701 WinSendMsg(hwndHelp,HM_DISPLAY_HELP, 702 MPFROM2SHORT(HELP_TREEVIEW,0), 703 MPFROMSHORT(HM_RESOURCEID)); 704 break; 705 } 706 return 0; 707 708 case WM_CLOSE: 709 { 710 ULONG flWindowAttr = 0; 711 712 if(WinQueryButtonCheckstate(hwnd,CFG5_ICON)) 713 flWindowAttr |= CV_ICON; 714 else 715 flWindowAttr |= CV_TEXT; 716 if(WinQueryButtonCheckstate(hwnd,CFG5_MINIICONS)) 717 flWindowAttr |= CV_MINI; 718 flWindowAttr |= (CV_TREE | CV_FLOW | CA_TREELINE); 719 PrfWriteProfileData(fmprof, 720 appname, 721 "TreeflWindowAttr", 722 &flWindowAttr, 723 sizeof(ULONG)); 724 if(hwndTree) { 725 726 CNRINFO cnri; 727 728 memset(&cnri,0,sizeof(cnri)); 729 cnri.cb = sizeof(cnri); 730 WinSendMsg(WinWindowFromID(WinWindowFromID(hwndTree,FID_CLIENT),TREE_CNR), 731 CM_QUERYCNRINFO,MPFROMP(&cnri),MPFROMLONG(sizeof(cnri))); 732 cnri.flWindowAttr = flWindowAttr; 733 WinSendMsg(WinWindowFromID(WinWindowFromID(hwndTree,FID_CLIENT),TREE_CNR), 734 CM_SETCNRINFO,MPFROMP(&cnri),MPFROMLONG(CMA_FLWINDOWATTR)); 735 } 736 } 737 TreesortFlags = 0; 738 if(WinQueryButtonCheckstate(hwnd,CFG6_SORTFILENAME)) 739 TreesortFlags |= SORT_FILENAME; 740 if(WinQueryButtonCheckstate(hwnd,CFG6_SORTSIZE)) 741 TreesortFlags |= SORT_SIZE; 742 if(WinQueryButtonCheckstate(hwnd,CFG6_SORTEASIZE)) 743 TreesortFlags |= SORT_EASIZE; 744 if(WinQueryButtonCheckstate(hwnd,CFG6_SORTFIRST)) 745 TreesortFlags |= SORT_FIRSTEXTENSION; 746 if(WinQueryButtonCheckstate(hwnd,CFG6_SORTLAST)) 747 TreesortFlags |= SORT_LASTEXTENSION; 748 if(WinQueryButtonCheckstate(hwnd,CFG6_SORTLWDATE)) 749 TreesortFlags |= SORT_LWDATE; 750 if(WinQueryButtonCheckstate(hwnd,CFG6_SORTLADATE)) 751 TreesortFlags |= SORT_LADATE; 752 if(WinQueryButtonCheckstate(hwnd,CFG6_SORTCRDATE)) 753 TreesortFlags |= SORT_CRDATE; 754 if(WinQueryButtonCheckstate(hwnd,CFG6_SORTDIRSFIRST)) 755 TreesortFlags |= SORT_DIRSFIRST; 756 if(WinQueryButtonCheckstate(hwnd,CFG6_SORTDIRSLAST)) 757 TreesortFlags |= SORT_DIRSLAST; 758 if(WinQueryButtonCheckstate(hwnd,CFG6_SORTREVERSE)) 759 TreesortFlags |= SORT_REVERSE; 760 PrfWriteProfileData(fmprof,appname,"TreeSort",&TreesortFlags,sizeof(INT)); 761 if(hwndTree) 762 PostMsg(hwndTree, 763 WM_COMMAND, 764 MPFROM2SHORT(IDM_RESORT,0), 765 MPVOID); 766 *mask.prompt = 0; 767 PrfWriteProfileData(fmprof,appname,"TreeFilter",&mask,sizeof(MASK)); 768 if(hwndTree) { 769 770 DIRCNRDATA *dcd; 771 772 dcd = WinQueryWindowPtr(WinWindowFromID(WinWindowFromID(hwndTree, 773 FID_CLIENT),TREE_CNR), 774 QWL_USER); 775 if(dcd && dcd->size == sizeof(DIRCNRDATA)) { 776 dcd->mask = mask; 777 PostMsg(hwndTree,UM_FILTER,MPVOID,MPVOID); 778 } 779 } 780 break; 991 CHAR filename[CCHMAXPATH + 9]; 992 USHORT id; 993 HWND hwndFocus; 994 995 strcpy(filename, "*.EXE"); 996 hwndFocus = WinQueryFocus(HWND_DESKTOP); 997 if (hwndFocus) { 998 id = WinQueryWindowUShort(hwndFocus, QWS_ID); 999 switch (id) { 1000 case CFGC_COMPARE: 1001 case CFGC_DIRCOMPARE: 1002 if (insert_filename(hwnd, filename, 2, FALSE) && *filename) { 1003 strcat(filename, " %a"); 1004 WinSetDlgItemText(hwnd, id, filename); 1005 } 1006 break; 1007 default: 1008 Runtime_Error(pszSrcFile, __LINE__, "bad case %d", id); 1009 break; 1010 } 1011 } 1012 } 1013 break; 1014 } 1015 return 0; 1016 1017 case WM_CLOSE: 1018 WinQueryDlgItemText(hwnd, CFGC_DIRCOMPARE, CCHMAXPATH, dircompare); 1019 dircompare[CCHMAXPATH - 1] = 0; 1020 bstrip(dircompare); 1021 PrfWriteProfileString(fmprof, appname, "DirCompare", dircompare); 1022 WinQueryDlgItemText(hwnd, CFGC_COMPARE, CCHMAXPATH, compare); 1023 compare[CCHMAXPATH - 1] = 0; 1024 bstrip(compare); 1025 PrfWriteProfileString(fmprof, appname, "Compare", compare); 1026 break; 781 1027 } 782 return WinDefDlgProc(hwnd, msg,mp1,mp2);1028 return WinDefDlgProc(hwnd, msg, mp1, mp2); 783 1029 } 784 1030 785 786 MRESULT EXPENTRY CfgTDlgProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2) 1031 MRESULT EXPENTRY CfgDDlgProc(HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2) 787 1032 { 788 switch(msg) { 789 case WM_INITDLG: 790 PostMsg(hwnd,UM_UNDO,MPVOID,MPVOID); 791 break; 792 793 case UM_UNDO: 794 WinCheckButton(hwnd,CFGT_FOLLOWTREE,fFollowTree); 795 WinCheckButton(hwnd,CFGT_TOPDIR,fTopDir); 796 WinCheckButton(hwnd,CFGT_DCOPENS,fDCOpens); 797 WinCheckButton(hwnd,CFGT_VTREEOPENSWPS,fVTreeOpensWPS); 798 WinCheckButton(hwnd,CFGT_COLLAPSEFIRST,fCollapseFirst); 799 WinCheckButton(hwnd,CFGT_SWITCHTREEONFOCUS,fSwitchTreeOnFocus); 800 WinCheckButton(hwnd,CFGT_SWITCHTREE,fSwitchTree); 801 WinCheckButton(hwnd,CFGT_SWITCHTREEEXPAND,fSwitchTreeExpand); 802 WinCheckButton(hwnd,CFGT_SHOWENV,fShowEnv); 803 return 0; 804 805 case WM_COMMAND: 806 switch(SHORT1FROMMP(mp1)) { 807 case IDM_UNDO: 808 PostMsg(hwnd,UM_UNDO,MPVOID,MPVOID); 809 break; 810 811 case DID_CANCEL: 812 WinSendMsg(hwnd,UM_UNDO,MPVOID,MPVOID); 813 814 case DID_OK: 815 PostMsg((HWND)WinQueryWindowULong(hwnd,QWL_USER),msg,mp1,mp2); 816 break; 817 818 case IDM_HELP: 819 if(hwndHelp) 820 WinSendMsg(hwndHelp,HM_DISPLAY_HELP, 821 MPFROM2SHORT(HELP_CFGT,0), 822 MPFROMSHORT(HM_RESOURCEID)); 823 break; 824 } 825 return 0; 826 827 case WM_CLOSE: 828 fVTreeOpensWPS = WinQueryButtonCheckstate(hwnd,CFGT_VTREEOPENSWPS); 829 PrfWriteProfileData(fmprof,FM3Str,"VTreeOpensWPS",&fVTreeOpensWPS, 830 sizeof(BOOL)); 831 fCollapseFirst = WinQueryButtonCheckstate(hwnd,CFGT_COLLAPSEFIRST); 832 PrfWriteProfileData(fmprof,appname,"CollapseFirst",&fCollapseFirst, 833 sizeof(BOOL)); 834 fSwitchTreeOnFocus = WinQueryButtonCheckstate(hwnd, 835 CFGT_SWITCHTREEONFOCUS); 836 PrfWriteProfileData(fmprof,appname,"SwitchTreeOnFocus", 837 &fSwitchTreeOnFocus,sizeof(BOOL)); 838 fSwitchTreeExpand = WinQueryButtonCheckstate(hwnd,CFGT_SWITCHTREEEXPAND); 839 PrfWriteProfileData(fmprof,appname,"SwitchTreeExpand",&fSwitchTreeExpand, 840 sizeof(BOOL)); 841 fSwitchTree = WinQueryButtonCheckstate(hwnd,CFGT_SWITCHTREE); 842 PrfWriteProfileData(fmprof,appname,"SwitchTree",&fSwitchTree, 843 sizeof(BOOL)); 844 fFollowTree = WinQueryButtonCheckstate(hwnd,CFGT_FOLLOWTREE); 845 PrfWriteProfileData(fmprof,appname,"FollowTree",&fFollowTree, 846 sizeof(BOOL)); 847 fTopDir = WinQueryButtonCheckstate(hwnd,CFGT_TOPDIR); 848 PrfWriteProfileData(fmprof,appname,"TopDir",(PVOID)&fTopDir, 849 sizeof(BOOL)); 850 fDCOpens = WinQueryButtonCheckstate(hwnd,CFGT_DCOPENS); 851 PrfWriteProfileData(fmprof,FM3Str,"DoubleClickOpens",&fDCOpens, 852 sizeof(BOOL)); 853 if(hwndTree && 854 fShowEnv != WinQueryButtonCheckstate(hwnd,CFGT_SHOWENV)) 855 PostMsg(WinWindowFromID(WinWindowFromID(hwndTree,FID_CLIENT),TREE_CNR), 856 WM_COMMAND, 857 MPFROM2SHORT(IDM_RESCAN,0), 858 MPVOID); 859 fShowEnv = WinQueryButtonCheckstate(hwnd,CFGT_SHOWENV); 860 PrfWriteProfileData(fmprof,appname,"ShowEnv",&fShowEnv, 861 sizeof(BOOL)); 862 break; 1033 switch (msg) { 1034 case WM_INITDLG: 1035 WinSendMsg(hwnd, UM_UNDO, MPVOID, MPVOID); 1036 break; 1037 1038 case UM_UNDO: 1039 WinCheckButton(hwnd, CFGD_UNHILITE, fUnHilite); 1040 WinCheckButton(hwnd, CFGD_SYNCUPDATES, fSyncUpdates); 1041 WinCheckButton(hwnd, CFGD_LOOKINDIR, fLookInDir); 1042 WinCheckButton(hwnd, CFGD_MINONOPEN, fMinOnOpen); 1043 WinCheckButton(hwnd, CFGD_SELECTEDALWAYS, fSelectedAlways); 1044 WinCheckButton(hwnd, CFGD_NOSEARCH, fNoSearch); 1045 WinCheckButton(hwnd, CFGD_EXTENDEDSEL, 1046 ((ulCnrType & CCS_EXTENDSEL) != 0)); 1047 WinCheckButton(hwnd, CFGD_MULTIPLESEL, 1048 ((ulCnrType & CCS_MULTIPLESEL) != 0)); 1049 WinCheckButton(hwnd, CFGD_LEAVETREE, fLeaveTree); 1050 WinCheckButton(hwnd, CFGD_NOFOLDMENU, fNoFoldMenu); 1051 return 0; 1052 1053 case WM_COMMAND: 1054 switch (SHORT1FROMMP(mp1)) { 1055 case IDM_UNDO: 1056 PostMsg(hwnd, UM_UNDO, MPVOID, MPVOID); 1057 break; 1058 1059 case DID_CANCEL: 1060 WinSendMsg(hwnd, UM_UNDO, MPVOID, MPVOID); 1061 1062 case DID_OK: 1063 PostMsg((HWND) WinQueryWindowULong(hwnd, QWL_USER), msg, mp1, mp2); 1064 break; 1065 1066 case IDM_HELP: 1067 if (hwndHelp) 1068 WinSendMsg(hwndHelp, HM_DISPLAY_HELP, 1069 MPFROM2SHORT(HELP_CFGD, 0), MPFROMSHORT(HM_RESOURCEID)); 1070 break; 1071 } 1072 return 0; 1073 1074 case WM_CLOSE: 1075 ulCnrType = 0; 1076 if (WinQueryButtonCheckstate(hwnd, CFGD_EXTENDEDSEL)) 1077 ulCnrType |= CCS_EXTENDSEL; 1078 if (WinQueryButtonCheckstate(hwnd, CFGD_MULTIPLESEL)) 1079 ulCnrType |= CCS_MULTIPLESEL; 1080 PrfWriteProfileData(fmprof, appname, "ContainerType", 1081 (PVOID) & ulCnrType, sizeof(BOOL)); 1082 fMinOnOpen = WinQueryButtonCheckstate(hwnd, CFGD_MINONOPEN); 1083 PrfWriteProfileData(fmprof, FM3Str, "MinDirOnOpen", &fMinOnOpen, 1084 sizeof(BOOL)); 1085 fLeaveTree = WinQueryButtonCheckstate(hwnd, CFGD_LEAVETREE); 1086 PrfWriteProfileData(fmprof, appname, "LeaveTree", &fLeaveTree, 1087 sizeof(BOOL)); 1088 fNoFoldMenu = WinQueryButtonCheckstate(hwnd, CFGD_NOFOLDMENU); 1089 PrfWriteProfileData(fmprof, appname, "NoFoldMenu", &fNoFoldMenu, 1090 sizeof(BOOL)); 1091 fSelectedAlways = WinQueryButtonCheckstate(hwnd, CFGD_SELECTEDALWAYS); 1092 PrfWriteProfileData(fmprof, appname, "SelectedAlways", &fSelectedAlways, 1093 sizeof(BOOL)); 1094 fNoSearch = WinQueryButtonCheckstate(hwnd, CFGD_NOSEARCH); 1095 PrfWriteProfileData(fmprof, appname, "NoSearch", &fNoSearch, 1096 sizeof(BOOL)); 1097 fLookInDir = WinQueryButtonCheckstate(hwnd, CFGD_LOOKINDIR); 1098 PrfWriteProfileData(fmprof, FM3Str, "LookInDir", (PVOID) & fLookInDir, 1099 sizeof(BOOL)); 1100 fUnHilite = WinQueryButtonCheckstate(hwnd, CFGD_UNHILITE); 1101 PrfWriteProfileData(fmprof, appname, "UnHilite", 1102 &fUnHilite, sizeof(BOOL)); 1103 { 1104 BOOL dummy = WinQueryButtonCheckstate(hwnd, CFGD_SYNCUPDATES); 1105 1106 if (dummy != fSyncUpdates) { 1107 fSyncUpdates = dummy; 1108 if (hwndMain && !strcmp(realappname, FM3Str)) { 1109 if (SaveDirCnrState(hwndMain, GetPString(IDS_FM2TEMPTEXT))) { 1110 PostMsg(MainObjectHwnd, UM_RESTORE, MPVOID, MPFROMLONG(2L)); 1111 PostMsg(hwndMain, UM_RESTORE, MPVOID, MPVOID); 1112 } 1113 } 1114 } 1115 } 1116 PrfWriteProfileData(fmprof, appname, "SyncUpdates", 1117 &fSyncUpdates, sizeof(BOOL)); 1118 if (!(ulCnrType & (CCS_EXTENDSEL | CCS_MULTIPLESEL))) 1119 saymsg(MB_ENTER | MB_ICONEXCLAMATION, 1120 HWND_DESKTOP, 1121 GetPString(IDS_WARNINGTEXT), 1122 GetPString(IDS_SELECTTYPEERRORTEXT)); 1123 break; 863 1124 } 864 return WinDefDlgProc(hwnd, msg,mp1,mp2);1125 return WinDefDlgProc(hwnd, msg, mp1, mp2); 865 1126 } 866 1127 867 868 MRESULT EXPENTRY CfgGDlgProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2) 1128 MRESULT EXPENTRY CfgMDlgProc(HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2) 869 1129 { 870 switch(msg) { 871 case WM_INITDLG: 872 PostMsg(hwnd,UM_UNDO,MPVOID,MPVOID); 873 break; 874 875 case UM_UNDO: 876 WinCheckButton(hwnd,CFGG_CONFIRMDELETE,fConfirmDelete); 877 WinCheckButton(hwnd,CFGG_VERIFYWRITES,fVerify); 878 WinCheckButton(hwnd,CFGG_LINKSETSICON,fLinkSetsIcon); 879 WinCheckButton(hwnd,CFGG_DONTMOVEMOUSE,fDontMoveMouse); 880 WinCheckButton(hwnd,CFGG_DEFAULTCOPY,fCopyDefault); 881 WinCheckButton(hwnd,CFGG_IDLECOPY,fRealIdle); 882 WinCheckButton(hwnd,CFGG_DNDDLG,fDragndropDlg); 883 WinCheckButton(hwnd,CFGG_DEFAULTDELETEPERM,fDefaultDeletePerm); 884 { 885 long th; 886 887 th = (fNoFinger) ? 2 : 888 (fNoDead) ? 1 : 0; 889 WinCheckButton(hwnd,CFGG_NODEAD,th); 890 } 891 WinCheckButton(hwnd,CFGG_BORING,fDullMin); 892 WinCheckButton(hwnd,CFGG_CUSTOMFILEDLG,fCustomFileDlg); 893 WinCheckButton(hwnd,CFGG_FM2DELETES,fFM2Deletes); 894 WinCheckButton(hwnd,CFGG_CONFIRMTARGET,fConfirmTarget); 895 WinSetDlgItemText(hwnd,CFGG_TARGETDIR,targetdir); 896 return 0; 897 898 case UM_FOCUSME: 899 WinSetFocus(HWND_DESKTOP, 900 WinWindowFromID(hwnd,IDM_HELP)); 901 return 0; 902 903 case UM_SETUP5: 904 SetTargetDir(hwnd,FALSE); 905 WinSetDlgItemText(hwnd, 906 CFGG_TARGETDIR, 907 targetdir); 908 return 0; 909 910 case WM_CONTROL: 911 switch(SHORT1FROMMP(mp1)) { 912 case CFGG_TARGETDIR: 913 switch(SHORT2FROMMP(mp1)) { 914 case EN_SETFOCUS: 915 PostMsg(hwnd, 916 UM_FOCUSME, 917 MPVOID, 918 MPVOID); 919 PostMsg(hwnd, 920 UM_SETUP5, 921 MPVOID, 922 MPVOID); 923 break; 924 } 925 break; 926 } 927 return 0; 928 929 case WM_COMMAND: 930 switch(SHORT1FROMMP(mp1)) { 931 case IDM_UNDO: 932 PostMsg(hwnd,UM_UNDO,MPVOID,MPVOID); 933 break; 934 935 case DID_CANCEL: 936 WinSendMsg(hwnd,UM_UNDO,MPVOID,MPVOID); 937 938 case DID_OK: 939 PostMsg((HWND)WinQueryWindowULong(hwnd,QWL_USER),msg,mp1,mp2); 940 break; 941 942 case IDM_HELP: 943 if(hwndHelp) 944 WinSendMsg(hwndHelp, 945 HM_DISPLAY_HELP, 946 MPFROM2SHORT(HELP_CFGG,0), 947 MPFROMSHORT(HM_RESOURCEID)); 948 break; 949 } 950 return 0; 951 952 case WM_CLOSE: 953 { 954 long test; 955 956 test = WinQueryButtonCheckstate(hwnd, 957 CFGG_NODEAD); 958 fNoDead = (test == 1); 959 fNoFinger = (test == 2); 960 PrfWriteProfileData(fmprof, 961 FM3Str, 962 "NoDead", 963 &fNoDead, 964 sizeof(BOOL)); 965 PrfWriteProfileData(fmprof, 966 FM3Str, 967 "NoFinger", 968 &fNoFinger, 969 sizeof(BOOL)); 970 WinDestroyPointer(hptrFinger); 971 if(!fNoDead) 972 hptrFinger = WinLoadPointer(HWND_DESKTOP, 973 FM3ModHandle, 974 FINGER_ICON); 975 else 976 hptrFinger = WinLoadPointer(HWND_DESKTOP, 977 FM3ModHandle, 978 FINGER2_ICON); 979 } 980 fLinkSetsIcon = WinQueryButtonCheckstate(hwnd, 981 CFGG_LINKSETSICON); 982 PrfWriteProfileData(fmprof, 983 appname, 984 "LinkSetsIcon", 985 &fLinkSetsIcon, 986 sizeof(BOOL)); 987 fCustomFileDlg = WinQueryButtonCheckstate(hwnd, 988 CFGG_CUSTOMFILEDLG); 989 PrfWriteProfileData(fmprof, 990 FM3Str, 991 "CustomFileDlg", 992 &fCustomFileDlg, 993 sizeof(BOOL)); 994 fDullMin = WinQueryButtonCheckstate(hwnd, 995 CFGG_BORING); 996 PrfWriteProfileData(fmprof, 997 FM3Str, 998 "DullDatabar", 999 &fDullMin, 1000 sizeof(BOOL)); 1001 fConfirmDelete = WinQueryButtonCheckstate(hwnd, 1002 CFGG_CONFIRMDELETE); 1003 PrfWriteProfileData(fmprof, 1004 appname, 1005 "ConfirmDelete", 1006 &fConfirmDelete, 1007 sizeof(BOOL)); 1008 fDontMoveMouse = WinQueryButtonCheckstate(hwnd, 1009 CFGG_DONTMOVEMOUSE); 1010 PrfWriteProfileData(fmprof, 1011 appname, 1012 "DontMoveMouse", 1013 &fDontMoveMouse, 1014 sizeof(BOOL)); 1015 fCopyDefault = WinQueryButtonCheckstate(hwnd,CFGG_DEFAULTCOPY); 1016 PrfWriteProfileData(fmprof,appname,"DefaultCopy", 1017 &fCopyDefault,sizeof(BOOL)); 1018 fRealIdle = WinQueryButtonCheckstate(hwnd,CFGG_IDLECOPY); 1019 PrfWriteProfileData(fmprof,appname,"IdleCopy", 1020 &fRealIdle,sizeof(BOOL)); 1021 fDragndropDlg = WinQueryButtonCheckstate(hwnd,CFGG_DNDDLG); 1022 PrfWriteProfileData(fmprof,appname,"Drag&DropDlg", 1023 &fDragndropDlg,sizeof(BOOL)); 1024 fVerify = WinQueryButtonCheckstate(hwnd,CFGG_VERIFYWRITES); 1025 PrfWriteProfileData(fmprof,appname,"VerifyWrites", 1026 &fVerify,sizeof(BOOL)); 1027 DosSetVerify(fVerify); 1028 fDefaultDeletePerm = WinQueryButtonCheckstate(hwnd, 1029 CFGG_DEFAULTDELETEPERM); 1030 PrfWriteProfileData(fmprof,appname,"DefaultDeletePerm", 1031 &fDefaultDeletePerm,sizeof(BOOL)); 1032 fFM2Deletes = WinQueryButtonCheckstate(hwnd,CFGG_FM2DELETES); 1033 PrfWriteProfileData(fmprof,FM3Str,"FM2Deletes", 1034 &fFM2Deletes,sizeof(BOOL)); 1035 fConfirmTarget = WinQueryButtonCheckstate(hwnd,CFGG_CONFIRMTARGET); 1036 PrfWriteProfileData(fmprof,appname,"ConfirmTarget", 1037 &fConfirmTarget,sizeof(BOOL)); 1038 break; 1130 switch (msg) { 1131 case WM_INITDLG: 1132 PostMsg(hwnd, UM_UNDO, MPVOID, MPVOID); 1133 break; 1134 1135 case UM_UNDO: 1136 WinCheckButton(hwnd, CFGM_EXTERNALINIS, fExternalINIs); 1137 WinCheckButton(hwnd, CFGM_EXTERNALARCBOXES, fExternalArcboxes); 1138 WinCheckButton(hwnd, CFGM_EXTERNALVIEWER, fExternalViewer); 1139 WinCheckButton(hwnd, CFGM_EXTERNALCOLLECTOR, fExternalCollector); 1140 WinCheckButton(hwnd, CFGM_SAVESTATE, fSaveState); 1141 WinCheckButton(hwnd, CFGM_AUTOTILE, (fAutoTile)); 1142 WinCheckButton(hwnd, CFGM_FREETREE, (fFreeTree)); 1143 WinCheckButton(hwnd, CFGM_SPLITSTATUS, (fSplitStatus)); 1144 WinCheckButton(hwnd, CFGM_NOTREEGAP, (fNoTreeGap)); 1145 WinCheckButton(hwnd, CFGM_STARTMIN, (fStartMinimized)); 1146 WinCheckButton(hwnd, CFGM_STARTMAX, (fStartMaximized)); 1147 WinCheckButton(hwnd, CFGM_DATAMIN, (fDataMin)); 1148 WinCheckButton(hwnd, CFGM_TILEBACKWARDS, (fTileBackwards)); 1149 { 1150 long th; 1151 1152 th = (fAutoAddDirs && fAutoAddAllDirs) ? 2 : (fAutoAddDirs) ? 1 : 0; 1153 WinCheckButton(hwnd, CFGM_RECENTDIRS, th); 1154 WinSendMsg(hwnd, UM_RESTORE, MPFROM2SHORT(CFGM_RECENTDIRS, 0), MPVOID); 1155 } 1156 WinCheckButton(hwnd, CFGM_USERLISTSWITCHES, fUserListSwitches); 1157 WinCheckButton(hwnd, CFGM_WSANIMATE, (fwsAnimate != 0)); 1158 WinCheckButton(hwnd, CFGM_SEPARATEPARMS, fSeparateParms); 1159 WinCheckButton(hwnd, CFGM_BLUELED, fBlueLED); 1160 WinCheckButton(hwnd, CFGM_SHOWTARGET, fShowTarget); 1161 WinEnableWindow(WinWindowFromID(hwnd, CFGM_STARTMAX), !(fStartMinimized)); 1162 WinEnableWindow(WinWindowFromID(hwnd, CFGM_STARTMIN), !(fStartMaximized)); 1163 return 0; 1164 1165 case UM_RESTORE: 1166 { 1167 long test; 1168 BOOL th, oh; 1169 char s[80]; 1170 1171 test = WinQueryButtonCheckstate(hwnd, SHORT1FROMMP(mp1)); 1172 th = (test != 0); 1173 oh = (test == 1); 1174 *s = 0; 1175 switch (SHORT1FROMMP(mp1)) { 1176 case CFGM_RECENTDIRS: 1177 sprintf(s, 1178 GetPString(IDS_RECENTHELPWHICHTEXT), 1179 (!oh && th) ? 1180 GetPString(IDS_RECENTONLYTEXT) : 1181 (oh && th) ? 1182 GetPString(IDS_ALLONLYTEXT) : GetPString(IDS_NONE)); 1183 break; 1184 } 1185 if (*s) 1186 WinSetDlgItemText(hwnd, SHORT1FROMMP(mp1), s); 1187 } 1188 return 0; 1189 1190 case WM_CONTROL: 1191 switch (SHORT1FROMMP(mp1)) { 1192 case CFGM_RECENTDIRS: 1193 WinSendMsg(hwnd, UM_RESTORE, mp1, MPVOID); 1194 break; 1195 case CFGM_STARTMIN: 1196 if (WinQueryButtonCheckstate(hwnd, CFGM_STARTMIN)) { 1197 WinCheckButton(hwnd, CFGM_STARTMAX, FALSE); 1198 WinEnableWindow(WinWindowFromID(hwnd, CFGM_STARTMAX), FALSE); 1199 } 1200 else 1201 WinEnableWindow(WinWindowFromID(hwnd, CFGM_STARTMAX), TRUE); 1202 break; 1203 case CFGM_STARTMAX: 1204 if (WinQueryButtonCheckstate(hwnd, CFGM_STARTMAX)) { 1205 WinCheckButton(hwnd, CFGM_STARTMIN, FALSE); 1206 WinEnableWindow(WinWindowFromID(hwnd, CFGM_STARTMIN), FALSE); 1207 } 1208 else 1209 WinEnableWindow(WinWindowFromID(hwnd, CFGM_STARTMIN), TRUE); 1210 break; 1211 } 1212 return 0; 1213 1214 case WM_COMMAND: 1215 switch (SHORT1FROMMP(mp1)) { 1216 case IDM_UNDO: 1217 PostMsg(hwnd, UM_UNDO, MPVOID, MPVOID); 1218 break; 1219 1220 case DID_CANCEL: 1221 WinSendMsg(hwnd, UM_UNDO, MPVOID, MPVOID); 1222 1223 case DID_OK: 1224 PostMsg((HWND) WinQueryWindowULong(hwnd, QWL_USER), msg, mp1, mp2); 1225 break; 1226 1227 case IDM_HELP: 1228 if (hwndHelp) 1229 WinSendMsg(hwndHelp, HM_DISPLAY_HELP, 1230 MPFROM2SHORT(HELP_CFGM, 0), MPFROMSHORT(HM_RESOURCEID)); 1231 break; 1232 } 1233 return 0; 1234 1235 case WM_CLOSE: 1236 if (hwndMain && !strcmp(realappname, FM3Str)) { 1237 if (fFreeTree != WinQueryButtonCheckstate(hwnd, CFGM_FREETREE)) 1238 PostMsg(hwndMain, WM_COMMAND, MPFROM2SHORT(IDM_FREETREE, 0), MPVOID); 1239 if (fAutoTile != WinQueryButtonCheckstate(hwnd, CFGM_AUTOTILE)) 1240 PostMsg(hwndMain, WM_COMMAND, MPFROM2SHORT(IDM_AUTOTILE, 0), MPVOID); 1241 if (fSplitStatus != WinQueryButtonCheckstate(hwnd, CFGM_SPLITSTATUS)) { 1242 fSplitStatus = (fSplitStatus) ? FALSE : TRUE; 1243 PostMsg(hwndMain, WM_COMMAND, MPFROM2SHORT(IDM_BLINK, 0), MPVOID); 1244 PrfWriteProfileData(fmprof, FM3Str, "SplitStatus", &fSplitStatus, 1245 sizeof(BOOL)); 1246 } 1247 } 1248 fUserListSwitches = WinQueryButtonCheckstate(hwnd, CFGM_USERLISTSWITCHES); 1249 PrfWriteProfileData(fmprof, FM3Str, "UserListSwitches", 1250 (PVOID) & fUserListSwitches, sizeof(BOOL)); 1251 fExternalINIs = WinQueryButtonCheckstate(hwnd, CFGM_EXTERNALINIS); 1252 PrfWriteProfileData(fmprof, FM3Str, "ExternalINIs", 1253 (PVOID) & fExternalINIs, sizeof(BOOL)); 1254 fExternalArcboxes = WinQueryButtonCheckstate(hwnd, CFGM_EXTERNALARCBOXES); 1255 PrfWriteProfileData(fmprof, FM3Str, "ExternalArcboxes", 1256 (PVOID) & fExternalArcboxes, sizeof(BOOL)); 1257 fExternalCollector = 1258 WinQueryButtonCheckstate(hwnd, CFGM_EXTERNALCOLLECTOR); 1259 PrfWriteProfileData(fmprof, FM3Str, "ExternalCollector", 1260 (PVOID) & fExternalCollector, sizeof(BOOL)); 1261 fExternalViewer = WinQueryButtonCheckstate(hwnd, CFGM_EXTERNALVIEWER); 1262 PrfWriteProfileData(fmprof, FM3Str, "ExternalViewer", 1263 (PVOID) & fExternalViewer, sizeof(BOOL)); 1264 { 1265 long test; 1266 1267 test = WinQueryButtonCheckstate(hwnd, CFGM_RECENTDIRS); 1268 fAutoAddDirs = (test != 0); 1269 fAutoAddAllDirs = (test == 2); 1270 } 1271 PrfWriteProfileData(fmprof, 1272 appname, 1273 "AutoAddDirs", (PVOID) & fAutoAddDirs, sizeof(BOOL)); 1274 PrfWriteProfileData(fmprof, 1275 appname, 1276 "AutoAddAllDirs", 1277 (PVOID) & fAutoAddAllDirs, sizeof(BOOL)); 1278 fwsAnimate = WinQueryButtonCheckstate(hwnd, CFGM_WSANIMATE); 1279 if (fwsAnimate) 1280 fwsAnimate = WS_ANIMATE; 1281 PrfWriteProfileData(fmprof, 1282 appname, 1283 "WS_ANIMATE", (PVOID) & fwsAnimate, sizeof(ULONG)); 1284 fSaveState = WinQueryButtonCheckstate(hwnd, CFGM_SAVESTATE); 1285 PrfWriteProfileData(fmprof, 1286 FM3Str, 1287 "SaveState", (PVOID) & fSaveState, sizeof(BOOL)); 1288 fStartMinimized = WinQueryButtonCheckstate(hwnd, CFGM_STARTMIN); 1289 PrfWriteProfileData(fmprof, 1290 appname, 1291 "StartMinimized", 1292 (PVOID) & fStartMinimized, sizeof(BOOL)); 1293 fStartMaximized = WinQueryButtonCheckstate(hwnd, CFGM_STARTMAX); 1294 PrfWriteProfileData(fmprof, 1295 appname, 1296 "StartMaximized", 1297 (PVOID) & fStartMaximized, sizeof(BOOL)); 1298 fDataMin = WinQueryButtonCheckstate(hwnd, CFGM_DATAMIN); 1299 PrfWriteProfileData(fmprof, 1300 FM3Str, "DataMin", (PVOID) & fDataMin, sizeof(BOOL)); 1301 fTileBackwards = WinQueryButtonCheckstate(hwnd, CFGM_TILEBACKWARDS); 1302 PrfWriteProfileData(fmprof, 1303 FM3Str, 1304 "TileBackwards", 1305 (PVOID) & fTileBackwards, sizeof(BOOL)); 1306 fNoTreeGap = WinQueryButtonCheckstate(hwnd, CFGM_NOTREEGAP); 1307 PrfWriteProfileData(fmprof, 1308 FM3Str, 1309 "NoTreeGap", (PVOID) & fNoTreeGap, sizeof(BOOL)); 1310 fBlueLED = WinQueryButtonCheckstate(hwnd, CFGM_BLUELED); 1311 PrfWriteProfileData(fmprof, 1312 appname, "BlueLED", (PVOID) & fBlueLED, sizeof(BOOL)); 1313 { 1314 BOOL dummy; 1315 1316 dummy = WinQueryButtonCheckstate(hwnd, CFGM_SHOWTARGET); 1317 if (dummy != fShowTarget) { 1318 fShowTarget = dummy; 1319 PrfWriteProfileData(fmprof, 1320 appname, 1321 "ShowTarget", 1322 (PVOID) & fShowTarget, sizeof(BOOL)); 1323 if (hwndMain) 1324 PostMsg(WinQueryWindow(hwndMain, QW_PARENT), 1325 WM_UPDATEFRAME, MPFROMLONG(FCF_SIZEBORDER), MPVOID); 1326 SetTargetDir(hwnd, TRUE); 1327 } 1328 dummy = WinQueryButtonCheckstate(hwnd, CFGM_SEPARATEPARMS); 1329 if (dummy != fSeparateParms) { 1330 fSeparateParms = dummy; 1331 PrfWriteProfileData(fmprof, 1332 FM3Str, 1333 "SeparateParms", 1334 (PVOID) & fSeparateParms, sizeof(BOOL)); 1335 WinSendMsg((HWND) WinQueryWindowULong(hwnd, QWL_USER), 1336 UM_UNDO, MPVOID, MPVOID); 1337 } 1338 } 1339 break; 1039 1340 } 1040 return WinDefDlgProc(hwnd, msg,mp1,mp2);1341 return WinDefDlgProc(hwnd, msg, mp1, mp2); 1041 1342 } 1042 1343 1043 1044 MRESULT EXPENTRY CfgCDlgProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2) 1045 { 1046 switch(msg) { 1047 case WM_INITDLG: 1048 WinSendDlgItemMsg(hwnd,CFGC_COMPARE,EM_SETTEXTLIMIT, 1049 MPFROM2SHORT(CCHMAXPATH,0),MPVOID); 1050 WinSendDlgItemMsg(hwnd,CFGC_DIRCOMPARE,EM_SETTEXTLIMIT, 1051 MPFROM2SHORT(CCHMAXPATH,0),MPVOID); 1052 WinEnableWindow(WinWindowFromID(hwnd,CFGC_FIND),FALSE); 1053 PostMsg(hwnd,UM_UNDO,MPVOID,MPVOID); 1054 break; 1055 1056 case UM_UNDO: 1057 WinSetDlgItemText(hwnd,CFGC_COMPARE,compare); 1058 WinSetDlgItemText(hwnd,CFGC_DIRCOMPARE,dircompare); 1059 return 0; 1060 1061 case WM_CONTROL: 1062 switch(SHORT1FROMMP(mp1)) { 1063 case CFGC_COMPARE: 1064 case CFGC_DIRCOMPARE: 1065 switch(SHORT2FROMMP(mp1)) { 1066 case EN_KILLFOCUS: 1067 WinEnableWindow(WinWindowFromID(hwnd,CFGC_FIND),FALSE); 1068 break; 1069 case EN_SETFOCUS: 1070 WinEnableWindow(WinWindowFromID(hwnd,CFGC_FIND),TRUE); 1071 break; 1072 } 1073 break; 1074 } 1075 return 0; 1076 1077 case WM_COMMAND: 1078 switch(SHORT1FROMMP(mp1)) { 1079 case IDM_UNDO: 1080 PostMsg(hwnd,UM_UNDO,MPVOID,MPVOID); 1081 break; 1082 1083 case DID_CANCEL: 1084 WinSendMsg(hwnd,UM_UNDO,MPVOID,MPVOID); 1085 1086 case DID_OK: 1087 PostMsg((HWND)WinQueryWindowULong(hwnd,QWL_USER),msg,mp1,mp2); 1088 break; 1089 1090 case IDM_HELP: 1091 if(hwndHelp) 1092 WinSendMsg(hwndHelp,HM_DISPLAY_HELP, 1093 MPFROM2SHORT(HELP_CFGC,0), 1094 MPFROMSHORT(HM_RESOURCEID)); 1095 break; 1096 1097 case CFGC_FIND: 1098 { 1099 CHAR filename[CCHMAXPATH + 9]; 1100 USHORT id; 1101 HWND hwndFocus; 1102 1103 strcpy(filename,"*.EXE"); 1104 hwndFocus = WinQueryFocus(HWND_DESKTOP); 1105 if(hwndFocus) { 1106 id = WinQueryWindowUShort(hwndFocus,QWS_ID); 1107 switch(id) { 1108 case CFGC_COMPARE: 1109 case CFGC_DIRCOMPARE: 1110 if(insert_filename(hwnd,filename,2,FALSE) && *filename) { 1111 strcat(filename," %a"); 1112 WinSetDlgItemText(hwnd,id,filename); 1113 } 1114 break; 1115 default: 1116 Runtime_Error(pszSrcFile, __LINE__, "bad case %d", id); 1117 break; 1118 } 1119 } 1120 } 1121 break; 1122 } 1123 return 0; 1124 1125 case WM_CLOSE: 1126 WinQueryDlgItemText(hwnd, 1127 CFGC_DIRCOMPARE, 1128 CCHMAXPATH, 1129 dircompare); 1130 dircompare[CCHMAXPATH - 1] = 0; 1131 bstrip(dircompare); 1132 PrfWriteProfileString(fmprof, 1133 appname, 1134 "DirCompare", 1135 dircompare); 1136 WinQueryDlgItemText(hwnd, 1137 CFGC_COMPARE, 1138 CCHMAXPATH, 1139 compare); 1140 compare[CCHMAXPATH - 1] = 0; 1141 bstrip(compare); 1142 PrfWriteProfileString(fmprof, 1143 appname, 1144 "Compare", 1145 compare); 1146 break; 1147 } 1148 return WinDefDlgProc(hwnd,msg,mp1,mp2); 1149 } 1150 1151 1152 MRESULT EXPENTRY CfgDDlgProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2) 1153 { 1154 switch(msg) { 1155 case WM_INITDLG: 1156 WinSendMsg(hwnd,UM_UNDO,MPVOID,MPVOID); 1157 break; 1158 1159 case UM_UNDO: 1160 WinCheckButton(hwnd,CFGD_UNHILITE,fUnHilite); 1161 WinCheckButton(hwnd,CFGD_SYNCUPDATES,fSyncUpdates); 1162 WinCheckButton(hwnd,CFGD_LOOKINDIR,fLookInDir); 1163 WinCheckButton(hwnd,CFGD_MINONOPEN,fMinOnOpen); 1164 WinCheckButton(hwnd,CFGD_SELECTEDALWAYS,fSelectedAlways); 1165 WinCheckButton(hwnd,CFGD_NOSEARCH,fNoSearch); 1166 WinCheckButton(hwnd,CFGD_EXTENDEDSEL, 1167 ((ulCnrType & CCS_EXTENDSEL) != 0)); 1168 WinCheckButton(hwnd,CFGD_MULTIPLESEL, 1169 ((ulCnrType & CCS_MULTIPLESEL) != 0)); 1170 WinCheckButton(hwnd,CFGD_LEAVETREE,fLeaveTree); 1171 WinCheckButton(hwnd,CFGD_NOFOLDMENU,fNoFoldMenu); 1172 return 0; 1173 1174 case WM_COMMAND: 1175 switch(SHORT1FROMMP(mp1)) { 1176 case IDM_UNDO: 1177 PostMsg(hwnd,UM_UNDO,MPVOID,MPVOID); 1178 break; 1179 1180 case DID_CANCEL: 1181 WinSendMsg(hwnd,UM_UNDO,MPVOID,MPVOID); 1182 1183 case DID_OK: 1184 PostMsg((HWND)WinQueryWindowULong(hwnd,QWL_USER),msg,mp1,mp2); 1185 break; 1186 1187 case IDM_HELP: 1188 if(hwndHelp) 1189 WinSendMsg(hwndHelp,HM_DISPLAY_HELP, 1190 MPFROM2SHORT(HELP_CFGD,0), 1191 MPFROMSHORT(HM_RESOURCEID)); 1192 break; 1193 } 1194 return 0; 1195 1196 case WM_CLOSE: 1197 ulCnrType = 0; 1198 if(WinQueryButtonCheckstate(hwnd,CFGD_EXTENDEDSEL)) 1199 ulCnrType |= CCS_EXTENDSEL; 1200 if(WinQueryButtonCheckstate(hwnd,CFGD_MULTIPLESEL)) 1201 ulCnrType |= CCS_MULTIPLESEL; 1202 PrfWriteProfileData(fmprof,appname,"ContainerType", 1203 (PVOID)&ulCnrType,sizeof(BOOL)); 1204 fMinOnOpen = WinQueryButtonCheckstate(hwnd,CFGD_MINONOPEN); 1205 PrfWriteProfileData(fmprof,FM3Str,"MinDirOnOpen",&fMinOnOpen, 1206 sizeof(BOOL)); 1207 fLeaveTree = WinQueryButtonCheckstate(hwnd,CFGD_LEAVETREE); 1208 PrfWriteProfileData(fmprof,appname,"LeaveTree",&fLeaveTree,sizeof(BOOL)); 1209 fNoFoldMenu = WinQueryButtonCheckstate(hwnd,CFGD_NOFOLDMENU); 1210 PrfWriteProfileData(fmprof,appname,"NoFoldMenu",&fNoFoldMenu, 1211 sizeof(BOOL)); 1212 fSelectedAlways = WinQueryButtonCheckstate(hwnd,CFGD_SELECTEDALWAYS); 1213 PrfWriteProfileData(fmprof,appname,"SelectedAlways",&fSelectedAlways, 1214 sizeof(BOOL)); 1215 fNoSearch = WinQueryButtonCheckstate(hwnd,CFGD_NOSEARCH); 1216 PrfWriteProfileData(fmprof,appname,"NoSearch",&fNoSearch,sizeof(BOOL)); 1217 fLookInDir = WinQueryButtonCheckstate(hwnd,CFGD_LOOKINDIR); 1218 PrfWriteProfileData(fmprof,FM3Str,"LookInDir",(PVOID)&fLookInDir, 1219 sizeof(BOOL)); 1220 fUnHilite = WinQueryButtonCheckstate(hwnd,CFGD_UNHILITE); 1221 PrfWriteProfileData(fmprof,appname,"UnHilite", 1222 &fUnHilite,sizeof(BOOL)); 1223 { 1224 BOOL dummy = WinQueryButtonCheckstate(hwnd,CFGD_SYNCUPDATES); 1225 1226 if(dummy != fSyncUpdates) { 1227 fSyncUpdates = dummy; 1228 if(hwndMain && !strcmp(realappname,FM3Str)) { 1229 if(SaveDirCnrState(hwndMain,GetPString(IDS_FM2TEMPTEXT))) { 1230 PostMsg(MainObjectHwnd,UM_RESTORE,MPVOID,MPFROMLONG(2L)); 1231 PostMsg(hwndMain,UM_RESTORE,MPVOID,MPVOID); 1232 } 1233 } 1234 } 1235 } 1236 PrfWriteProfileData(fmprof,appname,"SyncUpdates", 1237 &fSyncUpdates,sizeof(BOOL)); 1238 if(!(ulCnrType & (CCS_EXTENDSEL | CCS_MULTIPLESEL))) 1239 saymsg(MB_ENTER | MB_ICONEXCLAMATION, 1240 HWND_DESKTOP, 1241 GetPString(IDS_WARNINGTEXT), 1242 GetPString(IDS_SELECTTYPEERRORTEXT)); 1243 break; 1244 } 1245 return WinDefDlgProc(hwnd,msg,mp1,mp2); 1246 } 1247 1248 1249 MRESULT EXPENTRY CfgMDlgProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2) 1250 { 1251 switch(msg) { 1252 case WM_INITDLG: 1253 PostMsg(hwnd,UM_UNDO,MPVOID,MPVOID); 1254 break; 1255 1256 case UM_UNDO: 1257 WinCheckButton(hwnd,CFGM_EXTERNALINIS,fExternalINIs); 1258 WinCheckButton(hwnd,CFGM_EXTERNALARCBOXES,fExternalArcboxes); 1259 WinCheckButton(hwnd,CFGM_EXTERNALVIEWER,fExternalViewer); 1260 WinCheckButton(hwnd,CFGM_EXTERNALCOLLECTOR,fExternalCollector); 1261 WinCheckButton(hwnd,CFGM_SAVESTATE,fSaveState); 1262 WinCheckButton(hwnd,CFGM_AUTOTILE,(fAutoTile)); 1263 WinCheckButton(hwnd,CFGM_FREETREE,(fFreeTree)); 1264 WinCheckButton(hwnd,CFGM_SPLITSTATUS,(fSplitStatus)); 1265 WinCheckButton(hwnd,CFGM_NOTREEGAP,(fNoTreeGap)); 1266 WinCheckButton(hwnd,CFGM_STARTMIN,(fStartMinimized)); 1267 WinCheckButton(hwnd,CFGM_STARTMAX,(fStartMaximized)); 1268 WinCheckButton(hwnd,CFGM_DATAMIN,(fDataMin)); 1269 WinCheckButton(hwnd,CFGM_TILEBACKWARDS,(fTileBackwards)); 1270 { 1271 long th; 1272 1273 th = (fAutoAddDirs && fAutoAddAllDirs) ? 2 : 1274 (fAutoAddDirs) ? 1 : 0; 1275 WinCheckButton(hwnd,CFGM_RECENTDIRS,th); 1276 WinSendMsg(hwnd, 1277 UM_RESTORE, 1278 MPFROM2SHORT(CFGM_RECENTDIRS,0), 1279 MPVOID); 1280 } 1281 WinCheckButton(hwnd,CFGM_USERLISTSWITCHES,fUserListSwitches); 1282 WinCheckButton(hwnd,CFGM_WSANIMATE,(fwsAnimate != 0)); 1283 WinCheckButton(hwnd,CFGM_SEPARATEPARMS,fSeparateParms); 1284 WinCheckButton(hwnd,CFGM_BLUELED,fBlueLED); 1285 WinCheckButton(hwnd,CFGM_SHOWTARGET,fShowTarget); 1286 WinEnableWindow(WinWindowFromID(hwnd,CFGM_STARTMAX),!(fStartMinimized)); 1287 WinEnableWindow(WinWindowFromID(hwnd,CFGM_STARTMIN),!(fStartMaximized)); 1288 return 0; 1289 1290 case UM_RESTORE: 1291 { 1292 long test; 1293 BOOL th,oh; 1294 char s[80]; 1295 1296 test = WinQueryButtonCheckstate(hwnd, 1297 SHORT1FROMMP(mp1)); 1298 th = (test != 0); 1299 oh = (test == 1); 1300 *s = 0; 1301 switch(SHORT1FROMMP(mp1)) { 1302 case CFGM_RECENTDIRS: 1303 sprintf(s, 1304 GetPString(IDS_RECENTHELPWHICHTEXT), 1305 (!oh && th) ? 1306 GetPString(IDS_RECENTONLYTEXT) : 1307 (oh && th) ? 1308 GetPString(IDS_ALLONLYTEXT) : 1309 GetPString(IDS_NONE)); 1310 break; 1311 } 1312 if(*s) 1313 WinSetDlgItemText(hwnd, 1314 SHORT1FROMMP(mp1), 1315 s); 1316 } 1317 return 0; 1318 1319 case WM_CONTROL: 1320 switch(SHORT1FROMMP(mp1)) { 1321 case CFGM_RECENTDIRS: 1322 WinSendMsg(hwnd,UM_RESTORE,mp1,MPVOID); 1323 break; 1324 case CFGM_STARTMIN: 1325 if(WinQueryButtonCheckstate(hwnd,CFGM_STARTMIN)) { 1326 WinCheckButton(hwnd,CFGM_STARTMAX,FALSE); 1327 WinEnableWindow(WinWindowFromID(hwnd,CFGM_STARTMAX),FALSE); 1328 } 1329 else 1330 WinEnableWindow(WinWindowFromID(hwnd,CFGM_STARTMAX),TRUE); 1331 break; 1332 case CFGM_STARTMAX: 1333 if(WinQueryButtonCheckstate(hwnd,CFGM_STARTMAX)) { 1334 WinCheckButton(hwnd,CFGM_STARTMIN,FALSE); 1335 WinEnableWindow(WinWindowFromID(hwnd,CFGM_STARTMIN),FALSE); 1336 } 1337 else 1338 WinEnableWindow(WinWindowFromID(hwnd,CFGM_STARTMIN),TRUE); 1339 break; 1340 } 1341 return 0; 1342 1343 case WM_COMMAND: 1344 switch(SHORT1FROMMP(mp1)) { 1345 case IDM_UNDO: 1346 PostMsg(hwnd,UM_UNDO,MPVOID,MPVOID); 1347 break; 1348 1349 case DID_CANCEL: 1350 WinSendMsg(hwnd,UM_UNDO,MPVOID,MPVOID); 1351 1352 case DID_OK: 1353 PostMsg((HWND)WinQueryWindowULong(hwnd,QWL_USER),msg,mp1,mp2); 1354 break; 1355 1356 case IDM_HELP: 1357 if(hwndHelp) 1358 WinSendMsg(hwndHelp,HM_DISPLAY_HELP, 1359 MPFROM2SHORT(HELP_CFGM,0), 1360 MPFROMSHORT(HM_RESOURCEID)); 1361 break; 1362 } 1363 return 0; 1364 1365 case WM_CLOSE: 1366 if(hwndMain && !strcmp(realappname,FM3Str)) { 1367 if(fFreeTree != WinQueryButtonCheckstate(hwnd,CFGM_FREETREE)) 1368 PostMsg(hwndMain,WM_COMMAND, 1369 MPFROM2SHORT(IDM_FREETREE,0),MPVOID); 1370 if(fAutoTile != WinQueryButtonCheckstate(hwnd,CFGM_AUTOTILE)) 1371 PostMsg(hwndMain,WM_COMMAND, 1372 MPFROM2SHORT(IDM_AUTOTILE,0),MPVOID); 1373 if(fSplitStatus != WinQueryButtonCheckstate(hwnd,CFGM_SPLITSTATUS)) { 1374 fSplitStatus = (fSplitStatus) ? FALSE : TRUE; 1375 PostMsg(hwndMain,WM_COMMAND, 1376 MPFROM2SHORT(IDM_BLINK,0),MPVOID); 1377 PrfWriteProfileData(fmprof,FM3Str,"SplitStatus",&fSplitStatus, 1378 sizeof(BOOL)); 1379 } 1380 } 1381 fUserListSwitches = WinQueryButtonCheckstate(hwnd,CFGM_USERLISTSWITCHES); 1382 PrfWriteProfileData(fmprof,FM3Str,"UserListSwitches", 1383 (PVOID)&fUserListSwitches,sizeof(BOOL)); 1384 fExternalINIs = WinQueryButtonCheckstate(hwnd,CFGM_EXTERNALINIS); 1385 PrfWriteProfileData(fmprof,FM3Str,"ExternalINIs",(PVOID)&fExternalINIs, 1386 sizeof(BOOL)); 1387 fExternalArcboxes = WinQueryButtonCheckstate(hwnd,CFGM_EXTERNALARCBOXES); 1388 PrfWriteProfileData(fmprof,FM3Str,"ExternalArcboxes", 1389 (PVOID)&fExternalArcboxes,sizeof(BOOL)); 1390 fExternalCollector = WinQueryButtonCheckstate(hwnd,CFGM_EXTERNALCOLLECTOR); 1391 PrfWriteProfileData(fmprof,FM3Str,"ExternalCollector", 1392 (PVOID)&fExternalCollector,sizeof(BOOL)); 1393 fExternalViewer = WinQueryButtonCheckstate(hwnd,CFGM_EXTERNALVIEWER); 1394 PrfWriteProfileData(fmprof,FM3Str,"ExternalViewer", 1395 (PVOID)&fExternalViewer,sizeof(BOOL)); 1396 { 1397 long test; 1398 1399 test = WinQueryButtonCheckstate(hwnd,CFGM_RECENTDIRS); 1400 fAutoAddDirs = (test != 0); 1401 fAutoAddAllDirs = (test == 2); 1402 } 1403 PrfWriteProfileData(fmprof, 1404 appname, 1405 "AutoAddDirs", 1406 (PVOID)&fAutoAddDirs, 1407 sizeof(BOOL)); 1408 PrfWriteProfileData(fmprof, 1409 appname, 1410 "AutoAddAllDirs", 1411 (PVOID)&fAutoAddAllDirs, 1412 sizeof(BOOL)); 1413 fwsAnimate = WinQueryButtonCheckstate(hwnd,CFGM_WSANIMATE); 1414 if(fwsAnimate) 1415 fwsAnimate = WS_ANIMATE; 1416 PrfWriteProfileData(fmprof, 1417 appname, 1418 "WS_ANIMATE", 1419 (PVOID)&fwsAnimate, 1420 sizeof(ULONG)); 1421 fSaveState = WinQueryButtonCheckstate(hwnd,CFGM_SAVESTATE); 1422 PrfWriteProfileData(fmprof, 1423 FM3Str, 1424 "SaveState", 1425 (PVOID)&fSaveState, 1426 sizeof(BOOL)); 1427 fStartMinimized = WinQueryButtonCheckstate(hwnd,CFGM_STARTMIN); 1428 PrfWriteProfileData(fmprof, 1429 appname, 1430 "StartMinimized", 1431 (PVOID)&fStartMinimized, 1432 sizeof(BOOL)); 1433 fStartMaximized = WinQueryButtonCheckstate(hwnd,CFGM_STARTMAX); 1434 PrfWriteProfileData(fmprof, 1435 appname, 1436 "StartMaximized", 1437 (PVOID)&fStartMaximized, 1438 sizeof(BOOL)); 1439 fDataMin = WinQueryButtonCheckstate(hwnd,CFGM_DATAMIN); 1440 PrfWriteProfileData(fmprof, 1441 FM3Str, 1442 "DataMin", 1443 (PVOID)&fDataMin, 1444 sizeof(BOOL)); 1445 fTileBackwards = WinQueryButtonCheckstate(hwnd,CFGM_TILEBACKWARDS); 1446 PrfWriteProfileData(fmprof, 1447 FM3Str, 1448 "TileBackwards", 1449 (PVOID)&fTileBackwards, 1450 sizeof(BOOL)); 1451 fNoTreeGap = WinQueryButtonCheckstate(hwnd,CFGM_NOTREEGAP); 1452 PrfWriteProfileData(fmprof, 1453 FM3Str, 1454 "NoTreeGap", 1455 (PVOID)&fNoTreeGap, 1456 sizeof(BOOL)); 1457 fBlueLED = WinQueryButtonCheckstate(hwnd,CFGM_BLUELED); 1458 PrfWriteProfileData(fmprof, 1459 appname, 1460 "BlueLED", 1461 (PVOID)&fBlueLED, 1462 sizeof(BOOL)); 1463 { 1464 BOOL dummy; 1465 1466 dummy = WinQueryButtonCheckstate(hwnd,CFGM_SHOWTARGET); 1467 if(dummy != fShowTarget) { 1468 fShowTarget = dummy; 1469 PrfWriteProfileData(fmprof, 1470 appname, 1471 "ShowTarget", 1472 (PVOID)&fShowTarget, 1473 sizeof(BOOL)); 1474 if(hwndMain) 1475 PostMsg(WinQueryWindow(hwndMain,QW_PARENT), 1476 WM_UPDATEFRAME, 1477 MPFROMLONG(FCF_SIZEBORDER), 1478 MPVOID); 1479 SetTargetDir(hwnd,TRUE); 1480 } 1481 dummy = WinQueryButtonCheckstate(hwnd,CFGM_SEPARATEPARMS); 1482 if(dummy != fSeparateParms) { 1483 fSeparateParms = dummy; 1484 PrfWriteProfileData(fmprof, 1485 FM3Str, 1486 "SeparateParms", 1487 (PVOID)&fSeparateParms, 1488 sizeof(BOOL)); 1489 WinSendMsg((HWND)WinQueryWindowULong(hwnd,QWL_USER), 1490 UM_UNDO, 1491 MPVOID, 1492 MPVOID); 1493 } 1494 } 1495 break; 1496 } 1497 return WinDefDlgProc(hwnd,msg,mp1,mp2); 1498 } 1499 1500 1501 MRESULT EXPENTRY Cfg5DlgProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2) 1344 MRESULT EXPENTRY Cfg5DlgProc(HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2) 1502 1345 { 1503 1346 static MASK mask; 1504 1347 1505 switch(msg) { 1506 case WM_INITDLG: 1507 WinSendDlgItemMsg(hwnd, 1508 CFG5_FILTER, 1509 EM_SETTEXTLIMIT, 1510 MPFROM2SHORT(CCHMAXPATH,0), 1511 MPVOID); 1512 PostMsg(hwnd,UM_UNDO,MPVOID,MPVOID); 1513 break; 1514 1515 case UM_FOCUSME: 1516 WinSetFocus(HWND_DESKTOP, 1517 WinWindowFromID(hwnd,CFG5_MINIICONS)); 1518 return 0; 1519 1520 case UM_UNDO: 1348 switch (msg) { 1349 case WM_INITDLG: 1350 WinSendDlgItemMsg(hwnd, 1351 CFG5_FILTER, 1352 EM_SETTEXTLIMIT, MPFROM2SHORT(CCHMAXPATH, 0), MPVOID); 1353 PostMsg(hwnd, UM_UNDO, MPVOID, MPVOID); 1354 break; 1355 1356 case UM_FOCUSME: 1357 WinSetFocus(HWND_DESKTOP, WinWindowFromID(hwnd, CFG5_MINIICONS)); 1358 return 0; 1359 1360 case UM_UNDO: 1361 { 1362 ULONG flWindowAttr = 0, size = sizeof(ULONG); 1363 1364 if (!PrfQueryProfileData(fmprof, 1365 appname, 1366 "DirflWindowAttr", &flWindowAttr, &size)) 1367 flWindowAttr = (CV_NAME | CV_MINI | CA_DETAILSVIEWTITLES | CV_FLOW); 1368 if (flWindowAttr & CV_ICON) 1369 WinCheckButton(hwnd, CFG5_ICON, TRUE); 1370 if (flWindowAttr & CV_NAME) 1371 WinCheckButton(hwnd, CFG5_NAME, TRUE); 1372 if (flWindowAttr & CV_TEXT) 1373 WinCheckButton(hwnd, CFG5_TEXT, TRUE); 1374 if (flWindowAttr & CV_DETAIL) 1375 WinCheckButton(hwnd, CFG5_DETAIL, TRUE); 1376 if (flWindowAttr & CV_MINI) 1377 WinCheckButton(hwnd, CFG5_MINIICONS, TRUE); 1378 if (flWindowAttr & CA_DETAILSVIEWTITLES) 1379 WinCheckButton(hwnd, CFG5_SHOWTITLES, TRUE); 1380 WinCheckButton(hwnd, CFG5_SHOWLNAMES, detailslongname); 1381 WinCheckButton(hwnd, CFG5_SHOWSUBJECT, detailssubject); 1382 WinCheckButton(hwnd, CFG5_SHOWEAS, detailsea); 1383 WinCheckButton(hwnd, CFG5_SHOWSIZE, detailssize); 1384 WinCheckButton(hwnd, CFG5_SHOWICON, detailsicon); 1385 WinCheckButton(hwnd, CFG5_SHOWLWDATE, detailslwdate); 1386 WinCheckButton(hwnd, CFG5_SHOWLWTIME, detailslwtime); 1387 WinCheckButton(hwnd, CFG5_SHOWLADATE, detailsladate); 1388 WinCheckButton(hwnd, CFG5_SHOWLATIME, detailslatime); 1389 WinCheckButton(hwnd, CFG5_SHOWCRDATE, detailscrdate); 1390 WinCheckButton(hwnd, CFG5_SHOWCRTIME, detailscrtime); 1391 WinCheckButton(hwnd, CFG5_SHOWATTR, detailsattr); 1392 memset(&mask, 0, sizeof(mask)); 1393 mask.attrFile = FILE_DIRECTORY | FILE_ARCHIVED | FILE_HIDDEN | 1394 FILE_SYSTEM | FILE_NORMAL | FILE_READONLY; 1395 size = sizeof(MASK); 1396 if (PrfQueryProfileData(fmprof, appname, "DirFilter", &mask, &size)) 1397 SetMask(NULL, &mask); 1398 if (!mask.attrFile) 1399 mask.attrFile = FILE_DIRECTORY | FILE_ARCHIVED | FILE_HIDDEN | 1400 FILE_SYSTEM | FILE_NORMAL | FILE_READONLY; 1401 strcpy(mask.prompt, GetPString(IDS_DEFDIRFILTERTITLETEXT)); 1402 WinSetDlgItemText(hwnd, CFG5_FILTER, mask.szMask); 1403 } 1404 return 0; 1405 1406 case UM_SETUP5: 1407 if (WinDlgBox(HWND_DESKTOP, hwndNotebook, PickMaskDlgProc, 1408 FM3ModHandle, MSK_FRAME, MPFROMP(&mask))) { 1409 SetMask(NULL, &mask); 1410 WinSetDlgItemText(hwnd, CFG5_FILTER, mask.szMask); 1411 } 1412 return 0; 1413 1414 case WM_CONTROL: 1415 switch (SHORT1FROMMP(mp1)) { 1416 case CFG5_FILTER: 1417 switch (SHORT2FROMMP(mp1)) { 1418 case EN_SETFOCUS: 1419 PostMsg(hwnd, UM_FOCUSME, MPVOID, MPVOID); 1420 PostMsg(hwnd, UM_SETUP5, MPVOID, MPVOID); 1421 break; 1422 } 1423 break; 1424 } 1425 return 0; 1426 1427 case WM_COMMAND: 1428 switch (SHORT1FROMMP(mp1)) { 1429 case IDM_UNDO: 1430 PostMsg(hwnd, UM_UNDO, MPVOID, MPVOID); 1431 break; 1432 1433 case DID_CANCEL: 1434 WinSendMsg(hwnd, UM_UNDO, MPVOID, MPVOID); 1435 1436 case DID_OK: 1437 PostMsg((HWND) WinQueryWindowULong(hwnd, QWL_USER), msg, mp1, mp2); 1438 break; 1439 1440 case IDM_HELP: 1441 if (hwndHelp) 1442 WinSendMsg(hwndHelp, HM_DISPLAY_HELP, 1443 MPFROM2SHORT(HELP_CFG5, 0), MPFROMSHORT(HM_RESOURCEID)); 1444 break; 1445 } 1446 return 0; 1447 1448 case WM_CLOSE: 1449 { 1450 ULONG flWindowAttr = 0; 1451 1452 if (WinQueryButtonCheckstate(hwnd, CFG5_ICON)) 1453 flWindowAttr |= CV_ICON; 1454 if (WinQueryButtonCheckstate(hwnd, CFG5_NAME)) 1455 flWindowAttr |= CV_NAME; 1456 if (WinQueryButtonCheckstate(hwnd, CFG5_TEXT)) 1457 flWindowAttr |= CV_TEXT; 1458 if (WinQueryButtonCheckstate(hwnd, CFG5_DETAIL)) 1459 flWindowAttr |= CV_DETAIL; 1460 if (WinQueryButtonCheckstate(hwnd, CFG5_MINIICONS)) 1461 flWindowAttr |= CV_MINI; 1462 if (WinQueryButtonCheckstate(hwnd, CFG5_SHOWTITLES)) 1463 flWindowAttr |= CA_DETAILSVIEWTITLES; 1464 flWindowAttr |= CV_FLOW; 1465 PrfWriteProfileData(fmprof, 1466 appname, 1467 "DirflWindowAttr", &flWindowAttr, sizeof(ULONG)); 1468 } 1469 detailslongname = WinQueryButtonCheckstate(hwnd, CFG5_SHOWLNAMES); 1470 PrfWriteProfileData(fmprof, appname, "DetailsLongname", 1471 &detailslongname, sizeof(BOOL)); 1472 PrfWriteProfileData(fmprof, appname, "DirCnr.DetailsLongname", 1473 &detailslongname, sizeof(BOOL)); 1474 detailssubject = WinQueryButtonCheckstate(hwnd, CFG5_SHOWSUBJECT); 1475 PrfWriteProfileData(fmprof, appname, "DetailsSubject", 1476 &detailssubject, sizeof(BOOL)); 1477 PrfWriteProfileData(fmprof, appname, "DirCnr.DetailsSubject", 1478 &detailssubject, sizeof(BOOL)); 1479 detailsea = WinQueryButtonCheckstate(hwnd, CFG5_SHOWEAS); 1480 PrfWriteProfileData(fmprof, appname, "DetailsEA", 1481 &detailsea, sizeof(BOOL)); 1482 PrfWriteProfileData(fmprof, appname, "DirCnr.DetailsEA", 1483 &detailsea, sizeof(BOOL)); 1484 detailssize = WinQueryButtonCheckstate(hwnd, CFG5_SHOWSIZE); 1485 PrfWriteProfileData(fmprof, appname, "DetailsSize", 1486 &detailssize, sizeof(BOOL)); 1487 PrfWriteProfileData(fmprof, appname, "DirCnr.DetailsSize", 1488 &detailssize, sizeof(BOOL)); 1489 detailsicon = WinQueryButtonCheckstate(hwnd, CFG5_SHOWICON); 1490 PrfWriteProfileData(fmprof, appname, "DetailsIcon", 1491 &detailsicon, sizeof(BOOL)); 1492 PrfWriteProfileData(fmprof, appname, "DirCnr.DetailsIcon", 1493 &detailsicon, sizeof(BOOL)); 1494 detailslwdate = WinQueryButtonCheckstate(hwnd, CFG5_SHOWLWDATE); 1495 PrfWriteProfileData(fmprof, appname, "DetailsLWDate", 1496 &detailslwdate, sizeof(BOOL)); 1497 PrfWriteProfileData(fmprof, appname, "DirCnr.DetailsLWDate", 1498 &detailslwdate, sizeof(BOOL)); 1499 detailslwtime = WinQueryButtonCheckstate(hwnd, CFG5_SHOWLWTIME); 1500 PrfWriteProfileData(fmprof, appname, "DetailsLWTime", 1501 &detailslwtime, sizeof(BOOL)); 1502 PrfWriteProfileData(fmprof, appname, "DirCnr.DetailsLWTime", 1503 &detailslwtime, sizeof(BOOL)); 1504 detailsladate = WinQueryButtonCheckstate(hwnd, CFG5_SHOWLADATE); 1505 PrfWriteProfileData(fmprof, appname, "DetailsLADate", 1506 &detailsladate, sizeof(BOOL)); 1507 PrfWriteProfileData(fmprof, appname, "DirCnr.DetailsLADate", 1508 &detailsladate, sizeof(BOOL)); 1509 detailslatime = WinQueryButtonCheckstate(hwnd, CFG5_SHOWLATIME); 1510 PrfWriteProfileData(fmprof, appname, "DetailsLATime", 1511 &detailslatime, sizeof(BOOL)); 1512 PrfWriteProfileData(fmprof, appname, "DirCnr.DetailsLATime", 1513 &detailslatime, sizeof(BOOL)); 1514 detailscrdate = WinQueryButtonCheckstate(hwnd, CFG5_SHOWCRDATE); 1515 PrfWriteProfileData(fmprof, appname, "DetailsCRDate", 1516 &detailscrdate, sizeof(BOOL)); 1517 PrfWriteProfileData(fmprof, appname, "DirCnr.DetailsCRDate", 1518 &detailscrdate, sizeof(BOOL)); 1519 detailscrtime = WinQueryButtonCheckstate(hwnd, CFG5_SHOWCRTIME); 1520 PrfWriteProfileData(fmprof, appname, "DetailsCRTime", 1521 &detailscrtime, sizeof(BOOL)); 1522 PrfWriteProfileData(fmprof, appname, "DirCnr.DetailsCRTime", 1523 &detailscrtime, sizeof(BOOL)); 1524 detailsattr = WinQueryButtonCheckstate(hwnd, CFG5_SHOWATTR); 1525 PrfWriteProfileData(fmprof, appname, "DetailsAttr", 1526 &detailsattr, sizeof(BOOL)); 1527 PrfWriteProfileData(fmprof, appname, "DirCnr.DetailsAttr", 1528 &detailsattr, sizeof(BOOL)); 1529 *mask.prompt = 0; 1530 PrfWriteProfileData(fmprof, appname, "DirFilter", &mask, sizeof(MASK)); 1531 break; 1532 } 1533 return WinDefDlgProc(hwnd, msg, mp1, mp2); 1534 } 1535 1536 MRESULT EXPENTRY Cfg6DlgProc(HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2) 1537 { 1538 switch (msg) { 1539 case WM_INITDLG: 1540 PostMsg(hwnd, UM_UNDO, MPVOID, MPVOID); 1541 break; 1542 1543 case UM_UNDO: 1544 WinCheckButton(hwnd, CFG6_SORTFIRST, FALSE); 1545 WinCheckButton(hwnd, CFG6_SORTLAST, FALSE); 1546 WinCheckButton(hwnd, CFG6_SORTSIZE, FALSE); 1547 WinCheckButton(hwnd, CFG6_SORTEASIZE, FALSE); 1548 WinCheckButton(hwnd, CFG6_SORTLWDATE, FALSE); 1549 WinCheckButton(hwnd, CFG6_SORTLADATE, FALSE); 1550 WinCheckButton(hwnd, CFG6_SORTCRDATE, FALSE); 1551 WinCheckButton(hwnd, CFG6_SORTNAME, FALSE); 1552 WinCheckButton(hwnd, CFG6_SORTDIRSFIRST, FALSE); 1553 WinCheckButton(hwnd, CFG6_SORTDIRSLAST, FALSE); 1554 WinCheckButton(hwnd, CFG6_SORTREVERSE, FALSE); 1555 if (sortFlags & SORT_FIRSTEXTENSION) 1556 WinCheckButton(hwnd, CFG6_SORTFIRST, TRUE); 1557 else if (sortFlags & SORT_LASTEXTENSION) 1558 WinCheckButton(hwnd, CFG6_SORTLAST, TRUE); 1559 else if (sortFlags & SORT_SIZE) 1560 WinCheckButton(hwnd, CFG6_SORTSIZE, TRUE); 1561 else if (sortFlags & SORT_EASIZE) 1562 WinCheckButton(hwnd, CFG6_SORTEASIZE, TRUE); 1563 else if (sortFlags & SORT_LWDATE) 1564 WinCheckButton(hwnd, CFG6_SORTLWDATE, TRUE); 1565 else if (sortFlags & SORT_LADATE) 1566 WinCheckButton(hwnd, CFG6_SORTLADATE, TRUE); 1567 else if (sortFlags & SORT_CRDATE) 1568 WinCheckButton(hwnd, CFG6_SORTCRDATE, TRUE); 1569 else if (sortFlags & SORT_FILENAME) 1570 WinCheckButton(hwnd, CFG6_SORTFILENAME, TRUE); 1571 else 1572 WinCheckButton(hwnd, CFG6_SORTNAME, TRUE); 1573 if (sortFlags & SORT_DIRSFIRST) 1574 WinCheckButton(hwnd, CFG6_SORTDIRSFIRST, TRUE); 1575 else if (sortFlags & SORT_DIRSLAST) 1576 WinCheckButton(hwnd, CFG6_SORTDIRSLAST, TRUE); 1577 if (sortFlags & SORT_REVERSE) 1578 WinCheckButton(hwnd, CFG6_SORTREVERSE, TRUE); 1579 return 0; 1580 1581 case WM_CONTROL: 1582 switch (SHORT1FROMMP(mp1)) { 1583 case CFG6_SORTDIRSFIRST: 1584 case CFG6_SORTDIRSLAST: 1521 1585 { 1522 ULONG flWindowAttr = 0,size = sizeof(ULONG); 1523 1524 if(!PrfQueryProfileData(fmprof, 1525 appname, 1526 "DirflWindowAttr", 1527 &flWindowAttr, 1528 &size)) 1529 flWindowAttr = (CV_NAME | CV_MINI | CA_DETAILSVIEWTITLES | 1530 CV_FLOW); 1531 if(flWindowAttr & CV_ICON) 1532 WinCheckButton(hwnd,CFG5_ICON,TRUE); 1533 if(flWindowAttr & CV_NAME) 1534 WinCheckButton(hwnd,CFG5_NAME,TRUE); 1535 if(flWindowAttr & CV_TEXT) 1536 WinCheckButton(hwnd,CFG5_TEXT,TRUE); 1537 if(flWindowAttr & CV_DETAIL) 1538 WinCheckButton(hwnd,CFG5_DETAIL,TRUE); 1539 if(flWindowAttr & CV_MINI) 1540 WinCheckButton(hwnd,CFG5_MINIICONS,TRUE); 1541 if(flWindowAttr & CA_DETAILSVIEWTITLES) 1542 WinCheckButton(hwnd,CFG5_SHOWTITLES,TRUE); 1543 WinCheckButton(hwnd,CFG5_SHOWLNAMES,detailslongname); 1544 WinCheckButton(hwnd,CFG5_SHOWSUBJECT,detailssubject); 1545 WinCheckButton(hwnd,CFG5_SHOWEAS,detailsea); 1546 WinCheckButton(hwnd,CFG5_SHOWSIZE,detailssize); 1547 WinCheckButton(hwnd,CFG5_SHOWICON,detailsicon); 1548 WinCheckButton(hwnd,CFG5_SHOWLWDATE,detailslwdate); 1549 WinCheckButton(hwnd,CFG5_SHOWLWTIME,detailslwtime); 1550 WinCheckButton(hwnd,CFG5_SHOWLADATE,detailsladate); 1551 WinCheckButton(hwnd,CFG5_SHOWLATIME,detailslatime); 1552 WinCheckButton(hwnd,CFG5_SHOWCRDATE,detailscrdate); 1553 WinCheckButton(hwnd,CFG5_SHOWCRTIME,detailscrtime); 1554 WinCheckButton(hwnd,CFG5_SHOWATTR,detailsattr); 1555 memset(&mask,0,sizeof(mask)); 1556 mask.attrFile = FILE_DIRECTORY | FILE_ARCHIVED | FILE_HIDDEN | 1557 FILE_SYSTEM | FILE_NORMAL | FILE_READONLY; 1558 size = sizeof(MASK); 1559 if(PrfQueryProfileData(fmprof, 1560 appname, 1561 "DirFilter", 1562 &mask, 1563 &size)) 1564 SetMask(NULL,&mask); 1565 if(!mask.attrFile) 1566 mask.attrFile = FILE_DIRECTORY | FILE_ARCHIVED | FILE_HIDDEN | 1567 FILE_SYSTEM | FILE_NORMAL | FILE_READONLY; 1568 strcpy(mask.prompt, 1569 GetPString(IDS_DEFDIRFILTERTITLETEXT)); 1570 WinSetDlgItemText(hwnd, 1571 CFG5_FILTER, 1572 mask.szMask); 1573 } 1574 return 0; 1575 1576 case UM_SETUP5: 1577 if(WinDlgBox(HWND_DESKTOP,hwndNotebook,PickMaskDlgProc, 1578 FM3ModHandle,MSK_FRAME,MPFROMP(&mask))) { 1579 SetMask(NULL,&mask); 1580 WinSetDlgItemText(hwnd,CFG5_FILTER,mask.szMask); 1581 } 1582 return 0; 1583 1584 case WM_CONTROL: 1585 switch(SHORT1FROMMP(mp1)) { 1586 case CFG5_FILTER: 1587 switch(SHORT2FROMMP(mp1)) { 1588 case EN_SETFOCUS: 1589 PostMsg(hwnd, 1590 UM_FOCUSME, 1591 MPVOID, 1592 MPVOID); 1593 PostMsg(hwnd, 1594 UM_SETUP5, 1595 MPVOID, 1596 MPVOID); 1597 break; 1598 } 1599 break; 1600 } 1601 return 0; 1602 1603 case WM_COMMAND: 1604 switch(SHORT1FROMMP(mp1)) { 1605 case IDM_UNDO: 1606 PostMsg(hwnd,UM_UNDO,MPVOID,MPVOID); 1607 break; 1608 1609 case DID_CANCEL: 1610 WinSendMsg(hwnd,UM_UNDO,MPVOID,MPVOID); 1611 1612 case DID_OK: 1613 PostMsg((HWND)WinQueryWindowULong(hwnd,QWL_USER),msg,mp1,mp2); 1614 break; 1615 1616 case IDM_HELP: 1617 if(hwndHelp) 1618 WinSendMsg(hwndHelp,HM_DISPLAY_HELP, 1619 MPFROM2SHORT(HELP_CFG5,0), 1620 MPFROMSHORT(HM_RESOURCEID)); 1621 break; 1622 } 1623 return 0; 1624 1625 case WM_CLOSE: 1626 { 1627 ULONG flWindowAttr = 0; 1628 1629 if(WinQueryButtonCheckstate(hwnd,CFG5_ICON)) 1630 flWindowAttr |= CV_ICON; 1631 if(WinQueryButtonCheckstate(hwnd,CFG5_NAME)) 1632 flWindowAttr |= CV_NAME; 1633 if(WinQueryButtonCheckstate(hwnd,CFG5_TEXT)) 1634 flWindowAttr |= CV_TEXT; 1635 if(WinQueryButtonCheckstate(hwnd,CFG5_DETAIL)) 1636 flWindowAttr |= CV_DETAIL; 1637 if(WinQueryButtonCheckstate(hwnd,CFG5_MINIICONS)) 1638 flWindowAttr |= CV_MINI; 1639 if(WinQueryButtonCheckstate(hwnd,CFG5_SHOWTITLES)) 1640 flWindowAttr |= CA_DETAILSVIEWTITLES; 1641 flWindowAttr |= CV_FLOW; 1642 PrfWriteProfileData(fmprof, 1643 appname, 1644 "DirflWindowAttr", 1645 &flWindowAttr, 1646 sizeof(ULONG)); 1647 } 1648 detailslongname = WinQueryButtonCheckstate(hwnd,CFG5_SHOWLNAMES); 1649 PrfWriteProfileData(fmprof,appname,"DetailsLongname", 1650 &detailslongname,sizeof(BOOL)); 1651 PrfWriteProfileData(fmprof,appname,"DirCnr.DetailsLongname", 1652 &detailslongname,sizeof(BOOL)); 1653 detailssubject = WinQueryButtonCheckstate(hwnd,CFG5_SHOWSUBJECT); 1654 PrfWriteProfileData(fmprof,appname,"DetailsSubject", 1655 &detailssubject,sizeof(BOOL)); 1656 PrfWriteProfileData(fmprof,appname,"DirCnr.DetailsSubject", 1657 &detailssubject,sizeof(BOOL)); 1658 detailsea = WinQueryButtonCheckstate(hwnd,CFG5_SHOWEAS); 1659 PrfWriteProfileData(fmprof,appname,"DetailsEA", 1660 &detailsea,sizeof(BOOL)); 1661 PrfWriteProfileData(fmprof,appname,"DirCnr.DetailsEA", 1662 &detailsea,sizeof(BOOL)); 1663 detailssize = WinQueryButtonCheckstate(hwnd,CFG5_SHOWSIZE); 1664 PrfWriteProfileData(fmprof,appname,"DetailsSize", 1665 &detailssize,sizeof(BOOL)); 1666 PrfWriteProfileData(fmprof,appname,"DirCnr.DetailsSize", 1667 &detailssize,sizeof(BOOL)); 1668 detailsicon = WinQueryButtonCheckstate(hwnd,CFG5_SHOWICON); 1669 PrfWriteProfileData(fmprof,appname,"DetailsIcon", 1670 &detailsicon,sizeof(BOOL)); 1671 PrfWriteProfileData(fmprof,appname,"DirCnr.DetailsIcon", 1672 &detailsicon,sizeof(BOOL)); 1673 detailslwdate = WinQueryButtonCheckstate(hwnd,CFG5_SHOWLWDATE); 1674 PrfWriteProfileData(fmprof,appname,"DetailsLWDate", 1675 &detailslwdate,sizeof(BOOL)); 1676 PrfWriteProfileData(fmprof,appname,"DirCnr.DetailsLWDate", 1677 &detailslwdate,sizeof(BOOL)); 1678 detailslwtime = WinQueryButtonCheckstate(hwnd,CFG5_SHOWLWTIME); 1679 PrfWriteProfileData(fmprof,appname,"DetailsLWTime", 1680 &detailslwtime,sizeof(BOOL)); 1681 PrfWriteProfileData(fmprof,appname,"DirCnr.DetailsLWTime", 1682 &detailslwtime,sizeof(BOOL)); 1683 detailsladate = WinQueryButtonCheckstate(hwnd,CFG5_SHOWLADATE); 1684 PrfWriteProfileData(fmprof,appname,"DetailsLADate", 1685 &detailsladate,sizeof(BOOL)); 1686 PrfWriteProfileData(fmprof,appname,"DirCnr.DetailsLADate", 1687 &detailsladate,sizeof(BOOL)); 1688 detailslatime = WinQueryButtonCheckstate(hwnd,CFG5_SHOWLATIME); 1689 PrfWriteProfileData(fmprof,appname,"DetailsLATime", 1690 &detailslatime,sizeof(BOOL)); 1691 PrfWriteProfileData(fmprof,appname,"DirCnr.DetailsLATime", 1692 &detailslatime,sizeof(BOOL)); 1693 detailscrdate = WinQueryButtonCheckstate(hwnd,CFG5_SHOWCRDATE); 1694 PrfWriteProfileData(fmprof,appname,"DetailsCRDate", 1695 &detailscrdate,sizeof(BOOL)); 1696 PrfWriteProfileData(fmprof,appname,"DirCnr.DetailsCRDate", 1697 &detailscrdate,sizeof(BOOL)); 1698 detailscrtime = WinQueryButtonCheckstate(hwnd,CFG5_SHOWCRTIME); 1699 PrfWriteProfileData(fmprof,appname,"DetailsCRTime", 1700 &detailscrtime,sizeof(BOOL)); 1701 PrfWriteProfileData(fmprof,appname,"DirCnr.DetailsCRTime", 1702 &detailscrtime,sizeof(BOOL)); 1703 detailsattr = WinQueryButtonCheckstate(hwnd,CFG5_SHOWATTR); 1704 PrfWriteProfileData(fmprof,appname,"DetailsAttr", 1705 &detailsattr,sizeof(BOOL)); 1706 PrfWriteProfileData(fmprof,appname,"DirCnr.DetailsAttr", 1707 &detailsattr,sizeof(BOOL)); 1586 BOOL temp; 1587 1588 temp = WinQueryButtonCheckstate(hwnd, SHORT1FROMMP(mp1)); 1589 if (temp) { 1590 switch (SHORT1FROMMP(mp1)) { 1591 case CFG6_SORTDIRSFIRST: 1592 WinCheckButton(hwnd, CFG6_SORTDIRSLAST, FALSE); 1593 break; 1594 case CFG6_SORTDIRSLAST: 1595 WinCheckButton(hwnd, CFG6_SORTDIRSFIRST, FALSE); 1596 break; 1597 } 1598 } 1599 } 1600 break; 1601 } 1602 return 0; 1603 1604 case WM_COMMAND: 1605 switch (SHORT1FROMMP(mp1)) { 1606 case IDM_UNDO: 1607 PostMsg(hwnd, UM_UNDO, MPVOID, MPVOID); 1608 break; 1609 1610 case DID_CANCEL: 1611 WinSendMsg(hwnd, UM_UNDO, MPVOID, MPVOID); 1612 1613 case DID_OK: 1614 PostMsg((HWND) WinQueryWindowULong(hwnd, QWL_USER), msg, mp1, mp2); 1615 break; 1616 1617 case IDM_HELP: 1618 if (hwndHelp) 1619 WinSendMsg(hwndHelp, HM_DISPLAY_HELP, 1620 MPFROM2SHORT(HELP_CFG6, 0), MPFROMSHORT(HM_RESOURCEID)); 1621 break; 1622 } 1623 return 0; 1624 1625 case WM_CLOSE: 1626 sortFlags = 0; 1627 if (WinQueryButtonCheckstate(hwnd, CFG6_SORTFILENAME)) 1628 sortFlags |= SORT_FILENAME; 1629 if (WinQueryButtonCheckstate(hwnd, CFG6_SORTSIZE)) 1630 sortFlags |= SORT_SIZE; 1631 if (WinQueryButtonCheckstate(hwnd, CFG6_SORTEASIZE)) 1632 sortFlags |= SORT_EASIZE; 1633 if (WinQueryButtonCheckstate(hwnd, CFG6_SORTFIRST)) 1634 sortFlags |= SORT_FIRSTEXTENSION; 1635 if (WinQueryButtonCheckstate(hwnd, CFG6_SORTLAST)) 1636 sortFlags |= SORT_LASTEXTENSION; 1637 if (WinQueryButtonCheckstate(hwnd, CFG6_SORTLWDATE)) 1638 sortFlags |= SORT_LWDATE; 1639 if (WinQueryButtonCheckstate(hwnd, CFG6_SORTLADATE)) 1640 sortFlags |= SORT_LADATE; 1641 if (WinQueryButtonCheckstate(hwnd, CFG6_SORTCRDATE)) 1642 sortFlags |= SORT_CRDATE; 1643 if (WinQueryButtonCheckstate(hwnd, CFG6_SORTDIRSFIRST)) 1644 sortFlags |= SORT_DIRSFIRST; 1645 if (WinQueryButtonCheckstate(hwnd, CFG6_SORTDIRSLAST)) 1646 sortFlags |= SORT_DIRSLAST; 1647 if (WinQueryButtonCheckstate(hwnd, CFG6_SORTREVERSE)) 1648 sortFlags |= SORT_REVERSE; 1649 PrfWriteProfileData(fmprof, appname, "Sort", &sortFlags, sizeof(INT)); 1650 break; 1651 } 1652 return WinDefDlgProc(hwnd, msg, mp1, mp2); 1653 } 1654 1655 MRESULT EXPENTRY Cfg7DlgProc(HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2) 1656 { 1657 static MASK mask; 1658 1659 switch (msg) { 1660 case WM_INITDLG: 1661 WinSendDlgItemMsg(hwnd, CFG5_FILTER, EM_SETTEXTLIMIT, 1662 MPFROM2SHORT(CCHMAXPATH, 0), MPVOID); 1663 PostMsg(hwnd, UM_UNDO, MPVOID, MPVOID); 1664 break; 1665 1666 case UM_FOCUSME: 1667 WinSetFocus(HWND_DESKTOP, WinWindowFromID(hwnd, CFG5_MINIICONS)); 1668 return 0; 1669 1670 case UM_UNDO: 1671 WinCheckButton(hwnd, CFG5_EXTERNALCOLLECTOR, fExternalCollector); 1672 { 1673 ULONG flWindowAttr = 0, size = sizeof(ULONG); 1674 1675 if (!PrfQueryProfileData(fmprof, 1676 appname, 1677 "CollectorflWindowAttr", &flWindowAttr, &size)) 1678 flWindowAttr = (CV_NAME | CA_DETAILSVIEWTITLES | CV_MINI | CV_FLOW); 1679 if (flWindowAttr & CV_ICON) 1680 WinCheckButton(hwnd, CFG5_ICON, TRUE); 1681 if (flWindowAttr & CV_NAME) 1682 WinCheckButton(hwnd, CFG5_NAME, TRUE); 1683 if (flWindowAttr & CV_TEXT) 1684 WinCheckButton(hwnd, CFG5_TEXT, TRUE); 1685 if (flWindowAttr & CV_DETAIL) 1686 WinCheckButton(hwnd, CFG5_DETAIL, TRUE); 1687 if (flWindowAttr & CV_MINI) 1688 WinCheckButton(hwnd, CFG5_MINIICONS, TRUE); 1689 if (flWindowAttr & CA_DETAILSVIEWTITLES) 1690 WinCheckButton(hwnd, CFG5_SHOWTITLES, TRUE); 1691 memset(&mask, 0, sizeof(mask)); 1692 mask.attrFile = FILE_DIRECTORY | FILE_ARCHIVED | FILE_HIDDEN | 1693 FILE_SYSTEM | FILE_NORMAL | FILE_READONLY; 1694 size = sizeof(MASK); 1695 if (PrfQueryProfileData(fmprof, 1696 appname, "CollectorFilter", &mask, &size)) { 1697 SetMask(NULL, &mask); 1698 } 1699 if (!mask.attrFile) 1700 mask.attrFile = FILE_DIRECTORY | FILE_ARCHIVED | FILE_HIDDEN | 1701 FILE_SYSTEM | FILE_NORMAL | FILE_READONLY; 1702 strcpy(mask.prompt, GetPString(IDS_DEFCOLFILTERTITLETEXT)); 1703 WinSetDlgItemText(hwnd, CFG5_FILTER, mask.szMask); 1704 } 1705 { 1706 DIRCNRDATA dcd; 1707 1708 memset(&dcd, 0, sizeof(dcd)); 1709 LoadDetailsSwitches("Collector", &dcd); 1710 WinCheckButton(hwnd, CFG5_SHOWLNAMES, dcd.detailslongname); 1711 WinCheckButton(hwnd, CFG5_SHOWSUBJECT, dcd.detailssubject); 1712 WinCheckButton(hwnd, CFG5_SHOWEAS, dcd.detailsea); 1713 WinCheckButton(hwnd, CFG5_SHOWSIZE, dcd.detailssize); 1714 WinCheckButton(hwnd, CFG5_SHOWICON, dcd.detailsicon); 1715 WinCheckButton(hwnd, CFG5_SHOWLWDATE, dcd.detailslwdate); 1716 WinCheckButton(hwnd, CFG5_SHOWLWTIME, dcd.detailslwtime); 1717 WinCheckButton(hwnd, CFG5_SHOWLADATE, dcd.detailsladate); 1718 WinCheckButton(hwnd, CFG5_SHOWLATIME, dcd.detailslatime); 1719 WinCheckButton(hwnd, CFG5_SHOWCRDATE, dcd.detailscrdate); 1720 WinCheckButton(hwnd, CFG5_SHOWCRTIME, dcd.detailscrtime); 1721 WinCheckButton(hwnd, CFG5_SHOWATTR, dcd.detailsattr); 1722 } 1723 return 0; 1724 1725 case UM_SETUP5: 1726 if (WinDlgBox(HWND_DESKTOP, hwndNotebook, PickMaskDlgProc, 1727 FM3ModHandle, MSK_FRAME, MPFROMP(&mask))) { 1728 SetMask(NULL, &mask); 1729 WinSetDlgItemText(hwnd, CFG5_FILTER, mask.szMask); 1730 } 1731 return 0; 1732 1733 case WM_CONTROL: 1734 switch (SHORT1FROMMP(mp1)) { 1735 case CFG5_FILTER: 1736 switch (SHORT2FROMMP(mp1)) { 1737 case EN_SETFOCUS: 1738 PostMsg(hwnd, UM_FOCUSME, MPVOID, MPVOID); 1739 PostMsg(hwnd, UM_SETUP5, MPVOID, MPVOID); 1740 break; 1741 } 1742 break; 1743 } 1744 return 0; 1745 1746 case WM_COMMAND: 1747 switch (SHORT1FROMMP(mp1)) { 1748 case IDM_UNDO: 1749 PostMsg(hwnd, UM_UNDO, MPVOID, MPVOID); 1750 break; 1751 1752 case DID_CANCEL: 1753 WinSendMsg(hwnd, UM_UNDO, MPVOID, MPVOID); 1754 1755 case DID_OK: 1756 PostMsg((HWND) WinQueryWindowULong(hwnd, QWL_USER), msg, mp1, mp2); 1757 break; 1758 1759 case IDM_HELP: 1760 if (hwndHelp) 1761 WinSendMsg(hwndHelp, HM_DISPLAY_HELP, 1762 MPFROM2SHORT(HELP_CFG7, 0), MPFROMSHORT(HM_RESOURCEID)); 1763 break; 1764 } 1765 return 0; 1766 1767 case WM_CLOSE: 1768 fExternalCollector = WinQueryButtonCheckstate(hwnd, 1769 CFG5_EXTERNALCOLLECTOR); 1770 PrfWriteProfileData(fmprof, FM3Str, "ExternalCollector", 1771 &fExternalCollector, sizeof(BOOL)); 1772 { 1773 ULONG flWindowAttr = 0; 1774 1775 if (WinQueryButtonCheckstate(hwnd, CFG5_ICON)) 1776 flWindowAttr |= CV_ICON; 1777 if (WinQueryButtonCheckstate(hwnd, CFG5_NAME)) 1778 flWindowAttr |= CV_NAME; 1779 if (WinQueryButtonCheckstate(hwnd, CFG5_TEXT)) 1780 flWindowAttr |= CV_TEXT; 1781 if (WinQueryButtonCheckstate(hwnd, CFG5_DETAIL)) 1782 flWindowAttr |= CV_DETAIL; 1783 if (WinQueryButtonCheckstate(hwnd, CFG5_MINIICONS)) 1784 flWindowAttr |= CV_MINI; 1785 if (WinQueryButtonCheckstate(hwnd, CFG5_SHOWTITLES)) 1786 flWindowAttr |= CA_DETAILSVIEWTITLES; 1787 flWindowAttr |= CV_FLOW; 1788 PrfWriteProfileData(fmprof, appname, "CollectorflWindowAttr", 1789 &flWindowAttr, sizeof(ULONG)); 1790 } 1791 { 1792 DIRCNRDATA dcd; 1793 1794 memset(&dcd, 0, sizeof(dcd)); 1795 dcd.detailslongname = WinQueryButtonCheckstate(hwnd, CFG5_SHOWLNAMES); 1796 PrfWriteProfileData(fmprof, appname, "Collector.DetailsLongname", 1797 &dcd.detailslongname, sizeof(BOOL)); 1798 dcd.detailssubject = WinQueryButtonCheckstate(hwnd, CFG5_SHOWSUBJECT); 1799 PrfWriteProfileData(fmprof, appname, "Collector.DetailsSubject", 1800 &dcd.detailssubject, sizeof(BOOL)); 1801 dcd.detailsea = WinQueryButtonCheckstate(hwnd, CFG5_SHOWEAS); 1802 PrfWriteProfileData(fmprof, appname, "Collector.DetailsEA", 1803 &dcd.detailsea, sizeof(BOOL)); 1804 dcd.detailssize = WinQueryButtonCheckstate(hwnd, CFG5_SHOWSIZE); 1805 PrfWriteProfileData(fmprof, appname, "Collector.DetailsSize", 1806 &dcd.detailssize, sizeof(BOOL)); 1807 dcd.detailsicon = WinQueryButtonCheckstate(hwnd, CFG5_SHOWICON); 1808 PrfWriteProfileData(fmprof, appname, "Collector.DetailsIcon", 1809 &dcd.detailsicon, sizeof(BOOL)); 1810 dcd.detailslwdate = WinQueryButtonCheckstate(hwnd, CFG5_SHOWLWDATE); 1811 PrfWriteProfileData(fmprof, appname, "Collector.DetailsLWDate", 1812 &dcd.detailslwdate, sizeof(BOOL)); 1813 dcd.detailslwtime = WinQueryButtonCheckstate(hwnd, CFG5_SHOWLWTIME); 1814 PrfWriteProfileData(fmprof, appname, "Collector.DetailsLWTime", 1815 &dcd.detailslwtime, sizeof(BOOL)); 1816 dcd.detailsladate = WinQueryButtonCheckstate(hwnd, CFG5_SHOWLADATE); 1817 PrfWriteProfileData(fmprof, appname, "Collector.DetailsLADate", 1818 &dcd.detailsladate, sizeof(BOOL)); 1819 dcd.detailslatime = WinQueryButtonCheckstate(hwnd, CFG5_SHOWLATIME); 1820 PrfWriteProfileData(fmprof, appname, "Collector.DetailsLATime", 1821 &dcd.detailslatime, sizeof(BOOL)); 1822 dcd.detailscrdate = WinQueryButtonCheckstate(hwnd, CFG5_SHOWCRDATE); 1823 PrfWriteProfileData(fmprof, appname, "Collector.DetailsCRDate", 1824 &dcd.detailscrdate, sizeof(BOOL)); 1825 dcd.detailscrtime = WinQueryButtonCheckstate(hwnd, CFG5_SHOWCRTIME); 1826 PrfWriteProfileData(fmprof, appname, "Collector.DetailsCRTime", 1827 &dcd.detailscrtime, sizeof(BOOL)); 1828 dcd.detailsattr = WinQueryButtonCheckstate(hwnd, CFG5_SHOWATTR); 1829 PrfWriteProfileData(fmprof, appname, "Collector.DetailsAttr", 1830 &dcd.detailsattr, sizeof(BOOL)); 1708 1831 *mask.prompt = 0; 1709 1832 PrfWriteProfileData(fmprof, 1710 appname, 1711 "DirFilter", 1712 &mask, 1713 sizeof(MASK)); 1714 break; 1833 appname, "CollectorFilter", &mask, sizeof(MASK)); 1834 } 1835 break; 1715 1836 } 1716 return WinDefDlgProc(hwnd, msg,mp1,mp2);1837 return WinDefDlgProc(hwnd, msg, mp1, mp2); 1717 1838 } 1718 1839 1719 1720 MRESULT EXPENTRY Cfg6DlgProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2) 1840 MRESULT EXPENTRY Cfg8DlgProc(HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2) 1721 1841 { 1722 switch(msg) { 1723 case WM_INITDLG: 1724 PostMsg(hwnd,UM_UNDO,MPVOID,MPVOID); 1725 break; 1726 1727 case UM_UNDO: 1728 WinCheckButton(hwnd,CFG6_SORTFIRST,FALSE); 1729 WinCheckButton(hwnd,CFG6_SORTLAST,FALSE); 1730 WinCheckButton(hwnd,CFG6_SORTSIZE,FALSE); 1731 WinCheckButton(hwnd,CFG6_SORTEASIZE,FALSE); 1732 WinCheckButton(hwnd,CFG6_SORTLWDATE,FALSE); 1733 WinCheckButton(hwnd,CFG6_SORTLADATE,FALSE); 1734 WinCheckButton(hwnd,CFG6_SORTCRDATE,FALSE); 1735 WinCheckButton(hwnd,CFG6_SORTNAME,FALSE); 1736 WinCheckButton(hwnd,CFG6_SORTDIRSFIRST,FALSE); 1737 WinCheckButton(hwnd,CFG6_SORTDIRSLAST,FALSE); 1738 WinCheckButton(hwnd,CFG6_SORTREVERSE,FALSE); 1739 if(sortFlags & SORT_FIRSTEXTENSION) 1740 WinCheckButton(hwnd,CFG6_SORTFIRST,TRUE); 1741 else if(sortFlags & SORT_LASTEXTENSION) 1742 WinCheckButton(hwnd,CFG6_SORTLAST,TRUE); 1743 else if(sortFlags & SORT_SIZE) 1744 WinCheckButton(hwnd,CFG6_SORTSIZE,TRUE); 1745 else if(sortFlags & SORT_EASIZE) 1746 WinCheckButton(hwnd,CFG6_SORTEASIZE,TRUE); 1747 else if(sortFlags & SORT_LWDATE) 1748 WinCheckButton(hwnd,CFG6_SORTLWDATE,TRUE); 1749 else if(sortFlags & SORT_LADATE) 1750 WinCheckButton(hwnd,CFG6_SORTLADATE,TRUE); 1751 else if(sortFlags & SORT_CRDATE) 1752 WinCheckButton(hwnd,CFG6_SORTCRDATE,TRUE); 1753 else if(sortFlags & SORT_FILENAME) 1754 WinCheckButton(hwnd,CFG6_SORTFILENAME,TRUE); 1755 else 1756 WinCheckButton(hwnd,CFG6_SORTNAME,TRUE); 1757 if(sortFlags & SORT_DIRSFIRST) 1758 WinCheckButton(hwnd,CFG6_SORTDIRSFIRST,TRUE); 1759 else if(sortFlags & SORT_DIRSLAST) 1760 WinCheckButton(hwnd,CFG6_SORTDIRSLAST,TRUE); 1761 if(sortFlags & SORT_REVERSE) 1762 WinCheckButton(hwnd,CFG6_SORTREVERSE,TRUE); 1842 switch (msg) { 1843 case WM_INITDLG: 1844 PostMsg(hwnd, UM_UNDO, MPVOID, MPVOID); 1845 break; 1846 1847 case UM_UNDO: 1848 WinCheckButton(hwnd, CFG6_SORTFIRST, FALSE); 1849 WinCheckButton(hwnd, CFG6_SORTLAST, FALSE); 1850 WinCheckButton(hwnd, CFG6_SORTSIZE, FALSE); 1851 WinCheckButton(hwnd, CFG6_SORTEASIZE, FALSE); 1852 WinCheckButton(hwnd, CFG6_SORTLWDATE, FALSE); 1853 WinCheckButton(hwnd, CFG6_SORTLADATE, FALSE); 1854 WinCheckButton(hwnd, CFG6_SORTCRDATE, FALSE); 1855 WinCheckButton(hwnd, CFG6_SORTNAME, FALSE); 1856 WinCheckButton(hwnd, CFG6_SORTDIRSFIRST, FALSE); 1857 WinCheckButton(hwnd, CFG6_SORTDIRSLAST, FALSE); 1858 WinCheckButton(hwnd, CFG6_SORTREVERSE, FALSE); 1859 if (CollectorsortFlags & SORT_FIRSTEXTENSION) 1860 WinCheckButton(hwnd, CFG6_SORTFIRST, TRUE); 1861 else if (CollectorsortFlags & SORT_LASTEXTENSION) 1862 WinCheckButton(hwnd, CFG6_SORTLAST, TRUE); 1863 else if (CollectorsortFlags & SORT_SIZE) 1864 WinCheckButton(hwnd, CFG6_SORTSIZE, TRUE); 1865 else if (CollectorsortFlags & SORT_EASIZE) 1866 WinCheckButton(hwnd, CFG6_SORTEASIZE, TRUE); 1867 else if (CollectorsortFlags & SORT_LWDATE) 1868 WinCheckButton(hwnd, CFG6_SORTLWDATE, TRUE); 1869 else if (CollectorsortFlags & SORT_LADATE) 1870 WinCheckButton(hwnd, CFG6_SORTLADATE, TRUE); 1871 else if (CollectorsortFlags & SORT_CRDATE) 1872 WinCheckButton(hwnd, CFG6_SORTCRDATE, TRUE); 1873 else if (CollectorsortFlags & SORT_FILENAME) 1874 WinCheckButton(hwnd, CFG6_SORTFILENAME, TRUE); 1875 else 1876 WinCheckButton(hwnd, CFG6_SORTNAME, TRUE); 1877 if (CollectorsortFlags & SORT_DIRSFIRST) 1878 WinCheckButton(hwnd, CFG6_SORTDIRSFIRST, TRUE); 1879 else if (CollectorsortFlags & SORT_DIRSLAST) 1880 WinCheckButton(hwnd, CFG6_SORTDIRSLAST, TRUE); 1881 if (CollectorsortFlags & SORT_REVERSE) 1882 WinCheckButton(hwnd, CFG6_SORTREVERSE, TRUE); 1883 return 0; 1884 1885 case WM_CONTROL: 1886 switch (SHORT1FROMMP(mp1)) { 1887 case CFG6_SORTDIRSFIRST: 1888 case CFG6_SORTDIRSLAST: 1889 { 1890 BOOL temp; 1891 1892 temp = WinQueryButtonCheckstate(hwnd, SHORT1FROMMP(mp1)); 1893 if (temp) { 1894 switch (SHORT1FROMMP(mp1)) { 1895 case CFG6_SORTDIRSFIRST: 1896 WinCheckButton(hwnd, CFG6_SORTDIRSLAST, FALSE); 1897 break; 1898 case CFG6_SORTDIRSLAST: 1899 WinCheckButton(hwnd, CFG6_SORTDIRSFIRST, FALSE); 1900 break; 1901 } 1902 } 1903 } 1904 break; 1905 } 1906 return 0; 1907 1908 case WM_COMMAND: 1909 switch (SHORT1FROMMP(mp1)) { 1910 case IDM_UNDO: 1911 PostMsg(hwnd, UM_UNDO, MPVOID, MPVOID); 1912 break; 1913 1914 case DID_CANCEL: 1915 WinSendMsg(hwnd, UM_UNDO, MPVOID, MPVOID); 1916 1917 case DID_OK: 1918 PostMsg((HWND) WinQueryWindowULong(hwnd, QWL_USER), msg, mp1, mp2); 1919 break; 1920 1921 case IDM_HELP: 1922 if (hwndHelp) 1923 WinSendMsg(hwndHelp, HM_DISPLAY_HELP, 1924 MPFROM2SHORT(HELP_CFG8, 0), MPFROMSHORT(HM_RESOURCEID)); 1925 break; 1926 } 1927 return 0; 1928 1929 case WM_CLOSE: 1930 CollectorsortFlags = 0; 1931 if (WinQueryButtonCheckstate(hwnd, CFG6_SORTFILENAME)) 1932 CollectorsortFlags |= SORT_FILENAME; 1933 if (WinQueryButtonCheckstate(hwnd, CFG6_SORTSIZE)) 1934 CollectorsortFlags |= SORT_SIZE; 1935 if (WinQueryButtonCheckstate(hwnd, CFG6_SORTEASIZE)) 1936 CollectorsortFlags |= SORT_EASIZE; 1937 if (WinQueryButtonCheckstate(hwnd, CFG6_SORTFIRST)) 1938 CollectorsortFlags |= SORT_FIRSTEXTENSION; 1939 if (WinQueryButtonCheckstate(hwnd, CFG6_SORTLAST)) 1940 CollectorsortFlags |= SORT_LASTEXTENSION; 1941 if (WinQueryButtonCheckstate(hwnd, CFG6_SORTLWDATE)) 1942 CollectorsortFlags |= SORT_LWDATE; 1943 if (WinQueryButtonCheckstate(hwnd, CFG6_SORTLADATE)) 1944 CollectorsortFlags |= SORT_LADATE; 1945 if (WinQueryButtonCheckstate(hwnd, CFG6_SORTCRDATE)) 1946 CollectorsortFlags |= SORT_CRDATE; 1947 if (WinQueryButtonCheckstate(hwnd, CFG6_SORTDIRSFIRST)) 1948 CollectorsortFlags |= SORT_DIRSFIRST; 1949 if (WinQueryButtonCheckstate(hwnd, CFG6_SORTDIRSLAST)) 1950 CollectorsortFlags |= SORT_DIRSLAST; 1951 if (WinQueryButtonCheckstate(hwnd, CFG6_SORTREVERSE)) 1952 CollectorsortFlags |= SORT_REVERSE; 1953 PrfWriteProfileData(fmprof, 1954 appname, 1955 "CollectorSort", &CollectorsortFlags, sizeof(INT)); 1956 break; 1957 } 1958 return WinDefDlgProc(hwnd, msg, mp1, mp2); 1959 } 1960 1961 MRESULT EXPENTRY Cfg9DlgProc(HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2) 1962 { 1963 switch (msg) { 1964 case WM_INITDLG: 1965 break; 1966 1967 case WM_COMMAND: 1968 switch (SHORT1FROMMP(mp1)) { 1969 case IDM_HELP: 1970 if (hwndHelp) 1971 WinSendMsg(hwndHelp, HM_DISPLAY_HELP, 1972 MPFROM2SHORT(HELP_CFG9, 0), MPFROMSHORT(HM_RESOURCEID)); 1763 1973 return 0; 1764 1765 case WM_CONTROL: 1766 switch(SHORT1FROMMP(mp1)) { 1767 case CFG6_SORTDIRSFIRST: 1768 case CFG6_SORTDIRSLAST: 1769 { 1770 BOOL temp; 1771 1772 temp = WinQueryButtonCheckstate(hwnd,SHORT1FROMMP(mp1)); 1773 if(temp) { 1774 switch(SHORT1FROMMP(mp1)) { 1775 case CFG6_SORTDIRSFIRST: 1776 WinCheckButton(hwnd,CFG6_SORTDIRSLAST,FALSE); 1777 break; 1778 case CFG6_SORTDIRSLAST: 1779 WinCheckButton(hwnd,CFG6_SORTDIRSFIRST,FALSE); 1780 break; 1781 } 1782 } 1783 } 1784 break; 1974 case CFG9_MAXIMUMUI: 1975 if (hwndMain) { 1976 if (MenuInvisible) 1977 WinSendMsg(hwndMain, WM_COMMAND, 1978 MPFROM2SHORT(IDM_HIDEMENU, 0), MPVOID); 1979 if (!fAutoView) 1980 WinSendMsg(hwndMain, WM_COMMAND, 1981 MPFROM2SHORT(IDM_AUTOVIEW, 0), MPVOID); 1982 if (!fDrivebar) 1983 WinSendMsg(hwndMain, WM_COMMAND, 1984 MPFROM2SHORT(IDM_DRIVEBAR, 0), MPVOID); 1985 if (!fToolbar) 1986 WinSendMsg(hwndMain, WM_COMMAND, 1987 MPFROM2SHORT(IDM_TOOLBAR, 0), MPVOID); 1988 if (!fMoreButtons) 1989 WinSendMsg(hwndMain, WM_COMMAND, 1990 MPFROM2SHORT(IDM_MOREBUTTONS, 0), MPVOID); 1991 if (!fUserComboBox) 1992 WinSendMsg(hwndMain, WM_COMMAND, 1993 MPFROM2SHORT(IDM_USERLIST, 0), MPVOID); 1785 1994 } 1786 1995 return 0; 1787 1788 case WM_COMMAND: 1789 switch(SHORT1FROMMP(mp1)) { 1790 case IDM_UNDO: 1791 PostMsg(hwnd,UM_UNDO,MPVOID,MPVOID); 1792 break; 1793 1794 case DID_CANCEL: 1795 WinSendMsg(hwnd,UM_UNDO,MPVOID,MPVOID); 1796 1797 case DID_OK: 1798 PostMsg((HWND)WinQueryWindowULong(hwnd,QWL_USER),msg,mp1,mp2); 1799 break; 1800 1801 case IDM_HELP: 1802 if(hwndHelp) 1803 WinSendMsg(hwndHelp,HM_DISPLAY_HELP, 1804 MPFROM2SHORT(HELP_CFG6,0), 1805 MPFROMSHORT(HM_RESOURCEID)); 1806 break; 1996 case CFG9_MINIMUMUI: 1997 if (hwndMain) { 1998 if (!MenuInvisible) 1999 WinSendMsg(hwndMain, WM_COMMAND, 2000 MPFROM2SHORT(IDM_HIDEMENU, 0), MPVOID); 2001 if (fAutoView) 2002 WinSendMsg(hwndMain, WM_COMMAND, 2003 MPFROM2SHORT(IDM_AUTOVIEW, 0), MPVOID); 2004 if (fToolbar) 2005 WinSendMsg(hwndMain, WM_COMMAND, 2006 MPFROM2SHORT(IDM_TOOLBAR, 0), MPVOID); 2007 if (fMoreButtons) 2008 WinSendMsg(hwndMain, WM_COMMAND, MPFROM2SHORT(IDM_MOREBUTTONS, 0), 2009 MPVOID); 2010 if (fUserComboBox) 2011 WinSendMsg(hwndMain, WM_COMMAND, 2012 MPFROM2SHORT(IDM_USERLIST, 0), MPVOID); 2013 saymsg(MB_ENTER | MB_ICONASTERISK, 2014 hwnd, 2015 GetPString(IDS_DONTFORGETTEXT), 2016 GetPString(IDS_UNHIDEMENUWARNTEXT)); 1807 2017 } 1808 2018 return 0; 1809 1810 case WM_CLOSE: 1811 sortFlags = 0; 1812 if(WinQueryButtonCheckstate(hwnd,CFG6_SORTFILENAME)) 1813 sortFlags |= SORT_FILENAME; 1814 if(WinQueryButtonCheckstate(hwnd,CFG6_SORTSIZE)) 1815 sortFlags |= SORT_SIZE; 1816 if(WinQueryButtonCheckstate(hwnd,CFG6_SORTEASIZE)) 1817 sortFlags |= SORT_EASIZE; 1818 if(WinQueryButtonCheckstate(hwnd,CFG6_SORTFIRST)) 1819 sortFlags |= SORT_FIRSTEXTENSION; 1820 if(WinQueryButtonCheckstate(hwnd,CFG6_SORTLAST)) 1821 sortFlags |= SORT_LASTEXTENSION; 1822 if(WinQueryButtonCheckstate(hwnd,CFG6_SORTLWDATE)) 1823 sortFlags |= SORT_LWDATE; 1824 if(WinQueryButtonCheckstate(hwnd,CFG6_SORTLADATE)) 1825 sortFlags |= SORT_LADATE; 1826 if(WinQueryButtonCheckstate(hwnd,CFG6_SORTCRDATE)) 1827 sortFlags |= SORT_CRDATE; 1828 if(WinQueryButtonCheckstate(hwnd,CFG6_SORTDIRSFIRST)) 1829 sortFlags |= SORT_DIRSFIRST; 1830 if(WinQueryButtonCheckstate(hwnd,CFG6_SORTDIRSLAST)) 1831 sortFlags |= SORT_DIRSLAST; 1832 if(WinQueryButtonCheckstate(hwnd,CFG6_SORTREVERSE)) 1833 sortFlags |= SORT_REVERSE; 1834 PrfWriteProfileData(fmprof, 1835 appname, 1836 "Sort", 1837 &sortFlags, 1838 sizeof(INT)); 1839 break; 2019 case CFG9_MAXINFOPRETTY: 2020 fLoadSubject = TRUE; 2021 fLoadLongnames = TRUE; 2022 fNoIconsFiles = FALSE; 2023 fNoIconsDirs = FALSE; 2024 fForceUpper = FALSE; 2025 fForceLower = FALSE; 2026 fArcStuffVisible = TRUE; 2027 fSplitStatus = TRUE; 2028 fDragndropDlg = TRUE; 2029 { 2030 ULONG flWindowAttr; 2031 2032 flWindowAttr = CV_DETAIL | CV_FLOW | CA_DETAILSVIEWTITLES; 2033 PrfWriteProfileData(fmprof, 2034 appname, 2035 "DirflWindowAttr", &flWindowAttr, sizeof(ULONG)); 2036 PrfWriteProfileData(fmprof, 2037 appname, 2038 "CollectorflWindowAttr", 2039 &flWindowAttr, sizeof(ULONG)); 2040 PrfWriteProfileData(fmprof, appname, "DirCnr.Fontnamesize", NULL, 0); 2041 PrfWriteProfileData(fmprof, 2042 appname, "Collector.Fontnamesize", NULL, 0); 2043 } 2044 detailslongname = TRUE; 2045 detailssubject = TRUE; 2046 detailsea = TRUE; 2047 detailssize = TRUE; 2048 detailsicon = TRUE; 2049 detailslwdate = TRUE; 2050 detailslwtime = TRUE; 2051 detailsladate = TRUE; 2052 detailslatime = TRUE; 2053 detailscrdate = TRUE; 2054 detailscrtime = TRUE; 2055 detailsattr = TRUE; 2056 if (hwndTree) { 2057 2058 CNRINFO cnri; 2059 ULONG flWindowAttr = CV_TREE | CV_ICON | CV_FLOW | CA_TREELINE; 2060 2061 memset(&cnri, 0, sizeof(cnri)); 2062 cnri.cb = sizeof(cnri); 2063 WinSendMsg(WinWindowFromID 2064 (WinWindowFromID(hwndTree, FID_CLIENT), TREE_CNR), 2065 CM_QUERYCNRINFO, MPFROMP(&cnri), MPFROMLONG(sizeof(cnri))); 2066 cnri.flWindowAttr = flWindowAttr; 2067 WinSendMsg(WinWindowFromID 2068 (WinWindowFromID(hwndTree, FID_CLIENT), TREE_CNR), 2069 CM_SETCNRINFO, MPFROMP(&cnri), 2070 MPFROMLONG(CMA_FLWINDOWATTR)); 2071 } 2072 break; 2073 2074 case CFG9_MAXINFOPLAIN: 2075 fLoadSubject = TRUE; 2076 fLoadLongnames = TRUE; 2077 fNoIconsFiles = TRUE; 2078 fNoIconsDirs = TRUE; 2079 fForceUpper = FALSE; 2080 fForceLower = FALSE; 2081 fArcStuffVisible = TRUE; 2082 fSplitStatus = TRUE; 2083 fDragndropDlg = TRUE; 2084 { 2085 ULONG flWindowAttr; 2086 2087 flWindowAttr = CV_DETAIL | CV_FLOW | CV_MINI; 2088 PrfWriteProfileData(fmprof, 2089 appname, 2090 "DirflWindowAttr", &flWindowAttr, sizeof(ULONG)); 2091 PrfWriteProfileData(fmprof, 2092 appname, 2093 "CollectorflWindowAttr", 2094 &flWindowAttr, sizeof(ULONG)); 2095 PrfWriteProfileData(fmprof, 2096 appname, 2097 "DirCnr.Fontnamesize", 2098 GetPString(IDS_8HELVTEXT), 2099 strlen(GetPString(IDS_8HELVTEXT)) + 1); 2100 PrfWriteProfileData(fmprof, 2101 appname, 2102 "Collector.Fontnamesize", 2103 GetPString(IDS_8HELVTEXT), 2104 strlen(GetPString(IDS_8HELVTEXT)) + 1); 2105 } 2106 detailslongname = TRUE; 2107 detailssubject = TRUE; 2108 detailsea = TRUE; 2109 detailssize = TRUE; 2110 detailsicon = TRUE; 2111 detailslwdate = TRUE; 2112 detailslwtime = TRUE; 2113 detailsladate = TRUE; 2114 detailslatime = TRUE; 2115 detailscrdate = TRUE; 2116 detailscrtime = TRUE; 2117 detailsattr = TRUE; 2118 if (hwndTree) { 2119 2120 CNRINFO cnri; 2121 ULONG flWindowAttr = CV_TREE | CV_MINI | CV_TEXT | 2122 CV_FLOW | CA_TREELINE; 2123 2124 memset(&cnri, 0, sizeof(cnri)); 2125 cnri.cb = sizeof(cnri); 2126 WinSendMsg(WinWindowFromID 2127 (WinWindowFromID(hwndTree, FID_CLIENT), TREE_CNR), 2128 CM_QUERYCNRINFO, MPFROMP(&cnri), MPFROMLONG(sizeof(cnri))); 2129 cnri.flWindowAttr = flWindowAttr; 2130 WinSendMsg(WinWindowFromID 2131 (WinWindowFromID(hwndTree, FID_CLIENT), TREE_CNR), 2132 CM_SETCNRINFO, MPFROMP(&cnri), 2133 MPFROMLONG(CMA_FLWINDOWATTR)); 2134 } 2135 break; 2136 case CFG9_MAXFILENAMES: 2137 if (hwndMain && fAutoView) 2138 WinSendMsg(hwndMain, WM_COMMAND, 2139 MPFROM2SHORT(IDM_AUTOVIEW, 0), MPVOID); 2140 fForceUpper = FALSE; 2141 fForceLower = TRUE; 2142 fExternalViewer = TRUE; 2143 fExternalArcboxes = TRUE; 2144 fExternalCollector = TRUE; 2145 fExternalINIs = TRUE; 2146 fLoadSubject = FALSE; 2147 fLoadLongnames = FALSE; 2148 fNoIconsFiles = TRUE; 2149 fNoIconsDirs = TRUE; 2150 { 2151 ULONG flWindowAttr; 2152 2153 flWindowAttr = CV_TEXT | CV_FLOW; 2154 PrfWriteProfileData(fmprof, appname, "DirflWindowAttr", 2155 &flWindowAttr, sizeof(ULONG)); 2156 PrfWriteProfileData(fmprof, appname, "CollectorflWindowAttr", 2157 &flWindowAttr, sizeof(ULONG)); 2158 PrfWriteProfileData(fmprof, appname, "DirCnr.Fontnamesize", 2159 GetPString(IDS_8HELVTEXT), 2160 strlen(GetPString(IDS_8HELVTEXT)) + 1); 2161 PrfWriteProfileData(fmprof, appname, "Collector.Fontnamesize", 2162 GetPString(IDS_8HELVTEXT), 2163 strlen(GetPString(IDS_8HELVTEXT)) + 1); 2164 } 2165 if (hwndTree) { 2166 2167 CNRINFO cnri; 2168 ULONG flWindowAttr = CV_TREE | CV_TEXT | CV_FLOW | CA_TREELINE; 2169 2170 memset(&cnri, 0, sizeof(cnri)); 2171 cnri.cb = sizeof(cnri); 2172 WinSendMsg(WinWindowFromID 2173 (WinWindowFromID(hwndTree, FID_CLIENT), TREE_CNR), 2174 CM_QUERYCNRINFO, MPFROMP(&cnri), MPFROMLONG(sizeof(cnri))); 2175 cnri.flWindowAttr = flWindowAttr; 2176 WinSendMsg(WinWindowFromID 2177 (WinWindowFromID(hwndTree, FID_CLIENT), TREE_CNR), 2178 CM_SETCNRINFO, MPFROMP(&cnri), 2179 MPFROMLONG(CMA_FLWINDOWATTR)); 2180 } 2181 break; 2182 case CFG9_MAXSPEED: 2183 fLoadSubject = FALSE; 2184 fLoadLongnames = FALSE; 2185 fVerify = FALSE; 2186 DosSetVerify(FALSE); 2187 FilesToGet = 512; 2188 fQuickArcFind = TRUE; 2189 fMinOnOpen = TRUE; 2190 fRealIdle = FALSE; 2191 fNoIconsFiles = TRUE; 2192 fNoIconsDirs = TRUE; 2193 fSyncUpdates = FALSE; 2194 fArcStuffVisible = FALSE; 2195 fForceUpper = FALSE; 2196 fForceLower = FALSE; 2197 detailslongname = FALSE; 2198 detailssubject = FALSE; 2199 break; 2200 2201 case CFG9_HECTOR: 2202 fSwitchTree = TRUE; 2203 fSwitchTreeOnFocus = FALSE; 2204 fSwitchTreeExpand = TRUE; 2205 fCollapseFirst = TRUE; 2206 fSelectedAlways = FALSE; 2207 fTileBackwards = FALSE; 2208 fExternalViewer = FALSE; 2209 fExternalArcboxes = TRUE; 2210 fExternalCollector = FALSE; 2211 fExternalINIs = TRUE; 2212 fCopyDefault = FALSE; 2213 fFollowTree = FALSE; 2214 fLoadSubject = FALSE; 2215 fLoadLongnames = FALSE; 2216 fDontMoveMouse = FALSE; 2217 fUnHilite = TRUE; 2218 fUserListSwitches = TRUE; 2219 fDCOpens = FALSE; 2220 fLinkSetsIcon = FALSE; 2221 fConfirmDelete = TRUE; 2222 fSyncUpdates = FALSE; 2223 fRealIdle = FALSE; 2224 fNoIconsFiles = FALSE; 2225 fNoIconsDirs = TRUE; 2226 fFolderAfterExtract = FALSE; 2227 fVerify = TRUE; 2228 DosSetVerify(TRUE); 2229 fForceUpper = FALSE; 2230 fForceLower = TRUE; 2231 fArcStuffVisible = FALSE; 2232 fVTreeOpensWPS = FALSE; 2233 fRemoteBug = FALSE; 2234 fDragndropDlg = TRUE; 2235 fMinOnOpen = FALSE; 2236 fQuickArcFind = TRUE; 2237 fNoRemovableScan = TRUE; 2238 FilesToGet = 128; 2239 fFreeTree = FALSE; 2240 fSplitStatus = TRUE; 2241 fAutoTile = TRUE; 2242 fSaveState = TRUE; 2243 fStartMinimized = FALSE; 2244 fStartMaximized = FALSE; 2245 fDataMin = FALSE; 2246 ulCnrType = CCS_EXTENDSEL | CCS_MULTIPLESEL; 2247 fNoTreeGap = TRUE; 2248 { 2249 ULONG flWindowAttr; 2250 2251 flWindowAttr = (CV_NAME | CV_MINI | CV_FLOW | CA_DETAILSVIEWTITLES); 2252 PrfWriteProfileData(fmprof, appname, "DirflWindowAttr", 2253 &flWindowAttr, sizeof(ULONG)); 2254 PrfWriteProfileData(fmprof, appname, "CollectorflWindowAttr", 2255 &flWindowAttr, sizeof(ULONG)); 2256 } 2257 detailslongname = FALSE; 2258 detailssubject = FALSE; 2259 detailsea = TRUE; 2260 detailssize = TRUE; 2261 detailsicon = TRUE; 2262 detailslwdate = TRUE; 2263 detailslwtime = TRUE; 2264 detailsladate = FALSE; 2265 detailslatime = FALSE; 2266 detailscrdate = FALSE; 2267 detailscrtime = FALSE; 2268 detailsattr = TRUE; 2269 sortFlags = SORT_FILENAME | SORT_DIRSFIRST; 2270 CollectorsortFlags = SORT_FILENAME | SORT_DIRSFIRST; 2271 if (hwndMain) { 2272 2273 SWP swp; 2274 2275 if (WinQueryWindowPos(hwndMain, &swp)) { 2276 WinSetWindowPos(hwndTree, HWND_TOP, 0, 0, 2277 swp.cx / 5, swp.cy, SWP_MOVE | SWP_SIZE); 2278 } 2279 } 2280 if (hwndMain) { 2281 if (MenuInvisible) 2282 WinSendMsg(hwndMain, WM_COMMAND, 2283 MPFROM2SHORT(IDM_HIDEMENU, 0), MPVOID); 2284 if (fAutoView) 2285 WinSendMsg(hwndMain, WM_COMMAND, 2286 MPFROM2SHORT(IDM_AUTOVIEW, 0), MPVOID); 2287 if (fToolbar) 2288 WinSendMsg(hwndMain, WM_COMMAND, 2289 MPFROM2SHORT(IDM_TOOLBAR, 0), MPVOID); 2290 if (!fDrivebar) 2291 WinSendMsg(hwndMain, WM_COMMAND, 2292 MPFROM2SHORT(IDM_DRIVEBAR, 0), MPVOID); 2293 if (!fMoreButtons) 2294 WinSendMsg(hwndMain, WM_COMMAND, MPFROM2SHORT(IDM_MOREBUTTONS, 0), 2295 MPVOID); 2296 if (!fUserComboBox) 2297 WinSendMsg(hwndMain, WM_COMMAND, 2298 MPFROM2SHORT(IDM_USERLIST, 0), MPVOID); 2299 } 2300 if (hwndTree) { 2301 2302 CNRINFO cnri; 2303 ULONG flWindowAttr = (CV_TREE | CV_TEXT | CV_MINI | 2304 CV_FLOW | CA_TREELINE); 2305 2306 memset(&cnri, 0, sizeof(cnri)); 2307 cnri.cb = sizeof(cnri); 2308 WinSendMsg(WinWindowFromID 2309 (WinWindowFromID(hwndTree, FID_CLIENT), TREE_CNR), 2310 CM_QUERYCNRINFO, MPFROMP(&cnri), MPFROMLONG(sizeof(cnri))); 2311 cnri.flWindowAttr = flWindowAttr; 2312 WinSendMsg(WinWindowFromID 2313 (WinWindowFromID(hwndTree, FID_CLIENT), TREE_CNR), 2314 CM_SETCNRINFO, MPFROMP(&cnri), 2315 MPFROMLONG(CMA_FLWINDOWATTR)); 2316 } 2317 break; 2318 2319 case CFG9_DEFAULT: 2320 fSwitchTree = FALSE; 2321 fSwitchTreeOnFocus = FALSE; 2322 fSwitchTreeExpand = FALSE; 2323 fCollapseFirst = FALSE; 2324 fSelectedAlways = FALSE; 2325 fTileBackwards = FALSE; 2326 fExternalViewer = FALSE; 2327 fExternalArcboxes = FALSE; 2328 fExternalCollector = FALSE; 2329 fExternalINIs = FALSE; 2330 fCopyDefault = FALSE; 2331 fFollowTree = FALSE; 2332 fLoadSubject = TRUE; 2333 fLoadLongnames = TRUE; 2334 fDontMoveMouse = FALSE; 2335 fUnHilite = TRUE; 2336 fUserListSwitches = FALSE; 2337 fDCOpens = FALSE; 2338 fLinkSetsIcon = FALSE; 2339 fConfirmDelete = TRUE; 2340 fSyncUpdates = FALSE; 2341 fRealIdle = FALSE; 2342 fNoIconsFiles = FALSE; 2343 fNoIconsDirs = FALSE; 2344 fFolderAfterExtract = FALSE; 2345 fVerify = TRUE; 2346 fNoSearch = TRUE; 2347 DosSetVerify(TRUE); 2348 fForceUpper = FALSE; 2349 fForceLower = TRUE; 2350 fArcStuffVisible = TRUE; 2351 fVTreeOpensWPS = FALSE; 2352 fRemoteBug = TRUE; 2353 fDragndropDlg = TRUE; 2354 fMinOnOpen = FALSE; 2355 fQuickArcFind = TRUE; 2356 fNoRemovableScan = FALSE; 2357 FilesToGet = 128; 2358 fFreeTree = FALSE; 2359 fSplitStatus = TRUE; 2360 fAutoTile = TRUE; 2361 fSaveState = TRUE; 2362 fStartMinimized = FALSE; 2363 fStartMaximized = FALSE; 2364 fDataMin = TRUE; 2365 ulCnrType = CCS_EXTENDSEL; 2366 fNoTreeGap = FALSE; 2367 { 2368 ULONG flWindowAttr; 2369 2370 flWindowAttr = (CV_NAME | CV_MINI | CV_FLOW | CA_DETAILSVIEWTITLES); 2371 PrfWriteProfileData(fmprof, appname, "DirflWindowAttr", 2372 &flWindowAttr, sizeof(ULONG)); 2373 PrfWriteProfileData(fmprof, appname, "CollectorflWindowAttr", 2374 &flWindowAttr, sizeof(ULONG)); 2375 } 2376 detailslongname = FALSE; 2377 detailssubject = FALSE; 2378 detailsea = TRUE; 2379 detailssize = TRUE; 2380 detailsicon = TRUE; 2381 detailslwdate = TRUE; 2382 detailslwtime = TRUE; 2383 detailsladate = FALSE; 2384 detailslatime = FALSE; 2385 detailscrdate = FALSE; 2386 detailscrtime = FALSE; 2387 detailsattr = TRUE; 2388 sortFlags = SORT_FILENAME | SORT_DIRSFIRST; 2389 CollectorsortFlags = SORT_FILENAME | SORT_DIRSFIRST; 2390 if (hwndMain) { 2391 2392 SWP swp; 2393 2394 if (WinQueryWindowPos(hwndMain, &swp)) { 2395 WinSetWindowPos(hwndTree, HWND_TOP, 0, 0, 2396 swp.cx / 5, 2397 swp.cy - 2398 (WinQuerySysValue(HWND_DESKTOP, SV_CYICON) * 2), 2399 SWP_MOVE | SWP_SIZE); 2400 } 2401 } 2402 if (hwndTree) { 2403 2404 CNRINFO cnri; 2405 ULONG flWindowAttr = (CV_TREE | CV_TEXT | 2406 CV_FLOW | CA_TREELINE | CV_MINI); 2407 2408 memset(&cnri, 0, sizeof(cnri)); 2409 cnri.cb = sizeof(cnri); 2410 WinSendMsg(WinWindowFromID 2411 (WinWindowFromID(hwndTree, FID_CLIENT), TREE_CNR), 2412 CM_QUERYCNRINFO, MPFROMP(&cnri), MPFROMLONG(sizeof(cnri))); 2413 cnri.flWindowAttr = flWindowAttr; 2414 WinSendMsg(WinWindowFromID 2415 (WinWindowFromID(hwndTree, FID_CLIENT), TREE_CNR), 2416 CM_SETCNRINFO, MPFROMP(&cnri), 2417 MPFROMLONG(CMA_FLWINDOWATTR)); 2418 } 2419 break; 2420 2421 case CFG9_WINDOZETHINK: 2422 fTileBackwards = FALSE; 2423 ulCnrType = CCS_MULTIPLESEL; 2424 fFollowTree = TRUE; 2425 fTopDir = FALSE; 2426 fSwitchTree = TRUE; 2427 fSwitchTreeOnFocus = FALSE; 2428 fSwitchTreeExpand = TRUE; 2429 fCollapseFirst = TRUE; 2430 fDCOpens = FALSE; 2431 { 2432 ULONG flWindowAttr; 2433 2434 flWindowAttr = CV_NAME | CV_FLOW | CA_DETAILSVIEWTITLES; 2435 PrfWriteProfileData(fmprof, appname, "DirflWindowAttr", 2436 &flWindowAttr, sizeof(ULONG)); 2437 PrfWriteProfileData(fmprof, appname, "CollectorflWindowAttr", 2438 &flWindowAttr, sizeof(ULONG)); 2439 } 2440 fLinkSetsIcon = FALSE; 2441 fFreeTree = FALSE; 2442 fNoTreeGap = TRUE; 2443 fExternalArcboxes = TRUE; 2444 fExternalViewer = TRUE; 2445 fExternalCollector = TRUE; 2446 fExternalINIs = TRUE; 2447 fUserListSwitches = TRUE; 2448 WinSendMsg((HWND) WinQueryWindowULong(hwnd, QWL_USER), UM_UNDO, MPVOID, 2449 MPVOID); 2450 if (hwndTree) { 2451 2452 CNRINFO cnri; 2453 ULONG flWindowAttr = CV_TREE | CV_MINI | CV_ICON | 2454 CV_FLOW | CA_TREELINE; 2455 2456 memset(&cnri, 0, sizeof(cnri)); 2457 cnri.cb = sizeof(cnri); 2458 WinSendMsg(WinWindowFromID 2459 (WinWindowFromID(hwndTree, FID_CLIENT), TREE_CNR), 2460 CM_QUERYCNRINFO, MPFROMP(&cnri), MPFROMLONG(sizeof(cnri))); 2461 cnri.flWindowAttr = flWindowAttr; 2462 WinSendMsg(WinWindowFromID 2463 (WinWindowFromID(hwndTree, FID_CLIENT), TREE_CNR), 2464 CM_SETCNRINFO, MPFROMP(&cnri), 2465 MPFROMLONG(CMA_FLWINDOWATTR)); 2466 } 2467 if (hwndMain) { 2468 if (fAutoView) 2469 WinSendMsg(hwndMain, WM_COMMAND, 2470 MPFROM2SHORT(IDM_AUTOVIEW, 0), MPVOID); 2471 if (!fDrivebar) 2472 WinSendMsg(hwndMain, WM_COMMAND, 2473 MPFROM2SHORT(IDM_DRIVEBAR, 0), MPVOID); 2474 { 2475 SWP swp; 2476 2477 if (WinQueryWindowPos(hwndMain, &swp)) { 2478 WinSetWindowPos(hwndTree, HWND_TOP, 0, 0, 2479 swp.cx / 5, swp.cy, SWP_MOVE | SWP_SIZE); 2480 } 2481 } 2482 PostMsg(MainObjectHwnd, UM_RESTORE, MPVOID, MPFROMLONG(2L)); 2483 PostMsg(MainObjectHwnd, UM_SETDIR, MPFROMLONG(1L), MPVOID); 2484 } 2485 return 0; 2486 2487 case CFG9_DOSTHINK: 2488 fTileBackwards = TRUE; 2489 ulCnrType = CCS_MULTIPLESEL; 2490 fSwitchTree = TRUE; 2491 fSwitchTreeOnFocus = FALSE; 2492 fSwitchTreeExpand = TRUE; 2493 fCollapseFirst = TRUE; 2494 fFollowTree = TRUE; 2495 fTopDir = FALSE; 2496 if (hwndMain) { 2497 if (!fTextTools) 2498 WinSendMsg(hwndMain, WM_COMMAND, 2499 MPFROM2SHORT(IDM_TEXTTOOLS, 0), MPVOID); 2500 } 2501 { 2502 ULONG flWindowAttr; 2503 2504 flWindowAttr = CV_TEXT | CV_FLOW | CA_DETAILSVIEWTITLES; 2505 PrfWriteProfileData(fmprof, appname, "DirflWindowAttr", 2506 &flWindowAttr, sizeof(ULONG)); 2507 PrfWriteProfileData(fmprof, appname, "CollectorflWindowAttr", 2508 &flWindowAttr, sizeof(ULONG)); 2509 } 2510 if (hwndTree) { 2511 2512 CNRINFO cnri; 2513 ULONG flWindowAttr = CV_TREE | CV_TEXT | CV_FLOW | CA_TREELINE; 2514 2515 memset(&cnri, 0, sizeof(cnri)); 2516 cnri.cb = sizeof(cnri); 2517 WinSendMsg(WinWindowFromID 2518 (WinWindowFromID(hwndTree, FID_CLIENT), TREE_CNR), 2519 CM_QUERYCNRINFO, MPFROMP(&cnri), MPFROMLONG(sizeof(cnri))); 2520 cnri.flWindowAttr = flWindowAttr; 2521 WinSendMsg(WinWindowFromID 2522 (WinWindowFromID(hwndTree, FID_CLIENT), TREE_CNR), 2523 CM_SETCNRINFO, MPFROMP(&cnri), 2524 MPFROMLONG(CMA_FLWINDOWATTR)); 2525 } 2526 /* intentional fallthru */ 2527 case CFG9_1X: 2528 if (SHORT1FROMMP(mp1) == CFG9_1X) { 2529 fTileBackwards = FALSE; 2530 ulCnrType = CCS_MULTIPLESEL | CCS_EXTENDSEL; 2531 fSwitchTree = FALSE; 2532 fSwitchTreeOnFocus = FALSE; 2533 fSwitchTreeExpand = FALSE; 2534 fCollapseFirst = FALSE; 2535 fFollowTree = FALSE; 2536 fNoSearch = TRUE; 2537 } 2538 fAutoTile = TRUE; 2539 fSaveState = TRUE; 2540 fDCOpens = FALSE; 2541 fLinkSetsIcon = FALSE; 2542 fFreeTree = FALSE; 2543 fNoTreeGap = TRUE; 2544 fExternalArcboxes = TRUE; 2545 fExternalViewer = TRUE; 2546 fExternalCollector = TRUE; 2547 fExternalINIs = TRUE; 2548 fUserListSwitches = TRUE; 2549 WinSendMsg((HWND) WinQueryWindowULong(hwnd, QWL_USER), UM_UNDO, MPVOID, 2550 MPVOID); 2551 if (hwndTree) { 2552 2553 CNRINFO cnri; 2554 ULONG flWindowAttr = CV_TREE | CV_ICON | CV_FLOW | CA_TREELINE; 2555 2556 memset(&cnri, 0, sizeof(cnri)); 2557 cnri.cb = sizeof(cnri); 2558 WinSendMsg(WinWindowFromID(WinWindowFromID(hwndTree, FID_CLIENT), 2559 TREE_CNR), 2560 CM_QUERYCNRINFO, MPFROMP(&cnri), MPFROMLONG(sizeof(cnri))); 2561 cnri.flWindowAttr = flWindowAttr; 2562 WinSendMsg(WinWindowFromID(WinWindowFromID(hwndTree, FID_CLIENT), 2563 TREE_CNR), 2564 CM_SETCNRINFO, 2565 MPFROMP(&cnri), MPFROMLONG(CMA_FLWINDOWATTR)); 2566 } 2567 if (hwndMain) { 2568 if (fAutoView) 2569 WinSendMsg(hwndMain, WM_COMMAND, 2570 MPFROM2SHORT(IDM_AUTOVIEW, 0), MPVOID); 2571 if (fUserComboBox) 2572 WinSendMsg(hwndMain, WM_COMMAND, 2573 MPFROM2SHORT(IDM_USERLIST, 0), MPVOID); 2574 { 2575 SWP swp; 2576 2577 if (WinQueryWindowPos(hwndMain, &swp)) { 2578 WinSetWindowPos(hwndTree, HWND_TOP, 0, 0, 2579 swp.cx / 5, swp.cy, SWP_MOVE | SWP_SIZE); 2580 } 2581 } 2582 PostMsg(MainObjectHwnd, UM_RESTORE, MPVOID, MPFROMLONG(2L)); 2583 PostMsg(MainObjectHwnd, UM_SETDIR, MPVOID, MPVOID); 2584 } 2585 return 0; 2586 2587 case DID_CANCEL: 2588 WinSendMsg(hwnd, UM_UNDO, MPVOID, MPVOID); 2589 2590 case DID_OK: 2591 PostMsg((HWND) WinQueryWindowULong(hwnd, QWL_USER), msg, mp1, mp2); 2592 return 0; 2593 2594 default: 2595 return 0; 2596 } 2597 PrfWriteProfileData(fmprof, appname, "DetailsLongname", 2598 &detailslongname, sizeof(BOOL)); 2599 PrfWriteProfileData(fmprof, appname, "DirCnr.DetailsLongname", 2600 &detailslongname, sizeof(BOOL)); 2601 PrfWriteProfileData(fmprof, appname, "DetailsSubject", 2602 &detailssubject, sizeof(BOOL)); 2603 PrfWriteProfileData(fmprof, appname, "DirCnr.DetailsSubject", 2604 &detailssubject, sizeof(BOOL)); 2605 PrfWriteProfileData(fmprof, appname, "DetailsEA", 2606 &detailsea, sizeof(BOOL)); 2607 PrfWriteProfileData(fmprof, appname, "DirCnr.DetailsEA", 2608 &detailsea, sizeof(BOOL)); 2609 PrfWriteProfileData(fmprof, appname, "DetailsSize", 2610 &detailssize, sizeof(BOOL)); 2611 PrfWriteProfileData(fmprof, appname, "DirCnr.DetailsSize", 2612 &detailssize, sizeof(BOOL)); 2613 PrfWriteProfileData(fmprof, appname, "DetailsIcon", 2614 &detailsicon, sizeof(BOOL)); 2615 PrfWriteProfileData(fmprof, appname, "DirCnr.DetailsIcon", 2616 &detailsicon, sizeof(BOOL)); 2617 PrfWriteProfileData(fmprof, appname, "DetailsLWDate", 2618 &detailslwdate, sizeof(BOOL)); 2619 PrfWriteProfileData(fmprof, appname, "DirCnr.DetailsLWDate", 2620 &detailslwdate, sizeof(BOOL)); 2621 PrfWriteProfileData(fmprof, appname, "DetailsLWTime", 2622 &detailslwtime, sizeof(BOOL)); 2623 PrfWriteProfileData(fmprof, appname, "DirCnr.DetailsLWTime", 2624 &detailslwtime, sizeof(BOOL)); 2625 PrfWriteProfileData(fmprof, appname, "DetailsLADate", 2626 &detailsladate, sizeof(BOOL)); 2627 PrfWriteProfileData(fmprof, appname, "DirCnr.DetailsLADate", 2628 &detailsladate, sizeof(BOOL)); 2629 PrfWriteProfileData(fmprof, appname, "DetailsLATime", 2630 &detailslatime, sizeof(BOOL)); 2631 PrfWriteProfileData(fmprof, appname, "DirCnr.DetailsLATime", 2632 &detailslatime, sizeof(BOOL)); 2633 PrfWriteProfileData(fmprof, appname, "DetailsCRDate", 2634 &detailscrdate, sizeof(BOOL)); 2635 PrfWriteProfileData(fmprof, appname, "DirCnr.DetailsCRDate", 2636 &detailscrdate, sizeof(BOOL)); 2637 PrfWriteProfileData(fmprof, appname, "DetailsCRTime", 2638 &detailscrtime, sizeof(BOOL)); 2639 PrfWriteProfileData(fmprof, appname, "DirCnr.DetailsCRTime", 2640 &detailscrtime, sizeof(BOOL)); 2641 PrfWriteProfileData(fmprof, appname, "DetailsAttr", 2642 &detailsattr, sizeof(BOOL)); 2643 PrfWriteProfileData(fmprof, appname, "DirCnr.DetailsAttr", 2644 &detailsattr, sizeof(BOOL)); 2645 if (hwndMain) { 2646 if (SaveDirCnrState(hwndMain, GetPString(IDS_FM2TEMPTEXT))) { 2647 PostMsg(MainObjectHwnd, UM_RESTORE, MPVOID, MPFROMLONG(2L)); 2648 PostMsg(hwndMain, UM_RESTORE, MPVOID, MPVOID); 2649 } 2650 } 2651 WinSendMsg((HWND) WinQueryWindowULong(hwnd, QWL_USER), 2652 UM_UNDO, MPVOID, MPVOID); 2653 return 0; 2654 2655 case WM_CLOSE: 2656 break; 1840 2657 } 1841 return WinDefDlgProc(hwnd, msg,mp1,mp2);2658 return WinDefDlgProc(hwnd, msg, mp1, mp2); 1842 2659 } 1843 2660 1844 1845 MRESULT EXPENTRY Cfg7DlgProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2) 2661 NOTEPAGES np[] = { CFGD_FRAME, 2662 IDS_NOTEDIRCNRS1TEXT, 2663 CfgDDlgProc, 2664 0, 2665 0, 2666 0, 2667 CFG5_FRAME, 2668 IDS_NOTEDIRVIEW1TEXT, 2669 Cfg5DlgProc, 2670 0, 2671 0, 2672 0, 2673 CFG6_FRAME, 2674 IDS_NOTEDIRSORT1TEXT, 2675 Cfg6DlgProc, 2676 0, 2677 0, 2678 0, 2679 CFG5_FRAME, 2680 IDS_NOTECOLVIEW1TEXT, 2681 Cfg7DlgProc, 2682 0, 2683 0, 2684 0, 2685 CFG6_FRAME, 2686 IDS_NOTECOLSORT1TEXT, 2687 Cfg8DlgProc, 2688 0, 2689 0, 2690 0, 2691 CFGA_FRAME, 2692 IDS_NOTEARCHIVER1TEXT, 2693 CfgADlgProc, 2694 0, 2695 0, 2696 0, 2697 CFGT_FRAME, 2698 IDS_NOTETREE1TEXT, 2699 CfgTDlgProc, 2700 0, 2701 0, 2702 0, 2703 CFGTS_FRAME, 2704 IDS_NOTETREESORT1TEXT, 2705 CfgTSDlgProc, 2706 0, 2707 0, 2708 0, 2709 CFGV_FRAME, 2710 IDS_NOTEVIEWERS1TEXT, 2711 CfgVDlgProc, 2712 0, 2713 0, 2714 0, 2715 CFGC_FRAME, 2716 IDS_NOTECOMPARE1TEXT, 2717 CfgCDlgProc, 2718 0, 2719 0, 2720 0, 2721 CFGM_FRAME, 2722 IDS_NOTEMONOLITHIC1TEXT, 2723 CfgMDlgProc, 2724 0, 2725 0, 2726 0, 2727 CFGG_FRAME, 2728 IDS_NOTEGENERAL1TEXT, 2729 CfgGDlgProc, 2730 0, 2731 0, 2732 0, 2733 CFGS_FRAME, 2734 IDS_NOTESCANNING1TEXT, 2735 CfgSDlgProc, 2736 0, 2737 0, 2738 0, 2739 CFGB_FRAME, 2740 IDS_NOTEBUBBLE1TEXT, 2741 CfgBDlgProc, 2742 0, 2743 0, 2744 0, 2745 CFG9_FRAME, 2746 IDS_NOTEQUICK1TEXT, 2747 Cfg9DlgProc, 2748 0, 2749 0, 2750 0, 2751 0, 2752 0, 2753 NULL, 2754 0, 2755 0, 2756 0 2757 }; 2758 2759 MRESULT EXPENTRY CfgDlgProc(HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2) 1846 2760 { 1847 static MASK mask; 1848 1849 switch(msg) { 1850 case WM_INITDLG: 1851 WinSendDlgItemMsg(hwnd,CFG5_FILTER,EM_SETTEXTLIMIT, 1852 MPFROM2SHORT(CCHMAXPATH,0),MPVOID); 1853 PostMsg(hwnd,UM_UNDO,MPVOID,MPVOID); 1854 break; 1855 1856 case UM_FOCUSME: 1857 WinSetFocus(HWND_DESKTOP, 1858 WinWindowFromID(hwnd,CFG5_MINIICONS)); 1859 return 0; 1860 1861 case UM_UNDO: 1862 WinCheckButton(hwnd,CFG5_EXTERNALCOLLECTOR,fExternalCollector); 1863 { 1864 ULONG flWindowAttr = 0,size = sizeof(ULONG); 1865 1866 if(!PrfQueryProfileData(fmprof, 1867 appname, 1868 "CollectorflWindowAttr", 1869 &flWindowAttr, 1870 &size)) 1871 flWindowAttr = (CV_NAME | CA_DETAILSVIEWTITLES | CV_MINI | CV_FLOW); 1872 if(flWindowAttr & CV_ICON) 1873 WinCheckButton(hwnd,CFG5_ICON,TRUE); 1874 if(flWindowAttr & CV_NAME) 1875 WinCheckButton(hwnd,CFG5_NAME,TRUE); 1876 if(flWindowAttr & CV_TEXT) 1877 WinCheckButton(hwnd,CFG5_TEXT,TRUE); 1878 if(flWindowAttr & CV_DETAIL) 1879 WinCheckButton(hwnd,CFG5_DETAIL,TRUE); 1880 if(flWindowAttr & CV_MINI) 1881 WinCheckButton(hwnd,CFG5_MINIICONS,TRUE); 1882 if(flWindowAttr & CA_DETAILSVIEWTITLES) 1883 WinCheckButton(hwnd,CFG5_SHOWTITLES,TRUE); 1884 memset(&mask,0,sizeof(mask)); 1885 mask.attrFile = FILE_DIRECTORY | FILE_ARCHIVED | FILE_HIDDEN | 1886 FILE_SYSTEM | FILE_NORMAL | FILE_READONLY; 1887 size = sizeof(MASK); 1888 if(PrfQueryProfileData(fmprof, 1889 appname, 1890 "CollectorFilter", 1891 &mask, 1892 &size)) { 1893 SetMask(NULL,&mask); 1894 } 1895 if(!mask.attrFile) 1896 mask.attrFile = FILE_DIRECTORY | FILE_ARCHIVED | FILE_HIDDEN | 1897 FILE_SYSTEM | FILE_NORMAL | FILE_READONLY; 1898 strcpy(mask.prompt, 1899 GetPString(IDS_DEFCOLFILTERTITLETEXT)); 1900 WinSetDlgItemText(hwnd,CFG5_FILTER,mask.szMask); 1901 } 1902 { 1903 DIRCNRDATA dcd; 1904 1905 memset(&dcd,0,sizeof(dcd)); 1906 LoadDetailsSwitches("Collector", 1907 &dcd); 1908 WinCheckButton(hwnd,CFG5_SHOWLNAMES,dcd.detailslongname); 1909 WinCheckButton(hwnd,CFG5_SHOWSUBJECT,dcd.detailssubject); 1910 WinCheckButton(hwnd,CFG5_SHOWEAS,dcd.detailsea); 1911 WinCheckButton(hwnd,CFG5_SHOWSIZE,dcd.detailssize); 1912 WinCheckButton(hwnd,CFG5_SHOWICON,dcd.detailsicon); 1913 WinCheckButton(hwnd,CFG5_SHOWLWDATE,dcd.detailslwdate); 1914 WinCheckButton(hwnd,CFG5_SHOWLWTIME,dcd.detailslwtime); 1915 WinCheckButton(hwnd,CFG5_SHOWLADATE,dcd.detailsladate); 1916 WinCheckButton(hwnd,CFG5_SHOWLATIME,dcd.detailslatime); 1917 WinCheckButton(hwnd,CFG5_SHOWCRDATE,dcd.detailscrdate); 1918 WinCheckButton(hwnd,CFG5_SHOWCRTIME,dcd.detailscrtime); 1919 WinCheckButton(hwnd,CFG5_SHOWATTR,dcd.detailsattr); 1920 } 1921 return 0; 1922 1923 case UM_SETUP5: 1924 if(WinDlgBox(HWND_DESKTOP,hwndNotebook,PickMaskDlgProc, 1925 FM3ModHandle,MSK_FRAME,MPFROMP(&mask))) { 1926 SetMask(NULL,&mask); 1927 WinSetDlgItemText(hwnd,CFG5_FILTER,mask.szMask); 1928 } 1929 return 0; 1930 1931 case WM_CONTROL: 1932 switch(SHORT1FROMMP(mp1)) { 1933 case CFG5_FILTER: 1934 switch(SHORT2FROMMP(mp1)) { 1935 case EN_SETFOCUS: 1936 PostMsg(hwnd, 1937 UM_FOCUSME, 1938 MPVOID, 1939 MPVOID); 1940 PostMsg(hwnd, 1941 UM_SETUP5, 1942 MPVOID, 1943 MPVOID); 1944 break; 1945 } 1946 break; 1947 } 1948 return 0; 1949 1950 case WM_COMMAND: 1951 switch(SHORT1FROMMP(mp1)) { 1952 case IDM_UNDO: 1953 PostMsg(hwnd,UM_UNDO,MPVOID,MPVOID); 1954 break; 1955 1956 case DID_CANCEL: 1957 WinSendMsg(hwnd,UM_UNDO,MPVOID,MPVOID); 1958 1959 case DID_OK: 1960 PostMsg((HWND)WinQueryWindowULong(hwnd,QWL_USER),msg,mp1,mp2); 1961 break; 1962 1963 case IDM_HELP: 1964 if(hwndHelp) 1965 WinSendMsg(hwndHelp,HM_DISPLAY_HELP, 1966 MPFROM2SHORT(HELP_CFG7,0), 1967 MPFROMSHORT(HM_RESOURCEID)); 1968 break; 1969 } 1970 return 0; 1971 1972 case WM_CLOSE: 1973 fExternalCollector = WinQueryButtonCheckstate(hwnd, 1974 CFG5_EXTERNALCOLLECTOR); 1975 PrfWriteProfileData(fmprof,FM3Str,"ExternalCollector", 1976 &fExternalCollector,sizeof(BOOL)); 1977 { 1978 ULONG flWindowAttr = 0; 1979 1980 if(WinQueryButtonCheckstate(hwnd,CFG5_ICON)) 1981 flWindowAttr |= CV_ICON; 1982 if(WinQueryButtonCheckstate(hwnd,CFG5_NAME)) 1983 flWindowAttr |= CV_NAME; 1984 if(WinQueryButtonCheckstate(hwnd,CFG5_TEXT)) 1985 flWindowAttr |= CV_TEXT; 1986 if(WinQueryButtonCheckstate(hwnd,CFG5_DETAIL)) 1987 flWindowAttr |= CV_DETAIL; 1988 if(WinQueryButtonCheckstate(hwnd,CFG5_MINIICONS)) 1989 flWindowAttr |= CV_MINI; 1990 if(WinQueryButtonCheckstate(hwnd,CFG5_SHOWTITLES)) 1991 flWindowAttr |= CA_DETAILSVIEWTITLES; 1992 flWindowAttr |= CV_FLOW; 1993 PrfWriteProfileData(fmprof,appname,"CollectorflWindowAttr", 1994 &flWindowAttr,sizeof(ULONG)); 1995 } 1996 { 1997 DIRCNRDATA dcd; 1998 1999 memset(&dcd,0,sizeof(dcd)); 2000 dcd.detailslongname = WinQueryButtonCheckstate(hwnd,CFG5_SHOWLNAMES); 2001 PrfWriteProfileData(fmprof,appname,"Collector.DetailsLongname", 2002 &dcd.detailslongname,sizeof(BOOL)); 2003 dcd.detailssubject = WinQueryButtonCheckstate(hwnd,CFG5_SHOWSUBJECT); 2004 PrfWriteProfileData(fmprof,appname,"Collector.DetailsSubject", 2005 &dcd.detailssubject,sizeof(BOOL)); 2006 dcd.detailsea = WinQueryButtonCheckstate(hwnd,CFG5_SHOWEAS); 2007 PrfWriteProfileData(fmprof,appname,"Collector.DetailsEA", 2008 &dcd.detailsea,sizeof(BOOL)); 2009 dcd.detailssize = WinQueryButtonCheckstate(hwnd,CFG5_SHOWSIZE); 2010 PrfWriteProfileData(fmprof,appname,"Collector.DetailsSize", 2011 &dcd.detailssize,sizeof(BOOL)); 2012 dcd.detailsicon = WinQueryButtonCheckstate(hwnd,CFG5_SHOWICON); 2013 PrfWriteProfileData(fmprof,appname,"Collector.DetailsIcon", 2014 &dcd.detailsicon,sizeof(BOOL)); 2015 dcd.detailslwdate = WinQueryButtonCheckstate(hwnd,CFG5_SHOWLWDATE); 2016 PrfWriteProfileData(fmprof,appname,"Collector.DetailsLWDate", 2017 &dcd.detailslwdate,sizeof(BOOL)); 2018 dcd.detailslwtime = WinQueryButtonCheckstate(hwnd,CFG5_SHOWLWTIME); 2019 PrfWriteProfileData(fmprof,appname,"Collector.DetailsLWTime", 2020 &dcd.detailslwtime,sizeof(BOOL)); 2021 dcd.detailsladate = WinQueryButtonCheckstate(hwnd,CFG5_SHOWLADATE); 2022 PrfWriteProfileData(fmprof,appname,"Collector.DetailsLADate", 2023 &dcd.detailsladate,sizeof(BOOL)); 2024 dcd.detailslatime = WinQueryButtonCheckstate(hwnd,CFG5_SHOWLATIME); 2025 PrfWriteProfileData(fmprof,appname,"Collector.DetailsLATime", 2026 &dcd.detailslatime,sizeof(BOOL)); 2027 dcd.detailscrdate = WinQueryButtonCheckstate(hwnd,CFG5_SHOWCRDATE); 2028 PrfWriteProfileData(fmprof,appname,"Collector.DetailsCRDate", 2029 &dcd.detailscrdate,sizeof(BOOL)); 2030 dcd.detailscrtime = WinQueryButtonCheckstate(hwnd,CFG5_SHOWCRTIME); 2031 PrfWriteProfileData(fmprof,appname,"Collector.DetailsCRTime", 2032 &dcd.detailscrtime,sizeof(BOOL)); 2033 dcd.detailsattr = WinQueryButtonCheckstate(hwnd,CFG5_SHOWATTR); 2034 PrfWriteProfileData(fmprof,appname,"Collector.DetailsAttr", 2035 &dcd.detailsattr,sizeof(BOOL)); 2036 *mask.prompt = 0; 2037 PrfWriteProfileData(fmprof, 2038 appname, 2039 "CollectorFilter", 2040 &mask, 2041 sizeof(MASK)); 2042 } 2043 break; 2761 HWND hwndTemp; 2762 USHORT attrib = BKA_FIRST; 2763 INT x; 2764 ULONG pageID; 2765 2766 switch (msg) { 2767 case WM_INITDLG: 2768 hwndNotebook = hwnd; 2769 if (mp2) { 2770 if (!strcmp((CHAR *) mp2, "FM/4")) { 2771 x = 0; 2772 while (np[x].frameid && np[x].frameid != CFG9_FRAME) 2773 x++; 2774 np[x].frameid = 0; 2775 } 2776 } 2777 PostMsg(hwnd, UM_SETUP, MPVOID, MPVOID); 2778 WinSendDlgItemMsg(hwnd, 2779 CFG_NOTEBOOK, 2780 BKM_SETDIMENSIONS, 2781 MPFROM2SHORT(82, 24), MPFROMLONG(BKA_MAJORTAB)); 2782 WinSendDlgItemMsg(hwnd, 2783 CFG_NOTEBOOK, 2784 BKM_SETDIMENSIONS, 2785 MPFROM2SHORT(20, 20), MPFROMLONG(BKA_PAGEBUTTON)); 2786 WinSendDlgItemMsg(hwnd, 2787 CFG_NOTEBOOK, 2788 BKM_SETDIMENSIONS, 2789 MPFROM2SHORT(0, 0), MPFROMLONG(BKA_MINORTAB)); 2790 for (x = 0; np[x].frameid; x++) { 2791 hwndTemp = WinLoadDlg(HWND_DESKTOP, 2792 HWND_DESKTOP, 2793 np[x].proc, FM3ModHandle, np[x].frameid, MPVOID); 2794 if (hwndTemp) { 2795 WinSetWindowULong(hwndTemp, QWL_USER, (ULONG) hwnd); 2796 np[x].hwnd = hwndTemp; 2797 np[x].pageID = (ULONG) WinSendDlgItemMsg(hwnd, 2798 CFG_NOTEBOOK, 2799 BKM_INSERTPAGE, 2800 MPFROMLONG(BKA_FIRST), 2801 MPFROM2SHORT(BKA_AUTOPAGESIZE 2802 | 2803 BKA_STATUSTEXTON 2804 | BKA_MAJOR, 2805 attrib)); 2806 attrib = BKA_LAST; 2807 WinSendDlgItemMsg(hwnd, 2808 CFG_NOTEBOOK, 2809 BKM_SETPAGEWINDOWHWND, 2810 MPFROMLONG(np[x].pageID), MPFROMLONG(np[x].hwnd)); 2811 WinSendDlgItemMsg(hwnd, 2812 CFG_NOTEBOOK, 2813 BKM_SETTABTEXT, 2814 MPFROMLONG(np[x].pageID), 2815 MPFROMP(GetPString(np[x].title))); 2816 WinSendDlgItemMsg(hwnd, 2817 CFG_NOTEBOOK, 2818 BKM_SETSTATUSLINETEXT, 2819 MPFROMLONG(np[x].pageID), 2820 MPFROMP(GetPString(np[x].title + 1))); 2821 } 2822 } 2823 /* see if we've been asked to display quick cfg page */ 2824 if (!mp2 || 2825 strcmp((CHAR *) mp2, "First Time") || 2826 !x || !np[x - 1].hwnd || !np[x - 1].pageID) { 2827 PostMsg(WinWindowFromID(hwnd, CFG_NOTEBOOK), 2828 BKM_TURNTOPAGE, MPFROMLONG(np[0].pageID), MPVOID); 2829 } 2830 else { 2831 PostMsg(MainObjectHwnd, UM_SETDIR, MPFROMLONG(1L), MPVOID); 2832 PostMsg(WinWindowFromID(hwnd, CFG_NOTEBOOK), 2833 BKM_TURNTOPAGE, MPFROMLONG(np[x - 1].pageID), MPVOID); 2834 PostMsg(hwnd, UM_FOCUSME, MPFROMLONG(np[x - 1].hwnd), MPVOID); 2835 PostMsg(np[x - 1].hwnd, WM_COMMAND, MPFROM2SHORT(IDM_HELP, 0), MPVOID); 2836 } 2837 break; 2838 2839 case UM_FOCUSME: 2840 if (mp1) 2841 WinSetActiveWindow(HWND_DESKTOP, (HWND) mp1); 2842 break; 2843 2844 case WM_CONTROL: 2845 switch (SHORT1FROMMP(mp1)) { 2846 case CFG_NOTEBOOK: 2847 switch (SHORT2FROMMP(mp1)) { 2848 case BKN_PAGESELECTED: 2849 if (mp2) { 2850 2851 PAGESELECTNOTIFY *psn = mp2; 2852 2853 WinSendDlgItemMsg(hwnd, 2854 CFG_NOTEBOOK, 2855 BKM_QUERYPAGEWINDOWHWND, 2856 MPFROMLONG(psn->ulPageIdNew), MPVOID); 2857 } 2858 break; 2859 } 2860 break; 2861 } 2862 return 0; 2863 2864 case UM_SETUP: 2865 WinSetActiveWindow(HWND_DESKTOP, WinQueryWindow(hwnd, QW_OWNER)); 2866 WinSetActiveWindow(HWND_DESKTOP, hwnd); 2867 return 0; 2868 2869 case WM_COMMAND: 2870 switch (SHORT1FROMMP(mp1)) { 2871 case DID_OK: 2872 WinDismissDlg(hwnd, 1); 2873 break; 2874 2875 case DID_CANCEL: 2876 // Tell current page to undo itself in case changed and still alive 2877 pageID = (ULONG) WinSendDlgItemMsg(hwnd, 2878 CFG_NOTEBOOK, 2879 BKM_QUERYPAGEID, 2880 MPFROMLONG(0), 2881 MPFROM2SHORT(BKA_TOP, 0)); 2882 hwndTemp = (HWND) WinSendDlgItemMsg(hwnd, 2883 CFG_NOTEBOOK, 2884 BKM_QUERYPAGEWINDOWHWND, 2885 MPFROMLONG(pageID), MPVOID); 2886 if (hwndTemp) 2887 WinSendMsg(hwndTemp, UM_UNDO, MPVOID, MPVOID); 2888 2889 WinDismissDlg(hwnd, 0); 2890 break; 2891 2892 case IDM_HELP: /* relay message to appropriate page's window */ 2893 pageID = (ULONG) WinSendDlgItemMsg(hwnd, 2894 CFG_NOTEBOOK, 2895 BKM_QUERYPAGEID, 2896 MPFROMLONG(0), 2897 MPFROM2SHORT(BKA_TOP, 0)); 2898 hwndTemp = (HWND) WinSendDlgItemMsg(hwnd, 2899 CFG_NOTEBOOK, 2900 BKM_QUERYPAGEWINDOWHWND, 2901 MPFROMLONG(pageID), MPVOID); 2902 if (hwndTemp) 2903 PostMsg(hwndTemp, WM_COMMAND, MPFROM2SHORT(IDM_HELP, 0), MPVOID); 2904 break; 2905 } 2906 return 0; 2907 2908 case UM_UNDO: 2909 for (x = 0; np[x].frameid; x++) { 2910 if (np[x].hwnd) 2911 WinSendMsg(np[x].hwnd, UM_UNDO, MPVOID, MPVOID); 2912 } 2913 break; 2914 2915 case WM_DESTROY: 2916 if (np[0].frameid) { 2917 for (x = 1; np[x].frameid; x++) { 2918 if (np[x].hwnd) { 2919 WinSendMsg(np[x].hwnd, WM_CLOSE, MPVOID, MPVOID); 2920 np[x].hwnd = (HWND) 0; 2921 np[x].pageID = 0; 2922 } 2923 } 2924 WinSendMsg(np[0].hwnd, WM_CLOSE, MPVOID, MPVOID); 2925 np[0].hwnd = (HWND) 0; 2926 np[0].pageID = 0; 2927 } 2928 hwndNotebook = (HWND) 0; 2929 break; 2044 2930 } 2045 return WinDefDlgProc(hwnd, msg,mp1,mp2);2931 return WinDefDlgProc(hwnd, msg, mp1, mp2); 2046 2932 } 2047 2048 2049 MRESULT EXPENTRY Cfg8DlgProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2)2050 {2051 switch(msg) {2052 case WM_INITDLG:2053 PostMsg(hwnd,UM_UNDO,MPVOID,MPVOID);2054 break;2055 2056 case UM_UNDO:2057 WinCheckButton(hwnd,CFG6_SORTFIRST,FALSE);2058 WinCheckButton(hwnd,CFG6_SORTLAST,FALSE);2059 WinCheckButton(hwnd,CFG6_SORTSIZE,FALSE);2060 WinCheckButton(hwnd,CFG6_SORTEASIZE,FALSE);2061 WinCheckButton(hwnd,CFG6_SORTLWDATE,FALSE);2062 WinCheckButton(hwnd,CFG6_SORTLADATE,FALSE);2063 WinCheckButton(hwnd,CFG6_SORTCRDATE,FALSE);2064 WinCheckButton(hwnd,CFG6_SORTNAME,FALSE);2065 WinCheckButton(hwnd,CFG6_SORTDIRSFIRST,FALSE);2066 WinCheckButton(hwnd,CFG6_SORTDIRSLAST,FALSE);2067 WinCheckButton(hwnd,CFG6_SORTREVERSE,FALSE);2068 if(CollectorsortFlags & SORT_FIRSTEXTENSION)2069 WinCheckButton(hwnd,CFG6_SORTFIRST,TRUE);2070 else if(CollectorsortFlags & SORT_LASTEXTENSION)2071 WinCheckButton(hwnd,CFG6_SORTLAST,TRUE);2072 else if(CollectorsortFlags & SORT_SIZE)2073 WinCheckButton(hwnd,CFG6_SORTSIZE,TRUE);2074 else if(CollectorsortFlags & SORT_EASIZE)2075 WinCheckButton(hwnd,CFG6_SORTEASIZE,TRUE);2076 else if(CollectorsortFlags & SORT_LWDATE)2077 WinCheckButton(hwnd,CFG6_SORTLWDATE,TRUE);2078 else if(CollectorsortFlags & SORT_LADATE)2079 WinCheckButton(hwnd,CFG6_SORTLADATE,TRUE);2080 else if(CollectorsortFlags & SORT_CRDATE)2081 WinCheckButton(hwnd,CFG6_SORTCRDATE,TRUE);2082 else if(CollectorsortFlags & SORT_FILENAME)2083 WinCheckButton(hwnd,CFG6_SORTFILENAME,TRUE);2084 else2085 WinCheckButton(hwnd,CFG6_SORTNAME,TRUE);2086 if(CollectorsortFlags & SORT_DIRSFIRST)2087 WinCheckButton(hwnd,CFG6_SORTDIRSFIRST,TRUE);2088 else if(CollectorsortFlags & SORT_DIRSLAST)2089 WinCheckButton(hwnd,CFG6_SORTDIRSLAST,TRUE);2090 if(CollectorsortFlags & SORT_REVERSE)2091 WinCheckButton(hwnd,CFG6_SORTREVERSE,TRUE);2092 return 0;2093 2094 case WM_CONTROL:2095 switch(SHORT1FROMMP(mp1)) {2096 case CFG6_SORTDIRSFIRST:2097 case CFG6_SORTDIRSLAST:2098 {2099 BOOL temp;2100 2101 temp = WinQueryButtonCheckstate(hwnd,SHORT1FROMMP(mp1));2102 if(temp) {2103 switch(SHORT1FROMMP(mp1)) {2104 case CFG6_SORTDIRSFIRST:2105 WinCheckButton(hwnd,CFG6_SORTDIRSLAST,FALSE);2106 break;2107 case CFG6_SORTDIRSLAST:2108 WinCheckButton(hwnd,CFG6_SORTDIRSFIRST,FALSE);2109 break;2110 }2111 }2112 }2113 break;2114 }2115 return 0;2116 2117 case WM_COMMAND:2118 switch(SHORT1FROMMP(mp1)) {2119 case IDM_UNDO:2120 PostMsg(hwnd,UM_UNDO,MPVOID,MPVOID);2121 break;2122 2123 case DID_CANCEL:2124 WinSendMsg(hwnd,UM_UNDO,MPVOID,MPVOID);2125 2126 case DID_OK:2127 PostMsg((HWND)WinQueryWindowULong(hwnd,QWL_USER),msg,mp1,mp2);2128 break;2129 2130 case IDM_HELP:2131 if(hwndHelp)2132 WinSendMsg(hwndHelp,HM_DISPLAY_HELP,2133 MPFROM2SHORT(HELP_CFG8,0),2134 MPFROMSHORT(HM_RESOURCEID));2135 break;2136 }2137 return 0;2138 2139 case WM_CLOSE:2140 CollectorsortFlags = 0;2141 if(WinQueryButtonCheckstate(hwnd,CFG6_SORTFILENAME))2142 CollectorsortFlags |= SORT_FILENAME;2143 if(WinQueryButtonCheckstate(hwnd,CFG6_SORTSIZE))2144 CollectorsortFlags |= SORT_SIZE;2145 if(WinQueryButtonCheckstate(hwnd,CFG6_SORTEASIZE))2146 CollectorsortFlags |= SORT_EASIZE;2147 if(WinQueryButtonCheckstate(hwnd,CFG6_SORTFIRST))2148 CollectorsortFlags |= SORT_FIRSTEXTENSION;2149 if(WinQueryButtonCheckstate(hwnd,CFG6_SORTLAST))2150 CollectorsortFlags |= SORT_LASTEXTENSION;2151 if(WinQueryButtonCheckstate(hwnd,CFG6_SORTLWDATE))2152 CollectorsortFlags |= SORT_LWDATE;2153 if(WinQueryButtonCheckstate(hwnd,CFG6_SORTLADATE))2154 CollectorsortFlags |= SORT_LADATE;2155 if(WinQueryButtonCheckstate(hwnd,CFG6_SORTCRDATE))2156 CollectorsortFlags |= SORT_CRDATE;2157 if(WinQueryButtonCheckstate(hwnd,CFG6_SORTDIRSFIRST))2158 CollectorsortFlags |= SORT_DIRSFIRST;2159 if(WinQueryButtonCheckstate(hwnd,CFG6_SORTDIRSLAST))2160 CollectorsortFlags |= SORT_DIRSLAST;2161 if(WinQueryButtonCheckstate(hwnd,CFG6_SORTREVERSE))2162 CollectorsortFlags |= SORT_REVERSE;2163 PrfWriteProfileData(fmprof,2164 appname,2165 "CollectorSort",2166 &CollectorsortFlags,2167 sizeof(INT));2168 break;2169 }2170 return WinDefDlgProc(hwnd,msg,mp1,mp2);2171 }2172 2173 2174 MRESULT EXPENTRY Cfg9DlgProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2)2175 {2176 switch(msg) {2177 case WM_INITDLG:2178 break;2179 2180 case WM_COMMAND:2181 switch(SHORT1FROMMP(mp1)) {2182 case IDM_HELP:2183 if(hwndHelp)2184 WinSendMsg(hwndHelp,HM_DISPLAY_HELP,2185 MPFROM2SHORT(HELP_CFG9,0),2186 MPFROMSHORT(HM_RESOURCEID));2187 return 0;2188 case CFG9_MAXIMUMUI:2189 if(hwndMain) {2190 if(MenuInvisible)2191 WinSendMsg(hwndMain,WM_COMMAND,2192 MPFROM2SHORT(IDM_HIDEMENU,0),MPVOID);2193 if(!fAutoView)2194 WinSendMsg(hwndMain,WM_COMMAND,2195 MPFROM2SHORT(IDM_AUTOVIEW,0),MPVOID);2196 if(!fDrivebar)2197 WinSendMsg(hwndMain,WM_COMMAND,2198 MPFROM2SHORT(IDM_DRIVEBAR,0),MPVOID);2199 if(!fToolbar)2200 WinSendMsg(hwndMain,WM_COMMAND,2201 MPFROM2SHORT(IDM_TOOLBAR,0),MPVOID);2202 if(!fMoreButtons)2203 WinSendMsg(hwndMain,WM_COMMAND,2204 MPFROM2SHORT(IDM_MOREBUTTONS,0),MPVOID);2205 if(!fUserComboBox)2206 WinSendMsg(hwndMain,WM_COMMAND,2207 MPFROM2SHORT(IDM_USERLIST,0),MPVOID);2208 }2209 return 0;2210 case CFG9_MINIMUMUI:2211 if(hwndMain) {2212 if(!MenuInvisible)2213 WinSendMsg(hwndMain,WM_COMMAND,2214 MPFROM2SHORT(IDM_HIDEMENU,0),MPVOID);2215 if(fAutoView)2216 WinSendMsg(hwndMain,WM_COMMAND,2217 MPFROM2SHORT(IDM_AUTOVIEW,0),MPVOID);2218 if(fToolbar)2219 WinSendMsg(hwndMain,WM_COMMAND,2220 MPFROM2SHORT(IDM_TOOLBAR,0),MPVOID);2221 if(fMoreButtons)2222 WinSendMsg(hwndMain,WM_COMMAND,MPFROM2SHORT(IDM_MOREBUTTONS,0),2223 MPVOID);2224 if(fUserComboBox)2225 WinSendMsg(hwndMain,WM_COMMAND,2226 MPFROM2SHORT(IDM_USERLIST,0),MPVOID);2227 saymsg(MB_ENTER | MB_ICONASTERISK,2228 hwnd,2229 GetPString(IDS_DONTFORGETTEXT),2230 GetPString(IDS_UNHIDEMENUWARNTEXT));2231 }2232 return 0;2233 case CFG9_MAXINFOPRETTY:2234 fLoadSubject = TRUE;2235 fLoadLongnames = TRUE;2236 fNoIconsFiles = FALSE;2237 fNoIconsDirs = FALSE;2238 fForceUpper = FALSE;2239 fForceLower = FALSE;2240 fArcStuffVisible = TRUE;2241 fSplitStatus = TRUE;2242 fDragndropDlg = TRUE;2243 {2244 ULONG flWindowAttr;2245 2246 flWindowAttr = CV_DETAIL | CV_FLOW | CA_DETAILSVIEWTITLES;2247 PrfWriteProfileData(fmprof,2248 appname,2249 "DirflWindowAttr",2250 &flWindowAttr,2251 sizeof(ULONG));2252 PrfWriteProfileData(fmprof,2253 appname,2254 "CollectorflWindowAttr",2255 &flWindowAttr,2256 sizeof(ULONG));2257 PrfWriteProfileData(fmprof,2258 appname,2259 "DirCnr.Fontnamesize",2260 NULL,2261 0);2262 PrfWriteProfileData(fmprof,2263 appname,2264 "Collector.Fontnamesize",2265 NULL,2266 0);2267 }2268 detailslongname = TRUE;2269 detailssubject = TRUE;2270 detailsea = TRUE;2271 detailssize = TRUE;2272 detailsicon = TRUE;2273 detailslwdate = TRUE;2274 detailslwtime = TRUE;2275 detailsladate = TRUE;2276 detailslatime = TRUE;2277 detailscrdate = TRUE;2278 detailscrtime = TRUE;2279 detailsattr = TRUE;2280 if(hwndTree) {2281 2282 CNRINFO cnri;2283 ULONG flWindowAttr = CV_TREE | CV_ICON |2284 CV_FLOW | CA_TREELINE;2285 2286 memset(&cnri,0,sizeof(cnri));2287 cnri.cb = sizeof(cnri);2288 WinSendMsg(WinWindowFromID(WinWindowFromID(hwndTree,FID_CLIENT),TREE_CNR),2289 CM_QUERYCNRINFO,MPFROMP(&cnri),MPFROMLONG(sizeof(cnri)));2290 cnri.flWindowAttr = flWindowAttr;2291 WinSendMsg(WinWindowFromID(WinWindowFromID(hwndTree,FID_CLIENT),TREE_CNR),2292 CM_SETCNRINFO,MPFROMP(&cnri),MPFROMLONG(CMA_FLWINDOWATTR));2293 }2294 break;2295 2296 case CFG9_MAXINFOPLAIN:2297 fLoadSubject = TRUE;2298 fLoadLongnames = TRUE;2299 fNoIconsFiles = TRUE;2300 fNoIconsDirs = TRUE;2301 fForceUpper = FALSE;2302 fForceLower = FALSE;2303 fArcStuffVisible = TRUE;2304 fSplitStatus = TRUE;2305 fDragndropDlg = TRUE;2306 {2307 ULONG flWindowAttr;2308 2309 flWindowAttr = CV_DETAIL | CV_FLOW | CV_MINI;2310 PrfWriteProfileData(fmprof,2311 appname,2312 "DirflWindowAttr",2313 &flWindowAttr,2314 sizeof(ULONG));2315 PrfWriteProfileData(fmprof,2316 appname,2317 "CollectorflWindowAttr",2318 &flWindowAttr,2319 sizeof(ULONG));2320 PrfWriteProfileData(fmprof,2321 appname,2322 "DirCnr.Fontnamesize",2323 GetPString(IDS_8HELVTEXT),2324 strlen(GetPString(IDS_8HELVTEXT)) + 1);2325 PrfWriteProfileData(fmprof,2326 appname,2327 "Collector.Fontnamesize",2328 GetPString(IDS_8HELVTEXT),2329 strlen(GetPString(IDS_8HELVTEXT)) + 1);2330 }2331 detailslongname = TRUE;2332 detailssubject = TRUE;2333 detailsea = TRUE;2334 detailssize = TRUE;2335 detailsicon = TRUE;2336 detailslwdate = TRUE;2337 detailslwtime = TRUE;2338 detailsladate = TRUE;2339 detailslatime = TRUE;2340 detailscrdate = TRUE;2341 detailscrtime = TRUE;2342 detailsattr = TRUE;2343 if(hwndTree) {2344 2345 CNRINFO cnri;2346 ULONG flWindowAttr = CV_TREE | CV_MINI | CV_TEXT |2347 CV_FLOW | CA_TREELINE;2348 2349 memset(&cnri,0,sizeof(cnri));2350 cnri.cb = sizeof(cnri);2351 WinSendMsg(WinWindowFromID(WinWindowFromID(hwndTree,FID_CLIENT),TREE_CNR),2352 CM_QUERYCNRINFO,MPFROMP(&cnri),MPFROMLONG(sizeof(cnri)));2353 cnri.flWindowAttr = flWindowAttr;2354 WinSendMsg(WinWindowFromID(WinWindowFromID(hwndTree,FID_CLIENT),TREE_CNR),2355 CM_SETCNRINFO,MPFROMP(&cnri),MPFROMLONG(CMA_FLWINDOWATTR));2356 }2357 break;2358 case CFG9_MAXFILENAMES:2359 if(hwndMain && fAutoView)2360 WinSendMsg(hwndMain,WM_COMMAND,2361 MPFROM2SHORT(IDM_AUTOVIEW,0),MPVOID);2362 fForceUpper = FALSE;2363 fForceLower = TRUE;2364 fExternalViewer = TRUE;2365 fExternalArcboxes = TRUE;2366 fExternalCollector = TRUE;2367 fExternalINIs = TRUE;2368 fLoadSubject = FALSE;2369 fLoadLongnames = FALSE;2370 fNoIconsFiles = TRUE;2371 fNoIconsDirs = TRUE;2372 {2373 ULONG flWindowAttr;2374 2375 flWindowAttr = CV_TEXT | CV_FLOW;2376 PrfWriteProfileData(fmprof,appname,"DirflWindowAttr",2377 &flWindowAttr,sizeof(ULONG));2378 PrfWriteProfileData(fmprof,appname,"CollectorflWindowAttr",2379 &flWindowAttr,sizeof(ULONG));2380 PrfWriteProfileData(fmprof,appname,"DirCnr.Fontnamesize",2381 GetPString(IDS_8HELVTEXT),2382 strlen(GetPString(IDS_8HELVTEXT)) + 1);2383 PrfWriteProfileData(fmprof,appname,"Collector.Fontnamesize",2384 GetPString(IDS_8HELVTEXT),2385 strlen(GetPString(IDS_8HELVTEXT)) + 1);2386 }2387 if(hwndTree) {2388 2389 CNRINFO cnri;2390 ULONG flWindowAttr = CV_TREE | CV_TEXT |2391 CV_FLOW | CA_TREELINE;2392 2393 memset(&cnri,0,sizeof(cnri));2394 cnri.cb = sizeof(cnri);2395 WinSendMsg(WinWindowFromID(WinWindowFromID(hwndTree,FID_CLIENT),TREE_CNR),2396 CM_QUERYCNRINFO,MPFROMP(&cnri),MPFROMLONG(sizeof(cnri)));2397 cnri.flWindowAttr = flWindowAttr;2398 WinSendMsg(WinWindowFromID(WinWindowFromID(hwndTree,FID_CLIENT),TREE_CNR),2399 CM_SETCNRINFO,MPFROMP(&cnri),MPFROMLONG(CMA_FLWINDOWATTR));2400 }2401 break;2402 case CFG9_MAXSPEED:2403 fLoadSubject = FALSE;2404 fLoadLongnames = FALSE;2405 fVerify = FALSE;2406 DosSetVerify(FALSE);2407 FilesToGet = 512;2408 fQuickArcFind = TRUE;2409 fMinOnOpen = TRUE;2410 fRealIdle = FALSE;2411 fNoIconsFiles = TRUE;2412 fNoIconsDirs = TRUE;2413 fSyncUpdates = FALSE;2414 fArcStuffVisible = FALSE;2415 fForceUpper = FALSE;2416 fForceLower = FALSE;2417 detailslongname = FALSE;2418 detailssubject = FALSE;2419 break;2420 2421 case CFG9_HECTOR:2422 fSwitchTree = TRUE;2423 fSwitchTreeOnFocus = FALSE;2424 fSwitchTreeExpand = TRUE;2425 fCollapseFirst = TRUE;2426 fSelectedAlways = FALSE;2427 fTileBackwards = FALSE;2428 fExternalViewer = FALSE;2429 fExternalArcboxes = TRUE;2430 fExternalCollector = FALSE;2431 fExternalINIs = TRUE;2432 fCopyDefault = FALSE;2433 fFollowTree = FALSE;2434 fLoadSubject = FALSE;2435 fLoadLongnames = FALSE;2436 fDontMoveMouse = FALSE;2437 fUnHilite = TRUE;2438 fUserListSwitches = TRUE;2439 fDCOpens = FALSE;2440 fLinkSetsIcon = FALSE;2441 fConfirmDelete = TRUE;2442 fSyncUpdates = FALSE;2443 fRealIdle = FALSE;2444 fNoIconsFiles = FALSE;2445 fNoIconsDirs = TRUE;2446 fFolderAfterExtract = FALSE;2447 fVerify = TRUE;2448 DosSetVerify(TRUE);2449 fForceUpper = FALSE;2450 fForceLower = TRUE;2451 fArcStuffVisible = FALSE;2452 fVTreeOpensWPS = FALSE;2453 fRemoteBug = FALSE;2454 fDragndropDlg = TRUE;2455 fMinOnOpen = FALSE;2456 fQuickArcFind = TRUE;2457 fNoRemovableScan = TRUE;2458 FilesToGet = 128;2459 fFreeTree = FALSE;2460 fSplitStatus = TRUE;2461 fAutoTile = TRUE;2462 fSaveState = TRUE;2463 fStartMinimized = FALSE;2464 fStartMaximized = FALSE;2465 fDataMin = FALSE;2466 ulCnrType = CCS_EXTENDSEL | CCS_MULTIPLESEL;2467 fNoTreeGap = TRUE;2468 {2469 ULONG flWindowAttr;2470 2471 flWindowAttr = (CV_NAME | CV_MINI | CV_FLOW |2472 CA_DETAILSVIEWTITLES);2473 PrfWriteProfileData(fmprof,appname,"DirflWindowAttr",2474 &flWindowAttr,sizeof(ULONG));2475 PrfWriteProfileData(fmprof,appname,"CollectorflWindowAttr",2476 &flWindowAttr,sizeof(ULONG));2477 }2478 detailslongname = FALSE;2479 detailssubject = FALSE;2480 detailsea = TRUE;2481 detailssize = TRUE;2482 detailsicon = TRUE;2483 detailslwdate = TRUE;2484 detailslwtime = TRUE;2485 detailsladate = FALSE;2486 detailslatime = FALSE;2487 detailscrdate = FALSE;2488 detailscrtime = FALSE;2489 detailsattr = TRUE;2490 sortFlags = SORT_FILENAME | SORT_DIRSFIRST;2491 CollectorsortFlags = SORT_FILENAME | SORT_DIRSFIRST;2492 if(hwndMain) {2493 2494 SWP swp;2495 2496 if(WinQueryWindowPos(hwndMain,&swp)) {2497 WinSetWindowPos(hwndTree,HWND_TOP,0,0,2498 swp.cx / 5,swp.cy,2499 SWP_MOVE | SWP_SIZE);2500 }2501 }2502 if(hwndMain) {2503 if(MenuInvisible)2504 WinSendMsg(hwndMain,WM_COMMAND,2505 MPFROM2SHORT(IDM_HIDEMENU,0),MPVOID);2506 if(fAutoView)2507 WinSendMsg(hwndMain,WM_COMMAND,2508 MPFROM2SHORT(IDM_AUTOVIEW,0),MPVOID);2509 if(fToolbar)2510 WinSendMsg(hwndMain,WM_COMMAND,2511 MPFROM2SHORT(IDM_TOOLBAR,0),MPVOID);2512 if(!fDrivebar)2513 WinSendMsg(hwndMain,WM_COMMAND,2514 MPFROM2SHORT(IDM_DRIVEBAR,0),MPVOID);2515 if(!fMoreButtons)2516 WinSendMsg(hwndMain,WM_COMMAND,MPFROM2SHORT(IDM_MOREBUTTONS,0),2517 MPVOID);2518 if(!fUserComboBox)2519 WinSendMsg(hwndMain,WM_COMMAND,2520 MPFROM2SHORT(IDM_USERLIST,0),MPVOID);2521 }2522 if(hwndTree) {2523 2524 CNRINFO cnri;2525 ULONG flWindowAttr = (CV_TREE | CV_TEXT | CV_MINI |2526 CV_FLOW | CA_TREELINE);2527 2528 memset(&cnri,0,sizeof(cnri));2529 cnri.cb = sizeof(cnri);2530 WinSendMsg(WinWindowFromID(WinWindowFromID(hwndTree,FID_CLIENT),TREE_CNR),2531 CM_QUERYCNRINFO,MPFROMP(&cnri),MPFROMLONG(sizeof(cnri)));2532 cnri.flWindowAttr = flWindowAttr;2533 WinSendMsg(WinWindowFromID(WinWindowFromID(hwndTree,FID_CLIENT),TREE_CNR),2534 CM_SETCNRINFO,MPFROMP(&cnri),MPFROMLONG(CMA_FLWINDOWATTR));2535 }2536 break;2537 2538 case CFG9_DEFAULT:2539 fSwitchTree = FALSE;2540 fSwitchTreeOnFocus = FALSE;2541 fSwitchTreeExpand = FALSE;2542 fCollapseFirst = FALSE;2543 fSelectedAlways = FALSE;2544 fTileBackwards = FALSE;2545 fExternalViewer = FALSE;2546 fExternalArcboxes = FALSE;2547 fExternalCollector = FALSE;2548 fExternalINIs = FALSE;2549 fCopyDefault = FALSE;2550 fFollowTree = FALSE;2551 fLoadSubject = TRUE;2552 fLoadLongnames = TRUE;2553 fDontMoveMouse = FALSE;2554 fUnHilite = TRUE;2555 fUserListSwitches = FALSE;2556 fDCOpens = FALSE;2557 fLinkSetsIcon = FALSE;2558 fConfirmDelete = TRUE;2559 fSyncUpdates = FALSE;2560 fRealIdle = FALSE;2561 fNoIconsFiles = FALSE;2562 fNoIconsDirs = FALSE;2563 fFolderAfterExtract = FALSE;2564 fVerify = TRUE;2565 fNoSearch = TRUE;2566 DosSetVerify(TRUE);2567 fForceUpper = FALSE;2568 fForceLower = TRUE;2569 fArcStuffVisible = TRUE;2570 fVTreeOpensWPS = FALSE;2571 fRemoteBug = TRUE;2572 fDragndropDlg = TRUE;2573 fMinOnOpen = FALSE;2574 fQuickArcFind = TRUE;2575 fNoRemovableScan = FALSE;2576 FilesToGet = 128;2577 fFreeTree = FALSE;2578 fSplitStatus = TRUE;2579 fAutoTile = TRUE;2580 fSaveState = TRUE;2581 fStartMinimized = FALSE;2582 fStartMaximized = FALSE;2583 fDataMin = TRUE;2584 ulCnrType = CCS_EXTENDSEL;2585 fNoTreeGap = FALSE;2586 {2587 ULONG flWindowAttr;2588 2589 flWindowAttr = (CV_NAME | CV_MINI | CV_FLOW |2590 CA_DETAILSVIEWTITLES);2591 PrfWriteProfileData(fmprof,appname,"DirflWindowAttr",2592 &flWindowAttr,sizeof(ULONG));2593 PrfWriteProfileData(fmprof,appname,"CollectorflWindowAttr",2594 &flWindowAttr,sizeof(ULONG));2595 }2596 detailslongname = FALSE;2597 detailssubject = FALSE;2598 detailsea = TRUE;2599 detailssize = TRUE;2600 detailsicon = TRUE;2601 detailslwdate = TRUE;2602 detailslwtime = TRUE;2603 detailsladate = FALSE;2604 detailslatime = FALSE;2605 detailscrdate = FALSE;2606 detailscrtime = FALSE;2607 detailsattr = TRUE;2608 sortFlags = SORT_FILENAME | SORT_DIRSFIRST;2609 CollectorsortFlags = SORT_FILENAME | SORT_DIRSFIRST;2610 if(hwndMain) {2611 2612 SWP swp;2613 2614 if(WinQueryWindowPos(hwndMain,&swp)) {2615 WinSetWindowPos(hwndTree,HWND_TOP,0,0,2616 swp.cx / 5,2617 swp.cy -2618 (WinQuerySysValue(HWND_DESKTOP,SV_CYICON) * 2),2619 SWP_MOVE | SWP_SIZE);2620 }2621 }2622 if(hwndTree) {2623 2624 CNRINFO cnri;2625 ULONG flWindowAttr = (CV_TREE | CV_TEXT |2626 CV_FLOW | CA_TREELINE |2627 CV_MINI);2628 2629 memset(&cnri,0,sizeof(cnri));2630 cnri.cb = sizeof(cnri);2631 WinSendMsg(WinWindowFromID(WinWindowFromID(hwndTree,FID_CLIENT),TREE_CNR),2632 CM_QUERYCNRINFO,MPFROMP(&cnri),MPFROMLONG(sizeof(cnri)));2633 cnri.flWindowAttr = flWindowAttr;2634 WinSendMsg(WinWindowFromID(WinWindowFromID(hwndTree,FID_CLIENT),TREE_CNR),2635 CM_SETCNRINFO,MPFROMP(&cnri),MPFROMLONG(CMA_FLWINDOWATTR));2636 }2637 break;2638 2639 case CFG9_WINDOZETHINK:2640 fTileBackwards = FALSE;2641 ulCnrType = CCS_MULTIPLESEL;2642 fFollowTree = TRUE;2643 fTopDir = FALSE;2644 fSwitchTree = TRUE;2645 fSwitchTreeOnFocus = FALSE;2646 fSwitchTreeExpand = TRUE;2647 fCollapseFirst = TRUE;2648 fDCOpens = FALSE;2649 {2650 ULONG flWindowAttr;2651 2652 flWindowAttr = CV_NAME | CV_FLOW | CA_DETAILSVIEWTITLES;2653 PrfWriteProfileData(fmprof,appname,"DirflWindowAttr",2654 &flWindowAttr,sizeof(ULONG));2655 PrfWriteProfileData(fmprof,appname,"CollectorflWindowAttr",2656 &flWindowAttr,sizeof(ULONG));2657 }2658 fLinkSetsIcon = FALSE;2659 fFreeTree = FALSE;2660 fNoTreeGap = TRUE;2661 fExternalArcboxes = TRUE;2662 fExternalViewer = TRUE;2663 fExternalCollector = TRUE;2664 fExternalINIs = TRUE;2665 fUserListSwitches = TRUE;2666 WinSendMsg((HWND)WinQueryWindowULong(hwnd,QWL_USER),UM_UNDO,MPVOID,MPVOID);2667 if(hwndTree) {2668 2669 CNRINFO cnri;2670 ULONG flWindowAttr = CV_TREE | CV_MINI | CV_ICON |2671 CV_FLOW | CA_TREELINE;2672 2673 memset(&cnri,0,sizeof(cnri));2674 cnri.cb = sizeof(cnri);2675 WinSendMsg(WinWindowFromID(WinWindowFromID(hwndTree,FID_CLIENT),TREE_CNR),2676 CM_QUERYCNRINFO,MPFROMP(&cnri),MPFROMLONG(sizeof(cnri)));2677 cnri.flWindowAttr = flWindowAttr;2678 WinSendMsg(WinWindowFromID(WinWindowFromID(hwndTree,FID_CLIENT),TREE_CNR),2679 CM_SETCNRINFO,MPFROMP(&cnri),MPFROMLONG(CMA_FLWINDOWATTR));2680 }2681 if(hwndMain) {2682 if(fAutoView)2683 WinSendMsg(hwndMain,WM_COMMAND,2684 MPFROM2SHORT(IDM_AUTOVIEW,0),MPVOID);2685 if(!fDrivebar)2686 WinSendMsg(hwndMain,WM_COMMAND,2687 MPFROM2SHORT(IDM_DRIVEBAR,0),MPVOID);2688 {2689 SWP swp;2690 2691 if(WinQueryWindowPos(hwndMain,&swp)) {2692 WinSetWindowPos(hwndTree,HWND_TOP,0,0,2693 swp.cx / 5,swp.cy,2694 SWP_MOVE | SWP_SIZE);2695 }2696 }2697 PostMsg(MainObjectHwnd,UM_RESTORE,MPVOID,MPFROMLONG(2L));2698 PostMsg(MainObjectHwnd,UM_SETDIR,MPFROMLONG(1L),MPVOID);2699 }2700 return 0;2701 2702 case CFG9_DOSTHINK:2703 fTileBackwards = TRUE;2704 ulCnrType = CCS_MULTIPLESEL;2705 fSwitchTree = TRUE;2706 fSwitchTreeOnFocus = FALSE;2707 fSwitchTreeExpand = TRUE;2708 fCollapseFirst = TRUE;2709 fFollowTree = TRUE;2710 fTopDir = FALSE;2711 if(hwndMain) {2712 if(!fTextTools)2713 WinSendMsg(hwndMain,WM_COMMAND,2714 MPFROM2SHORT(IDM_TEXTTOOLS,0),MPVOID);2715 }2716 {2717 ULONG flWindowAttr;2718 2719 flWindowAttr = CV_TEXT | CV_FLOW | CA_DETAILSVIEWTITLES;2720 PrfWriteProfileData(fmprof,appname,"DirflWindowAttr",2721 &flWindowAttr,sizeof(ULONG));2722 PrfWriteProfileData(fmprof,appname,"CollectorflWindowAttr",2723 &flWindowAttr,sizeof(ULONG));2724 }2725 if(hwndTree) {2726 2727 CNRINFO cnri;2728 ULONG flWindowAttr = CV_TREE | CV_TEXT |2729 CV_FLOW | CA_TREELINE;2730 2731 memset(&cnri,0,sizeof(cnri));2732 cnri.cb = sizeof(cnri);2733 WinSendMsg(WinWindowFromID(WinWindowFromID(hwndTree,FID_CLIENT),TREE_CNR),2734 CM_QUERYCNRINFO,MPFROMP(&cnri),MPFROMLONG(sizeof(cnri)));2735 cnri.flWindowAttr = flWindowAttr;2736 WinSendMsg(WinWindowFromID(WinWindowFromID(hwndTree,FID_CLIENT),TREE_CNR),2737 CM_SETCNRINFO,MPFROMP(&cnri),MPFROMLONG(CMA_FLWINDOWATTR));2738 }2739 /* intentional fallthru */2740 case CFG9_1X:2741 if(SHORT1FROMMP(mp1) == CFG9_1X) {2742 fTileBackwards = FALSE;2743 ulCnrType = CCS_MULTIPLESEL | CCS_EXTENDSEL;2744 fSwitchTree = FALSE;2745 fSwitchTreeOnFocus = FALSE;2746 fSwitchTreeExpand = FALSE;2747 fCollapseFirst = FALSE;2748 fFollowTree = FALSE;2749 fNoSearch = TRUE;2750 }2751 fAutoTile = TRUE;2752 fSaveState = TRUE;2753 fDCOpens = FALSE;2754 fLinkSetsIcon = FALSE;2755 fFreeTree = FALSE;2756 fNoTreeGap = TRUE;2757 fExternalArcboxes = TRUE;2758 fExternalViewer = TRUE;2759 fExternalCollector = TRUE;2760 fExternalINIs = TRUE;2761 fUserListSwitches = TRUE;2762 WinSendMsg((HWND)WinQueryWindowULong(hwnd,QWL_USER),UM_UNDO,MPVOID,MPVOID);2763 if(hwndTree) {2764 2765 CNRINFO cnri;2766 ULONG flWindowAttr = CV_TREE | CV_ICON |2767 CV_FLOW | CA_TREELINE;2768 2769 memset(&cnri,0,sizeof(cnri));2770 cnri.cb = sizeof(cnri);2771 WinSendMsg(WinWindowFromID(WinWindowFromID(hwndTree,FID_CLIENT),2772 TREE_CNR),2773 CM_QUERYCNRINFO,2774 MPFROMP(&cnri),2775 MPFROMLONG(sizeof(cnri)));2776 cnri.flWindowAttr = flWindowAttr;2777 WinSendMsg(WinWindowFromID(WinWindowFromID(hwndTree,FID_CLIENT),2778 TREE_CNR),2779 CM_SETCNRINFO,2780 MPFROMP(&cnri),2781 MPFROMLONG(CMA_FLWINDOWATTR));2782 }2783 if(hwndMain) {2784 if(fAutoView)2785 WinSendMsg(hwndMain,WM_COMMAND,2786 MPFROM2SHORT(IDM_AUTOVIEW,0),MPVOID);2787 if(fUserComboBox)2788 WinSendMsg(hwndMain,WM_COMMAND,2789 MPFROM2SHORT(IDM_USERLIST,0),MPVOID);2790 {2791 SWP swp;2792 2793 if(WinQueryWindowPos(hwndMain,&swp)) {2794 WinSetWindowPos(hwndTree,HWND_TOP,0,0,2795 swp.cx / 5,swp.cy,2796 SWP_MOVE | SWP_SIZE);2797 }2798 }2799 PostMsg(MainObjectHwnd,UM_RESTORE,MPVOID,MPFROMLONG(2L));2800 PostMsg(MainObjectHwnd,UM_SETDIR,MPVOID,MPVOID);2801 }2802 return 0;2803 2804 case DID_CANCEL:2805 WinSendMsg(hwnd,UM_UNDO,MPVOID,MPVOID);2806 2807 case DID_OK:2808 PostMsg((HWND)WinQueryWindowULong(hwnd,QWL_USER),msg,mp1,mp2);2809 return 0;2810 2811 default:2812 return 0;2813 }2814 PrfWriteProfileData(fmprof,appname,"DetailsLongname",2815 &detailslongname,sizeof(BOOL));2816 PrfWriteProfileData(fmprof,appname,"DirCnr.DetailsLongname",2817 &detailslongname,sizeof(BOOL));2818 PrfWriteProfileData(fmprof,appname,"DetailsSubject",2819 &detailssubject,sizeof(BOOL));2820 PrfWriteProfileData(fmprof,appname,"DirCnr.DetailsSubject",2821 &detailssubject,sizeof(BOOL));2822 PrfWriteProfileData(fmprof,appname,"DetailsEA",2823 &detailsea,sizeof(BOOL));2824 PrfWriteProfileData(fmprof,appname,"DirCnr.DetailsEA",2825 &detailsea,sizeof(BOOL));2826 PrfWriteProfileData(fmprof,appname,"DetailsSize",2827 &detailssize,sizeof(BOOL));2828 PrfWriteProfileData(fmprof,appname,"DirCnr.DetailsSize",2829 &detailssize,sizeof(BOOL));2830 PrfWriteProfileData(fmprof,appname,"DetailsIcon",2831 &detailsicon,sizeof(BOOL));2832 PrfWriteProfileData(fmprof,appname,"DirCnr.DetailsIcon",2833 &detailsicon,sizeof(BOOL));2834 PrfWriteProfileData(fmprof,appname,"DetailsLWDate",2835 &detailslwdate,sizeof(BOOL));2836 PrfWriteProfileData(fmprof,appname,"DirCnr.DetailsLWDate",2837 &detailslwdate,sizeof(BOOL));2838 PrfWriteProfileData(fmprof,appname,"DetailsLWTime",2839 &detailslwtime,sizeof(BOOL));2840 PrfWriteProfileData(fmprof,appname,"DirCnr.DetailsLWTime",2841 &detailslwtime,sizeof(BOOL));2842 PrfWriteProfileData(fmprof,appname,"DetailsLADate",2843 &detailsladate,sizeof(BOOL));2844 PrfWriteProfileData(fmprof,appname,"DirCnr.DetailsLADate",2845 &detailsladate,sizeof(BOOL));2846 PrfWriteProfileData(fmprof,appname,"DetailsLATime",2847 &detailslatime,sizeof(BOOL));2848 PrfWriteProfileData(fmprof,appname,"DirCnr.DetailsLATime",2849 &detailslatime,sizeof(BOOL));2850 PrfWriteProfileData(fmprof,appname,"DetailsCRDate",2851 &detailscrdate,sizeof(BOOL));2852 PrfWriteProfileData(fmprof,appname,"DirCnr.DetailsCRDate",2853 &detailscrdate,sizeof(BOOL));2854 PrfWriteProfileData(fmprof,appname,"DetailsCRTime",2855 &detailscrtime,sizeof(BOOL));2856 PrfWriteProfileData(fmprof,appname,"DirCnr.DetailsCRTime",2857 &detailscrtime,sizeof(BOOL));2858 PrfWriteProfileData(fmprof,appname,"DetailsAttr",2859 &detailsattr,sizeof(BOOL));2860 PrfWriteProfileData(fmprof,appname,"DirCnr.DetailsAttr",2861 &detailsattr,sizeof(BOOL));2862 if(hwndMain) {2863 if(SaveDirCnrState(hwndMain,2864 GetPString(IDS_FM2TEMPTEXT))) {2865 PostMsg(MainObjectHwnd,2866 UM_RESTORE,2867 MPVOID,2868 MPFROMLONG(2L));2869 PostMsg(hwndMain,2870 UM_RESTORE,2871 MPVOID,2872 MPVOID);2873 }2874 }2875 WinSendMsg((HWND)WinQueryWindowULong(hwnd,QWL_USER),2876 UM_UNDO,2877 MPVOID,2878 MPVOID);2879 return 0;2880 2881 case WM_CLOSE:2882 break;2883 }2884 return WinDefDlgProc(hwnd,msg,mp1,mp2);2885 }2886 2887 2888 NOTEPAGES np[] = {CFGD_FRAME,2889 IDS_NOTEDIRCNRS1TEXT,2890 CfgDDlgProc,2891 0,2892 0,2893 0,2894 CFG5_FRAME,2895 IDS_NOTEDIRVIEW1TEXT,2896 Cfg5DlgProc,2897 0,2898 0,2899 0,2900 CFG6_FRAME,2901 IDS_NOTEDIRSORT1TEXT,2902 Cfg6DlgProc,2903 0,2904 0,2905 0,2906 CFG5_FRAME,2907 IDS_NOTECOLVIEW1TEXT,2908 Cfg7DlgProc,2909 0,2910 0,2911 0,2912 CFG6_FRAME,2913 IDS_NOTECOLSORT1TEXT,2914 Cfg8DlgProc,2915 0,2916 0,2917 0,2918 CFGA_FRAME,2919 IDS_NOTEARCHIVER1TEXT,2920 CfgADlgProc,2921 0,2922 0,2923 0,2924 CFGT_FRAME,2925 IDS_NOTETREE1TEXT,2926 CfgTDlgProc,2927 0,2928 0,2929 0,2930 CFGTS_FRAME,2931 IDS_NOTETREESORT1TEXT,2932 CfgTSDlgProc,2933 0,2934 0,2935 0,2936 CFGV_FRAME,2937 IDS_NOTEVIEWERS1TEXT,2938 CfgVDlgProc,2939 0,2940 0,2941 0,2942 CFGC_FRAME,2943 IDS_NOTECOMPARE1TEXT,2944 CfgCDlgProc,2945 0,2946 0,2947 0,2948 CFGM_FRAME,2949 IDS_NOTEMONOLITHIC1TEXT,2950 CfgMDlgProc,2951 0,2952 0,2953 0,2954 CFGG_FRAME,2955 IDS_NOTEGENERAL1TEXT,2956 CfgGDlgProc,2957 0,2958 0,2959 0,2960 CFGS_FRAME,2961 IDS_NOTESCANNING1TEXT,2962 CfgSDlgProc,2963 0,2964 0,2965 0,2966 CFGB_FRAME,2967 IDS_NOTEBUBBLE1TEXT,2968 CfgBDlgProc,2969 0,2970 0,2971 0,2972 CFG9_FRAME,2973 IDS_NOTEQUICK1TEXT,2974 Cfg9DlgProc,2975 0,2976 0,2977 0,2978 0,2979 0,2980 NULL,2981 0,2982 0,2983 0};2984 2985 2986 MRESULT EXPENTRY CfgDlgProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2)2987 {2988 HWND hwndTemp;2989 USHORT attrib = BKA_FIRST;2990 INT x;2991 ULONG pageID;2992 2993 switch(msg)2994 {2995 case WM_INITDLG:2996 hwndNotebook = hwnd;2997 if(mp2) {2998 if(!strcmp((CHAR *)mp2,"FM/4")) {2999 x = 0;3000 while(np[x].frameid && np[x].frameid != CFG9_FRAME)3001 x++;3002 np[x].frameid = 0;3003 }3004 }3005 PostMsg(hwnd,3006 UM_SETUP,3007 MPVOID,3008 MPVOID);3009 WinSendDlgItemMsg(hwnd,3010 CFG_NOTEBOOK,3011 BKM_SETDIMENSIONS,3012 MPFROM2SHORT(82,24),3013 MPFROMLONG(BKA_MAJORTAB));3014 WinSendDlgItemMsg(hwnd,3015 CFG_NOTEBOOK,3016 BKM_SETDIMENSIONS,3017 MPFROM2SHORT(20,20),3018 MPFROMLONG(BKA_PAGEBUTTON));3019 WinSendDlgItemMsg(hwnd,3020 CFG_NOTEBOOK,3021 BKM_SETDIMENSIONS,3022 MPFROM2SHORT(0,0),3023 MPFROMLONG(BKA_MINORTAB));3024 for(x = 0;np[x].frameid;x++) {3025 hwndTemp = WinLoadDlg(HWND_DESKTOP,3026 HWND_DESKTOP,3027 np[x].proc,3028 FM3ModHandle,3029 np[x].frameid,3030 MPVOID);3031 if(hwndTemp) {3032 WinSetWindowULong(hwndTemp,3033 QWL_USER,3034 (ULONG)hwnd);3035 np[x].hwnd = hwndTemp;3036 np[x].pageID = (ULONG)WinSendDlgItemMsg(hwnd,3037 CFG_NOTEBOOK,3038 BKM_INSERTPAGE,3039 MPFROMLONG(BKA_FIRST),3040 MPFROM2SHORT(BKA_AUTOPAGESIZE |3041 BKA_STATUSTEXTON |3042 BKA_MAJOR,3043 attrib));3044 attrib = BKA_LAST;3045 WinSendDlgItemMsg(hwnd,3046 CFG_NOTEBOOK,3047 BKM_SETPAGEWINDOWHWND,3048 MPFROMLONG(np[x].pageID),3049 MPFROMLONG(np[x].hwnd));3050 WinSendDlgItemMsg(hwnd,3051 CFG_NOTEBOOK,3052 BKM_SETTABTEXT,3053 MPFROMLONG(np[x].pageID),3054 MPFROMP(GetPString(np[x].title)));3055 WinSendDlgItemMsg(hwnd,3056 CFG_NOTEBOOK,3057 BKM_SETSTATUSLINETEXT,3058 MPFROMLONG(np[x].pageID),3059 MPFROMP(GetPString(np[x].title + 1)));3060 }3061 }3062 /* see if we've been asked to display quick cfg page */3063 if(!mp2 ||3064 strcmp((CHAR *)mp2,"First Time") ||3065 !x ||3066 !np[x - 1].hwnd ||3067 !np[x - 1].pageID) {3068 PostMsg(WinWindowFromID(hwnd,CFG_NOTEBOOK),3069 BKM_TURNTOPAGE,3070 MPFROMLONG(np[0].pageID),3071 MPVOID);3072 }3073 else {3074 PostMsg(MainObjectHwnd,3075 UM_SETDIR,3076 MPFROMLONG(1L),3077 MPVOID);3078 PostMsg(WinWindowFromID(hwnd,CFG_NOTEBOOK),3079 BKM_TURNTOPAGE,3080 MPFROMLONG(np[x - 1].pageID),3081 MPVOID);3082 PostMsg(hwnd,3083 UM_FOCUSME,3084 MPFROMLONG(np[x - 1].hwnd),3085 MPVOID);3086 PostMsg(np[x - 1].hwnd,3087 WM_COMMAND,3088 MPFROM2SHORT(IDM_HELP,0),3089 MPVOID);3090 }3091 break;3092 3093 case UM_FOCUSME:3094 if(mp1)3095 WinSetActiveWindow(HWND_DESKTOP,3096 (HWND)mp1);3097 break;3098 3099 case WM_CONTROL:3100 switch(SHORT1FROMMP(mp1)) {3101 case CFG_NOTEBOOK:3102 switch(SHORT2FROMMP(mp1)) {3103 case BKN_PAGESELECTED:3104 if(mp2) {3105 3106 PAGESELECTNOTIFY *psn = mp2;3107 3108 WinSendDlgItemMsg(hwnd,3109 CFG_NOTEBOOK,3110 BKM_QUERYPAGEWINDOWHWND,3111 MPFROMLONG(psn->ulPageIdNew),3112 MPVOID);3113 }3114 break;3115 }3116 break;3117 }3118 return 0;3119 3120 case UM_SETUP:3121 WinSetActiveWindow(HWND_DESKTOP,3122 WinQueryWindow(hwnd,QW_OWNER));3123 WinSetActiveWindow(HWND_DESKTOP,3124 hwnd);3125 return 0;3126 3127 case WM_COMMAND:3128 switch(SHORT1FROMMP(mp1)) {3129 case DID_OK:3130 WinDismissDlg(hwnd,1);3131 break;3132 3133 case DID_CANCEL:3134 // Tell current page to undo itself in case changed and still alive3135 pageID = (ULONG)WinSendDlgItemMsg(hwnd,3136 CFG_NOTEBOOK,3137 BKM_QUERYPAGEID,3138 MPFROMLONG(0),3139 MPFROM2SHORT(BKA_TOP,0));3140 hwndTemp = (HWND)WinSendDlgItemMsg(hwnd,3141 CFG_NOTEBOOK,3142 BKM_QUERYPAGEWINDOWHWND,3143 MPFROMLONG(pageID),3144 MPVOID);3145 if (hwndTemp)3146 WinSendMsg(hwndTemp,UM_UNDO,MPVOID,MPVOID);3147 3148 WinDismissDlg(hwnd,0);3149 break;3150 3151 case IDM_HELP: /* relay message to appropriate page's window */3152 pageID = (ULONG)WinSendDlgItemMsg(hwnd,3153 CFG_NOTEBOOK,3154 BKM_QUERYPAGEID,3155 MPFROMLONG(0),3156 MPFROM2SHORT(BKA_TOP,0));3157 hwndTemp = (HWND)WinSendDlgItemMsg(hwnd,3158 CFG_NOTEBOOK,3159 BKM_QUERYPAGEWINDOWHWND,3160 MPFROMLONG(pageID),3161 MPVOID);3162 if(hwndTemp)3163 PostMsg(hwndTemp,3164 WM_COMMAND,3165 MPFROM2SHORT(IDM_HELP,0),3166 MPVOID);3167 break;3168 }3169 return 0;3170 3171 case UM_UNDO:3172 for(x = 0;np[x].frameid;x++) {3173 if(np[x].hwnd)3174 WinSendMsg(np[x].hwnd,3175 UM_UNDO,3176 MPVOID,3177 MPVOID);3178 }3179 break;3180 3181 case WM_DESTROY:3182 if(np[0].frameid) {3183 for(x = 1;np[x].frameid;x++) {3184 if(np[x].hwnd) {3185 WinSendMsg(np[x].hwnd,3186 WM_CLOSE,3187 MPVOID,3188 MPVOID);3189 np[x].hwnd = (HWND)0;3190 np[x].pageID = 0;3191 }3192 }3193 WinSendMsg(np[0].hwnd,3194 WM_CLOSE,3195 MPVOID,3196 MPVOID);3197 np[0].hwnd = (HWND)0;3198 np[0].pageID = 0;3199 }3200 hwndNotebook = (HWND)0;3201 break;3202 }3203 return WinDefDlgProc(hwnd,msg,mp1,mp2);3204 }3205
Note:
See TracChangeset
for help on using the changeset viewer.