From a7ff38d389f143acfce0797a9ab4adb82612dd1a Mon Sep 17 00:00:00 2001 From: Vladimir Golovnev Date: Tue, 13 Oct 2015 10:39:17 +0300 Subject: [PATCH] Register stream operators for enum classes. Closes #3921. --- src/core/preferences.cpp | 2 ++ src/core/types.h | 16 ++++++++++++++++ 2 files changed, 18 insertions(+) diff --git a/src/core/preferences.cpp b/src/core/preferences.cpp index 2f0b690e3..4ede40b1c 100644 --- a/src/core/preferences.cpp +++ b/src/core/preferences.cpp @@ -63,6 +63,8 @@ Preferences::Preferences() , dirty(false) , lock(QReadWriteLock::Recursive) { + qRegisterMetaTypeStreamOperators("MaxRatioAction"); + QIniSettings *settings = new QIniSettings; #ifndef Q_OS_MAC QIniSettings *settings_new = new QIniSettings("qBittorrent", "qBittorrent_new"); diff --git a/src/core/types.h b/src/core/types.h index 92a24d0cf..746fd2f4b 100644 --- a/src/core/types.h +++ b/src/core/types.h @@ -30,6 +30,7 @@ #define TYPES_H #include +#include const qlonglong MAX_ETA = 8640000; @@ -55,4 +56,19 @@ enum class ShutdownAction Hibernate }; +template +inline QDataStream &operator<<(QDataStream &out, const T &val) +{ + return (out << static_cast(val)); +} + +template +inline QDataStream &operator>>(QDataStream &in, T &val) +{ + int tmp; + in >> tmp; + val = static_cast(tmp); + return in; +} + #endif // TYPES_H