void CookiesContentsWidget::removeDomainCookies() { const QModelIndexList indexes = m_ui->cookiesView->selectionModel()->selectedIndexes(); if (indexes.isEmpty()) { return; } QNetworkCookieJar *cookieJar = NetworkManagerFactory::getCookieJar(); QList<QNetworkCookie> cookies; for (int i = 0; i < indexes.count(); ++i) { QStandardItem *domainItem = ((indexes.at(i).isValid() && indexes.at(i).parent() == m_model->invisibleRootItem()->index()) ? findDomain(indexes.at(i).sibling(indexes.at(i).row(), 0).data(Qt::ToolTipRole).toString()) : m_model->itemFromIndex(indexes.at(i).parent())); if (domainItem) { for (int j = 0; j < domainItem->rowCount(); ++j) { QStandardItem *cookieItem = domainItem->child(j, 0); if (cookieItem) { const QNetworkCookie cookie = getCookie(cookieItem->index()); if (!cookies.contains(cookie)) { cookies.append(cookie); } } } } } if (cookies.isEmpty()) { return; } QMessageBox messageBox; messageBox.setWindowTitle(tr("Question")); messageBox.setText(tr("You are about to delete %n cookies.", "", cookies.count())); messageBox.setInformativeText(tr("Do you want to continue?")); messageBox.setIcon(QMessageBox::Question); messageBox.setStandardButtons(QMessageBox::Yes | QMessageBox::Cancel); messageBox.setDefaultButton(QMessageBox::Yes); if (messageBox.exec() == QMessageBox::Yes) { for (int i = 0; i < cookies.count(); ++i) { cookieJar->deleteCookie(cookies.at(i)); } } }
void CookiesContentsWidget::removeCookies() { const QModelIndexList indexes = m_ui->cookiesView->selectionModel()->selectedIndexes(); if (indexes.isEmpty()) { return; } QNetworkCookieJar *cookieJar = NetworkManagerFactory::getCookieJar(); QList<QNetworkCookie> cookies; for (int i = 0; i < indexes.count(); ++i) { if (!indexes.at(i).isValid()) { continue; } if (indexes.at(i).data(Qt::UserRole).toString().isEmpty()) { QStandardItem *domainItem = m_model->itemFromIndex(indexes.at(i)); if (!domainItem) { continue; } for (int j = 0; j < domainItem->rowCount(); ++j) { QStandardItem *cookieItem = domainItem->child(j, 0); if (cookieItem) { cookies.append(getCookie((cookieItem->index()))); } } } else { QStandardItem *cookieItem = m_model->itemFromIndex(indexes.at(i)); if (cookieItem) { cookies.append(getCookie(cookieItem->index())); } } } for (int i = 0; i < cookies.count(); ++i) { cookieJar->deleteCookie(cookies.at(i)); } }