Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package kstars for openSUSE:Factory checked in at 2023-02-10 14:35:42 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/kstars (Old) and /work/SRC/openSUSE:Factory/.kstars.new.1848 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kstars" Fri Feb 10 14:35:42 2023 rev:133 rq:1064154 version:3.6.3 Changes: -------- --- /work/SRC/openSUSE:Factory/kstars/kstars.changes 2023-02-01 16:46:34.320318775 +0100 +++ /work/SRC/openSUSE:Factory/.kstars.new.1848/kstars.changes 2023-02-10 14:35:43.306064453 +0100 @@ -1,0 +2,11 @@ +Wed Feb 8 15:20:21 UTC 2023 - Paolo Stivanin <i...@paolostivanin.com> + +- Backport multiple fixes from the master branch, because there won't be + a new release for the next two months: + * Add fix-dir-separator.patch + * Add fix-indi-timestamp.patch + * Add fix-placeholder-path-part1.patch + * Add fix-placeholder-path-part2.patch + * Add fix-scheduler.patch + +------------------------------------------------------------------- New: ---- fix-dir-separator.patch fix-indi-timestamp.patch fix-placeholder-path-part1.patch fix-placeholder-path-part2.patch fix-scheduler.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kstars.spec ++++++ --- /var/tmp/diff_new_pack.7UT1eI/_old 2023-02-10 14:35:43.786067321 +0100 +++ /var/tmp/diff_new_pack.7UT1eI/_new 2023-02-10 14:35:43.790067345 +0100 @@ -33,6 +33,11 @@ Source0: https://download.kde.org/stable/%{name}/%{name}-%{version}.tar.xz Source1: https://download.kde.org/stable/%{name}/%{name}-%{version}.tar.xz.sig Source2: %{name}.keyring +Patch0: fix-dir-separator.patch +Patch1: fix-indi-timestamp.patch +Patch2: fix-placeholder-path-part1.patch +Patch3: fix-placeholder-path-part2.patch +Patch4: fix-scheduler.patch BuildRequires: Mesa-devel BuildRequires: extra-cmake-modules BuildRequires: fdupes ++++++ fix-dir-separator.patch ++++++ >From 2851932b86752893b9195ef288dbbc8ffcc932d3 Mon Sep 17 00:00:00 2001 From: Jasem Mutlaq <mutla...@ikarustech.com> Date: Sun, 5 Feb 2023 12:03:35 +0300 Subject: [PATCH] Fix separator replacement mistake --- kstars/indi/indicamera.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/kstars/indi/indicamera.cpp b/kstars/indi/indicamera.cpp index 32860f1aa..cbfa070ee 100644 --- a/kstars/indi/indicamera.cpp +++ b/kstars/indi/indicamera.cpp @@ -1112,7 +1112,8 @@ void Camera::updateUploadSettings(const QString &remoteDir) if (uploadT && remoteDir.isEmpty() == false) { auto uploadDir = remoteDir; - uploadDir.replace("/", "\\"); + // N.B. Need to convert any Windows directory separators / to Posix separators / + uploadDir.replace("\\", "/"); IUSaveText(uploadT, uploadDir.toLatin1().constData()); } -- GitLab ++++++ fix-indi-timestamp.patch ++++++ >From 1dbdae3e9082b76be49b9644b5d6669465b03c95 Mon Sep 17 00:00:00 2001 From: Jasem Mutlaq <mutla...@ikarustech.com> Date: Sun, 5 Feb 2023 11:08:18 +0300 Subject: [PATCH] Use indi_timestamp from INDI GIT --- kstars/ekos/align/remoteastrometryparser.cpp | 2 +- kstars/indi/indiproperty.cpp | 36 ++------------------ 2 files changed, 3 insertions(+), 35 deletions(-) diff --git a/kstars/ekos/align/remoteastrometryparser.cpp b/kstars/ekos/align/remoteastrometryparser.cpp index 8da379886..0d347db72 100644 --- a/kstars/ekos/align/remoteastrometryparser.cpp +++ b/kstars/ekos/align/remoteastrometryparser.cpp @@ -93,7 +93,7 @@ bool RemoteAstrometryParser::startSolver(const QString &filename, const QStringL solverRunning = true; m_RemoteAstrometry->getDriverInfo()->getClientManager()->startBlob(solverBLOB->getDeviceName(), solverBLOB->getName(), - timestamp()); + indi_timestamp()); m_RemoteAstrometry->getDriverInfo()->getClientManager()->sendOneBlob(bp); diff --git a/kstars/indi/indiproperty.cpp b/kstars/indi/indiproperty.cpp index 1a5f839b7..230d44493 100644 --- a/kstars/indi/indiproperty.cpp +++ b/kstars/indi/indiproperty.cpp @@ -552,8 +552,6 @@ void INDI_P::processSetButton() void INDI_P::sendBlob() { - //int index=0; - //bool openingTag=false; auto bvp = dataProp.getBLOB(); if (!bvp) @@ -561,44 +559,14 @@ void INDI_P::sendBlob() bvp->setState(IPS_BUSY); - pg->getDevice()->getClientManager()->startBlob(bvp->getDeviceName(), bvp->getName(), timestamp()); + pg->getDevice()->getClientManager()->startBlob(bvp->getDeviceName(), bvp->getName(), indi_timestamp()); for (int i = 0; i < elementList.count(); i++) { - INDI::WidgetView<IBLOB> *bp = bvp->at(i); -#if (INDI_VERSION_MINOR >= 4 && INDI_VERSION_RELEASE >= 2) + auto bp = bvp->at(i); pg->getDevice()->getClientManager()->sendOneBlob(bp); -#else - pg->getDevice()->getClientManager()->sendOneBlob(bp->getName(), bp->getSize(), bp->getFormat(), - const_cast<void *>(bp->getBlob())); -#endif } - // JM: Why we need dirty here? We should be able to upload multiple time - /*foreach(INDI_E *ep, elementList) - { - if (ep->getBLOBDirty() == true) - { - - if (openingTag == false) - { - pg->getDevice()->getClientManager()->startBlob(bvp->device, bvp->name, timestamp()); - openingTag = true; - } - - IBLOB *bp = &(bvp->bp[index]); - ep->setBLOBDirty(false); - - //qDebug() << Q_FUNC_INFO << "SENDING BLOB " << bp->name << " has size of " << bp->size << " and bloblen of " << bp->bloblen << Qt::endl; - pg->getDevice()->getClientManager()->sendOneBlob(bp->name, bp->size, bp->format, bp->blob); - - } - - index++; - - }*/ - - //if (openingTag) pg->getDevice()->getClientManager()->finishBlob(); updateStateLED(); -- GitLab ++++++ fix-placeholder-path-part1.patch ++++++ >From ce303ea71075bd687acde19c5f5be504647ec801 Mon Sep 17 00:00:00 2001 From: Jasem Mutlaq <mutla...@ikarustech.com> Date: Mon, 6 Feb 2023 10:43:13 +0300 Subject: [PATCH] Fix placeholder path on Windows due to hardcoded POSIX separators --- kstars/auxiliary/ksutils.cpp | 12 ++++++++++-- kstars/auxiliary/xplanetimageviewer.cpp | 7 +++---- kstars/ekos/capture/capture.cpp | 11 ++++++----- kstars/ekos/capture/placeholderpath.cpp | 7 ++----- kstars/ekos/focus/focus.cpp | 2 +- kstars/fitsviewer/fitsdata.cpp | 2 +- kstars/indi/indicamera.cpp | 5 +++-- kstars/kstars.kcfg | 2 +- 8 files changed, 27 insertions(+), 21 deletions(-) diff --git a/kstars/auxiliary/ksutils.cpp b/kstars/auxiliary/ksutils.cpp index 8f4b30f58..664bbcca8 100644 --- a/kstars/auxiliary/ksutils.cpp +++ b/kstars/auxiliary/ksutils.cpp @@ -931,11 +931,11 @@ void Logging::UseFile() QDir dir; QString path = QDir(KSPaths::writableLocation(QStandardPaths::AppLocalDataLocation)) - .filePath("logs/" + QDateTime::currentDateTime().toString("yyyy-MM-dd")); + .filePath("logs" + QDir::separator() + QDateTime::currentDateTime().toString("yyyy-MM-dd")); dir.mkpath(path); QString name = "log_" + QDateTime::currentDateTime().toString("HH-mm-ss") + ".txt"; - _filename = path + QStringLiteral("/") + name; + _filename = path + QDir::separator() + name; // Clear file contents QFile file(_filename); @@ -1131,6 +1131,14 @@ QString getDefaultPath(const QString &option) #endif return prefix + "/bin/indiserver"; } + else if (option == "PlaceholderFormat") + { +#if defined(Q_OS_WIN) + return "\%t\%T\%F\%t_%T_%F"; +#else + return "/%t/%T/%F/%t_%T_%F"; +#endif + } else if (option == "INDIHubAgent") { #if defined(INDI_PREFIX) diff --git a/kstars/auxiliary/xplanetimageviewer.cpp b/kstars/auxiliary/xplanetimageviewer.cpp index a169f726e..1365e7fe7 100644 --- a/kstars/auxiliary/xplanetimageviewer.cpp +++ b/kstars/auxiliary/xplanetimageviewer.cpp @@ -783,11 +783,10 @@ bool XPlanetImageViewer::setupOutputFile() { if(m_File.fileName().contains("xplanetfifo") && m_File.exists()) return true; - QDir kstarsTempDir(KSPaths::writableLocation(QStandardPaths::TempLocation) + "/" + qAppName()); + QDir kstarsTempDir(KSPaths::writableLocation(QStandardPaths::TempLocation) + QDir::separator() + qAppName()); kstarsTempDir.mkpath("."); m_File.setFileName(kstarsTempDir.filePath(QString("xplanetfifo%1.png").arg(QUuid::createUuid().toString().mid(1, 8)).toLatin1())); - int mkFifoSuccess = 0; //Note if the return value of the command is 0 it succeeded, -1 means it failed. - if ((mkFifoSuccess = mkfifo(m_File.fileName().toLatin1(), S_IRUSR | S_IWUSR) < 0)) + if (mkfifo(m_File.fileName().toLatin1(), S_IRUSR | S_IWUSR) < 0) { KSNotification::error(i18n("Error making FIFO file %1: %2.", m_File.fileName(), strerror(errno))); return false; @@ -797,7 +796,7 @@ bool XPlanetImageViewer::setupOutputFile() #endif //If the user is using windows or has not selected to use FIFO, it uses files in the KStars data directory. - QDir xPlanetDirPath(KSPaths::writableLocation(QStandardPaths::AppLocalDataLocation) + "/" + "xplanet"); + QDir xPlanetDirPath(KSPaths::writableLocation(QStandardPaths::AppLocalDataLocation) + QDir::separator() + "xplanet"); xPlanetDirPath.mkpath("."); m_File.setFileName(xPlanetDirPath.filePath(m_ObjectName + ".png")); return true; diff --git a/kstars/ekos/capture/capture.cpp b/kstars/ekos/capture/capture.cpp index 0d3ff0c40..79fdbeab7 100644 --- a/kstars/ekos/capture/capture.cpp +++ b/kstars/ekos/capture/capture.cpp @@ -6859,11 +6859,12 @@ QString Capture::previewFilename(FilenamePreviewType previewType) { QString previewText; QString m_format; + auto separator = QDir::separator(); if (previewType == LOCAL_PREVIEW) { - if(!fileDirectoryT->text().endsWith("/") && !placeholderFormatT->text().startsWith("/")) - placeholderFormatT->setText("/" + placeholderFormatT->text()); + if(!fileDirectoryT->text().endsWith(separator) && !placeholderFormatT->text().startsWith(separator)) + placeholderFormatT->setText(separator + placeholderFormatT->text()); m_format = fileDirectoryT->text() + placeholderFormatT->text() + formatSuffixN->prefix() + formatSuffixN->cleanText(); } else if (previewType == REMOTE_PREVIEW) @@ -6882,8 +6883,8 @@ QString Capture::previewFilename(FilenamePreviewType previewType) QString previewSeq; if (m_SequenceURL.toLocalFile().isEmpty()) { - if (m_format.startsWith("/")) - previewSeq = m_format.left(m_format.lastIndexOf("/")); + if (m_format.startsWith(separator)) + previewSeq = m_format.left(m_format.lastIndexOf(separator)); } else previewSeq = m_SequenceURL.toLocalFile(); @@ -6901,7 +6902,7 @@ QString Capture::previewFilename(FilenamePreviewType previewType) // Must change directory separate to UNIX style for remote if (previewType == REMOTE_PREVIEW) - previewText.replace("/", "\\"); + previewText.replace(separator, "/"); return previewText; } diff --git a/kstars/ekos/capture/placeholderpath.cpp b/kstars/ekos/capture/placeholderpath.cpp index a47ccaa80..2632121d6 100644 --- a/kstars/ekos/capture/placeholderpath.cpp +++ b/kstars/ekos/capture/placeholderpath.cpp @@ -316,10 +316,7 @@ QString PlaceholderPath::generateFilename(const QString &directory, if (batch_mode) currentDir = directory; else - currentDir = KSPaths::writableLocation(QStandardPaths::TempLocation) + QDir::separator() + "kstars/"; - - // if (currentDir.endsWith(QDir::separator()) == false) - // currentDir += QDir::separator(); + currentDir = KSPaths::writableLocation(QStandardPaths::TempLocation) + QDir::separator() + "kstars" + QDir::separator(); QString tempFormat = currentDir + format + "_%s" + QString::number(formatSuffix); @@ -465,7 +462,7 @@ QList<int> PlaceholderPath::getCompletedFileIds(const SequenceJob &job, const QS QRegularExpressionMatch match; QRegularExpression re("^" + path_info.fileName() + "$"); QList<int> ids = {}; - for (auto name : matchingFiles) + for (auto &name : matchingFiles) { match = re.match(name); if (match.hasMatch()) diff --git a/kstars/ekos/focus/focus.cpp b/kstars/ekos/focus/focus.cpp index e63514822..0a5b789c7 100644 --- a/kstars/ekos/focus/focus.cpp +++ b/kstars/ekos/focus/focus.cpp @@ -2229,7 +2229,7 @@ void Focus::setHFRComplete() // IS8601 contains colons but they are illegal under Windows OS, so replacing them with '-' // The timestamp is no longer ISO8601 but it should solve interoperality issues between different OS hosts QString name = "autofocus_frame_" + now.toString("HH-mm-ss") + ".fits.gz"; - QString filename = path + QStringLiteral("/") + name + QStringLiteral("[compress R 100,100]"); + QString filename = path + QDir::separator() + name + QStringLiteral("[compress R 100,100]"); m_ImageData->saveImage(filename); } diff --git a/kstars/fitsviewer/fitsdata.cpp b/kstars/fitsviewer/fitsdata.cpp index bda15af98..78194e894 100644 --- a/kstars/fitsviewer/fitsdata.cpp +++ b/kstars/fitsviewer/fitsdata.cpp @@ -51,7 +51,7 @@ QString getTemporaryPath() { - return QDir(KSPaths::writableLocation(QStandardPaths::TempLocation) + "/" + + return QDir(KSPaths::writableLocation(QStandardPaths::TempLocation) + QDir::separator() + qAppName()).path(); } diff --git a/kstars/indi/indicamera.cpp b/kstars/indi/indicamera.cpp index cbfa070ee..161e557a2 100644 --- a/kstars/indi/indicamera.cpp +++ b/kstars/indi/indicamera.cpp @@ -170,13 +170,14 @@ void Camera::registerProperty(INDI::Property prop) if (svp) { bool ok = false; + auto separator = QDir::separator(); for (const auto &it : *svp) { QString key = QString(it.getLabel()); double value = key.toDouble(&ok); if (!ok) { - QStringList parts = key.split("/"); + QStringList parts = key.split(separator); if (parts.count() == 2) { bool numOk = false, denOk = false; @@ -1113,7 +1114,7 @@ void Camera::updateUploadSettings(const QString &remoteDir) { auto uploadDir = remoteDir; // N.B. Need to convert any Windows directory separators / to Posix separators / - uploadDir.replace("\\", "/"); + uploadDir.replace(QDir::separator(), "/"); IUSaveText(uploadT, uploadDir.toLatin1().constData()); } diff --git a/kstars/kstars.kcfg b/kstars/kstars.kcfg index eafcd8890..eab887b28 100644 --- a/kstars/kstars.kcfg +++ b/kstars/kstars.kcfg @@ -1787,7 +1787,7 @@ </entry> <entry name="PlaceholderFormat" type="String"> <label>How to format captured image filename.</label> - <default>/%t/%T/%F/%t_%T_%F</default> + <default code="true">KSUtils::getDefaultPath("PlaceholderFormat")</default> </entry> <entry name="RemoteCaptureDirectory" type="String"> <label>Path to remote capture directory to save images.</label> -- GitLab ++++++ fix-placeholder-path-part2.patch ++++++ >From 1530d9eec6140b53bace3cb5afda8c831834c89c Mon Sep 17 00:00:00 2001 From: Jasem Mutlaq <mutla...@ikarustech.com> Date: Mon, 6 Feb 2023 18:25:12 +0300 Subject: [PATCH] Fix placeholder sequence counter on Windows. BUGS:465364 FIXED-IN:3.6.3 --- kstars/auxiliary/ksutils.cpp | 4 ++-- kstars/ekos/capture/capture.cpp | 8 +++----- kstars/ekos/capture/placeholderpath.cpp | 27 +++++++++++++++++++++---- 3 files changed, 28 insertions(+), 11 deletions(-) diff --git a/kstars/auxiliary/ksutils.cpp b/kstars/auxiliary/ksutils.cpp index 664bbcca8..a9e37efac 100644 --- a/kstars/auxiliary/ksutils.cpp +++ b/kstars/auxiliary/ksutils.cpp @@ -1120,7 +1120,7 @@ QString getDefaultPath(const QString &option) if (option == "fitsDir") { - return QDir::homePath(); + return QDir::toNativeSeparators(QDir::homePath()); } else if (option == "indiServer") { @@ -1134,7 +1134,7 @@ QString getDefaultPath(const QString &option) else if (option == "PlaceholderFormat") { #if defined(Q_OS_WIN) - return "\%t\%T\%F\%t_%T_%F"; + return "\\%t\\%T\\%F\\%t_%T_%F"; #else return "/%t/%T/%F/%t_%T_%F"; #endif diff --git a/kstars/ekos/capture/capture.cpp b/kstars/ekos/capture/capture.cpp index 79fdbeab7..2d758f804 100644 --- a/kstars/ekos/capture/capture.cpp +++ b/kstars/ekos/capture/capture.cpp @@ -444,7 +444,7 @@ Capture::Capture() fileDirectoryT->setText(Options::captureDirectory()); else { - fileDirectoryT->setText(QDir::homePath() + QDir::separator() + "Pictures"); + fileDirectoryT->setText(QDir::toNativeSeparators(QDir::homePath() + "/Pictures")); Options::setCaptureDirectory(fileDirectoryT->text()); } @@ -3741,13 +3741,11 @@ void Capture::syncTelescopeInfo() void Capture::saveFITSDirectory() { QString dir = - QFileDialog::getExistingDirectory(Manager::Instance(), i18nc("@title:window", "FITS Save Directory"), - dirPath.toLocalFile()); - + QFileDialog::getExistingDirectory(Manager::Instance(), i18nc("@title:window", "FITS Save Directory"), dirPath.toLocalFile()); if (dir.isEmpty()) return; - fileDirectoryT->setText(dir); + fileDirectoryT->setText(QDir::toNativeSeparators(dir)); } void Capture::loadSequenceQueue() diff --git a/kstars/ekos/capture/placeholderpath.cpp b/kstars/ekos/capture/placeholderpath.cpp index 2632121d6..97926b514 100644 --- a/kstars/ekos/capture/placeholderpath.cpp +++ b/kstars/ekos/capture/placeholderpath.cpp @@ -316,7 +316,7 @@ QString PlaceholderPath::generateFilename(const QString &directory, if (batch_mode) currentDir = directory; else - currentDir = KSPaths::writableLocation(QStandardPaths::TempLocation) + QDir::separator() + "kstars" + QDir::separator(); + currentDir = QDir::toNativeSeparators(KSPaths::writableLocation(QStandardPaths::TempLocation) + "/kstars/"); QString tempFormat = currentDir + format + "_%s" + QString::number(formatSuffix); @@ -324,7 +324,12 @@ QString PlaceholderPath::generateFilename(const QString &directory, QRegularExpression // This is the original regex with %p & %d tags - disabled for now to simply // re("(?<replace>\\%(?<name>(filename|f|Datetime|D|Type|T|exposure|e|Filter|F|target|t|sequence|s|directory|d|path|p))(?<level>\\d+)?)(?<sep>[_/])?"); +#if defined(Q_OS_WIN) + re("(?<replace>\\%(?<name>(filename|f|Datetime|D|Type|T|exposure|e|Filter|F|target|t|sequence|s))(?<level>\\d+)?)(?<sep>[_\\\\])?"); +#else re("(?<replace>\\%(?<name>(filename|f|Datetime|D|Type|T|exposure|e|Filter|F|target|t|sequence|s))(?<level>\\d+)?)(?<sep>[_/])?"); +#endif + while ((i = tempFormat.indexOf(re, i, &match)) != -1) { QString replacement = ""; @@ -408,6 +413,7 @@ QString PlaceholderPath::generateFilename(const QString &directory, } else qWarning() << "Unknown replacement string: " << match.captured("replace"); + if (replacement.isEmpty()) tempFormat = tempFormat.replace(match.capturedStart(), match.capturedLength(), replacement); else @@ -442,7 +448,11 @@ QStringList PlaceholderPath::remainingPlaceholders(const QString &filename) { QList<QString> placeholders = {}; QRegularExpressionMatch match; - QRegularExpression re("(?<replace>\\%(?<name>[a-z])(?<level>\\d+)?)(?<sep>[_/])?"); +#if defined(Q_OS_WIN) + QRegularExpression re("(?<replace>\\%(?<name>[a-zA-Z])(?<level>\\d+)?)(?<sep>[_\\\\])+"); +#else + QRegularExpression re("(?<replace>%(?<name>[a-zA-Z])(?<level>\\d+)?)(?<sep>[_/])+"); +#endif int i = 0; while ((i = filename.indexOf(re, i, &match)) != -1) { @@ -456,11 +466,20 @@ QStringList PlaceholderPath::remainingPlaceholders(const QString &filename) QList<int> PlaceholderPath::getCompletedFileIds(const SequenceJob &job, const QString &targetName) { QString path = generateFilename(job, targetName, true, true, 0, ".*", "", true); - QFileInfo path_info(path); + auto sanitizedPath = path; + + // This is needed for Windows as the regular expression confuses path search + QString regexp = "(?<id>\\d+).*"; + sanitizedPath.remove(regexp); + QFileInfo path_info(sanitizedPath); QDir dir(path_info.dir()); + + // e.g. Light_R_(?<id>\\d+).* + QString glob = path_info.fileName() + regexp; + QStringList matchingFiles = dir.entryList(QDir::Files); QRegularExpressionMatch match; - QRegularExpression re("^" + path_info.fileName() + "$"); + QRegularExpression re("^" + glob + "$"); QList<int> ids = {}; for (auto &name : matchingFiles) { -- GitLab ++++++ fix-scheduler.patch ++++++ >From 608a13db2ab07f59b17d3a58fd698633f8fec8e5 Mon Sep 17 00:00:00 2001 From: Hy Murveit <h...@murveit.com> Date: Sun, 5 Feb 2023 09:04:57 +0300 Subject: [PATCH] m_TargetName was being overwritten when the UI Element targetNameT was programmatically modified. This cause the signaling from the scheduler to capture to be missed (e.g. when targetNameT was set by reading a .esq file). This sets it so that m_TargetName is only overwritten when the user modifies the UI element, and not when it is changed programmatically. --- kstars/ekos/capture/capture.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/kstars/ekos/capture/capture.cpp b/kstars/ekos/capture/capture.cpp index 7b5449095..0d3ff0c40 100644 --- a/kstars/ekos/capture/capture.cpp +++ b/kstars/ekos/capture/capture.cpp @@ -517,10 +517,11 @@ Capture::Capture() connect(formatSuffixN, QOverload<int>::of(&QSpinBox::valueChanged), this, &Capture::generatePreviewFilename); connect(captureExposureN, QOverload<double>::of(&QDoubleSpinBox::valueChanged), this, &Capture::generatePreviewFilename); - connect(targetNameT, &QLineEdit::textChanged, this, [ = ]() + connect(targetNameT, &QLineEdit::textEdited, this, [ = ]() { m_TargetName = targetNameT->text(); generatePreviewFilename(); + qCDebug(KSTARS_EKOS_CAPTURE) << "Changed target to" << m_TargetName << "because of user edit"; }); connect(captureTypeS, &QComboBox::currentTextChanged, this, &Capture::generatePreviewFilename); @@ -4460,6 +4461,7 @@ void Capture::syncGUIToJob(SequenceJob * job) targetNameT->setText(jobTargetName); captureCountN->setValue(job->getCoreProperty(SequenceJob::SJ_Count).toInt()); captureDelayN->setValue(job->getCoreProperty(SequenceJob::SJ_Delay).toInt() / 1000); + fileDirectoryT->setText(job->getCoreProperty(SequenceJob::SJ_LocalDirectory).toString()); fileUploadModeS->setCurrentIndex(job->getUploadMode()); fileRemoteDirT->setEnabled(fileUploadModeS->currentIndex() != 0); fileRemoteDirT->setText(job->getCoreProperty(SequenceJob::SJ_RemoteDirectory).toString()); -- GitLab