fix #1672 and make sure http2 setting is used when guessing a feed
This commit is contained in:
parent
c68e545ea4
commit
e1e7abd6ca
9 changed files with 39 additions and 13 deletions
|
@ -56,7 +56,8 @@ void FormStandardFeedDetails::guessFeed() {
|
|||
m_authDetails->username(),
|
||||
m_authDetails->password(),
|
||||
StandardFeed::httpHeadersToList(m_headersDetails->httpHeaders()),
|
||||
m_serviceRoot->networkProxy());
|
||||
m_serviceRoot->networkProxy(),
|
||||
m_standardFeedExpDetails->http2Status());
|
||||
}
|
||||
|
||||
void FormStandardFeedDetails::guessIconOnly() {
|
||||
|
@ -139,9 +140,7 @@ void FormStandardFeedDetails::apply() {
|
|||
}
|
||||
|
||||
if (isChangeAllowed(m_standardFeedExpDetails->m_ui.m_mcbEnableHttp2)) {
|
||||
std_feed->setHttp2Status(static_cast<NetworkFactory::Http2Status>(m_standardFeedExpDetails->m_ui.m_cmbEnableHttp2
|
||||
->currentData()
|
||||
.toInt()));
|
||||
std_feed->setHttp2Status(m_standardFeedExpDetails->http2Status());
|
||||
}
|
||||
|
||||
std_feed->setCreationDate(QDateTime::currentDateTime());
|
||||
|
@ -227,9 +226,7 @@ void FormStandardFeedDetails::loadFeedData() {
|
|||
}
|
||||
else {
|
||||
m_standardFeedDetails->setExistingFeed(std_feed);
|
||||
|
||||
m_standardFeedExpDetails->m_ui.m_cbDontUseRawXml->setChecked(std_feed->dontUseRawXmlSaving());
|
||||
m_standardFeedExpDetails->m_ui.m_cmbEnableHttp2
|
||||
->setCurrentIndex(m_standardFeedExpDetails->m_ui.m_cmbEnableHttp2->findData(int(std_feed->http2Status())));
|
||||
m_standardFeedExpDetails->setHttp2Status(std_feed->http2Status());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -237,7 +237,8 @@ void StandardFeedDetails::guessFeed(StandardFeed::SourceType source_type,
|
|||
const QString& username,
|
||||
const QString& password,
|
||||
const QList<QPair<QByteArray, QByteArray>>& headers,
|
||||
const QNetworkProxy& custom_proxy) {
|
||||
const QNetworkProxy& custom_proxy,
|
||||
NetworkFactory::Http2Status http2_status) {
|
||||
try {
|
||||
auto metadata = StandardFeed::guessFeed(source_type,
|
||||
source,
|
||||
|
@ -248,7 +249,8 @@ void StandardFeedDetails::guessFeed(StandardFeed::SourceType source_type,
|
|||
username,
|
||||
password,
|
||||
headers,
|
||||
custom_proxy);
|
||||
custom_proxy,
|
||||
http2_status);
|
||||
|
||||
// Icon or whole feed was guessed.
|
||||
m_ui.m_btnIcon->setIcon(metadata.first->icon());
|
||||
|
|
|
@ -42,7 +42,8 @@ class StandardFeedDetails : public QWidget {
|
|||
const QString& username,
|
||||
const QString& password,
|
||||
const QList<QPair<QByteArray, QByteArray>>& headers = {},
|
||||
const QNetworkProxy& custom_proxy = QNetworkProxy::ProxyType::DefaultProxy);
|
||||
const QNetworkProxy& custom_proxy = QNetworkProxy::ProxyType::DefaultProxy,
|
||||
NetworkFactory::Http2Status http2_status = NetworkFactory::Http2Status::DontSet);
|
||||
|
||||
void onTitleChanged(const QString& new_title);
|
||||
void onDescriptionChanged(const QString& new_description);
|
||||
|
|
|
@ -33,3 +33,11 @@ StandardFeedExpDetails::StandardFeedExpDetails(QWidget* parent) : QWidget(parent
|
|||
m_ui.m_cmbEnableHttp2->addItem(tr("Enabled"), QVariant::fromValue(int(NetworkFactory::Http2Status::Enabled)));
|
||||
m_ui.m_cmbEnableHttp2->addItem(tr("Disabled"), QVariant::fromValue(int(NetworkFactory::Http2Status::Disabled)));
|
||||
}
|
||||
|
||||
void StandardFeedExpDetails::setHttp2Status(NetworkFactory::Http2Status status) {
|
||||
m_ui.m_cmbEnableHttp2->setCurrentIndex(m_ui.m_cmbEnableHttp2->findData(int(status)));
|
||||
}
|
||||
|
||||
NetworkFactory::Http2Status StandardFeedExpDetails::http2Status() const {
|
||||
return static_cast<NetworkFactory::Http2Status>(m_ui.m_cmbEnableHttp2->currentData().toInt());
|
||||
}
|
||||
|
|
|
@ -21,6 +21,9 @@ class StandardFeedExpDetails : public QWidget {
|
|||
public:
|
||||
explicit StandardFeedExpDetails(QWidget* parent = nullptr);
|
||||
|
||||
void setHttp2Status(NetworkFactory::Http2Status status);
|
||||
NetworkFactory::Http2Status http2Status() const;
|
||||
|
||||
private:
|
||||
Ui::StandardFeedExpDetails m_ui;
|
||||
};
|
||||
|
|
|
@ -307,7 +307,8 @@ QPair<StandardFeed*, NetworkResult> StandardFeed::guessFeed(StandardFeed::Source
|
|||
const QString& username,
|
||||
const QString& password,
|
||||
const QList<QPair<QByteArray, QByteArray>>& http_headers,
|
||||
const QNetworkProxy& custom_proxy) {
|
||||
const QNetworkProxy& custom_proxy,
|
||||
NetworkFactory::Http2Status http2_status) {
|
||||
auto timeout = qApp->settings()->value(GROUP(Feeds), SETTING(Feeds::UpdateTimeout)).toInt();
|
||||
QByteArray feed_contents;
|
||||
NetworkResult network_result;
|
||||
|
@ -328,7 +329,8 @@ QPair<StandardFeed*, NetworkResult> StandardFeed::guessFeed(StandardFeed::Source
|
|||
false,
|
||||
{},
|
||||
{},
|
||||
custom_proxy);
|
||||
custom_proxy,
|
||||
http2_status);
|
||||
|
||||
// account->resetHostSpacing(host);
|
||||
|
||||
|
|
|
@ -92,7 +92,9 @@ class StandardFeed : public Feed {
|
|||
const QString& password = {},
|
||||
const QList<QPair<QByteArray, QByteArray>>& http_headers = {},
|
||||
const QNetworkProxy& custom_proxy =
|
||||
QNetworkProxy::ProxyType::DefaultProxy);
|
||||
QNetworkProxy::ProxyType::DefaultProxy,
|
||||
NetworkFactory::Http2Status http2_status =
|
||||
NetworkFactory::Http2Status::DontSet);
|
||||
|
||||
// Converts particular feed type to string.
|
||||
static QString typeToString(Type type);
|
||||
|
|
|
@ -32,6 +32,9 @@ SystemTrayIcon::SystemTrayIcon(const QString& normal_icon, const QString& plain_
|
|||
qDebugNN << LOGSEC_GUI << "Creating SystemTrayIcon instance.";
|
||||
m_font.setBold(true);
|
||||
|
||||
m_tmrDoubleFire.setSingleShot(true);
|
||||
m_tmrDoubleFire.setInterval(100);
|
||||
|
||||
// Initialize icon.
|
||||
setNumber();
|
||||
setContextMenu(parent->trayMenu());
|
||||
|
@ -46,6 +49,12 @@ SystemTrayIcon::~SystemTrayIcon() {
|
|||
}
|
||||
|
||||
void SystemTrayIcon::onActivated(QSystemTrayIcon::ActivationReason reason) {
|
||||
if (m_tmrDoubleFire.isActive()) {
|
||||
return;
|
||||
}
|
||||
|
||||
m_tmrDoubleFire.start();
|
||||
|
||||
switch (reason) {
|
||||
case SystemTrayIcon::ActivationReason::Trigger:
|
||||
case SystemTrayIcon::ActivationReason::DoubleClick:
|
||||
|
|
|
@ -10,6 +10,7 @@
|
|||
#include <QMenu>
|
||||
#include <QPixmap>
|
||||
#include <QSystemTrayIcon>
|
||||
#include <QTimer>
|
||||
|
||||
class FormMain;
|
||||
class QEvent;
|
||||
|
@ -66,6 +67,7 @@ class SystemTrayIcon : public QSystemTrayIcon {
|
|||
QIcon m_normalIcon;
|
||||
QPixmap m_plainPixmap;
|
||||
QFont m_font = QFont();
|
||||
QTimer m_tmrDoubleFire;
|
||||
|
||||
QMetaObject::Connection m_connection;
|
||||
};
|
||||
|
|
Loading…
Add table
Reference in a new issue