mirror of
https://github.com/lubosz/overte.git
synced 2025-08-07 18:21:16 +02:00
check for empty snapshot dir, and default to temp
This commit is contained in:
parent
aec76cd542
commit
615325c17f
2 changed files with 32 additions and 33 deletions
|
@ -43,9 +43,7 @@ const QString SNAPSHOTS_DIRECTORY = "Snapshots";
|
||||||
|
|
||||||
const QString URL = "highfidelity_url";
|
const QString URL = "highfidelity_url";
|
||||||
|
|
||||||
Setting::Handle<QString> Snapshot::snapshotsLocation("snapshotsLocation",
|
Setting::Handle<QString> Snapshot::snapshotsLocation("snapshotsLocation");
|
||||||
QStandardPaths::writableLocation(QStandardPaths::DesktopLocation));
|
|
||||||
Setting::Handle<bool> Snapshot::hasSetSnapshotsLocation("hasSetSnapshotsLocation", false);
|
|
||||||
|
|
||||||
SnapshotMetaData* Snapshot::parseSnapshotData(QString snapshotPath) {
|
SnapshotMetaData* Snapshot::parseSnapshotData(QString snapshotPath) {
|
||||||
|
|
||||||
|
@ -105,42 +103,44 @@ QFile* Snapshot::savedFileForSnapshot(QImage & shot, bool isTemporary) {
|
||||||
const int IMAGE_QUALITY = 100;
|
const int IMAGE_QUALITY = 100;
|
||||||
|
|
||||||
if (!isTemporary) {
|
if (!isTemporary) {
|
||||||
QString snapshotFullPath;
|
QString snapshotFullPath = snapshotsLocation.get();
|
||||||
if (!hasSetSnapshotsLocation.get()) {
|
|
||||||
|
if (snapshotFullPath.isEmpty()) {
|
||||||
snapshotFullPath = QFileDialog::getExistingDirectory(nullptr, "Choose Snapshots Directory", snapshotsLocation.get());
|
snapshotFullPath = QFileDialog::getExistingDirectory(nullptr, "Choose Snapshots Directory", snapshotsLocation.get());
|
||||||
hasSetSnapshotsLocation.set(true);
|
|
||||||
snapshotsLocation.set(snapshotFullPath);
|
snapshotsLocation.set(snapshotFullPath);
|
||||||
} else {
|
|
||||||
snapshotFullPath = snapshotsLocation.get();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!snapshotFullPath.endsWith(QDir::separator())) {
|
if (!snapshotFullPath.isEmpty()) { // not cancelled
|
||||||
snapshotFullPath.append(QDir::separator());
|
|
||||||
|
if (!snapshotFullPath.endsWith(QDir::separator())) {
|
||||||
|
snapshotFullPath.append(QDir::separator());
|
||||||
|
}
|
||||||
|
|
||||||
|
snapshotFullPath.append(filename);
|
||||||
|
|
||||||
|
QFile* imageFile = new QFile(snapshotFullPath);
|
||||||
|
imageFile->open(QIODevice::WriteOnly);
|
||||||
|
|
||||||
|
shot.save(imageFile, 0, IMAGE_QUALITY);
|
||||||
|
imageFile->close();
|
||||||
|
|
||||||
|
return imageFile;
|
||||||
}
|
}
|
||||||
|
|
||||||
snapshotFullPath.append(filename);
|
|
||||||
|
|
||||||
QFile* imageFile = new QFile(snapshotFullPath);
|
|
||||||
imageFile->open(QIODevice::WriteOnly);
|
|
||||||
|
|
||||||
shot.save(imageFile, 0, IMAGE_QUALITY);
|
|
||||||
imageFile->close();
|
|
||||||
|
|
||||||
return imageFile;
|
|
||||||
|
|
||||||
} else {
|
|
||||||
QTemporaryFile* imageTempFile = new QTemporaryFile(QDir::tempPath() + "/XXXXXX-" + filename);
|
|
||||||
|
|
||||||
if (!imageTempFile->open()) {
|
|
||||||
qDebug() << "Unable to open QTemporaryFile for temp snapshot. Will not save.";
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
shot.save(imageTempFile, 0, IMAGE_QUALITY);
|
|
||||||
imageTempFile->close();
|
|
||||||
|
|
||||||
return imageTempFile;
|
|
||||||
}
|
}
|
||||||
|
// Either we were asked for a tempororary, or the user didn't set a directory.
|
||||||
|
QTemporaryFile* imageTempFile = new QTemporaryFile(QDir::tempPath() + "/XXXXXX-" + filename);
|
||||||
|
|
||||||
|
if (!imageTempFile->open()) {
|
||||||
|
qDebug() << "Unable to open QTemporaryFile for temp snapshot. Will not save.";
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
imageTempFile->setAutoRemove(isTemporary);
|
||||||
|
|
||||||
|
shot.save(imageTempFile, 0, IMAGE_QUALITY);
|
||||||
|
imageTempFile->close();
|
||||||
|
|
||||||
|
return imageTempFile;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Snapshot::uploadSnapshot(const QString& filename) {
|
void Snapshot::uploadSnapshot(const QString& filename) {
|
||||||
|
|
|
@ -39,7 +39,6 @@ public:
|
||||||
static SnapshotMetaData* parseSnapshotData(QString snapshotPath);
|
static SnapshotMetaData* parseSnapshotData(QString snapshotPath);
|
||||||
|
|
||||||
static Setting::Handle<QString> snapshotsLocation;
|
static Setting::Handle<QString> snapshotsLocation;
|
||||||
static Setting::Handle<bool> hasSetSnapshotsLocation;
|
|
||||||
static void uploadSnapshot(const QString& filename);
|
static void uploadSnapshot(const QString& filename);
|
||||||
private:
|
private:
|
||||||
static QFile* savedFileForSnapshot(QImage & image, bool isTemporary);
|
static QFile* savedFileForSnapshot(QImage & image, bool isTemporary);
|
||||||
|
|
Loading…
Reference in a new issue