mirror of
https://github.com/kotatogram/kotatogram-desktop
synced 2025-09-04 08:35:21 +00:00
Add better unloading for ImageSource.
This commit is contained in:
@@ -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;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user