QVariant CookieModel::data(const QModelIndex &index, int role) const { if (index.row() < 0 || index.row() >= m_cookies.size()) return QVariant(); switch (role) { case Qt::DisplayRole: case Qt::EditRole: { QNetworkCookie cookie = m_cookies.at(index.row()); switch (index.column()) { case 0: return cookie.domain(); case 1: return cookie.name(); case 2: return cookie.path(); case 3: return cookie.isSecure() ? tr("true") : tr("false"); case 4: return cookie.isSessionCookie() ? tr("Session cookie") : cookie.expirationDate().toString(); case 5: return cookie.value(); } } case Qt::FontRole: { QFont font; font.setPointSize(10); return font; } } return QVariant(); }
CookieDialog::CookieDialog(const QNetworkCookie &cookie, QWidget *parent): QDialog(parent) { setupUi(this); m_nameLineEdit->setText(cookie.name()); m_domainLineEdit->setText(cookie.domain()); m_valueLineEdit->setText(cookie.value()); m_pathLineEdit->setText(cookie.path()); m_dateEdit->setDate(cookie.expirationDate().date()); m_isSecureComboBox->addItem(cookie.isSecure() ? tr("yes") : tr("no")); m_isHttpOnlyComboBox->addItem(cookie.isHttpOnly() ? tr("yes") : tr("no")); m_addButton->setVisible(false); m_cancelButton->setText(tr("Close")); }
bool CookieJar::hasCookie(const QNetworkCookie &cookie) const { QUrl url; url.setScheme(cookie.isSecure() ? QLatin1String("https") : QLatin1String("http")); url.setHost(cookie.domain().startsWith(QLatin1Char('.')) ? cookie.domain().mid(1) : cookie.domain()); url.setPath(cookie.path()); const QList<QNetworkCookie> cookies(getCookiesForUrl(url)); for (int i = 0; i < cookies.count(); ++i) { if (cookies.at(i).domain() == cookie.domain() && cookies.at(i).name() == cookie.name()) { return true; } } return false; }