|
Krita Source Code Documentation
|
The class managing all the filters. More...
#include <KisImportExportManager.h>
Inheritance diagram for KisImportExportManager:Classes | |
| struct | ConversionResult |
Public Types | |
| enum | Direction { Import = 1 , Export = 2 } |
Public Member Functions | |
| KisImportExportErrorCode | exportDocument (const QString &location, const QString &realLocation, const QByteArray &mimeType, bool showWarnings=true, KisPropertiesConfigurationSP exportConfiguration=0, bool isAdvancedExporting=false) |
| Exports the given file/document to the specified URL/mimetype. | |
| QFuture< KisImportExportErrorCode > | exportDocumentAsync (const QString &location, const QString &realLocation, const QByteArray &mimeType, KisImportExportErrorCode &status, bool showWarnings=true, KisPropertiesConfigurationSP exportConfiguration=0, bool isAdvancedExporting=false) |
| KisImportExportErrorCode | importDocument (const QString &location, const QString &mimeType) |
| KisImportExportManager (KisDocument *document) | |
| ~KisImportExportManager () override | |
Public Attributes | |
| QSharedPointer< KisImportExportFilter > | cachedExportFilter |
| QString | cachedExportFilterMimeType |
| KoUpdaterPtr | updater |
Static API | |
| KisDocument * | m_document |
| Private *const | d |
| static QStringList | m_importMimeTypes |
| A static cache for the availability checks of filters. | |
| static QStringList | m_exportMimeTypes |
| bool | batchMode (void) const |
| void | setUpdater (KoUpdaterPtr updater) |
| static QStringList | supportedMimeTypes (Direction direction) |
| static KisImportExportFilter * | filterForMimeType (const QString &mimetype, Direction direction) |
| filterForMimeType loads the relevant import/export plugin and returns it. The caller is responsible for deleting it! | |
| static void | fillStaticExportConfigurationProperties (KisPropertiesConfigurationSP exportConfiguration, KisImageSP image) |
| static QString | askForAudioFileName (const QString &defaultDir, QWidget *parent) |
| static QString | getUriForAdditionalFile (const QString &defaultUri, QWidget *parent) |
| ConversionResult | convert (Direction direction, const QString &location, const QString &realLocation, const QString &mimeType, bool showWarnings, KisPropertiesConfigurationSP exportConfiguration, bool isAsync, bool isAdvancedExporting=false) |
| void | fillStaticExportConfigurationProperties (KisPropertiesConfigurationSP exportConfiguration) |
| bool | askUserAboutExportConfiguration (QSharedPointer< KisImportExportFilter > filter, KisPropertiesConfigurationSP exportConfiguration, const QByteArray &from, const QByteArray &to, bool batchMode, const bool showWarnings, bool *alsoAsKra, bool isAdvancedExporting=false) |
| KisImportExportErrorCode | doImport (const QString &location, QSharedPointer< KisImportExportFilter > filter) |
| KisImportExportErrorCode | doExport (const QString &location, QSharedPointer< KisImportExportFilter > filter, KisPropertiesConfigurationSP exportConfiguration, const QString alsoAsKraLocation) |
| KisImportExportErrorCode | doExportImpl (const QString &location, QSharedPointer< KisImportExportFilter > filter, KisPropertiesConfigurationSP exportConfiguration) |
| QString | getAlsoAsKraLocation (const QString location) const |
| KisImportExportManager (const KisImportExportManager &rhs) | |
| KisImportExportManager & | operator= (const KisImportExportManager &rhs) |
Additional Inherited Members | |
Private Member Functions inherited from Private | |
| Private (KisCanvas2 *c) | |
Private Attributes inherited from Private | |
| KisCanvas2 * | canvas |
| int | displayedFrame |
| int | intendedFrame |
The class managing all the filters.
This class manages all filters for a Calligra application. Normally you will not have to use it, since KisMainWindow takes care of loading and saving documents.
Definition at line 96 of file KisImportExportManager.cpp.
This enum is used to distinguish the import/export cases
| Enumerator | |
|---|---|
| Import | |
| Export | |
Definition at line 45 of file KisImportExportManager.h.
|
explicit |
Create a filter manager for a document
Definition at line 148 of file KisImportExportManager.cpp.
|
override |
|
private |
|
static |
Definition at line 287 of file KisImportExportManager.cpp.
References KoFileDialog::ImportFiles.
|
private |
Definition at line 523 of file KisImportExportManager.cpp.
References KisDocument::assistants, batchMode(), KoDialog::Cancel, KisPreExportChecker::check(), KisConfigWidget::configuration(), KisPart::currentMainwindow(), KisMimeDatabase::descriptionForMimeType(), WdgImageSize::desiredHeight(), WdgImageSize::desiredResolution(), WdgImageSize::desiredWidth(), KisPreExportChecker::errors(), WdgImageSize::filterType(), KisImage::flatten(), KisLayerUtils::forceAllDelayedNodesUpdate(), KisDocument::gridConfig, KisDocument::guidesConfig, KisGuidesConfig::hasGuides(), KisImage::height(), KisDocument::image, KisPart::instance(), KisGridConfig::isDefault(), KIS_SAFE_ASSERT_RECOVER_NOOP, KisIconUtils::loadIcon(), m_document, KisDocument::nativeFormatMimeType(), KoDialog::Ok, KisLayerUtils::recursiveFindNode(), KisDocument::referenceImagesLayer(), KisNodeFacade::root, KisDocument::savingImage, KisImage::scaleImage(), KoDialog::setButtons(), KisConfigWidget::setConfiguration(), KoDialog::setMainWidget(), KisPopupButton::setPopupWidget(), KisConfigWidget::setView(), KoShapeContainer::shapeCount(), KisExportCheckBase::SUPPORTED, KisMainWindow::viewManager, KisImage::waitForDone(), KisPreExportChecker::warnings(), KisImage::width(), KisConfig::writeEntry(), and KisImage::yRes().
| bool KisImportExportManager::batchMode | ( | void | ) | const |
Get if the filter manager is batch mode (true) or in interactive mode (true)
Definition at line 277 of file KisImportExportManager.cpp.
References KisDocument::fileBatchMode(), and m_document.
|
private |
Fetching a filter from the registry is a really expensive operation, because it blocks all the threads. Cache the filter if possible.
Definition at line 320 of file KisImportExportManager.cpp.
References askUserAboutExportConfiguration(), batchMode(), ImportExportCodes::Cancelled, KoColorSpace::colorDepthId(), KoColorSpace::colorModelId(), KisImage::colorSpace(), KisPart::currentMainwindow(), d, doExport(), doImport(), Export, ImportExportCodes::FileFormatNotSupported, fillStaticExportConfigurationProperties(), filterForMimeType(), getAlsoAsKraLocation(), KisImage::height(), KisDocument::image, Import, KisPart::instance(), ImportExportCodes::InternalError, KisImportExportErrorCode::isOk(), KIS_ASSERT_RECOVER_RETURN_VALUE, KIS_SAFE_ASSERT_RECOVER, KIS_SAFE_ASSERT_RECOVER_NOOP, KisUsageLogger::log(), m_document, KisMimeDatabase::mimeTypeForFile(), KoID::name(), KoColorProfile::name, KisDocument::nativeFormatMimeType(), KisImage::nlayers(), ImportExportCodes::OK, KoColorSpace::profile(), KisConfig::setExportConfiguration(), KisImportExportManager::ConversionResult::setStatus(), KisImportExportManager::ConversionResult::status(), toQShared(), KisImage::width(), and KisImage::xRes().
|
private |
Definition at line 753 of file KisImportExportManager.cpp.
References doExportImpl(), Export, ImportExportCodes::FileFormatIncorrect, filterForMimeType(), KisImportExportErrorCode::isOk(), KIS_SAFE_ASSERT_RECOVER_NOOP, m_document, and KisDocument::nativeFormatMimeType().
|
private |
Definition at line 814 of file KisImportExportManager.cpp.
References ImportExportCodes::ErrorWhileWriting, KisImportExportErrorCode::isOk(), m_document, KisDocument::setErrorMessage(), and target().
|
private |
Definition at line 733 of file KisImportExportManager.cpp.
References ImportExportCodes::FileNotExist, and m_document.
| KisImportExportErrorCode KisImportExportManager::exportDocument | ( | const QString & | location, |
| const QString & | realLocation, | ||
| const QByteArray & | mimeType, | ||
| bool | showWarnings = true, | ||
| KisPropertiesConfigurationSP | exportConfiguration = 0, | ||
| bool | isAdvancedExporting = false ) |
Exports the given file/document to the specified URL/mimetype.
If mimeType is empty, then the closest matching Calligra part is searched and when the method returns mimeType contains this mimetype. Oh, well, export is a C++ keyword ;)
Definition at line 167 of file KisImportExportManager.cpp.
References convert(), Export, ImportExportCodes::InternalError, KisImportExportManager::ConversionResult::isAsync(), KIS_SAFE_ASSERT_RECOVER_RETURN_VALUE, and KisImportExportManager::ConversionResult::status().
| QFuture< KisImportExportErrorCode > KisImportExportManager::exportDocumentAsync | ( | const QString & | location, |
| const QString & | realLocation, | ||
| const QByteArray & | mimeType, | ||
| KisImportExportErrorCode & | status, | ||
| bool | showWarnings = true, | ||
| KisPropertiesConfigurationSP | exportConfiguration = 0, | ||
| bool | isAdvancedExporting = false ) |
Definition at line 175 of file KisImportExportManager.cpp.
References convert(), Export, KisImportExportManager::ConversionResult::futureStatus(), KisImportExportManager::ConversionResult::isAsync(), KisImportExportErrorCode::isOk(), KIS_SAFE_ASSERT_RECOVER_RETURN_VALUE, and KisImportExportManager::ConversionResult::status().
|
private |
Definition at line 518 of file KisImportExportManager.cpp.
References fillStaticExportConfigurationProperties(), KisDocument::image, and m_document.
|
static |
Fill necessary information for the export filter into the properties, e.g. if the image has transparency or has sRGB profile.
Definition at line 484 of file KisImportExportManager.cpp.
References KisPainter::checkDeviceHasTransparency(), KisImportExportFilter::CICPPrimariesTag, KisImportExportFilter::CICPTransferCharacteristicsTag, KoColorSpace::colorDepthId(), KisImportExportFilter::ColorDepthIDTag, KoColorSpace::colorModelId(), KisImportExportFilter::ColorModelIDTag, KisPaintDevice::colorSpace(), KoColorProfile::getColorPrimaries(), KoColorProfile::getTransferCharacteristics(), KoColorSpace::hasHighDynamicRange(), KisImportExportFilter::HDRTag, KoID::id(), KisImportExportFilter::ImageContainsTransparencyTag, KoColorProfile::name, PRIMARIES_ADOBE_RGB_1998, PRIMARIES_UNSPECIFIED, KoColorSpace::profile(), KisImage::projection(), KisImportExportFilter::sRGBTag, TRC_GAMMA_1_8, and TRC_UNSPECIFIED.
|
static |
filterForMimeType loads the relevant import/export plugin and returns it. The caller is responsible for deleting it!
| mimetype | the mimetype we want to import/export. If there's more than one plugin, the one with the highest weight as defined in the json description will be taken |
| direction | import or export |
Definition at line 227 of file KisImportExportManager.cpp.
References KoJsonTrader::Plugin::errorString(), Export, KoJsonTrader::Plugin::fileName(), KoJsonTrader::instance(), KoJsonTrader::Plugin::instance(), KIS_ASSERT_RECOVER_NOOP, KoJsonTrader::Plugin::metaData(), KoJsonTrader::query(), KisImportExportFilter::setMimeType(), and warnUI.
|
private |
Definition at line 943 of file KisImportExportManager.cpp.
References getUriForAdditionalFile().
|
static |
Definition at line 308 of file KisImportExportManager.cpp.
References KIS_SAFE_ASSERT_RECOVER_NOOP, and KoFileDialog::SaveFile.
| KisImportExportErrorCode KisImportExportManager::importDocument | ( | const QString & | location, |
| const QString & | mimeType ) |
Imports the specified document and returns the resultant filename (most likely some file in /tmp). path can be either a URL or a filename. documentMimeType gives importDocument a hint about what type the document may be. It can be left empty.
Definition at line 159 of file KisImportExportManager.cpp.
References convert(), Import, ImportExportCodes::InternalError, KisImportExportManager::ConversionResult::isAsync(), KIS_SAFE_ASSERT_RECOVER_RETURN_VALUE, and KisImportExportManager::ConversionResult::status().
|
private |
| void KisImportExportManager::setUpdater | ( | KoUpdaterPtr | updater | ) |
Definition at line 282 of file KisImportExportManager.cpp.
|
static |
Suitable for passing to KoFileDialog::setMimeTypeFilters. The default mime gets set by the "users" of this method, as we do not have enough information here. Optionally, extraNativeMimeTypes are added after the native mimetype.
Definition at line 188 of file KisImportExportManager.cpp.
References Export, Import, KoJsonTrader::instance(), m_exportMimeTypes, m_importMimeTypes, KoJsonTrader::Plugin::metaData(), and KoJsonTrader::query().
| QSharedPointer<KisImportExportFilter> KisImportExportManager::cachedExportFilter |
Definition at line 102 of file KisImportExportManager.cpp.
| QString KisImportExportManager::cachedExportFilterMimeType |
Definition at line 101 of file KisImportExportManager.cpp.
|
private |
Definition at line 146 of file KisImportExportManager.h.
|
private |
Definition at line 139 of file KisImportExportManager.h.
|
staticprivate |
Definition at line 143 of file KisImportExportManager.h.
|
staticprivate |
A static cache for the availability checks of filters.
Definition at line 142 of file KisImportExportManager.h.
| KoUpdaterPtr KisImportExportManager::updater |
Definition at line 99 of file KisImportExportManager.cpp.