File indexing completed on 2024-04-28 08:46:49
0001 /* 0002 SPDX-FileCopyrightText: 2005 Shaheed Haque <srhaque@iee.org> 0003 0004 SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #include "categories.h" 0008 0009 #include "kcddbi18n.h" 0010 0011 class KCDDB::Categories::Private 0012 { 0013 public: 0014 QStringList cddb; 0015 QStringList i18n; 0016 }; 0017 0018 KCDDB::Categories::Categories() 0019 : d(new Private) 0020 { 0021 // These are only 11 Category values defined by CDDB. See 0022 // 0023 // http://www.freedb.org/en/faq.3.html#26 0024 // 0025 d->cddb << QLatin1String( "blues" ) << QLatin1String( "classical" ) << QLatin1String( "country" ) << 0026 QLatin1String( "data" ) << QLatin1String( "folk" ) << QLatin1String( "jazz" ) << QLatin1String( "misc" ) << 0027 QLatin1String( "newage" ) << QLatin1String( "reggae" ) << QLatin1String( "rock" ) << QLatin1String( "soundtrack" ); 0028 d->i18n << i18n("Blues") << i18n("Classical") << i18nc("music genre", "Country") << 0029 i18n("Data") << i18n("Folk") << i18n("Jazz") << i18n("Miscellaneous") << 0030 i18n("New Age") << i18n("Reggae") << i18n("Rock") << i18n("Soundtrack"); 0031 } 0032 0033 KCDDB::Categories::~Categories() 0034 { 0035 delete d; 0036 } 0037 0038 KCDDB::Categories::Categories(const Categories& other) 0039 :d(new Private) 0040 { 0041 *d = *other.d; 0042 } 0043 0044 KCDDB::Categories& KCDDB::Categories::operator=(const Categories& other) 0045 { 0046 *d = *other.d; 0047 return *this; 0048 } 0049 0050 const QStringList &KCDDB::Categories::cddbList() const 0051 { 0052 return d->cddb; 0053 } 0054 0055 const QStringList &KCDDB::Categories::i18nList() const 0056 { 0057 return d->i18n; 0058 } 0059 0060 const QString KCDDB::Categories::cddb2i18n(const QString &category) const 0061 { 0062 int index = d->cddb.indexOf(category.trimmed()); 0063 if (index != -1) 0064 { 0065 return d->i18n[index]; 0066 } 0067 else 0068 { 0069 return cddb2i18n(QLatin1String( "misc" )); 0070 } 0071 } 0072 0073 const QString KCDDB::Categories::i18n2cddb(const QString &category) const 0074 { 0075 int index = d->i18n.indexOf(category.trimmed()); 0076 if (index != -1) 0077 { 0078 return d->cddb[index]; 0079 } 0080 else 0081 { 0082 return QLatin1String( "misc" ); 0083 } 0084 }