Sine Striker
2023-12-29 6eb2efea00eb07ce3a6b089b984885ce4a08c9ca
src/core/qwindowkit_windows.h
@@ -4,6 +4,10 @@
#include <QtCore/qt_windows.h>
#include <QtCore/qglobal.h>
#if QT_VERSION >= QT_VERSION_CHECK(5, 14, 0)
#  include <QtCore/private/qwinregistry_p.h>
#endif
#include <QWKCore/qwkglobal.h>
#ifndef GET_X_LPARAM
@@ -99,11 +103,41 @@
                   (rovi.dwMajorVersion == 6 && rovi.dwMinorVersion >= 2);
        }
        inline bool IsWindows10_Real() {
        inline bool IsWindows10Only_Real() {
            return IsWindows10OrGreater_Real() && !IsWindows11OrGreater_Real();
        }
    }
    //
    // Registry Helpers
    //
#if QT_VERSION < QT_VERSION_CHECK(5, 14, 0)
    class QWK_CORE_EXPORT WindowsRegistryKey {
    public:
        WindowsRegistryKey(HKEY parentHandle, QStringView subKey, REGSAM permissions = KEY_READ,
                           REGSAM access = 0);
        ~WindowsRegistryKey();
        inline bool isValid() const;
        void close();
        QString stringValue(QStringView subKey) const;
        QPair<DWORD, bool> dwordValue(QStringView subKey) const;
    private:
        HKEY m_key;
        Q_DISABLE_COPY(WindowsRegistryKey)
    };
    inline bool WindowsRegistryKey::isValid() const {
        return m_key != nullptr;
    }
#else
    using WindowsRegistryKey = QWinRegistryKey;
#endif
    //
    // Version Helpers
@@ -144,8 +178,8 @@
        return result;
    }
    static inline bool isWin10() {
        static const bool result = Private::IsWindows10_Real();
    static inline bool isWin10Only() {
        static const bool result = Private::IsWindows10Only_Real();
        return result;
    };