Copyright (C) 2010 Ixonos Plc. Authors:
Henri Lampela - henri.lampela@ixonos.com
+ Sami Rämö - sami.ramo@ixonos.com
Situare is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
USA.
*/
-#include "networkcookiejar.h"
#include <QDebug>
+#include <QSettings>
-NetworkCookieJar::NetworkCookieJar(QObject *parent) :
- QNetworkCookieJar(parent)
-{
- m_cookieList.clear();
-}
+#include "common.h"
+
+#include "networkcookiejar.h"
-void NetworkCookieJar::setAllCookies(const QList<QNetworkCookie> &cookieList)
+NetworkCookieJar::NetworkCookieJar(QObject *parent)
+ : QNetworkCookieJar(parent)
{
- m_cookieList = cookieList;
+ qWarning() << __PRETTY_FUNCTION__;
+
+ loadCookies();
}
-QList<QNetworkCookie> NetworkCookieJar::allCookies() const
+NetworkCookieJar::~NetworkCookieJar()
{
- return m_cookieList;
+ qWarning() << __PRETTY_FUNCTION__;
+
+ saveCookies();
}
-bool NetworkCookieJar::setCookiesFromUrl(const QList<QNetworkCookie> &cookieList, const QUrl &url)
+void NetworkCookieJar::loadCookies()
{
- Q_UNUSED(url);
+ qWarning() << __PRETTY_FUNCTION__;
- QList<QNetworkCookie> cookies = allCookies();
- foreach(QNetworkCookie cookie, cookieList) {
- cookies += cookie;
- }
- setAllCookies(cookies);
+ QSettings settings(DIRECTORY_NAME, FILE_NAME);
- return true;
+ QStringList list = settings.value(COOKIES, EMPTY).toStringList();
+
+ if(!list.isEmpty()) {
+ QList<QNetworkCookie> cookieList;
+ for(int i = 0; i < list.count(); i++) {
+ cookieList.append(QNetworkCookie::parseCookies(list.at(i).toAscii()));
+ }
+
+ setAllCookies(cookieList);
+ }
}
-QList<QNetworkCookie> NetworkCookieJar::cookiesForUrl ( const QUrl & url ) const
+void NetworkCookieJar::saveCookies()
{
- Q_UNUSED(url);
- return m_cookieList;
+ qWarning() << __PRETTY_FUNCTION__;
+
+ QList<QNetworkCookie> cookieList = allCookies();
+ QStringList list;
+
+ for(int i = 0; i < cookieList.count(); i++) {
+ QNetworkCookie cookie = cookieList.at(i);
+ QByteArray byteArray = cookie.toRawForm(QNetworkCookie::Full);
+ list.append(QString(byteArray));
+ }
+ list.removeDuplicates();
+
+ QSettings settings(DIRECTORY_NAME, FILE_NAME);
+ settings.setValue(COOKIES, list);
}
Copyright (C) 2010 Ixonos Plc. Authors:
Henri Lampela - henri.lampela@ixonos.com
+ Sami Rämö - sami.ramo@ixonos.com
Situare is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
* @brief Sub-class of QNetworkCookieJar, needed for cookie saving
*
* @author Henri Lampela
+* @author Sami Rämö - sami.ramo (at) ixonos.com
*/
class NetworkCookieJar : public QNetworkCookieJar
{
Q_OBJECT
public:
-
/**
* @brief Constructor
*
*/
explicit NetworkCookieJar(QObject *parent = 0);
-/*******************************************************************************
- * BASE CLASS INHERITED AND REIMPLEMENTED MEMBER FUNCTIONS
- ******************************************************************************/
-
- /**
- * @brief Sets all network cookies
- *
- * @param cookieList Network cookie list
- */
- void setAllCookies ( const QList<QNetworkCookie> & cookieList );
-
- /**
- * @brief Gets all networks cookies
- *
- * @return QList<QNetworkCookie> Network cookie list
- */
- QList<QNetworkCookie> allCookies() const;
-
- /**
- * @brief Sets network cookies from url
- *
- * @param cookieList Network cookie list
- * @param url Url
- * @return bool Return value
- */
- bool setCookiesFromUrl(const QList<QNetworkCookie> &cookieList, const QUrl &url);
-
- /**
- * @brief Empty implementation
- *
- * @param url Url
- * @return QList<QNetworkCookie> Network cookie list
- */
- QList<QNetworkCookie> cookiesForUrl(const QUrl & url) const;
+ ~NetworkCookieJar();
/*******************************************************************************
- * DATA MEMBERS
+ * MEMBER FUNCTIONS AND SLOTS
******************************************************************************/
-
private:
+ void loadCookies();
- QList<QNetworkCookie> m_cookieList; ///< Placeholder for network cookies
-
+ void saveCookies();
};
#endif // NETWORKCOOKIEJAR_H
#include <QDebug>
+#include "network/networkcookiejar.h"
+
#include "facebookloginbrowser.h"
FacebookLoginBrowser::FacebookLoginBrowser(QWidget *parent) :
setWindowFlags(Qt::Dialog);
setWindowTitle(tr("Login"));
+
+ page()->networkAccessManager()->setCookieJar(new NetworkCookieJar());
}
public:
explicit FacebookLoginBrowser(QWidget *parent = 0);
-signals:
-
-public slots:
-
};
#endif // FACEBOOKLOGINBROWSER_H
QList<QNetworkCookie> emptyList;
emptyList.clear();
- m_cookieJar->setAllCookies(emptyList);
+// m_cookieJar->setAllCookies(emptyList);
m_webView->page()->networkAccessManager()->setCookieJar(m_cookieJar);
}
QWidget::keyPressEvent(event);
}
+///< @todo remove old, duplicate loadCookies()
void MainWindow::loadCookies()
{
qDebug() << __PRETTY_FUNCTION__;
- QSettings settings(DIRECTORY_NAME, FILE_NAME);
+// QSettings settings(DIRECTORY_NAME, FILE_NAME);
- QStringList list = settings.value(COOKIES, EMPTY).toStringList();
+// QStringList list = settings.value(COOKIES, EMPTY).toStringList();
- if(!list.isEmpty()) {
- QList<QNetworkCookie> cookieList;
- for(int i=0;i<list.count();i++) {
- cookieList.append(QNetworkCookie::parseCookies(list.at(i).toAscii()));
- }
+// if(!list.isEmpty()) {
+// QList<QNetworkCookie> cookieList;
+// for(int i=0;i<list.count();i++) {
+// cookieList.append(QNetworkCookie::parseCookies(list.at(i).toAscii()));
+// }
- if(!m_cookieJar)
- m_cookieJar = new NetworkCookieJar(new QNetworkCookieJar(this));
+// if(!m_cookieJar)
+// m_cookieJar = new NetworkCookieJar(new QNetworkCookieJar(this));
- m_cookieJar->setAllCookies(cookieList);
- m_webView->page()->networkAccessManager()->setCookieJar(m_cookieJar);
- }
+// m_cookieJar->setAllCookies(cookieList);
+// m_webView->page()->networkAccessManager()->setCookieJar(m_cookieJar);
+// }
}
void MainWindow::loadDone(bool done)
}
}
+///< @todo remove old, duplicate saveCookies()
void MainWindow::saveCookies()
{
qDebug() << __PRETTY_FUNCTION__;
- if(!m_cookieJar)
- m_cookieJar = new NetworkCookieJar(new QNetworkCookieJar(this));
+// if(!m_cookieJar)
+// m_cookieJar = new NetworkCookieJar(new QNetworkCookieJar(this));
- QList<QNetworkCookie> cookieList = m_cookieJar->allCookies();
- QStringList list;
+// QList<QNetworkCookie> cookieList = m_cookieJar->allCookies();
+// QStringList list;
- for(int i=0;i<cookieList.count();i++) {
- QNetworkCookie cookie = cookieList.at(i);
- QByteArray byteArray = cookie.toRawForm(QNetworkCookie::Full);
- list.append(QString(byteArray));
- }
- list.removeDuplicates();
+// for(int i=0;i<cookieList.count();i++) {
+// QNetworkCookie cookie = cookieList.at(i);
+// QByteArray byteArray = cookie.toRawForm(QNetworkCookie::Full);
+// list.append(QString(byteArray));
+// }
+// list.removeDuplicates();
- QSettings settings(DIRECTORY_NAME, FILE_NAME);
- settings.setValue(COOKIES, list);
+// QSettings settings(DIRECTORY_NAME, FILE_NAME);
+// settings.setValue(COOKIES, list);
}
void MainWindow::setCrosshairVisibility(bool visibility)