| 1263 | } |
| 1264 | |
| 1265 | void DatapickerTest::datapickerImageLoadImageAbsolute() { |
| 1266 | QString savePath; |
| 1267 | QString imgFileName; |
| 1268 | { |
| 1269 | QTemporaryFile imgFile(QStringLiteral("Testimage_XXXXXX.png")); |
| 1270 | const auto img = createImage(); |
| 1271 | QVERIFY(imgFile.open()); |
| 1272 | imgFileName = imgFile.fileName(); |
| 1273 | QVERIFY(img.save(imgFileName, "PNG")); |
| 1274 | QVERIFY(QFile::exists(imgFile.fileName())); |
| 1275 | |
| 1276 | { |
| 1277 | Project project; |
| 1278 | auto* datapicker = new Datapicker(QStringLiteral("Test")); |
| 1279 | project.addChild(datapicker); |
| 1280 | auto* image = datapicker->image(); |
| 1281 | |
| 1282 | DatapickerImageWidget w(nullptr); |
| 1283 | w.setImages({image}); |
| 1284 | |
| 1285 | QCOMPARE(w.ui.cbFileEmbedd->isEnabled(), false); |
| 1286 | QCOMPARE(w.ui.cbFileRelativePath->isEnabled(), false); |
| 1287 | QCOMPARE(w.ui.cbFileEmbedd->isChecked(), false); |
| 1288 | QCOMPARE(w.ui.cbFileRelativePath->isChecked(), false); |
| 1289 | |
| 1290 | w.ui.leFileName->setText(imgFileName); |
| 1291 | // w.fileNameChanged(); will be called |
| 1292 | |
| 1293 | QCOMPARE(w.ui.cbFileEmbedd->isEnabled(), true); |
| 1294 | QCOMPARE(w.ui.cbFileRelativePath->isEnabled(), false); // project is not saved |
| 1295 | QCOMPARE(w.ui.cbFileEmbedd->isChecked(), false); |
| 1296 | QCOMPARE(w.ui.cbFileRelativePath->isChecked(), false); |
| 1297 | |
| 1298 | QCOMPARE(image->fileName(), imgFile.fileName()); |
| 1299 | QCOMPARE(image->originalPlotImage.isNull(), false); // valid image loaded |
| 1300 | QCOMPARE(w.ui.leFileName->text(), imgFile.fileName()); |
| 1301 | QCOMPARE(w.ui.leFileName->styleSheet(), QStringLiteral("")); // Valid image |
| 1302 | |
| 1303 | SAVE_PROJECT("DatapickerTestProject"); |
| 1304 | |
| 1305 | QCOMPARE(w.ui.cbFileRelativePath->isEnabled(), true); // project is now saved so calculating the relative path is possible |
| 1306 | } |
| 1307 | |
| 1308 | // Load project |
| 1309 | { |
| 1310 | Project project; |
| 1311 | QCOMPARE(project.load(savePath), true); |
| 1312 | |
| 1313 | auto datapicker = project.child<Datapicker>(0); |
| 1314 | QVERIFY(datapicker); |
| 1315 | auto* image = datapicker->image(); |
| 1316 | |
| 1317 | DatapickerImageWidget w(nullptr); |
| 1318 | w.setImages({image}); |
| 1319 | |
| 1320 | QCOMPARE(w.ui.cbFileEmbedd->isEnabled(), true); |
| 1321 | QCOMPARE(w.ui.cbFileRelativePath->isEnabled(), true); // project was loaded |
| 1322 | QCOMPARE(w.ui.cbFileEmbedd->isChecked(), false); |