Files
o3de/Code/Tools/ProjectManager/Source/GemCatalog/GemInfo.cpp
T
AMZN-nggieber 10ab1a369f Adds Download status info UI to Gem Catalog (#4602)
* Adds Download status info UI to Gem Catalog

Signed-off-by: nggieber <nggieber@amazon.com>

* Removed test code

Signed-off-by: nggieber <nggieber@amazon.com>

* Remove unused variable

Signed-off-by: nggieber <nggieber@amazon.com>

* Addressed PR feedback

Signed-off-by: nggieber <nggieber@amazon.com>

* Fixed Open3DEngine spelling

Signed-off-by: nggieber <nggieber@amazon.com>
2021-10-13 12:52:44 -07:00

104 lines
2.6 KiB
C++

/*
* Copyright (c) Contributors to the Open 3D Engine Project.
* For complete copyright and license terms please see the LICENSE at the root of this distribution.
*
* SPDX-License-Identifier: Apache-2.0 OR MIT
*
*/
#include "GemInfo.h"
#include <QObject>
namespace O3DE::ProjectManager
{
GemInfo::GemInfo(const QString& name, const QString& creator, const QString& summary, Platforms platforms, bool isAdded)
: m_name(name)
, m_creator(creator)
, m_summary(summary)
, m_platforms(platforms)
, m_isAdded(isAdded)
{
}
bool GemInfo::IsValid() const
{
return !m_name.isEmpty() && !m_path.isEmpty();
}
QString GemInfo::GetPlatformString(Platform platform)
{
switch (platform)
{
case Android:
return QObject::tr("Android");
case iOS:
return QObject::tr("iOS");
case Linux:
return QObject::tr("Linux");
case macOS:
return QObject::tr("macOS");
case Windows:
return QObject::tr("Windows");
default:
return QObject::tr("<Unknown Platform>");
}
}
QString GemInfo::GetTypeString(Type type)
{
switch (type)
{
case Asset:
return QObject::tr("Asset");
case Code:
return QObject::tr("Code");
case Tool:
return QObject::tr("Tool");
default:
return QObject::tr("<Unknown Type>");
}
}
QString GemInfo::GetGemOriginString(GemOrigin origin)
{
switch (origin)
{
case Open3DEngine:
return QObject::tr("Open 3D Engine");
case Local:
return QObject::tr("Local");
case Remote:
return QObject::tr("Remote");
default:
return QObject::tr("<Unknown Gem Origin>");
}
}
QString GemInfo::GetDownloadStatusString(DownloadStatus status)
{
switch (status)
{
case NotDownloaded:
return QObject::tr("Not Downloaded");
case Downloading:
return QObject::tr("Downloading");
case Downloaded:
return QObject::tr("Downloaded");
case UnknownDownloadStatus:
default:
return QObject::tr("<Unknown Download Status>");
}
};
bool GemInfo::IsPlatformSupported(Platform platform) const
{
return (m_platforms & platform);
}
bool GemInfo::operator<(const GemInfo& gemInfo) const
{
return (m_displayName < gemInfo.m_displayName);
}
} // namespace O3DE::ProjectManager