diff --git a/src/gui/messagesview.cpp b/src/gui/messagesview.cpp index aa191ebe5..3499ec83c 100755 --- a/src/gui/messagesview.cpp +++ b/src/gui/messagesview.cpp @@ -453,7 +453,6 @@ void MessagesView::selectPreviousItem() { } void MessagesView::selectNextUnreadItem() { - // FIXME: Use this to solve #112. const QModelIndexList selected_rows = selectionModel()->selectedRows(); int active_row; diff --git a/src/miscellaneous/application.cpp b/src/miscellaneous/application.cpp index a764e6345..49798aa5e 100755 --- a/src/miscellaneous/application.cpp +++ b/src/miscellaneous/application.cpp @@ -45,6 +45,8 @@ #include #include +#include +#include #endif Application::Application(const QString& id, int& argc, char** argv) @@ -65,8 +67,9 @@ Application::Application(const QString& id, int& argc, char** argv) #if defined(USE_WEBENGINE) connect(QWebEngineProfile::defaultProfile(), &QWebEngineProfile::downloadRequested, this, &Application::downloadRequested); QWebEngineProfile::defaultProfile()->setRequestInterceptor(m_urlInterceptor); - // TODO: Teď tam žádný nastavení není, ale jestli se DNT třeba - // přidá do dialogu nastavení, tak toto volat při ukládání nastavení. + + // TODO: Call load settings when saving app settings from dialog. + // Will need add that if I add more settings in the future. m_urlInterceptor->loadSettings(); #endif } diff --git a/src/miscellaneous/settings.cpp b/src/miscellaneous/settings.cpp index 0f2d9d82b..3459888ee 100755 --- a/src/miscellaneous/settings.cpp +++ b/src/miscellaneous/settings.cpp @@ -26,7 +26,7 @@ // AdBlock. -DKEY AdBlock::ID = "adblock"; +DKEY AdBlock::ID = "adblock"; DKEY AdBlock::DisabledRules = "disabled_rules"; DVALUE(QStringList) AdBlock::DisabledRulesDef = QStringList(); diff --git a/src/network-web/adblock/adblockmanager.cpp b/src/network-web/adblock/adblockmanager.cpp index 89f813a3e..88cd65ea5 100755 --- a/src/network-web/adblock/adblockmanager.cpp +++ b/src/network-web/adblock/adblockmanager.cpp @@ -102,17 +102,8 @@ bool AdBlockManager::block(QWebEngineUrlRequestInfo& request) { res = true; if (request.resourceType() == QWebEngineUrlRequestInfo::ResourceTypeMainFrame) { - // We are blocking main URL frame, we can display "AdBlock error page" or + // NOTE: We are blocking main URL frame, we can display "AdBlock error page" or // redirect to somewhere. - // TODO: dodělat lepší - // TODO request.redirect() přesměrovat na "chybovou stranku"; - // QUrl url(QSL("rssguard:adblock")); - // QUrlQuery query; - // query.addQueryItem(QSL("rule"), blockedRule->filter()); - // query.addQueryItem(QSL("subscription"), - // blockedRule->subscription()->title()); - // url.setQuery(query); - // request.redirect(url); request.block(true); } @@ -191,9 +182,8 @@ AdBlockSubscription* AdBlockManager::addSubscription(const QString& title, const subscription->setFilePath(filePath); subscription->loadSubscription(m_disabledRules); m_subscriptions.insert(m_subscriptions.count() - 1, subscription); - // TODO: po změně subskripce přehrat user css? - // connect(subscription, SIGNAL(subscriptionUpdated()), mApp, - // SLOT(reloadUserStyleSheet())); + // TODO: Reload user stylesheet. + // connect(subscription, SIGNAL(subscriptionUpdated()), mApp, SLOT(reloadUserStyleSheet())); connect(subscription, SIGNAL(subscriptionChanged()), this, SLOT(updateMatcher())); return subscription; } @@ -282,12 +272,11 @@ void AdBlockManager::load() { AdBlockCustomList* customList = new AdBlockCustomList(this); m_subscriptions.append(customList); - // Load all subscriptions + // Load all subscriptions. foreach (AdBlockSubscription* subscription, m_subscriptions) { subscription->loadSubscription(m_disabledRules); - // TODO: po zmene subskripce prehrat user css? - // connect(subscription, SIGNAL(subscriptionUpdated()), mApp, - // SLOT(reloadUserStyleSheet())); + // TODO: Reload user stylesheet. + // connect(subscription, SIGNAL(subscriptionUpdated()), mApp, SLOT(reloadUserStyleSheet())); connect(subscription, SIGNAL(subscriptionChanged()), this, SLOT(updateMatcher())); } diff --git a/src/network-web/adblock/adblocksubscription.cpp b/src/network-web/adblock/adblocksubscription.cpp index 6d31b1184..c5b93cd27 100755 --- a/src/network-web/adblock/adblocksubscription.cpp +++ b/src/network-web/adblock/adblocksubscription.cpp @@ -208,8 +208,7 @@ const AdBlockRule* AdBlockSubscription::enableRule(int offset) { emit subscriptionChanged(); if (rule->isCssRule()) { - // TODO: opravdu? - //mApp->reloadUserStyleSheet(); + // TODO: Reload user stylesheet. } return rule; @@ -231,8 +230,7 @@ const AdBlockRule* AdBlockSubscription::disableRule(int offset) { emit subscriptionChanged(); if (rule->isCssRule()) { - // TODO: opravdu? - //mApp->reloadUserStyleSheet(); + // TODO: Reload user stylesheet. } return rule; @@ -367,8 +365,7 @@ int AdBlockCustomList::addRule(AdBlockRule* rule) { emit subscriptionChanged(); if (rule->isCssRule()) { - // TODO: opravdu - //mApp->reloadUserStyleSheet(); + // TODO: Reload user stylesheet. } return m_rules.count() - 1; @@ -385,8 +382,7 @@ bool AdBlockCustomList::removeRule(int offset) { emit subscriptionChanged(); if (rule->isCssRule()) { - // TODO: opravdu - //mApp->reloadUserStyleSheet(); + // TODO: Reload user stylesheet. } AdBlockManager::instance()->removeDisabledRule(filter); @@ -404,8 +400,7 @@ const AdBlockRule* AdBlockCustomList::replaceRule(AdBlockRule* rule, int offset) emit subscriptionChanged(); if (rule->isCssRule() || oldRule->isCssRule()) { - // TODO: opravdu - //mApp->reloadUserStyleSheet(); + // TODO: Reload user stylesheet. } delete oldRule; diff --git a/src/network-web/networkurlinterceptor.cpp b/src/network-web/networkurlinterceptor.cpp index ee7338676..7ded97813 100755 --- a/src/network-web/networkurlinterceptor.cpp +++ b/src/network-web/networkurlinterceptor.cpp @@ -32,9 +32,7 @@ void NetworkUrlInterceptor::interceptRequest(QWebEngineUrlRequestInfo& info) { info.setHttpHeader(QByteArrayLiteral("DNT"), QByteArrayLiteral("1")); } - // TODO: mužeme zde nastavovat custom věci pro každej webengine sitovej pozadavek - // treba user agenta - //info.setHttpHeader(QByteArrayLiteral("User-Agent"), mApp->userAgentManager()->userAgentForUrl(info.firstPartyUrl()).toUtf8()); + // NOTE: Here we can add custom headers for each webengine request, for example "User-Agent". foreach (UrlInterceptor* interceptor, m_interceptors) { interceptor->interceptRequest(info); diff --git a/src/network-web/webfactory.cpp b/src/network-web/webfactory.cpp index 3d2bcbee3..0acbb5852 100755 --- a/src/network-web/webfactory.cpp +++ b/src/network-web/webfactory.cpp @@ -24,12 +24,11 @@ #include #include +Q_GLOBAL_STATIC(WebFactory, qz_webfactory) -QPointer WebFactory::s_instance; -WebFactory::WebFactory(QObject* parent) - : QObject(parent), m_escapes(QMap()), - m_deEscapes(QMap()) { +WebFactory::WebFactory() + : m_escapes(QMap()), m_deEscapes(QMap()) { } WebFactory::~WebFactory() { @@ -72,11 +71,7 @@ bool WebFactory::openUrlInExternalBrowser(const QString& url) { } WebFactory* WebFactory::instance() { - if (s_instance.isNull()) { - s_instance = new WebFactory(qApp); - } - - return s_instance; + return qz_webfactory(); } QString WebFactory::stripTags(QString text) { @@ -85,7 +80,7 @@ QString WebFactory::stripTags(QString text) { QString WebFactory::escapeHtml(const QString& html) { if (m_escapes.isEmpty()) { - generetaEscapes(); + genereteEscapes(); } QString output = html; @@ -136,7 +131,7 @@ QString WebFactory::toSecondLevelDomain(const QUrl& url) { return domain + top_level_domain; } -void WebFactory::generetaEscapes() { +void WebFactory::genereteEscapes() { m_escapes[QSL("<")] = QL1C('<'); m_escapes[QSL(">")] = QL1C('>'); m_escapes[QSL("&")] = QL1C('&'); diff --git a/src/network-web/webfactory.h b/src/network-web/webfactory.h index b27189e50..2571d3b4d 100755 --- a/src/network-web/webfactory.h +++ b/src/network-web/webfactory.h @@ -18,20 +18,18 @@ #ifndef WEBFACTORY_H #define WEBFACTORY_H -#include - #include "core/messagesmodel.h" -#include #include class QWebEngineSettings; -class WebFactory : public QObject { - Q_OBJECT - +class WebFactory { public: + // Constructor. + explicit WebFactory(); + // Destructor. virtual ~WebFactory(); @@ -42,8 +40,6 @@ class WebFactory : public QObject { QString escapeHtml(const QString& html); QString deEscapeHtml(const QString& text); - // BUG: Version for Qt < 4.8 has one issue, it will wrongly - // count .co.uk (and others) as second-level domain QString toSecondLevelDomain(const QUrl& url); // Singleton getter. @@ -55,18 +51,12 @@ class WebFactory : public QObject { bool sendMessageViaEmail(const Message& message); private: - // Constructor. - explicit WebFactory(QObject* parent = 0); - // Escape sequences generators. - void generetaEscapes(); + void genereteEscapes(); void generateDeescapes(); - QMap m_escapes; + QMap m_escapes; QMap m_deEscapes; - - // Singleton. - static QPointer s_instance; }; #endif // WEBFACTORY_H