1
mirror of https://invent.kde.org/network/falkon.git synced 2024-12-19 10:16:34 +01:00

Moved all cookies settings into Cookies Manager.

This commit is contained in:
nowrep 2013-01-23 01:34:15 +01:00
parent a71302fbc6
commit a34a72cdb8
9 changed files with 314 additions and 222 deletions

View File

@ -1,3 +1,25 @@
Version 1.4.0
* not yet released
* highlighting host in address in locationbar
* can now be compiled using Qt 5
* QtWebKit 2.3 new features - caret browsing, animated scrolling
* asking user whether to allow site to use notifications/geolocation
* option to set JavaScript privacy permissions
* option to specify default search engine used in locationbar
* option to disable search suggestions in websearchbar
* option to search only whole words in source viewer
* option to hide reload/stop buttons in navigationbar
* option to disable alt/ctrl + numbers shortcuts
* option to switch to tab from locationbar popup completer
* use .qupzilla/tmp instead of /tmp for temporary data
* fixed cookie domain handling according to RFC 6265
* fixed qvalue format in Accept-Language HTTP header
* fixed sorting files case insensitively in file scheme handler
* fixed possible crash in saving page screen of a really long page
* X11: fixed Ctrl+Q shortcut for DEs other than KDE and Gnome
* windows: improved installer allows registering as default web browser
* windows: check and set as default browser from preferences
Version 1.3.5
* released 16 September 2012
* new Persian translation

View File

@ -1,6 +1,6 @@
/* ============================================================
* QupZilla - WebKit based browser
* Copyright (C) 2010-2012 David Rosca <nowrep@gmail.com>
* Copyright (C) 2010-2013 David Rosca <nowrep@gmail.com>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -46,12 +46,27 @@ CookieManager::CookieManager(QWidget* parent)
connect(ui->close, SIGNAL(clicked(QAbstractButton*)), this, SLOT(close()));
connect(ui->close2, SIGNAL(clicked(QAbstractButton*)), this, SLOT(close()));
connect(ui->search, SIGNAL(textChanged(QString)), ui->cookieTree, SLOT(filterString(QString)));
// Cookie Filtering
connect(ui->whiteAdd, SIGNAL(clicked()), this, SLOT(addWhitelist()));
connect(ui->whiteRemove, SIGNAL(clicked()), this, SLOT(removeWhitelist()));
connect(ui->blackAdd, SIGNAL(clicked()), this, SLOT(addBlacklist()));
connect(ui->blackRemove, SIGNAL(clicked()), this, SLOT(removeBlacklist()));
// Cookie Settings
Settings settings;
settings.beginGroup("Cookie-Settings");
ui->saveCookies->setChecked(settings.value("allowCookies", true).toBool());
if (!ui->saveCookies->isChecked()) {
ui->deleteCookiesOnClose->setEnabled(false);
}
ui->deleteCookiesOnClose->setChecked(settings.value("deleteCookiesOnClose", false).toBool());
ui->matchExactly->setChecked(settings.value("allowCookiesFromVisitedDomainOnly", false).toBool());
ui->filterTracking->setChecked(settings.value("filterTrackingCookie", false).toBool());
settings.endGroup();
connect(ui->saveCookies, SIGNAL(toggled(bool)), this, SLOT(saveCookiesChanged(bool)));
ui->search->setPlaceholderText(tr("Search"));
ui->cookieTree->setDefaultItemShowMode(TreeWidget::ItemsCollapsed);
ui->cookieTree->sortItems(0, Qt::AscendingOrder);
@ -257,6 +272,11 @@ void CookieManager::deletePressed()
}
}
void CookieManager::saveCookiesChanged(bool state)
{
ui->deleteCookiesOnClose->setEnabled(state);
}
void CookieManager::closeEvent(QCloseEvent* e)
{
QStringList whitelist;
@ -272,6 +292,10 @@ void CookieManager::closeEvent(QCloseEvent* e)
Settings settings;
settings.beginGroup("Cookie-Settings");
settings.setValue("allowCookies", ui->saveCookies->isChecked());
settings.setValue("deleteCookiesOnClose", ui->deleteCookiesOnClose->isChecked());
settings.setValue("allowCookiesFromVisitedDomainOnly", ui->matchExactly->isChecked());
settings.setValue("filterTrackingCookie", ui->filterTracking->isChecked());
settings.setValue("whitelist", whitelist);
settings.setValue("blacklist", blacklist);
settings.endGroup();

View File

@ -1,6 +1,6 @@
/* ============================================================
* QupZilla - WebKit based browser
* Copyright (C) 2010-2012 David Rosca <nowrep@gmail.com>
* Copyright (C) 2010-2013 David Rosca <nowrep@gmail.com>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -55,6 +55,7 @@ private slots:
void removeBlacklist();
void deletePressed();
void saveCookiesChanged(bool state);
private:
void closeEvent(QCloseEvent* e);

View File

@ -359,6 +359,123 @@
</item>
</layout>
</widget>
<widget class="QWidget" name="tab_3">
<attribute name="title">
<string>Settings</string>
</attribute>
<layout class="QGridLayout" name="gridLayout_4">
<item row="0" column="0" colspan="3">
<widget class="QLabel" name="label_13">
<property name="text">
<string>&lt;b&gt;Cookie Settings&lt;/b&gt;</string>
</property>
</widget>
</item>
<item row="1" column="1" colspan="2">
<widget class="QCheckBox" name="saveCookies">
<property name="text">
<string>Allow storing of cookies</string>
</property>
</widget>
</item>
<item row="2" column="0">
<spacer name="horizontalSpacer_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>10</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="2" column="1">
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="2" column="2">
<widget class="QCheckBox" name="deleteCookiesOnClose">
<property name="text">
<string>Delete cookies on close</string>
</property>
</widget>
</item>
<item row="2" column="3">
<spacer name="horizontalSpacer_22">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>344</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="3" column="1" colspan="2">
<widget class="QCheckBox" name="matchExactly">
<property name="text">
<string>Match domain exactly</string>
</property>
</widget>
</item>
<item row="4" column="1" colspan="2">
<widget class="QCheckBox" name="filterTracking">
<property name="text">
<string>Filter tracking cookies</string>
</property>
</widget>
</item>
<item row="6" column="3">
<spacer name="verticalSpacer_3">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
<item row="5" column="1" colspan="3">
<widget class="QLabel" name="label_19">
<property name="text">
<string>&lt;b&gt;Warning:&lt;/b&gt; Match domain exactly and filter tracking cookies options can lead to deny some cookies from sites. If you have problems with cookies, try to disable this options first!</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="7" column="3">
<widget class="QDialogButtonBox" name="close3">
<property name="standardButtons">
<set>QDialogButtonBox::Close</set>
</property>
</widget>
</item>
</layout>
</widget>
</widget>
</item>
</layout>

View File

@ -1,6 +1,6 @@
/* ============================================================
* QupZilla - WebKit based browser
* Copyright (C) 2010-2012 David Rosca <nowrep@gmail.com>
* Copyright (C) 2010-2013 David Rosca <nowrep@gmail.com>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -637,7 +637,7 @@ void LocationBar::paintEvent(QPaintEvent* event)
switch (m_progressStyle) {
case ProgressFilled: {
QRect bar = contentsRect.adjusted(0, 1, 0, -1);
bar.setWidth(bar.width()*m_loadProgress / 100);
bar.setWidth(bar.width() * m_loadProgress / 100);
const int roundness = bar.height() / 4.0;
p.drawRoundedRect(bar, roundness, roundness);
break;
@ -647,7 +647,7 @@ void LocationBar::paintEvent(QPaintEvent* event)
outlinePen.setColor(outlinePen.color().darker(130));
p.setPen(outlinePen);
QRect bar(contentsRect.x(), contentsRect.bottom() - 3,
contentsRect.width()*m_loadProgress / 100.0, 3);
contentsRect.width() * m_loadProgress / 100.0, 3);
p.drawRoundedRect(bar, 1, 1);
break;
}
@ -656,7 +656,7 @@ void LocationBar::paintEvent(QPaintEvent* event)
outlinePen.setColor(outlinePen.color().darker(130));
p.setPen(outlinePen);
QRect bar(contentsRect.x(), contentsRect.top() + 1,
contentsRect.width()*m_loadProgress / 100.0, 3);
contentsRect.width() * m_loadProgress / 100.0, 3);
p.drawRoundedRect(bar, 1, 1);
break;
}

View File

@ -1,6 +1,6 @@
/* ============================================================
* QupZilla - WebKit based browser
* Copyright (C) 2010-2012 David Rosca <nowrep@gmail.com>
* Copyright (C) 2010-2013 David Rosca <nowrep@gmail.com>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -294,18 +294,6 @@ Preferences::Preferences(QupZilla* mainClass, QWidget* parent)
connect(ui->chooseUserStylesheet, SIGNAL(clicked()), this, SLOT(chooseUserStyleClicked()));
settings.endGroup();
//Cookies
settings.beginGroup("Cookie-Settings");
ui->saveCookies->setChecked(settings.value("allowCookies", true).toBool());
if (!ui->saveCookies->isChecked()) {
ui->deleteCookiesOnClose->setEnabled(false);
}
connect(ui->saveCookies, SIGNAL(toggled(bool)), this, SLOT(saveCookiesChanged(bool)));
ui->deleteCookiesOnClose->setChecked(settings.value("deleteCookiesOnClose", false).toBool());
ui->matchExactly->setChecked(settings.value("allowCookiesFromVisitedDomainOnly", false).toBool());
ui->filterTracking->setChecked(settings.value("filterTrackingCookie", false).toBool());
settings.endGroup();
//DOWNLOADS
settings.beginGroup("DownloadManager");
ui->downLoc->setText(settings.value("defaultDownloadPath", "").toString());
@ -608,11 +596,6 @@ void Preferences::saveHistoryChanged(bool stat)
ui->deleteHistoryOnClose->setEnabled(stat);
}
void Preferences::saveCookiesChanged(bool state)
{
ui->deleteCookiesOnClose->setEnabled(state);
}
void Preferences::allowHtml5storageChanged(bool stat)
{
ui->deleteHtml5storageOnClose->setEnabled(stat);
@ -923,14 +906,6 @@ void Preferences::saveSettings()
settings.setValue("SendReferer", ui->sendReferer->isChecked());
settings.endGroup();
//Cookies
settings.beginGroup("Cookie-Settings");
settings.setValue("allowCookies", ui->saveCookies->isChecked());
settings.setValue("deleteCookiesOnClose", ui->deleteCookiesOnClose->isChecked());
settings.setValue("allowCookiesFromVisitedDomainOnly", ui->matchExactly->isChecked());
settings.setValue("filterTrackingCookie", ui->filterTracking->isChecked());
settings.endGroup();
//NOTIFICATIONS
settings.beginGroup("Notifications");
settings.setValue("Timeout", ui->notificationTimeout->value() * 1000);

View File

@ -1,6 +1,6 @@
/* ============================================================
* QupZilla - WebKit based browser
* Copyright (C) 2010-2012 David Rosca <nowrep@gmail.com>
* Copyright (C) 2010-2013 David Rosca <nowrep@gmail.com>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -64,7 +64,6 @@ private slots:
void openJsOptions();
void saveHistoryChanged(bool state);
void saveCookiesChanged(bool state);
void allowHtml5storageChanged(bool state);
void downLocChanged(bool state);
void allowCacheChanged(bool state);

View File

@ -2029,51 +2029,124 @@
</widget>
<widget class="QWidget" name="privacyPage">
<layout class="QGridLayout" name="gridLayout_12">
<item row="9" column="1" colspan="4">
<widget class="QCheckBox" name="saveCookies">
<property name="text">
<string>Allow storing of cookies</string>
</property>
</widget>
</item>
<item row="10" column="1">
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="22" column="1" colspan="4">
<item row="21" column="1" colspan="3">
<widget class="QCheckBox" name="sendReferer">
<property name="text">
<string>Send Referer header to servers</string>
</property>
</widget>
</item>
<item row="13" column="1" colspan="3">
<widget class="QCheckBox" name="filterTracking">
<property name="text">
<string>Filter tracking cookies</string>
</property>
</widget>
</item>
<item row="8" column="0" colspan="5">
<item row="8" column="0" colspan="3">
<widget class="QLabel" name="label_12">
<property name="text">
<string>&lt;b&gt;Cookies&lt;/b&gt;</string>
</property>
</widget>
</item>
<item row="13" column="0">
<item row="22" column="1" colspan="3">
<widget class="QCheckBox" name="doNotTrack">
<property name="text">
<string>Send Do Not Track header to servers</string>
</property>
</widget>
</item>
<item row="19" column="0" colspan="4">
<widget class="QLabel" name="label_50">
<property name="text">
<string>&lt;b&gt;Other&lt;/b&gt;</string>
</property>
</widget>
</item>
<item row="16" column="0" colspan="3">
<widget class="QLabel" name="label_49">
<property name="text">
<string>Manage CA certificates</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="27" column="0" colspan="4">
<spacer name="verticalSpacer_3">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
<item row="16" column="3">
<widget class="QPushButton" name="sslManagerButton">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Certificate Manager</string>
</property>
</widget>
</item>
<item row="14" column="0" colspan="4">
<widget class="QLabel" name="label_48">
<property name="text">
<string>&lt;b&gt;SSL Certificates&lt;/b&gt;</string>
</property>
</widget>
</item>
<item row="17" column="0" colspan="4">
<widget class="QLabel" name="label_61">
<property name="mouseTracking">
<bool>true</bool>
</property>
<property name="text">
<string>&lt;b&gt;JavaScript&lt;/b&gt;</string>
</property>
</widget>
</item>
<item row="18" column="0" colspan="3">
<widget class="QLabel" name="label_25">
<property name="mouseTracking">
<bool>false</bool>
</property>
<property name="text">
<string>Manage JavaScript privacy options</string>
</property>
</widget>
</item>
<item row="18" column="3">
<widget class="QPushButton" name="jsOptionsButton">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>JavaScript options</string>
</property>
</widget>
</item>
<item row="12" column="3">
<widget class="QPushButton" name="cookieManagerBut">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Cookies Manager</string>
</property>
</widget>
</item>
<item row="21" column="0">
<spacer name="horizontalSpacer_20">
<property name="orientation">
<enum>Qt::Horizontal</enum>
@ -2089,38 +2162,14 @@
</property>
</spacer>
</item>
<item row="12" column="1" colspan="4">
<widget class="QCheckBox" name="matchExactly">
<item row="12" column="0" colspan="3">
<widget class="QLabel" name="label_19">
<property name="text">
<string>Match domain exactly</string>
<string>Manage Cookies</string>
</property>
</widget>
</item>
<item row="23" column="1" colspan="4">
<widget class="QCheckBox" name="doNotTrack">
<property name="text">
<string>Send Do Not Track header to servers</string>
</property>
</widget>
</item>
<item row="20" column="0" colspan="5">
<widget class="QLabel" name="label_50">
<property name="text">
<string>&lt;b&gt;Other&lt;/b&gt;</string>
</property>
</widget>
</item>
<item row="17" column="0" colspan="4">
<widget class="QLabel" name="label_49">
<property name="text">
<string>Manage CA certificates</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="10" column="4">
<item row="8" column="3">
<spacer name="horizontalSpacer_22">
<property name="orientation">
<enum>Qt::Horizontal</enum>
@ -2133,102 +2182,6 @@
</property>
</spacer>
</item>
<item row="28" column="0" colspan="5">
<spacer name="verticalSpacer_3">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
<item row="13" column="4">
<widget class="QPushButton" name="cookieManagerBut">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Cookies Manager</string>
</property>
</widget>
</item>
<item row="17" column="4">
<widget class="QPushButton" name="sslManagerButton">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Certificate Manager</string>
</property>
</widget>
</item>
<item row="15" column="0" colspan="5">
<widget class="QLabel" name="label_48">
<property name="text">
<string>&lt;b&gt;SSL Certificates&lt;/b&gt;</string>
</property>
</widget>
</item>
<item row="14" column="0" colspan="5">
<widget class="QLabel" name="label_19">
<property name="text">
<string>&lt;b&gt;Warning:&lt;/b&gt; Match domain exactly and filter tracking cookies options can lead to deny some cookies from sites. If you have problems with cookies, try to disable this options first!</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="10" column="2" colspan="2">
<widget class="QCheckBox" name="deleteCookiesOnClose">
<property name="text">
<string>Delete cookies on close</string>
</property>
</widget>
</item>
<item row="18" column="0" colspan="5">
<widget class="QLabel" name="label_61">
<property name="mouseTracking">
<bool>true</bool>
</property>
<property name="text">
<string>&lt;b&gt;JavaScript&lt;/b&gt;</string>
</property>
</widget>
</item>
<item row="19" column="0" colspan="4">
<widget class="QLabel" name="label_25">
<property name="mouseTracking">
<bool>false</bool>
</property>
<property name="text">
<string>Manage JavaScript privacy options</string>
</property>
</widget>
</item>
<item row="19" column="4">
<widget class="QPushButton" name="jsOptionsButton">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>JavaScript options</string>
</property>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="notificationsPage">

View File

@ -1,6 +1,6 @@
/* ============================================================
* QupZilla - WebKit based browser
* Copyright (C) 2010-2012 David Rosca <nowrep@gmail.com>
* Copyright (C) 2010-2013 David Rosca <nowrep@gmail.com>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -30,47 +30,48 @@ class QIcon;
class QWidget;
class QUrl;
namespace QzTools {
QByteArray QT_QUPZILLA_EXPORT pixmapToByteArray(const QPixmap &pix);
QPixmap QT_QUPZILLA_EXPORT pixmapFromByteArray(const QByteArray &data);
namespace QzTools
{
QByteArray QT_QUPZILLA_EXPORT pixmapToByteArray(const QPixmap &pix);
QPixmap QT_QUPZILLA_EXPORT pixmapFromByteArray(const QByteArray &data);
QString QT_QUPZILLA_EXPORT readAllFileContents(const QString &filename);
QString QT_QUPZILLA_EXPORT readAllFileContents(const QString &filename);
void QT_QUPZILLA_EXPORT centerWidgetOnScreen(QWidget* w);
void QT_QUPZILLA_EXPORT centerWidgetToParent(QWidget* w, QWidget* parent);
void QT_QUPZILLA_EXPORT centerWidgetOnScreen(QWidget* w);
void QT_QUPZILLA_EXPORT centerWidgetToParent(QWidget* w, QWidget* parent);
bool QT_QUPZILLA_EXPORT removeFile(const QString &fullFileName);
void QT_QUPZILLA_EXPORT removeDir(const QString &d);
bool QT_QUPZILLA_EXPORT removeFile(const QString &fullFileName);
void QT_QUPZILLA_EXPORT removeDir(const QString &d);
QString QT_QUPZILLA_EXPORT samePartOfStrings(const QString &one, const QString &other);
QUrl QT_QUPZILLA_EXPORT makeRelativeUrl(const QUrl &baseUrl, const QUrl &rUrl);
QString QT_QUPZILLA_EXPORT urlEncodeQueryString(const QUrl &url);
QString QT_QUPZILLA_EXPORT samePartOfStrings(const QString &one, const QString &other);
QUrl QT_QUPZILLA_EXPORT makeRelativeUrl(const QUrl &baseUrl, const QUrl &rUrl);
QString QT_QUPZILLA_EXPORT urlEncodeQueryString(const QUrl &url);
QString QT_QUPZILLA_EXPORT ensureUniqueFilename(const QString &name, const QString &appendFormat = QString("(%1)"));
QString QT_QUPZILLA_EXPORT getFileNameFromUrl(const QUrl &url);
QString QT_QUPZILLA_EXPORT filterCharsFromFilename(const QString &name);
QString QT_QUPZILLA_EXPORT ensureUniqueFilename(const QString &name, const QString &appendFormat = QString("(%1)"));
QString QT_QUPZILLA_EXPORT getFileNameFromUrl(const QUrl &url);
QString QT_QUPZILLA_EXPORT filterCharsFromFilename(const QString &name);
QString QT_QUPZILLA_EXPORT alignTextToWidth(const QString &string, const QString &text, const QFontMetrics &metrics, int width);
QString QT_QUPZILLA_EXPORT fileSizeToString(qint64 size);
QString QT_QUPZILLA_EXPORT alignTextToWidth(const QString &string, const QString &text, const QFontMetrics &metrics, int width);
QString QT_QUPZILLA_EXPORT fileSizeToString(qint64 size);
QPixmap QT_QUPZILLA_EXPORT createPixmapForSite(const QIcon &icon, const QString &title, const QString &url);
QString QT_QUPZILLA_EXPORT applyDirectionToPage(QString &pageContents);
QPixmap QT_QUPZILLA_EXPORT createPixmapForSite(const QIcon &icon, const QString &title, const QString &url);
QString QT_QUPZILLA_EXPORT applyDirectionToPage(QString &pageContents);
QString QT_QUPZILLA_EXPORT buildSystem();
QString QT_QUPZILLA_EXPORT buildSystem();
// Qt5 migration help functions
bool QT_QUPZILLA_EXPORT isCertificateValid(const QSslCertificate &cert);
QString QT_QUPZILLA_EXPORT escape(const QString &string);
// Qt5 migration help functions
bool QT_QUPZILLA_EXPORT isCertificateValid(const QSslCertificate &cert);
QString QT_QUPZILLA_EXPORT escape(const QString &string);
#ifdef QZ_WS_X11
void QT_QUPZILLA_EXPORT* X11Display(const QWidget* widget);
#endif
#ifdef QZ_WS_X11
void QT_QUPZILLA_EXPORT* X11Display(const QWidget* widget);
#endif
template <typename T>
bool listContainsIndex(const QList<T> &list, int index)
{
return (index >= 0 && list.count() > index);
}
template <typename T>
bool listContainsIndex(const QList<T> &list, int index)
{
return (index >= 0 && list.count() > index);
}
} // namespace