SnapmaticPicture class with development test stuff upgraded

This commit is contained in:
Rafael 2016-07-23 00:13:57 +02:00
parent 7fea79d432
commit 85e48c8f85
2 changed files with 68 additions and 7 deletions

View File

@ -69,11 +69,14 @@ SnapmaticPicture::SnapmaticPicture(const QString &fileName, QObject *parent) : Q
jsonPlyrsList = QStringList();
}
bool SnapmaticPicture::readingPicture(bool writeEnabled)
bool SnapmaticPicture::readingPicture(bool writeEnabled_)
{
// Start opening file
// lastStep is like currentStep
// Set boolean values
writeEnabled = writeEnabled_;
QFile *picFile = new QFile(picFileName);
QIODevice *picStream;
@ -268,12 +271,12 @@ void SnapmaticPicture::parseSnapmaticExportAndSortString()
}
}
bool SnapmaticPicture::readingPictureFromFile(const QString &fileName, bool writeEnabled)
bool SnapmaticPicture::readingPictureFromFile(const QString &fileName, bool writeEnabled_)
{
if (fileName != "")
{
picFileName = fileName;
return readingPicture(writeEnabled);
return readingPicture(writeEnabled_);
}
else
{
@ -281,9 +284,66 @@ bool SnapmaticPicture::readingPictureFromFile(const QString &fileName, bool writ
}
}
void SnapmaticPicture::setPicture(const QImage &picture)
bool SnapmaticPicture::setPicture(const QImage &picture)
{
cachePicture = picture;
if (writeEnabled)
{
QByteArray picByteArray;
QBuffer snapmaticStream(&rawPicContent);
snapmaticStream.open(QIODevice::ReadWrite);
if (snapmaticStream.seek(jpegStreamEditorBegin))
{
bool saveSuccess;
QByteArray picByteArray1;
QBuffer picStream1(&picByteArray1);
picStream1.open(QIODevice::WriteOnly);
saveSuccess = picture.save(&picStream1, "JPEG", 100);
picStream1.close();
if (picByteArray1.length() > jpegPicStreamLength)
{
QByteArray picByteArray2;
QBuffer picStream2(&picByteArray2);
picStream2.open(QIODevice::WriteOnly);
saveSuccess = picture.save(&picStream2, "JPEG", 90);
picStream2.close();
if (picByteArray2.length() > jpegPicStreamLength)
{
snapmaticStream.close();
return false;
}
picByteArray = picByteArray2;
}
else
{
picByteArray = picByteArray1;
}
}
int result = snapmaticStream.write(picByteArray);
if (result != 0)
{
cachePicture = picture;
return true;
}
return false;
}
return false;
}
bool SnapmaticPicture::exportPicture(const QString &fileName)
{
QFile *picFile = new QFile(fileName);
if (picFile->open(QIODevice::WriteOnly))
{
picFile->write(rawPicContent);
picFile->close();
picFile->deleteLater();
return true;
}
else
{
return false;
}
}
QString SnapmaticPicture::getExportPictureFileName()

View File

@ -43,7 +43,8 @@ public:
QString getPictureFileName();
QString getExportPictureFileName();
QDateTime getCreatedDateTime();
void setPicture(const QImage &picture);
bool setPicture(const QImage &picture);
bool exportPicture(const QString &fileName);
void setPicFileName(QString picFileName_);
// JSON
@ -70,7 +71,7 @@ private:
QString titlStr;
QString descStr;
bool picOk;
bool editMode;
bool writeEnabled;
// PARSE INT
int snapmaticHeaderLength;