Warning, file /frameworks/kfilemetadata/src/typeinfo.cpp was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001 /* 0002 SPDX-FileCopyrightText: 2014 Vishesh Handa <me@vhanda.in> 0003 0004 SPDX-License-Identifier: LGPL-2.1-or-later 0005 */ 0006 0007 #include "typeinfo.h" 0008 0009 #include <KLocalizedString> 0010 0011 using namespace KFileMetaData; 0012 0013 class KFileMetaData::TypeInfoPrivate 0014 { 0015 public: 0016 Type::Type type; 0017 QString name; 0018 QString displayName; 0019 }; 0020 0021 TypeInfo::TypeInfo(Type::Type type) 0022 : d(new TypeInfoPrivate) 0023 { 0024 d->type = type; 0025 0026 switch (type) { 0027 case Type::Empty: 0028 d->name = QStringLiteral("empty"); 0029 d->displayName = QString(); 0030 break; 0031 0032 case Type::Archive: 0033 d->name = QStringLiteral("Archive"); 0034 d->displayName = i18nc("@label", "Archive"); 0035 break; 0036 0037 case Type::Audio: 0038 d->name = QStringLiteral("Audio"); 0039 d->displayName = i18nc("@label", "Audio"); 0040 break; 0041 0042 case Type::Document: 0043 d->name = QStringLiteral("Document"); 0044 d->displayName = i18nc("@label", "Document"); 0045 break; 0046 0047 case Type::Image: 0048 d->name = QStringLiteral("Image"); 0049 d->displayName = i18nc("@label", "Image"); 0050 break; 0051 0052 case Type::Presentation: 0053 d->name = QStringLiteral("Presentation"); 0054 d->displayName = i18nc("@label", "Presentation"); 0055 break; 0056 0057 case Type::Spreadsheet: 0058 d->name = QStringLiteral("Spreadsheet"); 0059 d->displayName = i18nc("@label", "Spreadsheet"); 0060 break; 0061 0062 case Type::Text: 0063 d->name = QStringLiteral("Text"); 0064 d->displayName = i18nc("@label", "Text"); 0065 break; 0066 0067 case Type::Video: 0068 d->name = QStringLiteral("Video"); 0069 d->displayName = i18nc("@label", "Video"); 0070 break; 0071 0072 case Type::Folder: 0073 d->name = QStringLiteral("Folder"); 0074 d->displayName = i18nc("@label", "Folder"); 0075 break; 0076 case Type::Model: 0077 d->name = QStringLiteral("Model"); 0078 d->displayName = i18nc("@label", "Model"); 0079 break; 0080 default: 0081 break; 0082 } 0083 } 0084 0085 TypeInfo::TypeInfo(const TypeInfo& ti) 0086 : d(new TypeInfoPrivate(*ti.d)) 0087 { 0088 } 0089 0090 TypeInfo::~TypeInfo() = default; 0091 0092 TypeInfo& TypeInfo::operator=(const TypeInfo& rhs) 0093 { 0094 *d = *rhs.d; 0095 return *this; 0096 } 0097 0098 bool TypeInfo::operator==(const TypeInfo& rhs) const 0099 { 0100 return std::tie(d->type, d->name, d->displayName) == std::tie(rhs.d->type, rhs.d->name, rhs.d->displayName); 0101 } 0102 0103 QString TypeInfo::displayName() const 0104 { 0105 return d->displayName; 0106 } 0107 0108 QString TypeInfo::name() const 0109 { 0110 return d->name; 0111 } 0112 0113 Type::Type TypeInfo::type() const 0114 { 0115 return d->type; 0116 } 0117 0118 TypeInfo TypeInfo::fromName(const QString& name) 0119 { 0120 for (int t = static_cast<int>(Type::FirstType); t <= static_cast<int>(Type::LastType); t++) { 0121 TypeInfo ti(static_cast<Type::Type>(t)); 0122 if (ti.name().compare(name, Qt::CaseInsensitive) == 0) { 0123 return ti; 0124 } 0125 } 0126 0127 return TypeInfo(Type::Empty); 0128 }