From 67d1767533a8bfa87cc0744db469b890177307b7 Mon Sep 17 00:00:00 2001 From: Aqua-sama Date: Sat, 1 Apr 2017 13:19:55 +0200 Subject: Moved CookiesForm into the ProfileDialog --- src/forms/cookiesform.cpp | 47 ++++++++++++++++++++++++++++++----------------- 1 file changed, 30 insertions(+), 17 deletions(-) (limited to 'src/forms/cookiesform.cpp') diff --git a/src/forms/cookiesform.cpp b/src/forms/cookiesform.cpp index 44a9e44..7dfeb26 100644 --- a/src/forms/cookiesform.cpp +++ b/src/forms/cookiesform.cpp @@ -24,52 +24,65 @@ #include #include -CookiesWidget::CookiesWidget(QWebEngineCookieStore *store, QWidget *parent) : +CookiesForm::CookiesForm(QWebEngineCookieStore *store, QWidget *parent) : QWidget(parent), ui(new Ui::CookiesForm) { setAttribute(Qt::WA_DeleteOnClose, false); ui->setupUi(this); + ui->treeWidget->header()->setSectionResizeMode(QHeaderView::ResizeToContents); connect(store, SIGNAL(cookieAdded(QNetworkCookie)), this, SLOT(addCookie(QNetworkCookie))); connect(ui->treeWidget, SIGNAL(currentItemChanged(QTreeWidgetItem*,QTreeWidgetItem*)), this, SLOT(showDetails(QTreeWidgetItem*,QTreeWidgetItem*))); - connect(ui->treeWidget, SIGNAL(itemClicked(QTreeWidgetItem*,int)), this, SLOT(showDetails(QTreeWidgetItem*,int))); } -CookiesWidget::~CookiesWidget() +CookiesForm::~CookiesForm() { delete ui; } -void CookiesWidget::addCookie(const QNetworkCookie &cookie) +void CookiesForm::addCookie(const QNetworkCookie &cookie) { + // find topLevelItem to which to add the cookie + QTreeWidgetItem *domainItem = nullptr; + + // loop through all top level items and check if one matches the domain for(int i = 0; i < ui->treeWidget->topLevelItemCount(); i++) { QTreeWidgetItem *parentItem = ui->treeWidget->topLevelItem(i); if(parentItem->text(0) == cookie.domain()) { - QTreeWidgetItem *item = new QTreeWidgetItem(parentItem); - item->setText(0, cookie.name()); - item->setText(1, cookie.expirationDate().toString(Qt::RFC2822Date)); - item->setText(2, cookie.isHttpOnly() ? tr("yes") : tr("no")); - item->setText(3, cookie.isSecure() ? tr("yes") : tr("no")); - - item->setData(0, Qt::UserRole, cookie.value()); - return; + domainItem = parentItem; + break; } } // no topLevelItem matches - QTreeWidgetItem *parentItem = new QTreeWidgetItem(ui->treeWidget); - parentItem->setText(0, cookie.domain()); - addCookie(cookie); + if(!domainItem) { + domainItem = new QTreeWidgetItem(ui->treeWidget); + domainItem->setText(0, cookie.domain()); + } + + QTreeWidgetItem *item = new QTreeWidgetItem(domainItem); + item->setText(0, cookie.name()); + item->setText(1, cookie.expirationDate().toString(Qt::RFC2822Date)); + + item->setData(0, ValueRole, cookie.value()); + item->setData(0, IsHttpOnlyRole, cookie.isHttpOnly() ? tr("yes") : tr("no")); + item->setData(0, IsSecureRole, cookie.isSecure() ? tr("yes") : tr("no")); + item->setData(0, IsSessionCookieRole, cookie.isSessionCookie() ? tr("yes") : tr("no")); + item->setData(0, PathRole, cookie.path()); } -void CookiesWidget::showDetails(QTreeWidgetItem *current, QTreeWidgetItem *previous) +void CookiesForm::showDetails(QTreeWidgetItem *current, QTreeWidgetItem *previous) { Q_UNUSED(previous) if(!current) { return; } - ui->value->setPlainText(current->data(0, Qt::UserRole).toString()); + ui->value->setPlainText(current->data(0, ValueRole).toString()); + ui->httponly->setText(current->data(0, IsHttpOnlyRole).toString()); + ui->secure->setText(current->data(0, IsSecureRole).toString()); + ui->session->setText(current->data(0, IsSessionCookieRole).toString()); + ui->path->setText(current->data(0, PathRole).toString()); } -- cgit v1.2.1