From 9276db1f7d466668b5e5a0dd13a05eb3cf328c70 Mon Sep 17 00:00:00 2001 From: Arno Date: Fri, 9 May 2025 08:56:05 +0200 Subject: Enhance usb-storage Make it possible to define more than just one usb storage and store them to the new QSettings item "paths/usball", a QStringList while repurposing the old setting "paths/usb" for writing. When reading, iterate over all entries in usball until the file is found. For writing, or moving files to archive, use paths/usb as target. --- helper.cpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'helper.cpp') diff --git a/helper.cpp b/helper.cpp index a32d137..2f8e3b2 100644 --- a/helper.cpp +++ b/helper.cpp @@ -142,7 +142,7 @@ namespace Helper { const QString createUSBPath(const QString &filename, const QString &seriesName, const QString &subtitle, int dvdNo, int seriesNo){ QSettings s; - QString usbPath = s.value("paths/usb").toString(); + QStringList allUsbPaths = s.value("paths/usball").toStringList(); QString seriesDir = seriesName; if(seriesNo > 0){ @@ -151,7 +151,15 @@ namespace Helper { seriesDir.append(QString(" - %1").arg(subtitle)); } seriesDir.replace(' ', '.'); - QString retval = QString("%1/DVD_%2/%3/%4").arg(usbPath, QString::number(dvdNo), seriesDir, filename); + QString templ = QString("%1/DVD_%2/%3/%4"); + QString retval; + for( const QString &up : std::as_const(allUsbPaths)){ + retval = templ.arg(up, QString::number(dvdNo), seriesDir, filename); + QFileInfo retInfo(retval); + if(retInfo.exists()){ + return retval; + } + } return retval; } -- cgit v1.2.3-70-g09d2