Browse Source

Clean up code

adaptive-webui-19844
Chocobo1 4 years ago
parent
commit
8a087a876e
No known key found for this signature in database
GPG Key ID: 210D9C873253A68C
  1. 6
      src/base/filesystemwatcher.cpp
  2. 6
      src/base/filesystemwatcher.h
  3. 33
      src/webui/api/appcontroller.cpp
  4. 16
      src/webui/www/private/views/preferences.html

6
src/base/filesystemwatcher.cpp

@ -30,6 +30,8 @@
#include <QtGlobal> #include <QtGlobal>
#include <chrono>
#if defined(Q_OS_MACOS) || defined(Q_OS_FREEBSD) || defined(Q_OS_OPENBSD) #if defined(Q_OS_MACOS) || defined(Q_OS_FREEBSD) || defined(Q_OS_OPENBSD)
#include <cstring> #include <cstring>
#include <sys/mount.h> #include <sys/mount.h>
@ -42,9 +44,11 @@
#include "base/logger.h" #include "base/logger.h"
#include "base/utils/fs.h" #include "base/utils/fs.h"
using namespace std::chrono_literals;
namespace namespace
{ {
const int WATCH_INTERVAL = 10000; // 10 sec const std::chrono::duration WATCH_INTERVAL = 10s;
const int MAX_PARTIAL_RETRIES = 5; const int MAX_PARTIAL_RETRIES = 5;
} }

6
src/base/filesystemwatcher.h

@ -31,7 +31,6 @@
#include <QDir> #include <QDir>
#include <QFileSystemWatcher> #include <QFileSystemWatcher>
#include <QHash> #include <QHash>
#include <QtContainerFwd>
#include <QTimer> #include <QTimer>
#include <QVector> #include <QVector>
@ -39,9 +38,10 @@
* Subclassing QFileSystemWatcher in order to support Network File * Subclassing QFileSystemWatcher in order to support Network File
* System watching (NFS, CIFS) on Linux and Mac OS. * System watching (NFS, CIFS) on Linux and Mac OS.
*/ */
class FileSystemWatcher : public QFileSystemWatcher class FileSystemWatcher final : public QFileSystemWatcher
{ {
Q_OBJECT Q_OBJECT
Q_DISABLE_COPY(FileSystemWatcher)
public: public:
explicit FileSystemWatcher(QObject *parent = nullptr); explicit FileSystemWatcher(QObject *parent = nullptr);
@ -53,7 +53,7 @@ public:
signals: signals:
void torrentsAdded(const QStringList &pathList); void torrentsAdded(const QStringList &pathList);
protected slots: private slots:
void scanLocalFolder(const QString &path); void scanLocalFolder(const QString &path);
void processPartialTorrents(); void processPartialTorrents();
void scanNetworkFolders(); void scanNetworkFolders();

33
src/webui/api/appcontroller.cpp

@ -394,15 +394,14 @@ void AppController::setPreferencesAction()
if (hasKey("scan_dirs")) if (hasKey("scan_dirs"))
{ {
const QVariantHash nativeDirs = it.value().toHash(); const QVariantHash nativeDirs = it.value().toHash();
QVariantHash oldScanDirs = pref->getScanDirs(); const QVariantHash oldScanDirs = pref->getScanDirs();
QVariantHash scanDirs; QVariantHash scanDirs;
ScanFoldersModel *model = ScanFoldersModel::instance(); ScanFoldersModel *model = ScanFoldersModel::instance();
for (auto i = nativeDirs.cbegin(); i != nativeDirs.cend(); ++i) for (auto i = nativeDirs.cbegin(); i != nativeDirs.cend(); ++i)
{ {
QString folder = Utils::Fs::toUniformPath(i.key()); int downloadType = 0;
int downloadType;
QString downloadPath; QString downloadPath;
ScanFoldersModel::PathStatus ec;
if (i.value().type() == QVariant::String) if (i.value().type() == QVariant::String)
{ {
downloadType = ScanFoldersModel::CUSTOM_LOCATION; downloadType = ScanFoldersModel::CUSTOM_LOCATION;
@ -411,23 +410,17 @@ void AppController::setPreferencesAction()
else else
{ {
downloadType = i.value().toInt(); downloadType = i.value().toInt();
downloadPath = (downloadType == ScanFoldersModel::DEFAULT_LOCATION) ? "Default folder" : "Watch folder"; downloadPath = (downloadType == ScanFoldersModel::DEFAULT_LOCATION)
? QLatin1String("Default folder")
: QLatin1String("Watch folder");
} }
if (!oldScanDirs.contains(folder)) const QString folder = Utils::Fs::toUniformPath(i.key());
ec = model->addPath(folder, static_cast<ScanFoldersModel::PathType>(downloadType), downloadPath); const ScanFoldersModel::PathStatus ec = !oldScanDirs.contains(folder)
else ? model->addPath(folder, static_cast<ScanFoldersModel::PathType>(downloadType), downloadPath)
ec = model->updatePath(folder, static_cast<ScanFoldersModel::PathType>(downloadType), downloadPath); : model->updatePath(folder, static_cast<ScanFoldersModel::PathType>(downloadType), downloadPath);
if (ec == ScanFoldersModel::Ok) if (ec == ScanFoldersModel::Ok)
{ scanDirs.insert(folder, ((downloadType == ScanFoldersModel::CUSTOM_LOCATION) ? QVariant(downloadPath) : QVariant(downloadType)));
scanDirs.insert(folder, (downloadType == ScanFoldersModel::CUSTOM_LOCATION) ? QVariant(downloadPath) : QVariant(downloadType));
qDebug("New watched folder: %s to %s", qUtf8Printable(folder), qUtf8Printable(downloadPath));
}
else
{
qDebug("Watched folder %s failed with error %d", qUtf8Printable(folder), ec);
}
} }
// Update deleted folders // Update deleted folders
@ -435,11 +428,9 @@ void AppController::setPreferencesAction()
{ {
const QString &folder = i.key(); const QString &folder = i.key();
if (!scanDirs.contains(folder)) if (!scanDirs.contains(folder))
{
model->removePath(folder); model->removePath(folder);
qDebug("Removed watched folder %s", qUtf8Printable(folder));
}
} }
pref->setScanDirs(scanDirs); pref->setScanDirs(scanDirs);
} }
// Email notification upon download completion // Email notification upon download completion

16
src/webui/www/private/views/preferences.html

@ -1283,7 +1283,7 @@
}; };
// Downloads tab // Downloads tab
const WatchedFoldersTable = new HtmlTable($("watched_folders_tab")); const watchedFoldersTable = new HtmlTable($("watched_folders_tab"));
const updateTempDirEnabled = function() { const updateTempDirEnabled = function() {
const isTempDirEnabled = $('temppath_checkbox').getProperty('checked'); const isTempDirEnabled = $('temppath_checkbox').getProperty('checked');
@ -1334,7 +1334,7 @@
+ "</select>" + "</select>"
+ "<input id='cb_watch_txt_" + pos + "' type='text' " + (disableInput ? "hidden " : "") + "/></div>"; + "<input id='cb_watch_txt_" + pos + "' type='text' " + (disableInput ? "hidden " : "") + "/></div>";
WatchedFoldersTable.push([myinput, mycb]); watchedFoldersTable.push([myinput, mycb]);
$('cb_watch_' + pos).setProperty('value', sel); $('cb_watch_' + pos).setProperty('value', sel);
if (disableInput) { if (disableInput) {
const elt = $('cb_watch_' + pos); const elt = $('cb_watch_' + pos);
@ -1349,14 +1349,14 @@
for (let i = 0; i < nb_folders; ++i) { for (let i = 0; i < nb_folders; ++i) {
const fpath = $('text_watch_' + i).getProperty('value').trim(); const fpath = $('text_watch_' + i).getProperty('value').trim();
if (fpath.length > 0) { if (fpath.length > 0) {
let other;
const sel = $('cb_watch_' + i).getProperty('value').trim(); const sel = $('cb_watch_' + i).getProperty('value').trim();
if (sel == "other") {
let other;
if (sel == "other")
other = $('cb_watch_txt_' + i).getProperty('value').trim(); other = $('cb_watch_txt_' + i).getProperty('value').trim();
} else
else { other = (sel === "watch_folder") ? 0 : 1;
other = (sel == "watch_folder") ? 0 : 1;
}
folders.set(fpath, other); folders.set(fpath, other);
} }
} }

Loading…
Cancel
Save