diff options
author | Jan Dalheimer <jan@dalheimer.de> | 2014-03-10 17:38:27 +0100 |
---|---|---|
committer | Jan Dalheimer <jan@dalheimer.de> | 2014-03-10 17:38:27 +0100 |
commit | 73fc9c79cff979e9023df0b1a77848c67b590681 (patch) | |
tree | 7c8be387b504eccf35e4e3422b39a78d47354e7d /logic | |
parent | 737169d1d3ac62a7db99d51e892289aee8c1d3a3 (diff) | |
download | MultiMC-73fc9c79cff979e9023df0b1a77848c67b590681.tar MultiMC-73fc9c79cff979e9023df0b1a77848c67b590681.tar.gz MultiMC-73fc9c79cff979e9023df0b1a77848c67b590681.tar.lz MultiMC-73fc9c79cff979e9023df0b1a77848c67b590681.tar.xz MultiMC-73fc9c79cff979e9023df0b1a77848c67b590681.zip |
Instance badges. Some easter eggs and one for broken so far.
Diffstat (limited to 'logic')
-rw-r--r-- | logic/BaseInstance.cpp | 9 | ||||
-rw-r--r-- | logic/BaseInstance.h | 8 | ||||
-rw-r--r-- | logic/BaseInstance_p.h | 7 | ||||
-rw-r--r-- | logic/LegacyFTBInstance.cpp | 2 | ||||
-rw-r--r-- | logic/LegacyInstance.cpp | 4 | ||||
-rw-r--r-- | logic/NostalgiaInstance.cpp | 2 | ||||
-rw-r--r-- | logic/OneSixFTBInstance.cpp | 2 | ||||
-rw-r--r-- | logic/OneSixInstance.cpp | 8 |
8 files changed, 22 insertions, 20 deletions
diff --git a/logic/BaseInstance.cpp b/logic/BaseInstance.cpp index d78f1ea0..24af20cf 100644 --- a/logic/BaseInstance.cpp +++ b/logic/BaseInstance.cpp @@ -37,7 +37,6 @@ BaseInstance::BaseInstance(BaseInstancePrivate *d_in, const QString &rootDir, I_D(BaseInstance); d->m_settings = settings_obj; d->m_rootDir = rootDir; - d->m_flags = 0; settings().registerSetting("name", "Unnamed Instance"); settings().registerSetting("iconKey", "default"); @@ -147,13 +146,13 @@ SettingsObject &BaseInstance::settings() const return *d->m_settings; } -BaseInstance::InstanceFlags BaseInstance::flags() const +QSet<BaseInstance::InstanceFlag> BaseInstance::flags() const { I_D(const BaseInstance); - return InstanceFlags(d->m_flags); + return QSet<InstanceFlag>(d->m_flags); } -void BaseInstance::setFlags(const BaseInstance::InstanceFlags flags) +void BaseInstance::setFlags(const QSet<InstanceFlag> &flags) { I_D(BaseInstance); if (flags != d->m_flags) @@ -166,7 +165,7 @@ void BaseInstance::setFlags(const BaseInstance::InstanceFlags flags) bool BaseInstance::canLaunch() const { - return !(flags() & VersionBrokenFlag); + return !flags().contains(VersionBrokenFlag); } QString BaseInstance::baseJar() const diff --git a/logic/BaseInstance.h b/logic/BaseInstance.h index 27f939bc..443b0eaa 100644 --- a/logic/BaseInstance.h +++ b/logic/BaseInstance.h @@ -17,6 +17,7 @@ #include <QObject> #include <QDateTime> +#include <QSet> #include <settingsobject.h> @@ -184,9 +185,8 @@ public: NoFlags = 0x00, VersionBrokenFlag = 0x01 }; - Q_DECLARE_FLAGS(InstanceFlags, InstanceFlag) - InstanceFlags flags() const; - void setFlags(const BaseInstance::InstanceFlags flags); + QSet<InstanceFlag> flags() const; + void setFlags(const QSet<InstanceFlag> &flags); bool canLaunch() const; @@ -216,4 +216,4 @@ protected: // pointer for lazy people typedef std::shared_ptr<BaseInstance> InstancePtr; -Q_DECLARE_OPERATORS_FOR_FLAGS(BaseInstance::InstanceFlags) +Q_DECLARE_METATYPE(BaseInstance::InstanceFlag) diff --git a/logic/BaseInstance_p.h b/logic/BaseInstance_p.h index 73eebec7..8cf3b27d 100644 --- a/logic/BaseInstance_p.h +++ b/logic/BaseInstance_p.h @@ -14,10 +14,13 @@ */ #pragma once + #include <QString> +#include <QSet> + #include <settingsobject.h> -class BaseInstance; +#include "BaseInstance.h" #define I_D(Class) Class##Private *const d = (Class##Private * const)inst_d.get() @@ -26,5 +29,5 @@ struct BaseInstancePrivate QString m_rootDir; QString m_group; SettingsObject *m_settings; - int m_flags; + QSet<BaseInstance::InstanceFlag> m_flags; }; diff --git a/logic/LegacyFTBInstance.cpp b/logic/LegacyFTBInstance.cpp index 23cb259d..3c3356c9 100644 --- a/logic/LegacyFTBInstance.cpp +++ b/logic/LegacyFTBInstance.cpp @@ -7,7 +7,7 @@ LegacyFTBInstance::LegacyFTBInstance(const QString &rootDir, SettingsObject *set QString LegacyFTBInstance::getStatusbarDescription() { - if (flags() & VersionBrokenFlag) + if (flags().contains(VersionBrokenFlag)) { return "Legacy FTB: " + intendedVersionId() + " (broken)"; } diff --git a/logic/LegacyInstance.cpp b/logic/LegacyInstance.cpp index 3b9181e0..4f2dfd9b 100644 --- a/logic/LegacyInstance.cpp +++ b/logic/LegacyInstance.cpp @@ -268,7 +268,7 @@ QString LegacyInstance::defaultCustomBaseJar() const bool LegacyInstance::menuActionEnabled(QString action_name) const { - if (flags() & VersionBrokenFlag) + if (flags().contains(VersionBrokenFlag)) { return false; } @@ -281,7 +281,7 @@ bool LegacyInstance::menuActionEnabled(QString action_name) const QString LegacyInstance::getStatusbarDescription() { - if (flags() & VersionBrokenFlag) + if (flags().contains(VersionBrokenFlag)) { return "Legacy : " + intendedVersionId() + " (broken)"; } diff --git a/logic/NostalgiaInstance.cpp b/logic/NostalgiaInstance.cpp index 96ce4cc7..52820725 100644 --- a/logic/NostalgiaInstance.cpp +++ b/logic/NostalgiaInstance.cpp @@ -23,7 +23,7 @@ NostalgiaInstance::NostalgiaInstance(const QString &rootDir, SettingsObject *set QString NostalgiaInstance::getStatusbarDescription() { - if (flags() & VersionBrokenFlag) + if (flags().contains(VersionBrokenFlag)) { return "Nostalgia : " + intendedVersionId() + " (broken)"; } diff --git a/logic/OneSixFTBInstance.cpp b/logic/OneSixFTBInstance.cpp index 91efce8e..07b123b6 100644 --- a/logic/OneSixFTBInstance.cpp +++ b/logic/OneSixFTBInstance.cpp @@ -182,7 +182,7 @@ bool OneSixFTBInstance::providesVersionFile() const QString OneSixFTBInstance::getStatusbarDescription() { - if (flags() & VersionBrokenFlag) + if (flags().contains(VersionBrokenFlag)) { return "OneSix FTB: " + intendedVersionId() + " (broken)"; } diff --git a/logic/OneSixInstance.cpp b/logic/OneSixInstance.cpp index 10411c56..148fbc09 100644 --- a/logic/OneSixInstance.cpp +++ b/logic/OneSixInstance.cpp @@ -327,12 +327,12 @@ bool OneSixInstance::reloadVersion(QWidget *widgetParent) } if (ret) { - setFlags(flags() & ~VersionBrokenFlag); + d->m_flags.remove(VersionBrokenFlag); emit versionReloaded(); } else { - setFlags(flags() | VersionBrokenFlag); + d->m_flags.insert(VersionBrokenFlag); } return ret; } @@ -369,7 +369,7 @@ QString OneSixInstance::defaultCustomBaseJar() const bool OneSixInstance::menuActionEnabled(QString action_name) const { - if (flags() & VersionBrokenFlag) + if (flags().contains(VersionBrokenFlag)) { return false; } @@ -387,7 +387,7 @@ QString OneSixInstance::getStatusbarDescription() { descr += " (custom)"; } - if (flags() & VersionBrokenFlag) + if (flags().contains(VersionBrokenFlag)) { descr += " (broken)"; } |