GH-1217 add simple instance play time tracking
Not reliable in the face of crashes... but what is?
This commit is contained in:
@ -445,16 +445,12 @@ QString LegacyInstance::defaultCustomBaseJar() const
|
||||
return PathCombine(binDir(), "mcbackup.jar");
|
||||
}
|
||||
|
||||
QString LegacyInstance::getStatusbarDescription()
|
||||
{
|
||||
if (flags() & VersionBrokenFlag)
|
||||
{
|
||||
return tr("Legacy : %1 (broken)").arg(intendedVersionId());
|
||||
}
|
||||
return tr("Legacy : %1").arg(intendedVersionId());
|
||||
}
|
||||
|
||||
QString LegacyInstance::lwjglFolder() const
|
||||
{
|
||||
return m_lwjglFolderSetting->get().toString();
|
||||
}
|
||||
|
||||
QString LegacyInstance::typeName() const
|
||||
{
|
||||
return tr("Legacy");
|
||||
}
|
||||
|
@ -120,7 +120,7 @@ public:
|
||||
|
||||
virtual void cleanupAfterRun() override;
|
||||
|
||||
virtual QString getStatusbarDescription() override;
|
||||
virtual QString typeName() const;
|
||||
|
||||
protected:
|
||||
mutable std::shared_ptr<ModList> jar_mod_list;
|
||||
|
@ -305,4 +305,46 @@ QString MinecraftInstance::getLogFileRoot()
|
||||
return minecraftRoot();
|
||||
}
|
||||
|
||||
QString MinecraftInstance::prettifyTimeDuration(int64_t duration)
|
||||
{
|
||||
int seconds = (int) (duration % 60);
|
||||
duration /= 60;
|
||||
int minutes = (int) (duration % 60);
|
||||
duration /= 60;
|
||||
int hours = (int) (duration % 24);
|
||||
int days = (int) (duration / 24);
|
||||
if((hours == 0)&&(days == 0))
|
||||
{
|
||||
return tr("%1m %2s").arg(minutes).arg(seconds);
|
||||
}
|
||||
if (days == 0)
|
||||
{
|
||||
return tr("%1h %2m").arg(hours).arg(minutes);
|
||||
}
|
||||
return tr("%1d %2h %3m").arg(days).arg(hours).arg(minutes);
|
||||
}
|
||||
|
||||
QString MinecraftInstance::getStatusbarDescription()
|
||||
{
|
||||
QStringList traits;
|
||||
if (flags() & VersionBrokenFlag)
|
||||
{
|
||||
traits.append(tr("broken"));
|
||||
}
|
||||
|
||||
QString description;
|
||||
description.append(tr("Minecraft %1 (%2)").arg(intendedVersionId()).arg(typeName()));
|
||||
if(totalTimePlayed() > 0)
|
||||
{
|
||||
description.append(tr(", played for %1").arg(prettifyTimeDuration(totalTimePlayed())));
|
||||
}
|
||||
/*
|
||||
if(traits.size())
|
||||
{
|
||||
description.append(QString(" (%1)").arg(traits.join(", ")));
|
||||
}
|
||||
*/
|
||||
return description;
|
||||
}
|
||||
|
||||
#include "MinecraftInstance.moc"
|
||||
|
@ -55,8 +55,12 @@ public:
|
||||
|
||||
virtual QString getLogFileRoot() override;
|
||||
|
||||
virtual QString getStatusbarDescription() override;
|
||||
|
||||
protected:
|
||||
QMap<QString, QString> createCensorFilterFromSession(AuthSessionPtr session);
|
||||
private:
|
||||
QString prettifyTimeDuration(int64_t duration);
|
||||
};
|
||||
|
||||
typedef std::shared_ptr<MinecraftInstance> MinecraftInstancePtr;
|
||||
|
@ -476,24 +476,6 @@ std::shared_ptr<MinecraftProfile> OneSixInstance::getMinecraftProfile() const
|
||||
return m_version;
|
||||
}
|
||||
|
||||
QString OneSixInstance::getStatusbarDescription()
|
||||
{
|
||||
QStringList traits;
|
||||
if (flags() & VersionBrokenFlag)
|
||||
{
|
||||
traits.append(tr("broken"));
|
||||
}
|
||||
|
||||
if (traits.size())
|
||||
{
|
||||
return tr("Minecraft %1 (%2)").arg(intendedVersionId()).arg(traits.join(", "));
|
||||
}
|
||||
else
|
||||
{
|
||||
return tr("Minecraft %1").arg(intendedVersionId());
|
||||
}
|
||||
}
|
||||
|
||||
QDir OneSixInstance::librariesPath() const
|
||||
{
|
||||
return QDir::current().absoluteFilePath("libraries");
|
||||
@ -590,3 +572,8 @@ std::shared_ptr<OneSixInstance> OneSixInstance::getSharedPtr()
|
||||
{
|
||||
return std::dynamic_pointer_cast<OneSixInstance>(BaseInstance::getSharedPtr());
|
||||
}
|
||||
|
||||
QString OneSixInstance::typeName() const
|
||||
{
|
||||
return tr("OneSix");
|
||||
}
|
||||
|
@ -79,8 +79,6 @@ public:
|
||||
/// get the current full version info
|
||||
std::shared_ptr<MinecraftProfile> getMinecraftProfile() const;
|
||||
|
||||
virtual QString getStatusbarDescription() override;
|
||||
|
||||
virtual QDir jarmodsPath() const;
|
||||
virtual QDir librariesPath() const;
|
||||
virtual QDir versionsPath() const;
|
||||
@ -92,6 +90,8 @@ public:
|
||||
|
||||
std::shared_ptr<OneSixInstance> getSharedPtr();
|
||||
|
||||
virtual QString typeName() const;
|
||||
|
||||
signals:
|
||||
void versionReloaded();
|
||||
|
||||
|
Reference in New Issue
Block a user