23 #include <QMimeDatabase> 26 #include <QStringList> 35 :m_supported_mime_types(), m_supported_compression_types()
48 const QString &description,
51 const QString type_name =
_(name);
52 if (type_name.contains(
_(
","))) {
54 QStringList types = type_name.split(
_(
","), QString::SkipEmptyParts);
55 foreach (
const QString &mt, types) {
56 addMimeType(mt.trimmed().toUtf8().data(), description, patterns);
63 QMimeType t = db.mimeTypeForName(type_name);
65 if (t.isDefault() || t.name().isEmpty()) {
67 type.
name = type_name;
69 type.
patterns =
_(patterns).split(
_(
"; "), QString::SkipEmptyParts);
74 if (t.name() != type_name) {
77 type.
name = type_name;
109 if (mime.
name == mimetype_name)
return true;
119 if (mime.
name == mimetype_name) {
120 foreach (
const QString &ext, mime.
patterns)
121 if (!result.contains(ext)) result.append(ext);
143 QFileInfo file(url.fileName());
144 QString suffix = file.suffix();
146 if (!suffix.length())
return QMimeType().name();
147 suffix =
_(
"*.") + suffix;
151 while (it.hasNext()) {
153 if (mime_type.
patterns.contains(suffix.toLower()))
154 return mime_type.
name;
156 return QMimeType().name();
virtual void addCompression(Kwave::Compression::Type compression)
virtual const QList< Kwave::Compression::Type > compressionTypes()
virtual QString mimeTypeOf(const QUrl &url)
virtual bool supports(const QMimeType &mimetype)
virtual void addMimeType(const char *name, const QString &description, const char *patterns)
QList< Kwave::Compression::Type > m_supported_compression_types
virtual const QList< CodecBase::MimeType > mimeTypes()
QList< MimeType > m_supported_mime_types
virtual QStringList extensions(const QString &mimetype_name) const