Instance badges. Some easter eggs and one for broken so far.
This commit is contained in:
@ -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
|
||||
|
@ -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)
|
||||
|
@ -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;
|
||||
};
|
||||
|
@ -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)";
|
||||
}
|
||||
|
@ -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)";
|
||||
}
|
||||
|
@ -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)";
|
||||
}
|
||||
|
@ -182,7 +182,7 @@ bool OneSixFTBInstance::providesVersionFile() const
|
||||
|
||||
QString OneSixFTBInstance::getStatusbarDescription()
|
||||
{
|
||||
if (flags() & VersionBrokenFlag)
|
||||
if (flags().contains(VersionBrokenFlag))
|
||||
{
|
||||
return "OneSix FTB: " + intendedVersionId() + " (broken)";
|
||||
}
|
||||
|
@ -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)";
|
||||
}
|
||||
|
Reference in New Issue
Block a user