|
29 | 29 |
|
30 | 30 | #include "programupdater.h"
|
31 | 31 |
|
| 32 | +#include <QtCore/qconfig.h> |
32 | 33 | #include <QtSystemDetection>
|
33 | 34 | #include <QDebug>
|
34 | 35 | #include <QDesktopServices>
|
35 | 36 | #include <QRegularExpression>
|
36 | 37 | #include <QXmlStreamReader>
|
37 | 38 |
|
| 39 | +#include <libtorrent/version.hpp> |
| 40 | + |
38 | 41 | #include "base/global.h"
|
39 | 42 | #include "base/net/downloadmanager.h"
|
40 | 43 | #include "base/preferences.h"
|
@@ -97,23 +100,37 @@ void ProgramUpdater::rssDownloadFinished(const Net::DownloadResult &result)
|
97 | 100 | : QString {};
|
98 | 101 | };
|
99 | 102 |
|
100 |
| -#ifdef QBT_USES_LIBTORRENT2 |
101 |
| - |
102 | 103 | #ifdef Q_OS_MACOS
|
103 |
| - const QString OS_TYPE = u"Mac OS X (lt20)"_s; |
| 104 | +#define BASE_OS "Mac OS X" |
104 | 105 | #elif defined(Q_OS_WIN)
|
105 |
| - const QString OS_TYPE = u"Windows x64 (lt20)"_s; |
106 |
| -#endif // Q_OS_MACOS |
| 106 | +#define BASE_OS "Windows x64" |
| 107 | +#endif |
107 | 108 |
|
108 |
| -#else // QBT_USES_LIBTORRENT2 |
| 109 | +#define STRINGIFY(s) #s |
109 | 110 |
|
110 |
| -#ifdef Q_OS_MACOS |
111 |
| - const QString OS_TYPE = u"Mac OS X"_s; |
112 |
| -#elif defined(Q_OS_WIN) |
113 |
| - const QString OS_TYPE = u"Windows x64"_s; |
114 |
| -#endif // Q_OS_MACOS |
| 111 | +#if (QT_VERSION_MAJOR == 6) && (LIBTORRENT_VERSION_MAJOR == 1) |
| 112 | +#define _TYPE() BASE_OS |
| 113 | +#define TYPE _TYPE() |
| 114 | + |
| 115 | +#elif (QT_VERSION_MAJOR == 6) && (LIBTORRENT_VERSION_MAJOR > 1) |
| 116 | +#define _TYPE(lt_major, lt_minor) BASE_OS " (lt" STRINGIFY(lt_major) STRINGIFY(lt_minor) ")" |
| 117 | +#define TYPE _TYPE(LIBTORRENT_VERSION_MAJOR, LIBTORRENT_VERSION_MINOR) |
| 118 | + |
| 119 | +#elif (QT_VERSION_MAJOR > 6) |
| 120 | +#define _TYPE(qt_major, lt_major, lt_minor) BASE_OS " (qt" STRINGIFY(qt_major) " lt" STRINGIFY(lt_major) STRINGIFY(lt_minor) ")" |
| 121 | +#define TYPE _TYPE(QT_VERSION_MAJOR, LIBTORRENT_VERSION_MAJOR, LIBTORRENT_VERSION_MINOR) |
| 122 | + |
| 123 | +#else |
| 124 | +#error "OS_TYPE is undefined for the current Qt/libtorrent combination" |
| 125 | +#endif |
| 126 | + |
| 127 | + const QString OS_TYPE = TYPE; |
| 128 | + |
| 129 | +#undef TYPE |
| 130 | +#undef _TYPE |
| 131 | +#undef STRINGIFY |
| 132 | +#undef BASE_OS |
115 | 133 |
|
116 |
| -#endif // QBT_USES_LIBTORRENT2 |
117 | 134 |
|
118 | 135 | bool inItem = false;
|
119 | 136 | QString version;
|
|
0 commit comments