From 66777f3304c44f7d36ba3512ed6e1125715d36fc Mon Sep 17 00:00:00 2001 From: Vladimir Golovnev Date: Tue, 18 Jul 2023 15:05:17 +0300 Subject: [PATCH 1/2] WebUI: use new format of RSS rules PR #19326. Fixes regression of #18824. Closes #19323. --- .../www/private/views/rssDownloader.html | 44 +++++++++---------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/src/webui/www/private/views/rssDownloader.html b/src/webui/www/private/views/rssDownloader.html index bd036e437..aa74a1cab 100644 --- a/src/webui/www/private/views/rssDownloader.html +++ b/src/webui/www/private/views/rssDownloader.html @@ -577,41 +577,41 @@ Supports the formats: S01E01, 1x1, 2017.12.31 and 31.12.2017 (Date formats also rulesList[rule].mustNotContain = $('mustNotContainText').value; rulesList[rule].episodeFilter = $('episodeFilterText').value; rulesList[rule].smartFilter = $('useSmartFilter').checked; - rulesList[rule].assignedCategory = $('assignCategoryCombobox').value; - rulesList[rule].savePath = $('savetoDifferentDir').checked ? $('saveToText').value : ''; rulesList[rule].ignoreDays = parseInt($('ignoreDaysValue').value); + rulesList[rule].affectedFeeds = rssDownloaderFeedSelectionTable.rows.filter((row) => row.full_data.checked) + .map((row) => row.full_data.url) + .getValues(); + + rulesList[rule].torrentParams.category = $('assignCategoryCombobox').value; + rulesList[rule].torrentParams.save_path = $('savetoDifferentDir').checked ? $('saveToText').value : ''; switch ($('addPausedCombobox').value) { case 'default': - rulesList[rule].addPaused = null; + rulesList[rule].torrentParams.stopped = null; break; case 'always': - rulesList[rule].addPaused = true; + rulesList[rule].torrentParams.stopped = true; break; case 'never': - rulesList[rule].addPaused = false; + rulesList[rule].torrentParams.stopped = false; break; } switch ($('contentLayoutCombobox').value) { case 'Default': - rulesList[rule].torrentContentLayout = null; + rulesList[rule].torrentParams.content_layout = null; break; case 'Original': - rulesList[rule].torrentContentLayout = 'Original'; + rulesList[rule].torrentParams.content_layout = 'Original'; break; case 'Subfolder': - rulesList[rule].torrentContentLayout = 'Subfolder'; + rulesList[rule].torrentParams.content_layout = 'Subfolder'; break; case 'NoSubfolder': - rulesList[rule].torrentContentLayout = 'NoSubfolder'; + rulesList[rule].torrentParams.content_layout = 'NoSubfolder'; break; } - rulesList[rule].affectedFeeds = rssDownloaderFeedSelectionTable.rows.filter((row) => row.full_data.checked) - .map((row) => row.full_data.url) - .getValues(); - new Request({ url: 'api/v2/rss/setRule', noCache: true, @@ -702,8 +702,8 @@ Supports the formats: S01E01, 1x1, 2017.12.31 and 31.12.2017 (Date formats also $('useSmartFilter').disabled = false; $('assignCategoryCombobox').disabled = false; $('savetoDifferentDir').disabled = false; - $('savetoDifferentDir').checked = rulesList[ruleName].savePath ? false : true; - $('saveToText').disabled = rulesList[ruleName].savePath ? false : true; + $('savetoDifferentDir').checked = rulesList[ruleName].torrentParams.save_path ? false : true; + $('saveToText').disabled = rulesList[ruleName].torrentParams.save_path ? false : true; $('ignoreDaysValue').disabled = false; $('addPausedCombobox').disabled = false; $('contentLayoutCombobox').disabled = false; @@ -715,9 +715,9 @@ Supports the formats: S01E01, 1x1, 2017.12.31 and 31.12.2017 (Date formats also $('episodeFilterText').value = rulesList[ruleName].episodeFilter; $('useSmartFilter').checked = rulesList[ruleName].smartFilter; - $('assignCategoryCombobox').value = rulesList[ruleName].assignedCategory ? rulesList[ruleName].assignedCategory : 'default'; - $('savetoDifferentDir').checked = rulesList[ruleName].savePath !== ''; - $('saveToText').value = rulesList[ruleName].savePath; + $('assignCategoryCombobox').value = rulesList[ruleName].torrentParams.category ? rulesList[ruleName].torrentParams.category : 'default'; + $('savetoDifferentDir').checked = rulesList[ruleName].torrentParams.save_path !== ''; + $('saveToText').value = rulesList[ruleName].torrentParams.save_path; $('ignoreDaysValue').value = rulesList[ruleName].ignoreDays; // calculate days since last match @@ -730,15 +730,15 @@ Supports the formats: S01E01, 1x1, 2017.12.31 and 31.12.2017 (Date formats also $('lastMatchText').textContent = 'QBT_TR(Last Match: Unknown)QBT_TR[CONTEXT=AutomatedRssDownloader]'; } - if (rulesList[ruleName].addPaused === null) + if (rulesList[ruleName].torrentParams.stopped === null) $('addPausedCombobox').value = 'default'; else - $('addPausedCombobox').value = rulesList[ruleName].addPaused ? 'always' : 'never'; + $('addPausedCombobox').value = rulesList[ruleName].torrentParams.stopped ? 'always' : 'never'; - if (rulesList[ruleName].torrentContentLayout === null) + if (rulesList[ruleName].torrentParams.content_layout === null) $('contentLayoutCombobox').value = 'Default'; else - $('contentLayoutCombobox').value = rulesList[ruleName].torrentContentLayout; + $('contentLayoutCombobox').value = rulesList[ruleName].torrentParams.content_layout; setElementTitles(); From 5bb02cbd905525027ce052685831a6192a37a9e0 Mon Sep 17 00:00:00 2001 From: Vladimir Golovnev Date: Tue, 18 Jul 2023 15:06:27 +0300 Subject: [PATCH 2/2] Don't initialize Properties widget size until window is shown PR #19328. Closes #19322. --- src/gui/mainwindow.cpp | 8 ++++++-- src/gui/mainwindow.h | 1 + 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/gui/mainwindow.cpp b/src/gui/mainwindow.cpp index 6ecdc1972..8a10f7025 100644 --- a/src/gui/mainwindow.cpp +++ b/src/gui/mainwindow.cpp @@ -455,8 +455,6 @@ MainWindow::MainWindow(IGUIApplication *app, WindowState initialState) } #endif - m_propertiesWidget->readSettings(); - const bool isFiltersSidebarVisible = pref->isFiltersSidebarVisible(); m_ui->actionShowFiltersSidebar->setChecked(isFiltersSidebarVisible); if (isFiltersSidebarVisible) @@ -1092,6 +1090,12 @@ void MainWindow::showEvent(QShowEvent *e) { // preparations before showing the window + if (m_neverShown) + { + m_propertiesWidget->readSettings(); + m_neverShown = false; + } + if (currentTabWidget() == m_transferListWidget) m_propertiesWidget->loadDynamicData(); diff --git a/src/gui/mainwindow.h b/src/gui/mainwindow.h index 1c484fe7e..0566c7050 100644 --- a/src/gui/mainwindow.h +++ b/src/gui/mainwindow.h @@ -202,6 +202,7 @@ private: QFileSystemWatcher *m_executableWatcher = nullptr; // GUI related bool m_posInitialized = false; + bool m_neverShown = true; QPointer m_tabs; QPointer m_statusBar; QPointer m_options;