void SettingsDialog::saveToSettings() { QSettings settings; settings.beginGroup(QLatin1String("MainWindow")); settings.setValue(QLatin1String("home"), homeLineEdit->text()); settings.setValue(QLatin1String("startupBehavior"), startupBehavior->currentIndex()); settings.endGroup(); settings.beginGroup(QLatin1String("downloadmanager")); settings.setValue(QLatin1String("alwaysPromptForFileName"), downloadAsk->isChecked()); settings.setValue(QLatin1String("downloadDirectory"), downloadsLocation->text()); settings.endGroup(); settings.beginGroup(QLatin1String("history")); int historyExpire = expireHistory->currentIndex(); int idx = -1; switch (historyExpire) { case 0: idx = 1; break; case 1: idx = 7; break; case 2: idx = 14; break; case 3: idx = 30; break; case 4: idx = 365; break; case 5: idx = -1; break; case 6: idx = -2; break; } settings.setValue(QLatin1String("historyLimit"), idx); settings.endGroup(); // Appearance settings.beginGroup(QLatin1String("websettings")); settings.setValue(QLatin1String("fixedFont"), m_fixedFont); settings.setValue(QLatin1String("standardFont"), m_standardFont); settings.setValue(QLatin1String("blockPopupWindows"), blockPopupWindows->isChecked()); settings.setValue(QLatin1String("enableJavascript"), enableJavascript->isChecked()); settings.setValue(QLatin1String("enablePlugins"), enablePlugins->isChecked()); settings.setValue(QLatin1String("enableImages"), enableImages->isChecked()); QString userStyleSheetString = userStyleSheet->text(); if (QFile::exists(userStyleSheetString)) settings.setValue(QLatin1String("userStyleSheet"), QUrl::fromLocalFile(userStyleSheetString)); else settings.setValue(QLatin1String("userStyleSheet"), QUrl::fromEncoded(userStyleSheetString.toUtf8())); settings.setValue(QLatin1String("enableClickToFlash"), clickToFlash->isChecked()); settings.endGroup(); // Privacy settings.beginGroup(QLatin1String("cookies")); CookieJar::AcceptPolicy acceptCookies; switch (acceptCombo->currentIndex()) { default: case 0: acceptCookies = CookieJar::AcceptAlways; break; case 1: acceptCookies = CookieJar::AcceptNever; break; case 2: acceptCookies = CookieJar::AcceptOnlyFromSitesNavigatedTo; break; } CookieJar *jar = BrowserApplication::cookieJar(); QMetaEnum acceptPolicyEnum = jar->staticMetaObject.enumerator(jar->staticMetaObject.indexOfEnumerator("AcceptPolicy")); settings.setValue(QLatin1String("acceptCookies"), QLatin1String(acceptPolicyEnum.valueToKey(acceptCookies))); CookieJar::KeepPolicy keepPolicy; switch (keepUntilCombo->currentIndex()) { default: case 0: keepPolicy = CookieJar::KeepUntilExpire; break; case 1: keepPolicy = CookieJar::KeepUntilExit; break; case 2: keepPolicy = CookieJar::KeepUntilTimeLimit; break; } QMetaEnum keepPolicyEnum = jar->staticMetaObject.enumerator(jar->staticMetaObject.indexOfEnumerator("KeepPolicy")); settings.setValue(QLatin1String("keepCookiesUntil"), QLatin1String(keepPolicyEnum.valueToKey(keepPolicy))); settings.setValue(QLatin1String("filterTrackingCookies"), filterTrackingCookiesCheckbox->isChecked()); settings.endGroup(); #if QT_VERSION >= 0x040500 // Network settings.beginGroup(QLatin1String("network")); settings.setValue(QLatin1String("cacheEnabled"), networkCache->isChecked()); settings.setValue(QLatin1String("maximumCacheSize"), networkCacheMaximumSizeSpinBox->value()); settings.endGroup(); #endif // proxy settings.beginGroup(QLatin1String("proxy")); settings.setValue(QLatin1String("enabled"), proxySupport->isChecked()); settings.setValue(QLatin1String("type"), proxyType->currentIndex()); settings.setValue(QLatin1String("hostName"), proxyHostName->text()); settings.setValue(QLatin1String("port"), proxyPort->text()); settings.setValue(QLatin1String("userName"), proxyUserName->text()); settings.setValue(QLatin1String("password"), proxyPassword->text()); settings.endGroup(); // Tabs settings.beginGroup(QLatin1String("tabs")); settings.setValue(QLatin1String("selectNewTabs"), selectTabsWhenCreated->isChecked()); settings.setValue(QLatin1String("confirmClosingMultipleTabs"), confirmClosingMultipleTabs->isChecked()); #if QT_VERSION >= 0x040500 settings.setValue(QLatin1String("oneCloseButton"), oneCloseButton->isChecked()); #endif settings.setValue(QLatin1String("quitAsLastTabClosed"), quitAsLastTabClosed->isChecked()); settings.setValue(QLatin1String("openTargetBlankLinksIn"), openTargetBlankLinksIn->currentIndex()); settings.setValue(QLatin1String("openLinksFromAppsIn"), openLinksFromAppsIn->currentIndex()); settings.endGroup(); BrowserApplication::instance()->loadSettings(); BrowserApplication::networkAccessManager()->loadSettings(); BrowserApplication::cookieJar()->loadSettings(); BrowserApplication::historyManager()->loadSettings(); if (BrowserMainWindow *mw = static_cast<BrowserMainWindow*>(parent())) { WebView *webView = mw->currentTab(); if (webView) { webView->webPage()->webPluginFactory()->refreshPlugins(); } } QList<BrowserMainWindow*> list = BrowserApplication::instance()->mainWindows(); foreach (BrowserMainWindow *mainWindow, list) { mainWindow->tabWidget()->loadSettings(); } }