From c239568658d4218b9b9480f91678769d91fb5478 Mon Sep 17 00:00:00 2001 From: Chocobo1 Date: Thu, 4 Jun 2020 13:02:39 +0800 Subject: [PATCH 1/7] Don't use deprecated QTextStreamFunctions::flush() Qt doc states: "If QTextStream operates on a string, this function does nothing". So remove it. --- src/app/cmdoptions.cpp | 1 - src/gui/search/searchwidget.cpp | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/src/app/cmdoptions.cpp b/src/app/cmdoptions.cpp index 532f2a0a9..ffb7b8c7c 100644 --- a/src/app/cmdoptions.cpp +++ b/src/app/cmdoptions.cpp @@ -565,7 +565,6 @@ QString makeUsage(const QString &prgName) << QLatin1String("QBT_NO_SPLASH=1 ") << prgName << '\n' << wrapText(QObject::tr("Command line parameters take precedence over environment variables"), 0) << '\n'; - stream << flush; return text; } diff --git a/src/gui/search/searchwidget.cpp b/src/gui/search/searchwidget.cpp index af12f85cf..9e4ab965a 100644 --- a/src/gui/search/searchwidget.cpp +++ b/src/gui/search/searchwidget.cpp @@ -99,7 +99,7 @@ SearchWidget::SearchWidget(MainWindow *mainWindow) << tr(""foo bar": search for foo bar", "Search phrase example, illustrates quotes usage, double quoted" "pair of space delimited words, the whole pair is highlighted") - << "

" << flush; + << "

"; m_ui->lineEditSearchPattern->setToolTip(searchPatternHint); #ifndef Q_OS_MACOS From 9c330812cc6b65ef0be2f86f3052a9182916ad2e Mon Sep 17 00:00:00 2001 From: Chocobo1 Date: Thu, 4 Jun 2020 13:17:08 +0800 Subject: [PATCH 2/7] Don't use deprecated QSet::iterator::operator+(int) --- src/base/algorithm.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/base/algorithm.h b/src/base/algorithm.h index 6eb9089b6..c26ef5620 100644 --- a/src/base/algorithm.h +++ b/src/base/algorithm.h @@ -54,7 +54,7 @@ namespace Algorithm { auto it = dict.begin(); while (it != dict.end()) - it = (p(it.key(), it.value()) ? dict.erase(it) : (it + 1)); + it = (p(it.key(), it.value()) ? dict.erase(it) : ++it); } // To be used with set types, such as QSet, std::set @@ -64,6 +64,6 @@ namespace Algorithm { auto it = set.begin(); while (it != set.end()) - it = (p(*it) ? set.erase(it) : (it + 1)); + it = (p(*it) ? set.erase(it) : ++it); } } From 4971cb9a270b1ff03c3141f2f7648d92a7e622f5 Mon Sep 17 00:00:00 2001 From: Chocobo1 Date: Thu, 4 Jun 2020 13:21:27 +0800 Subject: [PATCH 3/7] Don't use deprecated QAbstractSocket::error() --- src/base/net/smtp.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/base/net/smtp.cpp b/src/base/net/smtp.cpp index 444f12f53..5c8258a65 100644 --- a/src/base/net/smtp.cpp +++ b/src/base/net/smtp.cpp @@ -113,8 +113,12 @@ Smtp::Smtp(QObject *parent) connect(m_socket, &QIODevice::readyRead, this, &Smtp::readyRead); connect(m_socket, &QAbstractSocket::disconnected, this, &QObject::deleteLater); +#if (QT_VERSION >= QT_VERSION_CHECK(5, 15, 0)) + connect(m_socket, &QAbstractSocket::errorOccurred, this, &Smtp::error); +#else connect(m_socket, qOverload(&QAbstractSocket::error) , this, &Smtp::error); +#endif // Test hmacMD5 function (http://www.faqs.org/rfcs/rfc2202.html) Q_ASSERT(hmacMD5("Jefe", "what do ya want for nothing?").toHex() From 2fd4381398649568e8622a08ee9d0fb21240d671 Mon Sep 17 00:00:00 2001 From: Chocobo1 Date: Thu, 4 Jun 2020 13:29:32 +0800 Subject: [PATCH 4/7] Don't use QWheelEvent deprecated functions --- src/gui/properties/peerlistwidget.cpp | 9 ++++++++- src/gui/transferlistwidget.cpp | 9 ++++++++- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/src/gui/properties/peerlistwidget.cpp b/src/gui/properties/peerlistwidget.cpp index 24253e8d5..48fae4dfe 100644 --- a/src/gui/properties/peerlistwidget.cpp +++ b/src/gui/properties/peerlistwidget.cpp @@ -451,7 +451,14 @@ void PeerListWidget::wheelEvent(QWheelEvent *event) // Shift + scroll = horizontal scroll event->accept(); - QWheelEvent scrollHEvent(event->pos(), event->globalPos(), event->delta(), event->buttons(), event->modifiers(), Qt::Horizontal); +#if (QT_VERSION >= QT_VERSION_CHECK(5, 14, 0)) + QWheelEvent scrollHEvent(event->position(), event->globalPosition() + , event->pixelDelta(), event->angleDelta().transposed(), event->buttons() + , event->modifiers(), event->phase(), event->inverted(), event->source()); +#else + QWheelEvent scrollHEvent(event->pos(), event->globalPos() + , event->delta(), event->buttons(), event->modifiers(), Qt::Horizontal); +#endif QTreeView::wheelEvent(&scrollHEvent); return; } diff --git a/src/gui/transferlistwidget.cpp b/src/gui/transferlistwidget.cpp index c396d38c7..bec46a293 100644 --- a/src/gui/transferlistwidget.cpp +++ b/src/gui/transferlistwidget.cpp @@ -1204,7 +1204,14 @@ void TransferListWidget::wheelEvent(QWheelEvent *event) // Shift + scroll = horizontal scroll event->accept(); - QWheelEvent scrollHEvent(event->pos(), event->globalPos(), event->delta(), event->buttons(), event->modifiers(), Qt::Horizontal); +#if (QT_VERSION >= QT_VERSION_CHECK(5, 14, 0)) + QWheelEvent scrollHEvent(event->position(), event->globalPosition() + , event->pixelDelta(), event->angleDelta().transposed(), event->buttons() + , event->modifiers(), event->phase(), event->inverted(), event->source()); +#else + QWheelEvent scrollHEvent(event->pos(), event->globalPos() + , event->delta(), event->buttons(), event->modifiers(), Qt::Horizontal); +#endif QTreeView::wheelEvent(&scrollHEvent); return; } From 547982c741e4ea158feaf86e06075e9b851ea505 Mon Sep 17 00:00:00 2001 From: Chocobo1 Date: Thu, 4 Jun 2020 13:46:33 +0800 Subject: [PATCH 5/7] Don't use deprecated QButtonGroup::buttonClicked() --- src/gui/properties/proptabbar.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/gui/properties/proptabbar.cpp b/src/gui/properties/proptabbar.cpp index c34319493..96397e438 100644 --- a/src/gui/properties/proptabbar.cpp +++ b/src/gui/properties/proptabbar.cpp @@ -100,8 +100,13 @@ PropTabBar::PropTabBar(QWidget *parent) addWidget(speedButton); m_btnGroup->addButton(speedButton, SpeedTab); // SIGNAL/SLOT +#if (QT_VERSION >= QT_VERSION_CHECK(5, 15, 0)) + connect(m_btnGroup, &QButtonGroup::idClicked + , this, &PropTabBar::setCurrentIndex); +#else connect(m_btnGroup, qOverload(&QButtonGroup::buttonClicked) , this, &PropTabBar::setCurrentIndex); +#endif // Disable buttons focus for (QAbstractButton *btn : asConst(m_btnGroup->buttons())) btn->setFocusPolicy(Qt::NoFocus); From 15b2811fa53774c7a7ee3d1c814703f0d2f8a292 Mon Sep 17 00:00:00 2001 From: Chocobo1 Date: Thu, 4 Jun 2020 14:43:37 +0800 Subject: [PATCH 6/7] Don't use deprecated QUrl::topLevelDomain() --- src/gui/transferlistfilterswidget.cpp | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/src/gui/transferlistfilterswidget.cpp b/src/gui/transferlistfilterswidget.cpp index 0954d1a8a..ac2616260 100644 --- a/src/gui/transferlistfilterswidget.cpp +++ b/src/gui/transferlistfilterswidget.cpp @@ -599,18 +599,15 @@ int TrackerFiltersList::rowFromTracker(const QString &tracker) const QString TrackerFiltersList::getHost(const QString &tracker) const { - QUrl url(tracker); - QString longHost = url.host(); - QString tld = url.topLevelDomain(); - // We get empty tld when it is invalid or an IPv4/IPv6 address, - // so just return the full host - if (tld.isEmpty()) - return longHost; // We want the domain + tld. Subdomains should be disregarded - int index = longHost.lastIndexOf('.', -(tld.size() + 1)); - if (index == -1) - return longHost; - return longHost.mid(index + 1); + const QUrl url {tracker}; + const QString host {url.host()}; + + // host is in IP format + if (!QHostAddress(host).isNull()) + return host; + + return host.section('.', -2, -1); } QStringList TrackerFiltersList::getHashes(const int row) const From a1ea7a111eeb0761a5e3c3a9d37d1fe24b6a13b2 Mon Sep 17 00:00:00 2001 From: Chocobo1 Date: Thu, 4 Jun 2020 15:13:50 +0800 Subject: [PATCH 7/7] Don't use deprecated QProcess::startDetached() overload --- src/app/application.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/app/application.cpp b/src/app/application.cpp index 71dcca1b6..253fc14e8 100644 --- a/src/app/application.cpp +++ b/src/app/application.cpp @@ -387,8 +387,17 @@ void Application::runExternalProgram(const BitTorrent::TorrentHandle *torrent) c // enable command injection via torrent name and other arguments // (especially when some automated download mechanism has been setup). // See: https://github.com/qbittorrent/qBittorrent/issues/10925 +#if (QT_VERSION >= QT_VERSION_CHECK(5, 15, 0)) + QStringList args = QProcess::splitCommand(program); + if (args.isEmpty()) + return; + + const QString command = args.takeFirst(); + QProcess::startDetached(command, args); +#else QProcess::startDetached(program); #endif +#endif } void Application::sendNotificationEmail(const BitTorrent::TorrentHandle *torrent)