| 1359 | } |
| 1360 | |
| 1361 | void DatapickerTest::datapickerImageLoadImageRelative() { |
| 1362 | QString savePath; |
| 1363 | QString imgFileName; |
| 1364 | { |
| 1365 | const auto img = createImage(); |
| 1366 | |
| 1367 | QTemporaryFile imgFile(QStringLiteral("Testimage_XXXXXX.png")); |
| 1368 | QVERIFY(imgFile.open()); |
| 1369 | imgFileName = imgFile.fileName(); |
| 1370 | img.save(imgFileName, "PNG"); |
| 1371 | QVERIFY(QFile::exists(imgFileName)); |
| 1372 | { |
| 1373 | Project project; |
| 1374 | auto* datapicker = new Datapicker(QStringLiteral("Test")); |
| 1375 | project.addChild(datapicker); |
| 1376 | auto* image = datapicker->image(); |
| 1377 | |
| 1378 | DatapickerImageWidget w(nullptr); |
| 1379 | w.setImages({image}); |
| 1380 | |
| 1381 | QCOMPARE(w.ui.cbFileEmbedd->isEnabled(), false); |
| 1382 | QCOMPARE(w.ui.cbFileRelativePath->isEnabled(), false); |
| 1383 | QCOMPARE(w.ui.cbFileEmbedd->isChecked(), false); |
| 1384 | QCOMPARE(w.ui.cbFileRelativePath->isChecked(), false); |
| 1385 | |
| 1386 | w.ui.leFileName->setText(imgFileName); |
| 1387 | // w.fileNameChanged(); will be called |
| 1388 | |
| 1389 | QCOMPARE(w.ui.cbFileEmbedd->isEnabled(), true); |
| 1390 | QCOMPARE(w.ui.cbFileRelativePath->isEnabled(), false); // project is not saved |
| 1391 | QCOMPARE(w.ui.cbFileEmbedd->isChecked(), false); |
| 1392 | QCOMPARE(w.ui.cbFileRelativePath->isChecked(), false); |
| 1393 | |
| 1394 | QCOMPARE(image->fileName(), imgFileName); |
| 1395 | QCOMPARE(image->originalPlotImage.isNull(), false); // valid image loaded |
| 1396 | QCOMPARE(w.ui.leFileName->text(), imgFileName); |
| 1397 | QCOMPARE(w.ui.leFileName->styleSheet(), QStringLiteral("")); // Valid image |
| 1398 | |
| 1399 | SAVE_PROJECT("DatapickerTestProject"); |
| 1400 | |
| 1401 | QCOMPARE(w.ui.cbFileRelativePath->isEnabled(), true); // project is now saved so calculating the relative path is possible |
| 1402 | |
| 1403 | w.ui.cbFileRelativePath->clicked(true); |
| 1404 | |
| 1405 | // QCOMPARE(w.ui.cbFileRelativePath->isChecked(), true); |
| 1406 | QFileInfo fi(imgFile); |
| 1407 | QCOMPARE(image->fileName(), fi.fileName()); |
| 1408 | QCOMPARE(w.ui.leFileName->text(), fi.fileName()); |
| 1409 | |
| 1410 | SAVE_PROJECT("DatapickerTestProject"); // Save again to save relative path |
| 1411 | } |
| 1412 | |
| 1413 | // Load project |
| 1414 | { |
| 1415 | Project project; |
| 1416 | QCOMPARE(project.load(savePath), true); |
| 1417 | |
| 1418 | auto datapicker = project.child<Datapicker>(0); |