mirror of https://github.com/procxx/kepka.git
Add better unloading for ImageSource.
This commit is contained in:
parent
8e7117fa22
commit
f0e18ac619
|
@ -22,15 +22,19 @@ ImageSource::ImageSource(QImage &&data, const QByteArray &format)
|
||||||
}
|
}
|
||||||
|
|
||||||
void ImageSource::load(
|
void ImageSource::load(
|
||||||
Data::FileOrigin origin,
|
Data::FileOrigin origin,
|
||||||
bool loadFirst,
|
bool loadFirst,
|
||||||
bool prior) {
|
bool prior) {
|
||||||
|
if (_data.isNull() && !_bytes.isEmpty()) {
|
||||||
|
_data = App::readImage(_bytes, &_format, false);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void ImageSource::loadEvenCancelled(
|
void ImageSource::loadEvenCancelled(
|
||||||
Data::FileOrigin origin,
|
Data::FileOrigin origin,
|
||||||
bool loadFirst,
|
bool loadFirst,
|
||||||
bool prior) {
|
bool prior) {
|
||||||
|
load(origin, loadFirst, prior);
|
||||||
}
|
}
|
||||||
|
|
||||||
QImage ImageSource::takeLoaded() {
|
QImage ImageSource::takeLoaded() {
|
||||||
|
@ -38,6 +42,15 @@ QImage ImageSource::takeLoaded() {
|
||||||
}
|
}
|
||||||
|
|
||||||
void ImageSource::unload() {
|
void ImageSource::unload() {
|
||||||
|
if (_bytes.isEmpty() && !_data.isNull()) {
|
||||||
|
if (_format.isEmpty()) {
|
||||||
|
_format = "PNG";
|
||||||
|
}
|
||||||
|
|
||||||
|
QBuffer buffer(&_bytes);
|
||||||
|
_data.save(&buffer, _format);
|
||||||
|
}
|
||||||
|
_data = QImage();
|
||||||
}
|
}
|
||||||
|
|
||||||
void ImageSource::automaticLoad(
|
void ImageSource::automaticLoad(
|
||||||
|
|
|
@ -55,6 +55,7 @@ public:
|
||||||
private:
|
private:
|
||||||
QImage _data;
|
QImage _data;
|
||||||
QByteArray _format;
|
QByteArray _format;
|
||||||
|
QByteArray _bytes;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue