summaryrefslogtreecommitdiffstats
path: root/logic
diff options
context:
space:
mode:
authorJan Dalheimer <jan@dalheimer.de>2014-03-10 17:38:27 +0100
committerJan Dalheimer <jan@dalheimer.de>2014-03-10 17:38:27 +0100
commit73fc9c79cff979e9023df0b1a77848c67b590681 (patch)
tree7c8be387b504eccf35e4e3422b39a78d47354e7d /logic
parent737169d1d3ac62a7db99d51e892289aee8c1d3a3 (diff)
downloadMultiMC-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.cpp9
-rw-r--r--logic/BaseInstance.h8
-rw-r--r--logic/BaseInstance_p.h7
-rw-r--r--logic/LegacyFTBInstance.cpp2
-rw-r--r--logic/LegacyInstance.cpp4
-rw-r--r--logic/NostalgiaInstance.cpp2
-rw-r--r--logic/OneSixFTBInstance.cpp2
-rw-r--r--logic/OneSixInstance.cpp8
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)";
}