[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [krita/video-export-rebased] libs/ui: Pass the override export configuration down
From: Boudewijn Rempt <boud () valdyas ! org>
Date: 2016-06-30 19:30:27
Message-ID: E1bIhfP-0000oy-It () code ! kde ! org
[Download RAW message or body]
Git commit 44c9f399d8ad473248b0986d9facdcf20e2da7ff by Boudewijn Rempt.
Committed on 30/06/2016 at 19:29.
Pushed by rempt into branch 'video-export-rebased'.
Pass the override export configuration down
All the way down to the import/export filter... It needs to have
a better name, though.
M +8 -8 libs/ui/KisDocument.cpp
M +5 -4 libs/ui/KisDocument.h
M +5 -0 libs/ui/KisFilterChain.cpp
M +1 -0 libs/ui/KisFilterChain.h
M +1 -1 libs/ui/KisFilterChainLink.cpp
M +2 -1 libs/ui/KisImportExportManager.cpp
M +19 -5 libs/ui/KisImportExportManager.h
M +3 -5 libs/ui/kis_animation_exporter.cpp
http://commits.kde.org/krita/44c9f399d8ad473248b0986d9facdcf20e2da7ff
diff --git a/libs/ui/KisDocument.cpp b/libs/ui/KisDocument.cpp
index 9f4c502..afbe2ec 100644
--- a/libs/ui/KisDocument.cpp
+++ b/libs/ui/KisDocument.cpp
@@ -601,7 +601,7 @@ bool KisDocument::reload()
return false;
}
-bool KisDocument::exportDocument(const QUrl &_url)
+bool KisDocument::exportDocument(const QUrl &_url, KisPropertiesConfigurationSP \
exportConfiguration) {
bool ret;
@@ -622,7 +622,7 @@ bool KisDocument::exportDocument(const QUrl &_url)
QByteArray oldMimeType = mimeType();
// save...
- ret = saveAs(_url);
+ ret = saveAs(_url, exportConfiguration);
//
@@ -649,7 +649,7 @@ bool KisDocument::exportDocument(const QUrl &_url)
return ret;
}
-bool KisDocument::saveFile()
+bool KisDocument::saveFile(KisPropertiesConfigurationSP exportConfiguration)
{
dbgUI << "doc=" << url().url();
@@ -681,7 +681,7 @@ bool KisDocument::saveFile()
Private::SafeSavingLocker locker(d);
if (locker.successfullyLocked()) {
- status = d->filterManager->exportDocument(localFilePath(), \
outputMimeType); + status = \
d->filterManager->exportDocument(localFilePath(), outputMimeType, \
exportConfiguration); } else {
status = KisImportExportFilter::UsageError;
}
@@ -2096,7 +2096,7 @@ bool KisDocument::closeUrl(bool promptToSave)
}
-bool KisDocument::saveAs(const QUrl &kurl)
+bool KisDocument::saveAs(const QUrl &kurl, KisPropertiesConfigurationSP \
exportConfiguration) {
if (!kurl.isValid())
{
@@ -2108,7 +2108,7 @@ bool KisDocument::saveAs(const QUrl &kurl)
d->m_originalFilePath = d->m_file;
d->m_url = kurl; // Store where to upload in saveToURL
d->prepareSaving();
- bool result = save(); // Save local file and upload local file
+ bool result = save(exportConfiguration); // Save local file and upload local \
file if (!result) {
d->m_url = d->m_originalURL;
d->m_file = d->m_originalFilePath;
@@ -2123,7 +2123,7 @@ bool KisDocument::saveAs(const QUrl &kurl)
-bool KisDocument::save()
+bool KisDocument::save(KisPropertiesConfigurationSP exportConfiguration)
{
d->m_saveOk = false;
if ( d->m_file.isEmpty() ) { // document was created empty
@@ -2135,7 +2135,7 @@ bool KisDocument::save()
d->document->setFileProgressProxy();
d->document->setUrl(url());
- bool ok = d->document->saveFile();
+ bool ok = d->document->saveFile(exportConfiguration);
d->document->clearFileProgressProxy();
diff --git a/libs/ui/KisDocument.h b/libs/ui/KisDocument.h
index c0ec301..efdc514 100644
--- a/libs/ui/KisDocument.h
+++ b/libs/ui/KisDocument.h
@@ -31,6 +31,7 @@
#include <KoDocumentBase.h>
#include <kundo2stack.h>
+#include <kis_properties_configuration.h>
#include <kis_types.h>
#include <kis_painting_assistant.h>
#include <kis_debug.h>
@@ -132,7 +133,7 @@ public:
* from an ordinary Save operation (in any reimplementation of
* saveFile()) call isExporting().
*/
- bool exportDocument(const QUrl &url);
+ bool exportDocument(const QUrl &url, KisPropertiesConfigurationSP \
exportConfiguration = 0);
/**
* @brief Sets whether the document can be edited or is read only.
@@ -631,7 +632,7 @@ private:
* Applies a filter if necessary, and calls saveNativeFormat in any case
* You should not have to reimplement, except for very special cases.
*/
- bool saveFile();
+ bool saveFile(KisPropertiesConfigurationSP exportConfiguration = 0);
/**
* Overload this function if you have to load additional files
@@ -692,11 +693,11 @@ public:
bool closeUrl(bool promptToSave = true);
- bool saveAs( const QUrl &url );
+ bool saveAs(const QUrl &url, KisPropertiesConfigurationSP exportConfigration = \
0);
public Q_SLOTS:
- bool save();
+ bool save(KisPropertiesConfigurationSP exportConfiguration = 0);
bool waitSaveComplete();
Q_SIGNALS:
diff --git a/libs/ui/KisFilterChain.cpp b/libs/ui/KisFilterChain.cpp
index 3ac53f7..92cb913 100644
--- a/libs/ui/KisFilterChain.cpp
+++ b/libs/ui/KisFilterChain.cpp
@@ -194,6 +194,11 @@ KisDocument* KisFilterChain::outputDocument()
return m_outputDocument;
}
+KisPropertiesConfigurationSP KisFilterChain::filterManagerExportConfiguration() \
const +{
+ return m_manager->exportConfiguration();
+}
+
void KisFilterChain::prependChainLink(KisFilterEntrySP filterEntry, const \
QByteArray& from, const QByteArray& to) {
m_chainLinks.prepend(new ChainLink(this, filterEntry, from, to));
diff --git a/libs/ui/KisFilterChain.h b/libs/ui/KisFilterChain.h
index a77380d..cabbd5f 100644
--- a/libs/ui/KisFilterChain.h
+++ b/libs/ui/KisFilterChain.h
@@ -109,6 +109,7 @@ public:
*/
KisDocument* outputDocument();
+ KisPropertiesConfigurationSP filterManagerExportConfiguration() const;
/// returns the amount of filters this chain contains representing the weight
int weight() const;
diff --git a/libs/ui/KisFilterChainLink.cpp b/libs/ui/KisFilterChainLink.cpp
index f21717e..a10ee55 100644
--- a/libs/ui/KisFilterChainLink.cpp
+++ b/libs/ui/KisFilterChainLink.cpp
@@ -79,7 +79,7 @@ namespace CalligraFilter {
m_filter->setUpdater(m_updater);
}
- KisImportExportFilter::ConversionStatus status = m_filter->convert(m_from, \
m_to, 0); + KisImportExportFilter::ConversionStatus status = \
m_filter->convert(m_from, m_to, m_chain->filterManagerExportConfiguration()); delete \
m_filter; m_filter = 0;
if (m_updater) {
diff --git a/libs/ui/KisImportExportManager.cpp b/libs/ui/KisImportExportManager.cpp
index 80c7f4f..226d4d3 100644
--- a/libs/ui/KisImportExportManager.cpp
+++ b/libs/ui/KisImportExportManager.cpp
@@ -164,7 +164,7 @@ QString KisImportExportManager::importDocument(const QString& \
location, return QString();
}
-KisImportExportFilter::ConversionStatus KisImportExportManager::exportDocument(const \
QString& location, QByteArray& mimeType) +KisImportExportFilter::ConversionStatus \
KisImportExportManager::exportDocument(const QString& location, QByteArray& mimeType, \
KisPropertiesConfigurationSP exportConfiguration) {
bool userCancelled = false;
@@ -172,6 +172,7 @@ KisImportExportFilter::ConversionStatus \
KisImportExportManager::exportDocument(c
// file manager and to the correct URL if we have an embedded manager)
m_direction = Export; // vital information!
m_exportFileName = location;
+ m_exportConfiguration = exportConfiguration;
KisFilterChainSP chain;
diff --git a/libs/ui/KisImportExportManager.h b/libs/ui/KisImportExportManager.h
index 72049b3..bb2b3c0 100644
--- a/libs/ui/KisImportExportManager.h
+++ b/libs/ui/KisImportExportManager.h
@@ -101,7 +101,7 @@ public:
* and when the method returns @p mimeType contains this mimetype.
* Oh, well, export is a C++ keyword ;)
*/
- KisImportExportFilter::ConversionStatus exportDocument(const QString& location, \
QByteArray& mimeType); + KisImportExportFilter::ConversionStatus \
exportDocument(const QString& location, QByteArray& mimeType, \
KisPropertiesConfigurationSP exportConfiguration = 0);
///@name Static API
//@{
@@ -148,22 +148,35 @@ private:
// just forward calls to the methods here. Should be
// pretty safe.
friend QString KisFilterChain::filterManagerImportFile() const;
- QString importFile() const {
+ QString importFile() const
+ {
return m_importFileName;
}
+
friend QString KisFilterChain::filterManagerExportFile() const;
- QString exportFile() const {
+ QString exportFile() const
+ {
return m_exportFileName;
}
+
friend KisDocument *KisFilterChain::filterManagerKisDocument() const;
- KisDocument *document() const {
+ KisDocument *document() const
+ {
return m_document;
}
+
friend int KisFilterChain::filterManagerDirection() const;
- int direction() const {
+ int direction() const
+ {
return static_cast<int>(m_direction);
}
+ friend KisPropertiesConfigurationSP \
KisFilterChain::filterManagerExportConfiguration() const; + \
KisPropertiesConfigurationSP exportConfiguration() const + {
+ return m_exportConfiguration;
+ }
+
// Private API
KisImportExportManager(const KisImportExportManager& rhs);
KisImportExportManager &operator=(const KisImportExportManager& rhs);
@@ -178,6 +191,7 @@ private:
QString m_exportFileName;
CalligraFilter::Graph m_graph;
Direction m_direction;
+ KisPropertiesConfigurationSP m_exportConfiguration;
/// A static cache for the availability checks of filters
static QStringList m_importMimeTypes;
diff --git a/libs/ui/kis_animation_exporter.cpp b/libs/ui/kis_animation_exporter.cpp
index 1b04cf6..7012cea 100644
--- a/libs/ui/kis_animation_exporter.cpp
+++ b/libs/ui/kis_animation_exporter.cpp
@@ -288,7 +288,6 @@ struct KisAnimationExportSaver::Private
KisAnimationExportSaver::KisAnimationExportSaver(KisDocument *document, const \
QString &baseFilename, int fromTime, int toTime, int \
sequenceNumberingOffset)
: m_d(new Private(document, fromTime, toTime, sequenceNumberingOffset))
{
- qDebug() << "Rendering" << baseFilename << "from" << fromTime << "to" << toTime \
<< "start" << sequenceNumberingOffset; int baseLength = \
baseFilename.lastIndexOf("."); if (baseLength > -1) {
m_d->filenamePrefix = baseFilename.left(baseLength);
@@ -317,16 +316,15 @@ KisImportExportFilter::ConversionStatus \
KisAnimationExportSaver::exportAnimation
KisImportExportFilter::ConversionStatus \
KisAnimationExportSaver::saveFrameCallback(int time, KisPaintDeviceSP frame, \
KisPropertiesConfigurationSP exportConfiguration) {
- KisImportExportFilter::ConversionStatus status =
- KisImportExportFilter::OK;
+ KisImportExportFilter::ConversionStatus status = KisImportExportFilter::OK;
QString frameNumber = QString("%1").arg(time + m_d->sequenceNumberingOffset, 4, \
10, QChar('0'));
- QString filename = m_d->filenamePrefix + frameNumber + m_d->filenameSuffix;
+ QString filename = m_d->filenamePrefix + frameNumber + m_d->filenameSuffix;
QRect rc = m_d->image->bounds();
KisPainter::copyAreaOptimized(rc.topLeft(), frame, m_d->tmpDevice, rc);
- if (!m_d->tmpDoc->exportDocument(QUrl::fromLocalFile(filename))) {
+ if (!m_d->tmpDoc->exportDocument(QUrl::fromLocalFile(filename)), \
exportConfiguration) { status = KisImportExportFilter::InternalError;
}
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic