lib
KoFilterManager.h00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef __koffice_filter_manager_h__
00023 #define __koffice_filter_manager_h__
00024
00025 #include <qobject.h>
00026 #include <qmap.h>
00027 #include <KoFilterChain.h>
00028 #include <koffice_export.h>
00029 class KoDocument;
00030
00044 class KOFFICECORE_EXPORT KoFilterManager : public QObject
00045 {
00046 Q_OBJECT
00047 public:
00051 enum Direction { Import = 1, Export = 2 };
00052
00056 KoFilterManager( KoDocument* document );
00071 KoFilterManager( const QString& url, const QCString& mimetypeHint = "",
00072 KoFilterChain* const parentChain = 0 );
00073
00074 virtual ~KoFilterManager();
00075
00083 QString import( const QString& url, KoFilter::ConversionStatus& status );
00091 KoFilter::ConversionStatus exp0rt( const QString& url, QCString& mimeType );
00092
00093
00094
00096
00097
00103 KOFFICECORE_EXPORT static QStringList mimeFilter( const QCString& mimetype, Direction direction,
00104 const QStringList& extraNativeMimeTypes = QStringList() );
00105
00113 static QStringList mimeFilter();
00114
00119 static bool filterAvailable( KoFilterEntry::Ptr entry );
00120
00122
00128 void setBatchMode ( const bool batch );
00129
00135 bool getBatchMode ( void ) const;
00136
00137 signals:
00138 void sigProgress( int );
00139
00140 private:
00141
00142
00143
00144
00145 friend QString KoFilterChain::filterManagerImportFile() const;
00146 QString importFile() const { return m_importUrl; }
00147 friend QString KoFilterChain::filterManagerExportFile() const;
00148 QString exportFile() const { return m_exportUrl; }
00149 friend KoDocument* KoFilterChain::filterManagerKoDocument() const;
00150 KoDocument* document() const { return m_document; }
00151 friend int KoFilterChain::filterManagerDirection() const;
00152 int direction() const { return static_cast<int>( m_direction ); }
00153 friend KoFilterChain* const KoFilterChain::filterManagerParentChain() const;
00154 KoFilterChain* const parentChain() const { return m_parentChain; }
00155
00156
00157 KoFilterManager( const KoFilterManager& rhs );
00158 KoFilterManager &operator=( const KoFilterManager& rhs );
00159
00160 void importErrorHelper( const QString& mimeType, const bool suppressDialog = false );
00161
00162 static const int s_area;
00163
00164 KoDocument* m_document;
00165 KoFilterChain* const m_parentChain;
00166 QString m_importUrl, m_exportUrl;
00167 QCString m_importUrlMimetypeHint;
00168 KOffice::Graph m_graph;
00169 Direction m_direction;
00170
00172 static QMap<QString, bool> m_filterAvailable;
00173
00174 class Private;
00175 Private *d;
00176 };
00177
00178 #endif // __koffice_filter_manager_h__
|