Changeset 1409 for trunk/dll/misc.c
- Timestamp:
- Mar 20, 2009, 12:35:30 AM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/dll/misc.c
r1402 r1409 1318 1318 } 1319 1319 1320 VOID LoadDetailsSwitches(PCSZ keyroot, DETAILS_SETTINGS *pds) 1320 /** 1321 * Loads all the detail switches from the ini file 1322 * state if TRUE skips global only settings 1323 * keyroot shouldn't pass trailing dot 1324 */ 1325 VOID LoadDetailsSwitches(PCSZ keyroot, DETAILS_SETTINGS *pds, BOOL state) 1321 1326 { 1322 1327 ULONG size; … … 1374 1379 size = sizeof(BOOL); 1375 1380 PrfQueryProfileData(fmprof, appname, s, (PVOID) &pds->detailslatime, &size); 1376 strcpy(eos, "SubjectInLeftPane"); 1377 pds->fSubjectInLeftPane = dsDirCnrDefault.fSubjectInLeftPane; 1378 size = sizeof(BOOL); 1379 PrfQueryProfileData(fmprof, appname, s, (PVOID) &pds->fSubjectInLeftPane, &size); 1380 strcpy(eos, "SubjectLengthMax"); 1381 pds->fSubjectLengthMax = dsDirCnrDefault.fSubjectLengthMax; 1382 size = sizeof(BOOL); 1383 PrfQueryProfileData(fmprof, appname, s, (PVOID) &pds->fSubjectLengthMax, &size); 1384 if (pds->fSubjectLengthMax) 1385 pds->SubjectDisplayWidth = 0; 1386 else { 1387 strcpy(eos, "SubjectDisplayWidth"); 1388 pds->SubjectDisplayWidth = dsDirCnrDefault.SubjectDisplayWidth; 1389 size = sizeof(ULONG); 1390 PrfQueryProfileData(fmprof, appname, s, (PVOID) &pds->SubjectDisplayWidth, &size); 1391 if (pds->SubjectDisplayWidth < 50) 1381 if (!state) { 1382 strcpy(eos, "SubjectInLeftPane"); 1383 pds->fSubjectInLeftPane = dsDirCnrDefault.fSubjectInLeftPane; 1384 size = sizeof(BOOL); 1385 PrfQueryProfileData(fmprof, appname, s, (PVOID) &pds->fSubjectInLeftPane, &size); 1386 strcpy(eos, "SubjectLengthMax"); 1387 pds->fSubjectLengthMax = dsDirCnrDefault.fSubjectLengthMax; 1388 size = sizeof(BOOL); 1389 PrfQueryProfileData(fmprof, appname, s, (PVOID) &pds->fSubjectLengthMax, &size); 1390 if (pds->fSubjectLengthMax) 1392 1391 pds->SubjectDisplayWidth = 0; 1393 else if (pds->SubjectDisplayWidth > 1000) 1394 pds->SubjectDisplayWidth = 1000; 1395 } 1396 } 1397 1398 VOID WriteDetailsSwitches(PCSZ keyroot, DETAILS_SETTINGS *pds) 1392 else { 1393 strcpy(eos, "SubjectDisplayWidth"); 1394 pds->SubjectDisplayWidth = dsDirCnrDefault.SubjectDisplayWidth; 1395 size = sizeof(ULONG); 1396 PrfQueryProfileData(fmprof, appname, s, (PVOID) &pds->SubjectDisplayWidth, &size); 1397 if (pds->SubjectDisplayWidth < 50) 1398 pds->SubjectDisplayWidth = 0; 1399 else if (pds->SubjectDisplayWidth > 1000) 1400 pds->SubjectDisplayWidth = 1000; 1401 } 1402 } 1403 } 1404 1405 /** 1406 * Writes all the detail switches to the ini file 1407 * state if TRUE skips global only settings 1408 * keyroot shouldn't pass trailing dot 1409 */ 1410 VOID WriteDetailsSwitches(PCSZ keyroot, DETAILS_SETTINGS *pds, BOOL state) 1399 1411 { 1400 1412 CHAR s[CCHMAXPATH], *eos = s; … … 1404 1416 eos = &s[strlen(s)]; 1405 1417 strcpy(eos, "DetailsLongname"); 1406 PrfWriteProfileData(fmprof, appname, s, pds ? &pds->detailslongname : NULL, 1407 pds ? sizeof(BOOL) : 0); 1418 PrfWriteProfileData(fmprof, appname, s, &pds->detailslongname, sizeof(BOOL)); 1408 1419 strcpy(eos, "DetailsSubject"); 1409 PrfWriteProfileData(fmprof, appname, s, pds ? &pds->detailssubject : NULL, 1410 pds ? sizeof(BOOL) : 0); 1420 PrfWriteProfileData(fmprof, appname, s, &pds->detailssubject, sizeof(BOOL)); 1411 1421 strcpy(eos, "DetailsEA"); 1412 PrfWriteProfileData(fmprof, appname, s, pds ? &pds->detailsea : NULL, 1413 pds ? sizeof(BOOL) : 0); 1422 PrfWriteProfileData(fmprof, appname, s, &pds->detailsea, sizeof(BOOL)); 1414 1423 strcpy(eos, "DetailsSize"); 1415 PrfWriteProfileData(fmprof, appname, s, pds ? &pds->detailssize : NULL, 1416 pds ? sizeof(BOOL) : 0); 1424 PrfWriteProfileData(fmprof, appname, s, &pds->detailssize, sizeof(BOOL)); 1417 1425 strcpy(eos, "DetailsIcon"); 1418 PrfWriteProfileData(fmprof, appname, s, pds ? &pds->detailsicon : NULL, 1419 pds ? sizeof(BOOL) : 0); 1426 PrfWriteProfileData(fmprof, appname, s, &pds->detailsicon, sizeof(BOOL)); 1420 1427 strcpy(eos, "DetailsAttr"); 1421 PrfWriteProfileData(fmprof, appname, s, pds ? &pds->detailsattr : NULL, 1422 pds ? sizeof(BOOL) : 0); 1428 PrfWriteProfileData(fmprof, appname, s, &pds->detailsattr, sizeof(BOOL)); 1423 1429 strcpy(eos, "DetailsCRDate"); 1424 PrfWriteProfileData(fmprof, appname, s, pds ? &pds->detailscrdate : NULL, 1425 pds ? sizeof(BOOL) : 0); 1430 PrfWriteProfileData(fmprof, appname, s, &pds->detailscrdate, sizeof(BOOL)); 1426 1431 strcpy(eos, "DetailsCRTime"); 1427 PrfWriteProfileData(fmprof, appname, s, pds ? &pds->detailscrtime : NULL, 1428 pds ? sizeof(BOOL) : 0); 1432 PrfWriteProfileData(fmprof, appname, s, &pds->detailscrtime, sizeof(BOOL)); 1429 1433 strcpy(eos, "DetailsLWDate"); 1430 PrfWriteProfileData(fmprof, appname, s, pds ? &pds->detailslwdate : NULL, 1431 pds ? sizeof(BOOL) : 0); 1434 PrfWriteProfileData(fmprof, appname, s, &pds->detailslwdate, sizeof(BOOL)); 1432 1435 strcpy(eos, "DetailsLWTime"); 1433 PrfWriteProfileData(fmprof, appname, s, pds ? &pds->detailslwtime : NULL, 1434 pds ? sizeof(BOOL) : 0); 1436 PrfWriteProfileData(fmprof, appname, s, &pds->detailslwtime, sizeof(BOOL)); 1435 1437 strcpy(eos, "DetailsLADate"); 1436 PrfWriteProfileData(fmprof, appname, s, pds ? &pds->detailsladate : NULL, 1437 pds ? sizeof(BOOL) : 0); 1438 PrfWriteProfileData(fmprof, appname, s, &pds->detailsladate, sizeof(BOOL)); 1438 1439 strcpy(eos, "DetailsLATime"); 1439 PrfWriteProfileData(fmprof, appname, s, pds ? &pds->detailslatime : NULL, 1440 pds ? sizeof(BOOL) : 0); 1440 PrfWriteProfileData(fmprof, appname, s, &pds->detailslatime, sizeof(BOOL)); 1441 if (!state) { 1442 strcpy(eos, "SubjectInLeftPane"); 1443 PrfWriteProfileData(fmprof, appname, s, &pds->fSubjectInLeftPane, sizeof(BOOL)); 1444 strcpy(eos, "SubjectLengthMax"); 1445 PrfWriteProfileData(fmprof, appname, s, &pds->fSubjectLengthMax, sizeof(BOOL)); 1446 strcpy(eos, "SubjectDisplayWidth"); 1447 PrfWriteProfileData(fmprof, appname, s, &pds->SubjectDisplayWidth, sizeof(ULONG)); 1448 } 1449 } 1450 1451 /** 1452 * Removes the ini entries when a state is deleted 1453 * statename should be NULL for the shutdown state 1454 * (avoids removing global state settings like toolbar) 1455 * keyroot shouldn't pass the trailing dot 1456 */ 1457 VOID RemoveCnrSwitches(PCSZ keyroot, PCSZ statename) 1458 { 1459 CHAR s[CCHMAXPATH], *eos = s; 1460 1461 strcpy(s, keyroot); 1462 strcat(s, "."); 1463 eos = &s[strlen(s)]; 1464 DeletePresParams(s); 1465 strcpy(eos, "DetailsLongname"); 1466 PrfWriteProfileData(fmprof, appname, s, NULL, 0); 1467 strcpy(eos, "DetailsSubject"); 1468 PrfWriteProfileData(fmprof, appname, s, NULL, 0); 1469 strcpy(eos, "DetailsEA"); 1470 PrfWriteProfileData(fmprof, appname, s, NULL, 0); 1471 strcpy(eos, "DetailsSize"); 1472 PrfWriteProfileData(fmprof, appname, s, NULL, 0); 1473 strcpy(eos, "DetailsIcon"); 1474 PrfWriteProfileData(fmprof, appname, s, NULL, 0); 1475 strcpy(eos, "DetailsAttr"); 1476 PrfWriteProfileData(fmprof, appname, s, NULL, 0); 1477 strcpy(eos, "DetailsCRDate"); 1478 PrfWriteProfileData(fmprof, appname, s, NULL, 0); 1479 strcpy(eos, "DetailsCRTime"); 1480 PrfWriteProfileData(fmprof, appname, s, NULL, 0); 1481 strcpy(eos, "DetailsLWDate"); 1482 PrfWriteProfileData(fmprof, appname, s, NULL, 0); 1483 strcpy(eos, "DetailsLWTime"); 1484 PrfWriteProfileData(fmprof, appname, s, NULL, 0); 1485 strcpy(eos, "DetailsLADate"); 1486 PrfWriteProfileData(fmprof, appname, s, NULL, 0); 1487 strcpy(eos, "DetailsLATime"); 1488 PrfWriteProfileData(fmprof, appname, s, NULL, 0); 1441 1489 strcpy(eos, "SubjectInLeftPane"); 1442 PrfWriteProfileData(fmprof, appname, s, pds ? &pds->fSubjectInLeftPane : NULL, 1443 pds ? sizeof(BOOL) : 0); 1490 PrfWriteProfileData(fmprof, appname, s, NULL, 0); 1444 1491 strcpy(eos, "SubjectLengthMax"); 1445 PrfWriteProfileData(fmprof, appname, s, pds ? &pds->fSubjectLengthMax : NULL, 1446 pds ? sizeof(BOOL) : 0); 1492 PrfWriteProfileData(fmprof, appname, s, NULL, 0); 1447 1493 strcpy(eos, "SubjectDisplayWidth"); 1448 PrfWriteProfileData(fmprof, appname, s, pds ? &pds->SubjectDisplayWidth : NULL, 1449 pds ? sizeof(ULONG) : 0); 1450 } 1451 1494 PrfWriteProfileData(fmprof, appname, s, NULL, 0); 1495 strcpy(eos, "Pos");; 1496 PrfWriteProfileData(fmprof, FM3Str, s, NULL, 0); 1497 strcpy(eos, "Sort"); 1498 PrfWriteProfileData(fmprof, FM3Str, s, NULL, 0); 1499 strcpy(eos, "Filter"); 1500 PrfWriteProfileData(fmprof, FM3Str, s, NULL, 0); 1501 strcpy(eos, "View"); 1502 PrfWriteProfileData(fmprof, FM3Str, s, NULL, 0); 1503 strcpy(eos, "Dir"); 1504 PrfWriteProfileString(fmprof, FM3Str, s, NULL); 1505 if (statename && strstr(s, ".0.")) { 1506 strcpy(s, statename); 1507 strcat(s, "."); 1508 eos = &s[strlen(s)]; 1509 strcpy(eos, "LastTreePos"); 1510 PrfWriteProfileData(fmprof, FM3Str, s, NULL, 0); 1511 strcpy(eos, "MySizeLastTime"); 1512 PrfWriteProfileData(fmprof, FM3Str, s, NULL, 0); 1513 strcpy(eos, "Toolbar"); 1514 PrfWriteProfileString(fmprof, FM3Str, s, NULL); 1515 strcpy(eos, "TargetDir"); 1516 PrfWriteProfileString(fmprof, FM3Str, s, NULL); 1517 } 1518 1519 } 1452 1520 1453 1521 HWND FindDirCnr(HWND hwndParent)
Note:
See TracChangeset
for help on using the changeset viewer.