void Preferences::InitTempPath(void) { WCHAR buf[MAX_PATH]; DWORD len; CString tempPath; len = ::GetTempPath(NELEM(buf), buf); if (len == 0) { DWORD err = ::GetLastError(); LOGI("GetTempPath failed, err=%d", err); tempPath = kDefaultTempPath; } else if (len >= NELEM(buf)) { /* sheesh! */ LOGI("GetTempPath wants a %d-unit buffer", len); tempPath = kDefaultTempPath; } else { tempPath = buf; } PathName path(tempPath); LOGD("Temp path is '%ls'", (LPCWSTR) tempPath); path.SFNToLFN(); tempPath = path.GetPathName(); LOGD("Temp path (long form) is '%ls'", (LPCWSTR) tempPath); SetPrefString(kPrTempPath, tempPath); // ::GetFullPathName(fTempPath, sizeof(buf), buf, &foo); // ::SetCurrentDirectory(buf); // ::GetCurrentDirectory(sizeof(buf2), buf2); }
void HPreferences::SetIxPrefString(const char *name, int ix, const char *value) { ASSERT(strlen(name) < 28); char n[32]; sprintf(n, "%s%d", name, ix); SetPrefString(n, value); } /* HPreferences::SetIxPrefString */
void Preferences::InitFolders(void) { CString path; if (GetMyDocuments(&path)) { SetPrefString(kPrOpenArchiveFolder, path); SetPrefString(kPrConvertArchiveFolder, path); SetPrefString(kPrAddFileFolder, path); SetPrefString(kPrExtractFileFolder, path); SetPrefString(kPrOpenWAVFolder, path); } else { WCHAR buf[MAX_PATH]; ::GetCurrentDirectory(NELEM(buf), buf); SetPrefString(kPrOpenArchiveFolder, buf); SetPrefString(kPrConvertArchiveFolder, buf); SetPrefString(kPrAddFileFolder, buf); SetPrefString(kPrExtractFileFolder, buf); SetPrefString(kPrOpenWAVFolder, buf); } LOGD("Default folder is '%ls'", GetPrefString(kPrExtractFileFolder)); }
int Preferences::LoadFromRegistry(void) { CString sval; bool bval; long lval; LOGI("Loading preferences from registry"); fColumnLayout.LoadFromRegistry(kColumnSect); int i; for (i = 0; i < kPrefNumLastRegistry; i++) { if (fPrefMaps[i].registryKey == NULL) continue; switch (fPrefMaps[i].type) { case kBool: bval = GetPrefBool(fPrefMaps[i].num); SetPrefBool(fPrefMaps[i].num, GetBool(fPrefMaps[i].registrySection, fPrefMaps[i].registryKey, bval)); break; case kLong: lval = GetPrefLong(fPrefMaps[i].num); SetPrefLong(fPrefMaps[i].num, GetInt(fPrefMaps[i].registrySection, fPrefMaps[i].registryKey, lval)); break; case kString: sval = GetPrefString(fPrefMaps[i].num); SetPrefString(fPrefMaps[i].num, GetString(fPrefMaps[i].registrySection, fPrefMaps[i].registryKey, sval)); break; default: LOGW("Invalid type %d on num=%d", fPrefMaps[i].type, i); ASSERT(false); break; } } return 0; }
Error Win32Prefs:: SetDefaults() { char cwd[MAX_PATH]= {0x00}; char path[MAX_PATH]; char buf[1024]; uint32 size; bool dummyBool; //int32 dummyInt32; // Where are we starting the program from? GetCurrentDirectory(sizeof(cwd), cwd); // set install directory value size = sizeof(buf); if (GetPrefString(kInstallDirPref, buf, &size) == kError_NoPrefValue) SetPrefString(kInstallDirPref, cwd); // set music directory value size = sizeof(buf); if (GetPrefString(kSaveMusicDirPref, buf, &size) == kError_NoPrefValue) { strcpy(path, cwd); strcat(path, "\\"); strcat(path, "My Music"); SetPrefString(kSaveMusicDirPref, path); } // set watch this dir value size = sizeof(buf); if (GetPrefString(kWatchThisDirectoryPref, buf, &size) == kError_NoPrefValue) { strcpy(path, cwd); strcat(path, "\\"); strcat(path, "My Music"); SetPrefString(kWatchThisDirectoryPref, path); } // set db directory value size = sizeof(buf); if (GetPrefString(kDatabaseDirPref, buf, &size) == kError_NoPrefValue) { strcpy(path, cwd); strcat(path, "\\"); strcat(path, "db"); SetPrefString(kDatabaseDirPref, path); } // set default ui value size = sizeof(buf); if (GetPrefString(kUIPref, buf, &size) == kError_NoPrefValue) SetPrefString(kUIPref, kDefaultUI); // set default pmo value size = sizeof(buf); if (GetPrefString(kPMOPref, buf, &size) == kError_NoPrefValue) SetPrefString(kPMOPref, kDefaultPMO); // set default open/save dlg path value size = sizeof(buf); if (GetPrefString(kOpenSaveDirPref, buf, &size) == kError_NoPrefValue) SetPrefString(kOpenSaveDirPref, cwd); // set default for window staying on top if (GetPrefBoolean(kStayOnTopPref, &dummyBool) == kError_NoPrefValue) SetPrefBoolean(kStayOnTopPref, kDefaultStayOnTop); // set default for minimizing to tray if (GetPrefBoolean(kLiveInTrayPref, &dummyBool) == kError_NoPrefValue) SetPrefBoolean(kLiveInTrayPref, kDefaultLiveInTray); Preferences::SetDefaults(); return kError_NoErr; }
void HPreferences::SetPrefRect(const char *name, BRect value) { char s[64]; sprintf(s, "%g,%g,%g,%g", value.left, value.top, value.right, value.bottom); SetPrefString(name, s); } /* HPreferences::SetPrefRect */
void HPreferences::SetPrefColor(const char *name, rgb_color value) { char c[10]; sprintf(c, "#%2.2x%2.2x%2.2x", value.red, value.green, value.blue); SetPrefString(name, c); } /* HPreferences::SetPrefColor */
void HPreferences::SetPrefDouble(const char *name, double value) { char s[20]; sprintf(s, "%g", value); SetPrefString(name, s); } /* HPreferences::SetPrefDouble */
void HPreferences::SetPrefInt(const char *name, int value) { char s[10]; sprintf(s, "%d", value); SetPrefString(name, s); } /* HPreferences::SetPrefInt */
Preferences::Preferences(void) { LOGI("Initializing Preferences"); ScanPrefMaps(); // sanity-check the table memset(fValues, 0, sizeof(fValues)); SetPrefBool(kPrAddIncludeSubFolders, true); SetPrefBool(kPrAddStripFolderNames, false); SetPrefBool(kPrAddOverwriteExisting, false); SetPrefLong(kPrAddTypePreservation, 1); // kPreserveTypes SetPrefLong(kPrAddConvEOL, 1); // kConvEOLType InitFolders(); // set default add/extract folders; overriden by reg SetPrefLong(kPrExtractConvEOL, 0); // kConvEOLNone SetPrefBool(kPrExtractConvHighASCII, true); SetPrefBool(kPrExtractIncludeData, true); SetPrefBool(kPrExtractIncludeRsrc, false); SetPrefBool(kPrExtractIncludeDisk, true); SetPrefBool(kPrExtractEnableReformat, false); SetPrefBool(kPrExtractDiskTo2MG, false); SetPrefBool(kPrExtractAddTypePreservation, true); SetPrefBool(kPrExtractAddExtension, false); SetPrefBool(kPrExtractStripFolderNames, false); SetPrefBool(kPrExtractOverwriteExisting, false); // SetPrefBool(kPrViewIncludeDataForks, true); // SetPrefBool(kPrViewIncludeRsrcForks, false); // SetPrefBool(kPrViewIncludeDiskImages, false); // SetPrefBool(kPrViewIncludeComments, false); SetPrefBool(kPrConvFileEmptyFolders, true); // string kPrOpenArchiveFolder // string kPrAddFileFolder // string kPrExtractFileFolder SetPrefLong(kPrVolumeFilter, 0); //SetPrefBool(kPrVolumeReadOnly, true); SetPrefLong(kPrCassetteAlgorithm, 0); // string kPrOpenWAVFolder SetPrefBool(kPrMimicShrinkIt, false); SetPrefBool(kPrBadMacSHK, false); SetPrefBool(kPrReduceSHKErrorChecks, false); SetPrefBool(kPrCoerceDOSFilenames, false); SetPrefBool(kPrSpacesToUnder, false); SetPrefBool(kPrPasteJunkPaths, true); SetPrefBool(kPrBeepOnSuccess, true); SetPrefBool(kPrQueryImageFormat, false); SetPrefBool(kPrOpenVolumeRO, true); SetPrefBool(kPrOpenVolumePhys0, false); SetPrefBool(kPrProDOSAllowLower, false); SetPrefBool(kPrProDOSUseSparse, true); SetPrefLong(kPrCompressionType, DefaultCompressionType()); SetPrefLong(kPrMaxViewFileSize, 1024*1024); // 1MB SetPrefBool(kPrNoWrapText, false); SetPrefBool(kPrHighlightHexDump, false); SetPrefBool(kPrHighlightBASIC, false); SetPrefBool(kPrConvHiResBlackWhite, false); SetPrefLong(kPrConvDHRAlgorithm, 1); // latched SetPrefBool(kPrRelaxGfxTypeCheck, true); SetPrefBool(kPrDisasmOneByteBrkCop, false); SetPrefBool(kPrConvMouseTextToASCII, false); //SetPrefBool(kPrEOLConvRaw, true); SetPrefBool(kPrConvTextEOL_HA, true); SetPrefBool(kPrConvPascalText, true); SetPrefBool(kPrConvPascalCode, true); SetPrefBool(kPrConvCPMText, true); SetPrefBool(kPrConvApplesoft, true); SetPrefBool(kPrConvInteger, true); SetPrefBool(kPrConvBusiness, true); SetPrefBool(kPrConvGWP, true); SetPrefBool(kPrConvText8, true); SetPrefBool(kPrConvGutenberg, true); SetPrefBool(kPrConvAWP, true); SetPrefBool(kPrConvADB, true); SetPrefBool(kPrConvASP, true); SetPrefBool(kPrConvSCAssem, true); SetPrefBool(kPrConvDisasm, true); SetPrefBool(kPrConvHiRes, true); SetPrefBool(kPrConvDHR, true); SetPrefBool(kPrConvSHR, true); SetPrefBool(kPrConvPrintShop, true); SetPrefBool(kPrConvMacPaint, true); SetPrefBool(kPrConvProDOSFolder, true); SetPrefBool(kPrConvResources, true); InitTempPath(); // set default for kPrTempPath SetPrefString(kPrExtViewerExts, L"gif; jpg; jpeg"); SetPrefLong(kPrLastOpenFilterIndex, 0); SetPrefString(kPrViewTextTypeFace, L"Courier New"); SetPrefLong(kPrViewTextPointSize, 10); long width = 680 + /* exact width for 80-column text */ ::GetSystemMetrics(SM_CXVSCROLL); long height = 516; /* exact height for file viewer to show IIgs graphic */ if (GetSystemMetrics(SM_CXSCREEN) < width) width = GetSystemMetrics(SM_CXSCREEN); if (GetSystemMetrics(SM_CYSCREEN) < height) height = GetSystemMetrics(SM_CYSCREEN); // may overlap system bar //width = 640; height = 480; SetPrefLong(kPrFileViewerWidth, width); SetPrefLong(kPrFileViewerHeight, height); SetPrefLong(kPrDiskImageCreateFormat, -1); }