From 1e940de31bca345b32af1d834e9c14b8ea59d027 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Du=C5=A1an=20Poizl?= Date: Mon, 27 Apr 2026 18:39:02 +0200 Subject: [PATCH] Use std::filesystem::path for XISF files --- libXISF | 2 +- src/loadimage.cpp | 6 ++++-- src/loadrunable.cpp | 3 ++- src/scriptengine.cpp | 10 +++++----- thumbnailer/main.cpp | 1 + 5 files changed, 13 insertions(+), 9 deletions(-) diff --git a/libXISF b/libXISF index 7b70b6a..de75784 160000 --- a/libXISF +++ b/libXISF @@ -1 +1 @@ -Subproject commit 7b70b6a08183241aad4fd825f16b75a391866a65 +Subproject commit de757840b3973237172b932b14efd011cfc1151d diff --git a/src/loadimage.cpp b/src/loadimage.cpp index 685e377..4cc99e7 100644 --- a/src/loadimage.cpp +++ b/src/loadimage.cpp @@ -253,7 +253,8 @@ bool loadXISF(const QString &path, ImageInfoData &info, std::shared_ptr= (uint32_t)xisf.imagesCount())return false; const LibXISF::Image &xisfImage = xisf.getImage(index); @@ -407,7 +408,8 @@ bool readXISFHeader(const QString &path, ImageInfoData &info) try { LibXISF::XISFReader xisf; - xisf.open(path2.toLocal8Bit().data()); + QFileInfo fileInfo(path2); + xisf.open(fileInfo.filesystemFilePath()); const LibXISF::Image &image = xisf.getImage(0, false); auto fitskeywords = image.fitsKeywords(); diff --git a/src/loadrunable.cpp b/src/loadrunable.cpp index 05b9e39..b6f5025 100644 --- a/src/loadrunable.cpp +++ b/src/loadrunable.cpp @@ -269,7 +269,8 @@ void ConvertRunable::run() image.setByteshuffling(true); xisf.writeImage(image); - xisf.save(m_outfile.toLocal8Bit().data()); + QFileInfo fileInfo(makeUNCPath(m_outfile)); + xisf.save(fileInfo.filesystemFilePath()); } catch(LibXISF::Error &err) { diff --git a/src/scriptengine.cpp b/src/scriptengine.cpp index 424f818..f248db7 100644 --- a/src/scriptengine.cpp +++ b/src/scriptengine.cpp @@ -825,9 +825,9 @@ bool File::modifyFITSRecords(const FITSRecordModify *modify) try { LibXISF::XISFModify modifyXISF; - QString in = makeUNCPath(absoluteFilePath()); - QString out = in + "~"; - modifyXISF.open(in.toLocal8Bit().data()); + QFileInfo in(makeUNCPath(absoluteFilePath())); + QFileInfo out(in.absoluteFilePath() + "~"); + modifyXISF.open(in.filesystemFilePath()); qDebug() << "modify" << in << out; for(auto &remove : modify->_remove) @@ -842,9 +842,9 @@ bool File::modifyFITSRecords(const FITSRecordModify *modify) for(auto &property : modify->_property) modifyXISF.updateProperty(modify->_imageIdx, property); - modifyXISF.save(out.toLocal8Bit().toStdString()); + modifyXISF.save(out.filesystemFilePath()); modifyXISF.close(); - std::filesystem::rename(out.toLocal8Bit().toStdString(), in.toLocal8Bit().toStdString()); + std::filesystem::rename(out.filesystemFilePath(), in.filesystemFilePath()); return true; } catch(std::filesystem::filesystem_error &err) diff --git a/thumbnailer/main.cpp b/thumbnailer/main.cpp index c60efad..a1d3603 100644 --- a/thumbnailer/main.cpp +++ b/thumbnailer/main.cpp @@ -1,6 +1,7 @@ #include #include #include +#include #include "../src/rawimage.h" #define STB_IMAGE_WRITE_IMPLEMENTATION #include "stb_image_write.h"