Browse Source

Merge pull request #14593 from glassez/qt6-compat

Make current codebase more compatible with Qt6
adaptive-webui-19844
Vladimir Golovnev 4 years ago committed by GitHub
parent
commit
2d1c34d8e0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 2
      src/app/filelogger.cpp
  2. 2
      src/app/main.cpp
  3. 9
      src/base/bittorrent/session.cpp
  4. 9
      src/base/bittorrent/session.h
  5. 1
      src/base/net/reverseresolution.cpp
  6. 2
      src/base/net/reverseresolution.h
  7. 4
      src/base/settingsstorage.cpp
  8. 6
      src/gui/addnewtorrentdialog.cpp
  9. 4
      src/gui/properties/piecesbar.cpp
  10. 16
      src/gui/properties/piecesbar.h
  11. 6
      src/gui/properties/propertieswidget.cpp
  12. 6
      src/gui/torrentcontentmodel.cpp

2
src/app/filelogger.cpp

@ -126,7 +126,9 @@ void FileLogger::addLogMessage(const Log::Msg &msg) @@ -126,7 +126,9 @@ void FileLogger::addLogMessage(const Log::Msg &msg)
if (!m_logFile.isOpen()) return;
QTextStream stream(&m_logFile);
#if (QT_VERSION < QT_VERSION_CHECK(6, 0, 0))
stream.setCodec("UTF-8");
#endif
switch (msg.type)
{

2
src/app/main.cpp

@ -235,7 +235,7 @@ int main(int argc, char *argv[]) @@ -235,7 +235,7 @@ int main(int argc, char *argv[])
// 3. https://bugreports.qt.io/browse/QTBUG-46015
qputenv("QT_BEARER_POLL_TIMEOUT", QByteArray::number(-1));
#if !defined(DISABLE_GUI)
#if (QT_VERSION < QT_VERSION_CHECK(6, 0, 0)) && !defined(DISABLE_GUI)
// this is the default in Qt6
app->setAttribute(Qt::AA_DisableWindowContextHelpButton);
#endif

9
src/base/bittorrent/session.cpp

@ -58,7 +58,9 @@ @@ -58,7 +58,9 @@
#include <QFile>
#include <QHostAddress>
#include <QNetworkAddressEntry>
#if (QT_VERSION < QT_VERSION_CHECK(6, 0, 0))
#include <QNetworkConfigurationManager>
#endif
#include <QNetworkInterface>
#include <QRegularExpression>
#include <QString>
@ -95,7 +97,6 @@ @@ -95,7 +97,6 @@
#include "statistics.h"
#include "torrentimpl.h"
#include "tracker.h"
#include "trackerentry.h"
using namespace BitTorrent;
@ -444,7 +445,9 @@ Session::Session(QObject *parent) @@ -444,7 +445,9 @@ Session::Session(QObject *parent)
, m_statistics {new Statistics {this}}
, m_ioThread {new QThread {this}}
, m_recentErroredTorrentsTimer {new QTimer {this}}
#if (QT_VERSION < QT_VERSION_CHECK(6, 0, 0))
, m_networkManager {new QNetworkConfigurationManager {this}}
#endif
{
if (port() < 0)
m_port = Utils::Random::rand(1024, 65535);
@ -485,11 +488,13 @@ Session::Session(QObject *parent) @@ -485,11 +488,13 @@ Session::Session(QObject *parent)
, &Net::ProxyConfigurationManager::proxyConfigurationChanged
, this, &Session::configureDeferred);
#if (QT_VERSION < QT_VERSION_CHECK(6, 0, 0))
// Network configuration monitor
connect(m_networkManager, &QNetworkConfigurationManager::onlineStateChanged, this, &Session::networkOnlineStateChanged);
connect(m_networkManager, &QNetworkConfigurationManager::configurationAdded, this, &Session::networkConfigurationChange);
connect(m_networkManager, &QNetworkConfigurationManager::configurationRemoved, this, &Session::networkConfigurationChange);
connect(m_networkManager, &QNetworkConfigurationManager::configurationChanged, this, &Session::networkConfigurationChange);
#endif
m_fileSearcher = new FileSearcher;
m_fileSearcher->moveToThread(m_ioThread);
@ -2413,6 +2418,7 @@ void Session::setTempPath(QString path) @@ -2413,6 +2418,7 @@ void Session::setTempPath(QString path)
torrent->handleTempPathChanged();
}
#if (QT_VERSION < QT_VERSION_CHECK(6, 0, 0))
void Session::networkOnlineStateChanged(const bool online)
{
LogMsg(tr("System network status changed to %1", "e.g: System network status changed to ONLINE").arg(online ? tr("ONLINE") : tr("OFFLINE")), Log::INFO);
@ -2433,6 +2439,7 @@ void Session::networkConfigurationChange(const QNetworkConfiguration &cfg) @@ -2433,6 +2439,7 @@ void Session::networkConfigurationChange(const QNetworkConfiguration &cfg)
configureListeningInterface();
}
}
#endif
QStringList Session::getListeningIPs() const
{

9
src/base/bittorrent/session.h

@ -50,10 +50,13 @@ @@ -50,10 +50,13 @@
#include "cachestatus.h"
#include "sessionstatus.h"
#include "torrentinfo.h"
#include "trackerentry.h"
class QFile;
#if (QT_VERSION < QT_VERSION_CHECK(6, 0, 0))
class QNetworkConfiguration;
class QNetworkConfigurationManager;
#endif
class QString;
class QThread;
class QTimer;
@ -100,7 +103,6 @@ namespace BitTorrent @@ -100,7 +103,6 @@ namespace BitTorrent
class TorrentImpl;
class Tracker;
struct LoadTorrentParams;
struct TrackerEntry;
enum class MoveStorageMode;
@ -542,9 +544,11 @@ namespace BitTorrent @@ -542,9 +544,11 @@ namespace BitTorrent
void handleDownloadFinished(const Net::DownloadResult &result);
void fileSearchFinished(const TorrentID &id, const QString &savePath, const QStringList &fileNames);
#if (QT_VERSION < QT_VERSION_CHECK(6, 0, 0))
// Session reconfiguration triggers
void networkOnlineStateChanged(bool online);
void networkConfigurationChange(const QNetworkConfiguration &);
#endif
private:
struct MoveStorageJob
@ -783,8 +787,9 @@ namespace BitTorrent @@ -783,8 +787,9 @@ namespace BitTorrent
SessionStatus m_status;
CacheStatus m_cacheStatus;
#if (QT_VERSION < QT_VERSION_CHECK(6, 0, 0))
QNetworkConfigurationManager *m_networkManager = nullptr;
#endif
QList<MoveStorageJob> m_moveStorageQueue;

1
src/base/net/reverseresolution.cpp

@ -28,7 +28,6 @@ @@ -28,7 +28,6 @@
#include "reverseresolution.h"
#include <QHostAddress>
#include <QHostInfo>
#include <QString>

2
src/base/net/reverseresolution.h

@ -29,9 +29,9 @@ @@ -29,9 +29,9 @@
#pragma once
#include <QCache>
#include <QHostAddress>
#include <QObject>
class QHostAddress;
class QHostInfo;
class QString;

4
src/base/settingsstorage.cpp

@ -224,7 +224,11 @@ void SettingsStorage::removeValue(const QString &key) @@ -224,7 +224,11 @@ void SettingsStorage::removeValue(const QString &key)
{
const QString realKey = mapKey(key);
const QWriteLocker locker(&m_lock);
#if (QT_VERSION >= QT_VERSION_CHECK(6, 0, 0))
if (m_data.remove(realKey))
#else
if (m_data.remove(realKey) > 0)
#endif
{
m_dirty = true;
m_timer.start();

6
src/gui/addnewtorrentdialog.cpp

@ -549,10 +549,10 @@ void AddNewTorrentDialog::displayContentTreeMenu(const QPoint &) @@ -549,10 +549,10 @@ void AddNewTorrentDialog::displayContentTreeMenu(const QPoint &)
const QModelIndexList selectedRows = m_ui->contentTreeView->selectionModel()->selectedRows(0);
const int priorityGroups = 3;
const int priorityGroupSize = std::max((selectedRows.length() / priorityGroups), 1);
const qsizetype priorityGroups = 3;
const auto priorityGroupSize = std::max<qsizetype>((selectedRows.length() / priorityGroups), 1);
for (int i = 0; i < selectedRows.length(); ++i)
for (qsizetype i = 0; i < selectedRows.length(); ++i)
{
auto priority = BitTorrent::DownloadPriority::Ignored;
switch (i / priorityGroupSize)

4
src/gui/properties/piecesbar.cpp

@ -143,7 +143,11 @@ bool PiecesBar::event(QEvent *e) @@ -143,7 +143,11 @@ bool PiecesBar::event(QEvent *e)
return base::event(e);
}
#if (QT_VERSION >= QT_VERSION_CHECK(6, 0, 0))
void PiecesBar::enterEvent(QEnterEvent *e)
#else
void PiecesBar::enterEvent(QEvent *e)
#endif
{
m_hovered = true;
base::enterEvent(e);

16
src/gui/properties/piecesbar.h

@ -54,15 +54,19 @@ public: @@ -54,15 +54,19 @@ public:
virtual void clear();
// QObject interface
virtual bool event(QEvent*) override;
virtual bool event(QEvent *e) override;
protected:
// QWidget interface
void enterEvent(QEvent*) override;
void leaveEvent(QEvent*) override;
void mouseMoveEvent(QMouseEvent*) override;
void paintEvent(QPaintEvent*) override;
#if (QT_VERSION >= QT_VERSION_CHECK(6, 0, 0))
void enterEvent(QEnterEvent *e) override;
#else
void enterEvent(QEvent *e) override;
#endif
void leaveEvent(QEvent *e) override;
void mouseMoveEvent(QMouseEvent *e) override;
void paintEvent(QPaintEvent *e) override;
void requestImageUpdate();
QColor backgroundColor() const;

6
src/gui/properties/propertieswidget.cpp

@ -637,10 +637,10 @@ void PropertiesWidget::displayFilesListMenu(const QPoint &) @@ -637,10 +637,10 @@ void PropertiesWidget::displayFilesListMenu(const QPoint &)
const QModelIndexList selectedRows = m_ui->filesList->selectionModel()->selectedRows(0);
const int priorityGroups = 3;
const int priorityGroupSize = std::max((selectedRows.length() / priorityGroups), 1);
const qsizetype priorityGroups = 3;
const auto priorityGroupSize = std::max<qsizetype>((selectedRows.length() / priorityGroups), 1);
for (int i = 0; i < selectedRows.length(); ++i)
for (qsizetype i = 0; i < selectedRows.length(); ++i)
{
auto priority = BitTorrent::DownloadPriority::Ignored;
switch (i / priorityGroupSize)

6
src/gui/torrentcontentmodel.cpp

@ -37,7 +37,9 @@ @@ -37,7 +37,9 @@
#if defined(Q_OS_WIN)
#include <Windows.h>
#include <Shellapi.h>
#if (QT_VERSION < QT_VERSION_CHECK(6, 0, 0))
#include <QtWin>
#endif
#else
#include <QMimeDatabase>
#include <QMimeType>
@ -118,7 +120,11 @@ namespace @@ -118,7 +120,11 @@ namespace
if (FAILED(hr))
return {};
#if (QT_VERSION >= QT_VERSION_CHECK(6, 0, 0))
auto iconPixmap = QPixmap::fromImage(QImage::fromHICON(sfi.hIcon));
#else
QPixmap iconPixmap = QtWin::fromHICON(sfi.hIcon);
#endif
::DestroyIcon(sfi.hIcon);
return iconPixmap;
}

Loading…
Cancel
Save