void KCookieJar::loadConfig(KConfig *_config, bool reparse ) { if ( reparse ) _config->reparseConfiguration(); _config->setGroup("Cookie Dialog"); m_showCookieDetails = _config->readBoolEntry( "ShowCookieDetails" ); m_preferredPolicy = _config->readNumEntry( "PreferredPolicy", 0 ); _config->setGroup("Cookie Policy"); QStringList domainSettings = _config->readListEntry("CookieDomainAdvice"); m_rejectCrossDomainCookies = _config->readBoolEntry( "RejectCrossDomainCookies", true ); m_autoAcceptSessionCookies = _config->readBoolEntry( "AcceptSessionCookies", true ); m_ignoreCookieExpirationDate = _config->readBoolEntry( "IgnoreExpirationDate", false ); QString value = _config->readEntry("CookieGlobalAdvice", L1("Ask")); m_globalAdvice = strToAdvice(value); // Reset current domain settings first. for ( QStringList::Iterator it=m_domainList.begin(); it != m_domainList.end(); ) { // Make sure to update iterator before calling setDomainAdvice() // setDomainAdvice() might delete the domain from domainList. QString domain = *it++; setDomainAdvice(domain, KCookieDunno); } // Now apply the domain settings read from config file... for ( QStringList::Iterator it=domainSettings.begin(); it != domainSettings.end(); ) { const QString &value = *it++; int sepPos = value.findRev(':'); if (sepPos <= 0) continue; QString domain(value.left(sepPos)); KCookieAdvice advice = strToAdvice( value.mid(sepPos + 1) ); setDomainAdvice(domain, advice); } }
static void splitDomainAdvice(const char *configStr, QString &domain, KCookieAdvice &advice) { QString tmp(configStr); int splitIndex = tmp.find(':'); if ( splitIndex == -1) { domain = configStr; advice = KCookieDunno; } else { domain = tmp.left(splitIndex); advice = strToAdvice( tmp.mid( splitIndex+1, tmp.length())); } }
void KCookiesOptions::loadSettings() { QString tmp; g_pConfig->setGroup( "Browser Settings/HTTP" ); tmp = g_pConfig->readEntry("CookieGlobalAdvice", "Ask"); KCookieAdvice globalAdvice = strToAdvice(tmp.data()); cb_enableCookies->setChecked( g_pConfig->readBoolEntry( "Cookies", true )); rb_gbPolicyAccept->setChecked( globalAdvice == KCookieAccept ); rb_gbPolicyReject->setChecked( globalAdvice == KCookieReject ); rb_gbPolicyAsk->setChecked( (globalAdvice != KCookieAccept) && (globalAdvice != KCookieReject) ); (void) g_pConfig->readListEntry("CookieDomainAdvice", domainConfig); updateDomainList(); }