Browse Source

Merge pull request #3933 from glassez/streamops

Register stream operators for enum classes. Closes #3921.
adaptive-webui-19844
sledgehammer999 9 years ago
parent
commit
df8def02f5
  1. 2
      src/core/preferences.cpp
  2. 16
      src/core/types.h

2
src/core/preferences.cpp

@ -63,6 +63,8 @@ Preferences::Preferences()
, dirty(false) , dirty(false)
, lock(QReadWriteLock::Recursive) , lock(QReadWriteLock::Recursive)
{ {
qRegisterMetaTypeStreamOperators<MaxRatioAction>("MaxRatioAction");
QIniSettings *settings = new QIniSettings; QIniSettings *settings = new QIniSettings;
#ifndef Q_OS_MAC #ifndef Q_OS_MAC
QIniSettings *settings_new = new QIniSettings("qBittorrent", "qBittorrent_new"); QIniSettings *settings_new = new QIniSettings("qBittorrent", "qBittorrent_new");

16
src/core/types.h

@ -30,6 +30,7 @@
#define TYPES_H #define TYPES_H
#include <QVariant> #include <QVariant>
#include <QDataStream>
const qlonglong MAX_ETA = 8640000; const qlonglong MAX_ETA = 8640000;
@ -55,4 +56,19 @@ enum class ShutdownAction
Hibernate Hibernate
}; };
template<typename T>
inline QDataStream &operator<<(QDataStream &out, const T &val)
{
return (out << static_cast<int>(val));
}
template<typename T>
inline QDataStream &operator>>(QDataStream &in, T &val)
{
int tmp;
in >> tmp;
val = static_cast<T>(tmp);
return in;
}
#endif // TYPES_H #endif // TYPES_H

Loading…
Cancel
Save