diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/cookiejar.cpp | 82 | ||||
-rw-r--r-- | src/rekonq.kcfg | 2 |
2 files changed, 62 insertions, 22 deletions
diff --git a/src/cookiejar.cpp b/src/cookiejar.cpp index ef829ffd..098a2d47 100644 --- a/src/cookiejar.cpp +++ b/src/cookiejar.cpp @@ -143,23 +143,39 @@ void CookieJar::load() void CookieJar::loadSettings() { - KConfig config("rekonqrc"); - KConfigGroup group = config.group("cookies"); - QByteArray value = group.readEntry( QString("acceptCookies"), QByteArray("AcceptOnlyFromSitesNavigatedTo") ); - QMetaEnum acceptPolicyEnum = staticMetaObject.enumerator(staticMetaObject.indexOfEnumerator("AcceptPolicy")); - m_acceptCookies = acceptPolicyEnum.keyToValue(value) == -1 ? - AcceptOnlyFromSitesNavigatedTo : - static_cast<AcceptPolicy>(acceptPolicyEnum.keyToValue(value)); - - value = group.readEntry( QString("keepCookiesUntil"), QByteArray("KeepUntilExpire") ); - QMetaEnum keepPolicyEnum = staticMetaObject.enumerator(staticMetaObject.indexOfEnumerator("KeepPolicy")); - m_keepCookies = keepPolicyEnum.keyToValue(value) == -1 ? - KeepUntilExpire : - static_cast<KeepPolicy>(keepPolicyEnum.keyToValue(value)); + int canAcceptCookies = ReKonfig::acceptCookies(); - if (m_keepCookies == KeepUntilExit) - setAllCookies(QList<QNetworkCookie>()); + switch(canAcceptCookies) + { + case 0: + m_acceptCookies = AcceptAlways; + break; + case 1: + m_acceptCookies = AcceptNever; + break; + case 2: + default: + m_acceptCookies = AcceptOnlyFromSitesNavigatedTo; + break; + } + int canKeepCookiesUntil = ReKonfig::keepCookiesUntil(); + + switch(canKeepCookiesUntil) + { + default: + case 0: + m_keepCookies = KeepUntilExpire; + break; + case 1: + m_keepCookies = KeepUntilExit; + setAllCookies(QList<QNetworkCookie>()); + break; + case 2: + m_keepCookies = KeepUntilTimeLimit; + break; + } + m_loaded = true; emit cookiesChanged(); } @@ -203,13 +219,37 @@ void CookieJar::save() inigroup2.writeEntry( QString("allowForSession"), m_exceptions_allowForSession ); // save cookie settings - KConfig config("rekonqrc"); - KConfigGroup group = config.group("cookies"); - QMetaEnum acceptPolicyEnum = staticMetaObject.enumerator( staticMetaObject.indexOfEnumerator("AcceptPolicy") ); - group.writeEntry( QString("acceptCookies"), QString( acceptPolicyEnum.valueToKey(m_acceptCookies) ) ); + int n; + switch(m_acceptCookies) + { + case AcceptAlways: + n = 0; + break; + case AcceptNever: + n = 1; + break; + case AcceptOnlyFromSitesNavigatedTo: + default: + n = 2; + break; + } + ReKonfig::setAcceptCookies(n); - QMetaEnum keepPolicyEnum = staticMetaObject.enumerator(staticMetaObject.indexOfEnumerator("KeepPolicy")); - group.writeEntry( QString("keepCookiesUntil"), QString( keepPolicyEnum.valueToKey(m_keepCookies) ) ); + + switch(m_keepCookies) + { + default: + case KeepUntilExpire: + n = 0; + break; + case KeepUntilExit: + n = 1; + break; + case KeepUntilTimeLimit: + n = 2; + break; + } + ReKonfig::setKeepCookiesUntil(n); } diff --git a/src/rekonq.kcfg b/src/rekonq.kcfg index f55f8d67..c20134be 100644 --- a/src/rekonq.kcfg +++ b/src/rekonq.kcfg @@ -41,7 +41,7 @@ <default>true</default> </entry> <entry name="acceptCookies" type="Int"> - <default>0</default> + <default>2</default> </entry> <entry name="keepCookiesUntil" type="Int"> <default>0</default> |