Changeset 1409 for trunk/dll/misc.c


Ignore:
Timestamp:
Mar 20, 2009, 12:35:30 AM (16 years ago)
Author:
Gregg Young
Message:

Rename some container ini keys consolidate inline code in WriteDetailsSwitches, LoadDetailsSwitches and RemoveCnrSwitches (Ticket 343, 345, 347) Save changes to detail switches for compare directories (Ticket 346). Move additional messages to PCSZs (Ticket 6). Comments and minor code clean up.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/dll/misc.c

    r1402 r1409  
    13181318}
    13191319
    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 */
     1325VOID LoadDetailsSwitches(PCSZ keyroot, DETAILS_SETTINGS *pds, BOOL state)
    13211326{
    13221327  ULONG size;
     
    13741379  size = sizeof(BOOL);
    13751380  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)
    13921391      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 */
     1410VOID WriteDetailsSwitches(PCSZ keyroot, DETAILS_SETTINGS *pds, BOOL state)
    13991411{
    14001412  CHAR s[CCHMAXPATH], *eos = s;
     
    14041416  eos = &s[strlen(s)];
    14051417  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));
    14081419  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));
    14111421  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));
    14141423  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));
    14171425  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));
    14201427  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));
    14231429  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));
    14261431  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));
    14291433  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));
    14321435  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));
    14351437  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));
    14381439  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 */
     1457VOID 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);
    14411489  strcpy(eos, "SubjectInLeftPane");
    1442   PrfWriteProfileData(fmprof, appname, s, pds ? &pds->fSubjectInLeftPane : NULL,
    1443                       pds ? sizeof(BOOL) : 0);
     1490  PrfWriteProfileData(fmprof, appname, s, NULL, 0);
    14441491  strcpy(eos, "SubjectLengthMax");
    1445   PrfWriteProfileData(fmprof, appname, s, pds ? &pds->fSubjectLengthMax : NULL,
    1446                       pds ? sizeof(BOOL) : 0);
     1492  PrfWriteProfileData(fmprof, appname, s, NULL, 0);
    14471493  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}
    14521520
    14531521HWND FindDirCnr(HWND hwndParent)
Note: See TracChangeset for help on using the changeset viewer.