2024-04-18 18:42:36 -04:00
|
|
|
// SPDX-FileCopyrightText: 2024 Joshua Goins <josh@redstrate.com>
|
|
|
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
|
|
|
|
|
|
#include "filetypes.h"
|
|
|
|
|
|
|
|
#include <KLocalizedString>
|
|
|
|
#include <QMap>
|
|
|
|
|
|
|
|
const static QMap<QString, FileType> extensionToType{{QStringLiteral("exl"), FileType::ExcelList},
|
|
|
|
{QStringLiteral("exh"), FileType::ExcelHeader},
|
|
|
|
{QStringLiteral("exd"), FileType::ExcelData},
|
|
|
|
{QStringLiteral("mdl"), FileType::Model},
|
|
|
|
{QStringLiteral("tex"), FileType::Texture},
|
|
|
|
{QStringLiteral("shpk"), FileType::ShaderPackage},
|
|
|
|
{QStringLiteral("cmp"), FileType::CharaMakeParams},
|
2024-04-18 22:21:53 -04:00
|
|
|
{QStringLiteral("sklb"), FileType::Skeleton},
|
2024-04-27 13:45:08 -04:00
|
|
|
{QStringLiteral("dic"), FileType::Dictionary},
|
|
|
|
{QStringLiteral("mtrl"), FileType::Material}};
|
2024-04-18 18:42:36 -04:00
|
|
|
|
|
|
|
const static QMap<FileType, QString> typeToName{{FileType::Unknown, i18n("Unknown")},
|
|
|
|
{FileType::ExcelList, i18n("Excel List")},
|
|
|
|
{FileType::ExcelHeader, i18n("Excel Header")},
|
|
|
|
{FileType::ExcelData, i18n("Excel Data")},
|
|
|
|
{FileType::Model, i18n("Model")},
|
|
|
|
{FileType::Texture, i18n("Texture")},
|
|
|
|
{FileType::ShaderPackage, i18n("Shader Package")},
|
|
|
|
{FileType::CharaMakeParams, i18n("Chara Make Params")},
|
2024-04-18 22:21:53 -04:00
|
|
|
{FileType::Skeleton, i18n("Skeleton")},
|
2024-04-27 13:45:08 -04:00
|
|
|
{FileType::Dictionary, i18n("Dictionary")},
|
|
|
|
{FileType::Material, i18n("Material")}};
|
2024-04-18 22:21:53 -04:00
|
|
|
|
|
|
|
const static QMap<FileType, QString> typeToIcon{{FileType::Unknown, QStringLiteral("unknown")},
|
|
|
|
{FileType::ExcelList, QStringLiteral("x-office-spreadsheet")},
|
|
|
|
{FileType::ExcelHeader, QStringLiteral("x-office-spreadsheet")},
|
|
|
|
{FileType::ExcelData, QStringLiteral("x-office-spreadsheet")},
|
|
|
|
{FileType::Model, QStringLiteral("shape-cuboid-symbolic")},
|
|
|
|
{FileType::Texture, QStringLiteral("viewimage-symbolic")},
|
|
|
|
{FileType::ShaderPackage, QStringLiteral("paint-pattern-symbolic")},
|
|
|
|
{FileType::CharaMakeParams, QStringLiteral("step_object_SoftBody-symbolic")},
|
|
|
|
{FileType::Skeleton, QStringLiteral("user-symbolic")},
|
2024-04-27 13:45:08 -04:00
|
|
|
{FileType::Dictionary, QStringLiteral("accessories-dictionary-symbolic")},
|
|
|
|
{FileType::Material, QStringLiteral("map-globe-symbolic")}};
|
2024-04-18 18:50:02 -04:00
|
|
|
|
2024-04-18 18:42:36 -04:00
|
|
|
FileType FileTypes::getFileType(const QString &extension)
|
|
|
|
{
|
|
|
|
return extensionToType.value(extension, FileType::Unknown);
|
|
|
|
}
|
|
|
|
|
|
|
|
QString FileTypes::getFiletypeName(FileType fileType)
|
|
|
|
{
|
|
|
|
return typeToName.value(fileType);
|
|
|
|
}
|
2024-04-18 18:50:02 -04:00
|
|
|
|
|
|
|
QString FileTypes::getFiletypeIcon(FileType fileType)
|
|
|
|
{
|
|
|
|
return typeToIcon.value(fileType);
|
|
|
|
}
|