diff options
Diffstat (limited to 'src/imports/mimetypes/qdeclarativemimetyperegistry_p.h')
-rw-r--r-- | src/imports/mimetypes/qdeclarativemimetyperegistry_p.h | 145 |
1 files changed, 145 insertions, 0 deletions
diff --git a/src/imports/mimetypes/qdeclarativemimetyperegistry_p.h b/src/imports/mimetypes/qdeclarativemimetyperegistry_p.h new file mode 100644 index 0000000..8a2ee55 --- /dev/null +++ b/src/imports/mimetypes/qdeclarativemimetyperegistry_p.h @@ -0,0 +1,145 @@ +#ifndef DECLARATIVE_MIME_TYPE_REGISTRY_P_H_INCLUDED +#define DECLARATIVE_MIME_TYPE_REGISTRY_P_H_INCLUDED + +#include "qmimetyperegistry.h" + +#include <QtDeclarative/qdeclarative.h> + +#include <QtCore/QObject> + +class QDeclarativeMimeType; +class QDeclarativeServiceAction; + +// ------------------------------------------------------------------------------------------------ + +class QDeclarativeMimeTypeRegistry : public QObject +{ + Q_OBJECT + + Q_PROPERTY(QVariantList mimeTypes + READ mimeTypes + STORED false) + + Q_PROPERTY(QVariantList fileExtentions + READ fileExtentions + STORED false) + + Q_PROPERTY(QVariantList serviceActions + READ serviceActions + STORED false) + +protected: + // We keep this destructor with its default value of 0 protected since only + // QDeclarativePrivate::QDeclarativeElement<T> needs it: + QDeclarativeMimeTypeRegistry(QObject *theParent = 0); + +public: + ~QDeclarativeMimeTypeRegistry(); + + QMimeTypeRegistry &mimeTypeRegistry(); + + // -------------------------------------------------------------------------------------------- + + Q_INVOKABLE void insertMimeType ( + QDeclarativeMimeType *mimeType + ); + + QVariantList mimeTypes() const; + + Q_INVOKABLE QDeclarativeMimeType *findMimeType ( + const QString &mimeTypeName + ); + + Q_INVOKABLE void removeMimeType ( + const QString &mimeTypeName + ); + + // -------------------------------------------------------------------------------------------- + + QVariantList fileExtentions() const; + + Q_INVOKABLE QString extractFileExtention ( + const QString &fileName + ) const; + + Q_INVOKABLE QVariantList findMimeTypes ( + const QString &fileExtention + ) const; + + // -------------------------------------------------------------------------------------------- + + QString determineMimeType ( + const QByteArray &data + ) const; + + // -------------------------------------------------------------------------------------------- + + Q_INVOKABLE void insertServiceAction ( + QDeclarativeServiceAction *serviceAction + ); + + QVariantList serviceActions() const; + + Q_INVOKABLE QDeclarativeServiceAction *findServiceAction ( + const QString &serviceActionName + ); + + Q_INVOKABLE void removeServiceAction ( + const QString &serviceActionName + ); + + // -------------------------------------------------------------------------------------------- + + Q_INVOKABLE bool userAlwaysSelectsApplication ( + const QString &serviceActionName, + const QString &mimeTypeName + ) const; + + Q_INVOKABLE void setUserAlwaysSelectsApplication ( + const QString &serviceActionName, + const QString &mimeTypeName, + const bool newSetting + ); + + // -------------------------------------------------------------------------------------------- + + Q_INVOKABLE void registerApplication ( + const QString &applicationId, + const QString &serviceActionName, + const QString &mimeTypeName + ); + + Q_INVOKABLE void increaseApplicationPreference ( + const QString &applicationId, + const QString &serviceActionName, + const QString &mimeTypeName + ); + + Q_INVOKABLE void decreaseApplicationPreference ( + const QString &applicationId, + const QString &serviceActionName, + const QString &mimeTypeName + ); + + Q_INVOKABLE void unregisterApplication ( + const QString &applicationId + ); + + Q_INVOKABLE QVariantList findApplications ( + const QString &mimeTypeName + ) const; + + Q_INVOKABLE QVariantList findApplications ( + const QString &serviceActionName, + const QString &mimeTypeName + ) const; + + // -------------------------------------------------------------------------------------------- + +private: + QMimeTypeRegistry m_MimeTypeRegistry; +}; + +QML_DECLARE_TYPE(QDeclarativeMimeTypeRegistry) + +#endif |