void nsPrintOptions::ReadJustification(const char * aPrefId, PRInt16& aJust, PRInt16 aInitValue) { aJust = aInitValue; nsAutoString justStr; if (NS_SUCCEEDED(ReadPrefString(aPrefId, justStr))) { if (justStr.EqualsASCII(kJustRight)) { aJust = nsIPrintSettings::kJustRight; } else if (justStr.EqualsASCII(kJustCenter)) { aJust = nsIPrintSettings::kJustCenter; } else { aJust = nsIPrintSettings::kJustLeft; } } }
NS_IMETHODIMP nsPrintOptions::GetDefaultPrinterName(PRUnichar * *aDefaultPrinterName) { nsresult rv; nsCOMPtr<nsIPrinterEnumerator> prtEnum = do_GetService(NS_PRINTER_ENUMERATOR_CONTRACTID, &rv); NS_ENSURE_SUCCESS(rv, rv); // Look up the printer from the last print job nsAutoString lastPrinterName; ReadPrefString(kPrinterName, lastPrinterName); if (!lastPrinterName.IsEmpty()) { // Verify it's still a valid printer nsCOMPtr<nsIStringEnumerator> printers; rv = prtEnum->GetPrinterNameList(getter_AddRefs(printers)); if (NS_SUCCEEDED(rv)) { PRBool isValid = PR_FALSE; PRBool hasMore; while (NS_SUCCEEDED(printers->HasMore(&hasMore)) && hasMore) { nsAutoString printer; if (NS_SUCCEEDED(printers->GetNext(printer)) && lastPrinterName.Equals(printer)) { isValid = PR_TRUE; break; } } if (isValid) { *aDefaultPrinterName = ToNewUnicode(lastPrinterName); return NS_OK; } } } // There is no last printer preference, or it doesn't name a valid printer. // Return the default from the printer enumeration. return prtEnum->GetDefaultPrinterName(aDefaultPrinterName); }
const char* ReadPrefString(const char* pref_key) { return ReadPrefString(pref_key, ""); }
void LoadConfig() { agbPrint = ReadPrefHex("agbPrint"); autoFireMaxCount = fromDec(ReadPrefString("autoFireMaxCount")); autoFrameSkip = ReadPref("autoFrameSkip", 0); autoLoadMostRecent = ReadPref("autoLoadMostRecent", 0); autoPatch = ReadPref("autoPatch", 1); autoSaveLoadCheatList = ReadPref("autoSaveCheatList", 1); aviRecordDir = ReadPrefString("aviRecordDir"); batteryDir = ReadPrefString("batteryDir"); biosFileNameGB = ReadPrefString("biosFileGB"); biosFileNameGBA = ReadPrefString("biosFileGBA"); biosFileNameGBC = ReadPrefString("biosFileGBC"); captureFormat = ReadPref("captureFormat", 0); cheatsEnabled = ReadPref("cheatsEnabled", 0); cpuDisableSfx = ReadPref("disableSfx", 0); cpuSaveType = ReadPrefHex("saveType"); disableMMX = ReadPref("disableMMX", 0); disableStatusMessages = ReadPrefHex("disableStatus"); filterMT = ReadPref("filterEnableMultiThreading", 0); filter = ReadPref("filter", 0); frameSkip = ReadPref("frameSkip", 0); fsAdapter = ReadPref("fsAdapter", 0); fsColorDepth = ReadPref("fsColorDepth", 32); fsFrequency = ReadPref("fsFrequency", 60); fsHeight = ReadPref("fsHeight", 600); fsWidth = ReadPref("fsWidth", 800); fullScreen = ReadPrefHex("fullScreen"); fullScreenStretch = ReadPref("stretch", 0); gbBorderAutomatic = ReadPref("borderAutomatic", 0); gbBorderOn = ReadPrefHex("borderOn"); gbColorOption = ReadPref("colorOption", 0); gbEmulatorType = ReadPref("emulatorType", 1); gbFrameSkip = ReadPref("gbFrameSkip", 0); gbPaletteOption = ReadPref("gbPaletteOption", 0); gbSoundSetDeclicking(ReadPref("gbSoundDeclicking", 1)); gb_effects_config.echo = (float)ReadPref("gbSoundEffectsEcho", 20) / 100.0f; gb_effects_config.enabled = ReadPref("gbSoundEffectsEnabled", 0); gb_effects_config.stereo = (float)ReadPref("gbSoundEffectsStereo", 15) / 100.0f; gb_effects_config.surround = ReadPref("gbSoundEffectsSurround", 0); gdbBreakOnLoad = ReadPref("gdbBreakOnLoad", 0); gdbPort = ReadPref("gdbPort", 55555); glFilter = ReadPref("glFilter", 1); ifbType = ReadPref("ifbType", 0); joypadDefault = ReadPref("joypadDefault", 0); languageOption = ReadPref("language", 1); linkAuto = ReadPref("LinkAuto", 1); linkHacks = ReadPref("LinkHacks", 0); linkHostAddr = ReadPrefString("LinkHostAddr", "localhost"); linkMode = ReadPref("LinkMode", 0); // LINK_DISCONNECTED = 0 linkNumPlayers = ReadPref("LinkNumPlayers", 2); linkTimeout = ReadPref("LinkTimeout", 1); loadDotCodeFile = ReadPrefString("loadDotCodeFile"); maxScale = ReadPref("maxScale", 0); movieRecordDir = ReadPrefString("movieRecordDir"); openGL = ReadPrefHex("openGL"); optFlashSize = ReadPrefHex("flashSize"); pauseWhenInactive = ReadPref("pauseWhenInactive", 1); recentFreeze = ReadPref("recentFreeze", 0); rewindTimer = ReadPref("rewindTimer", 0); romDirGB = ReadPrefString("romDirGB"); romDirGBA = ReadPrefString("romDirGBA"); romDirGBC = ReadPrefString("romDirGBC"); rtcEnabled = ReadPref("rtcEnabled", 0); saveDir = ReadPrefString("saveDir"); saveDotCodeFile = ReadPrefString("saveDotCodeFile"); screenShotDir = ReadPrefString("screenShotDir"); showSpeed = ReadPref("showSpeed", 0); showSpeedTransparent = ReadPref("showSpeedTransparent", 1); skipBios = ReadPref("skipBios", 0); skipSaveGameBattery = ReadPref("skipSaveGameBattery", 0); skipSaveGameCheats = ReadPref("skipSaveGameCheats", 0); soundFiltering = (float)ReadPref("gbaSoundFiltering", 50) / 100.0f; soundInterpolation = ReadPref("gbaSoundInterpolation", 1); soundRecordDir = ReadPrefString("soundRecordDir"); threadPriority = ReadPref("priority", 2); throttle = ReadPref("throttle", 100); tripleBuffering = ReadPref("tripleBuffering", 0); useBios = ReadPrefHex("useBiosGBA"); useBiosFileGB = ReadPref("useBiosGB", 0); useBiosFileGBA = ReadPref("useBiosGBA", 0); useBiosFileGBC = ReadPref("useBiosGBC", 0); videoOption = ReadPref("video", 2); // VIDEO_3X = 2 vsync = ReadPref("vsync", false); windowPositionX = ReadPref("windowX", 0); windowPositionY = ReadPref("windowY", 0); winFlashSize = ReadPref("flashSize", 0x10000); winGbBorderOn = ReadPref("borderOn", 0); winGbPrinterEnabled = ReadPref("gbPrinter", 0); int soundQuality = (ReadPrefHex("soundQuality")); switch (soundQuality) { case 1: case 2: case 4: break; default: log("Unknown sound quality %d. Defaulting to 22Khz\n", soundQuality); soundQuality = 2; break; } soundSetSampleRate(44100 / soundQuality); int volume = ReadPref("soundVolume", 100); float volume_percent = volume / 100.0f; if (volume_percent < 0.0 || volume_percent > SOUND_MAX_VOLUME) volume_percent = 1.0; soundSetVolume(volume_percent); soundSetEnable((ReadPrefHex("soundEnable", 0x30f)) & 0x30f); if ((ReadPrefHex("soundStereo"))) { gb_effects_config.enabled = true; } if ((ReadPrefHex("soundEcho"))) { gb_effects_config.enabled = true; } if ((ReadPrefHex("soundSurround"))) { gb_effects_config.surround = true; gb_effects_config.enabled = true; } if (optFlashSize == 0) flashSetSize(0x10000); else flashSetSize(0x20000); rtcEnable(rtcEnabled ? true : false); agbPrintEnable(agbPrint ? true : false); for (int i = 0; i < 24;) { systemGbPalette[i++] = (0x1f) | (0x1f << 5) | (0x1f << 10); systemGbPalette[i++] = (0x15) | (0x15 << 5) | (0x15 << 10); systemGbPalette[i++] = (0x0c) | (0x0c << 5) | (0x0c << 10); systemGbPalette[i++] = 0; } systemSaveUpdateCounter = SYSTEM_SAVE_NOT_UPDATED; optPrintUsage = 0; // TODO //int s = ReadPref("mapViewStretch", 0); //m_size = ReadPref("memViewerDataSize", 0); //m_stretch = ReadPref("GBOamViewStretch", 0); //m_stretch = ReadPref("tileViewStretch", 0); //numberType = ReadPref("cheatsNumberType", 2); //numberType = ReadPref("gbCheatsNumberType", 2); //restoreValues = ReadPref("cheatsRestore", 0) ? //scale = ReadPref("printerScale", 0); //searchType = ReadPref("cheatsSearchType", SEARCH_EQ); //searchType = ReadPref("gbCheatsSearchType", //selectedFilter = ReadPref(("selectedFilter"), 0); //sizeType = ReadPref("cheatsSizeType", 0); //sizeType = ReadPref("gbCheatsSizeType", 0); //updateValues = ReadPref("cheatsUpdate", 0); //updateValues = ReadPref("gbCheatsUpdate", 0); //valueType = ReadPref("cheatsValueType", 0); //valueType = ReadPref("gbCheatsValueType", 0); ValidateConfig(); }