-rw-r--r-- | library/mimetype.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/library/mimetype.cpp b/library/mimetype.cpp index c6a4453..9fab160 100644 --- a/library/mimetype.cpp +++ b/library/mimetype.cpp @@ -19,4 +19,5 @@ **********************************************************************/ +#define QTOPIA_INTERNAL_MIMEEXT #include "mimetype.h" #include "applnk.h" @@ -47,4 +48,5 @@ public: } QString id; + QString extension; QString desc; QPixmap regIcon; @@ -60,4 +62,5 @@ public: MimeType::Dict* MimeType::d=0; static QMap<QString,QString> *typeFor = 0; +static QMap<QString,QString> *extFor = 0; MimeType::Dict& MimeType::dict() @@ -97,4 +100,10 @@ QPixmap MimeType::pixmap() const } +QString MimeType::extension() const +{ + loadExtensions(); + return *(*extFor).find(i); +} + QPixmap MimeType::bigPixmap() const { @@ -129,4 +138,5 @@ void MimeType::loadExtensions() { if ( !typeFor ) { + extFor = new QMap<QString,QString>; typeFor = new QMap<QString,QString>; loadExtensions("/etc/mime.types"); @@ -146,4 +156,6 @@ void MimeType::loadExtensions(const QString& filename) if ( it != tokens.end() ) { QString id = *it; ++it; + if ( it != tokens.end() ) { + (*extFor)[id] = *it; while (it != tokens.end()) { (*typeFor)[*it] = id; @@ -154,4 +166,5 @@ void MimeType::loadExtensions(const QString& filename) } } +} void MimeType::init( const QString& ext_or_id ) |