From 030f37f61332a30e424befaf57ff3206195c59b4 Mon Sep 17 00:00:00 2001 From: jolavillette Date: Sun, 8 Feb 2026 11:20:04 +0100 Subject: [PATCH] add UI for upload stats retention and move clear button to new Upload Statistics group --- .../src/gui/settings/TransferPage.cpp | 4 + .../src/gui/settings/TransferPage.h | 1 + .../src/gui/settings/TransferPage.ui | 77 +++++++++++++++++-- 3 files changed, 76 insertions(+), 6 deletions(-) diff --git a/retroshare-gui/src/gui/settings/TransferPage.cpp b/retroshare-gui/src/gui/settings/TransferPage.cpp index fb2bb4a5c..58c0093ad 100644 --- a/retroshare-gui/src/gui/settings/TransferPage.cpp +++ b/retroshare-gui/src/gui/settings/TransferPage.cpp @@ -65,6 +65,7 @@ TransferPage::TransferPage(QWidget * parent, Qt::WindowFlags flags) QObject::connect(ui.autoCheckDirectories_CB, SIGNAL(clicked(bool)), this, SLOT(toggleAutoCheckDirectories(bool))); QObject::connect(ui.minimumFontSize_SB, SIGNAL(valueChanged(int)), this, SLOT(updateFontSize())) ; QObject::connect(ui.clearuploadStatsButton, SIGNAL(clicked( bool ) ), this , SLOT(clearUploadStatistics() ) ); + QObject::connect(ui.uploadStatsRetention_SB, SIGNAL(valueChanged(int)), this, SLOT(updateUploadStatsRetention(int))); QObject::connect(ui.autoCheckDirectories_CB, SIGNAL(toggled(bool)), this,SLOT(updateAutoCheckDirectories())) ; QObject::connect(ui.autoCheckDirectoriesDelay_SB,SIGNAL(valueChanged(int)),this,SLOT(updateAutoScanDirectoriesPeriod())) ; @@ -182,6 +183,8 @@ void TransferPage::load() default: whileBlocking(ui._filePermDirectDL_CB)->setCurrentIndex(2) ; break ; } + whileBlocking(ui.uploadStatsRetention_SB)->setValue(rsFiles->getUploadStatsRetentionDays()); + std::list suffixes, prefixes; uint32_t ignore_flags ; @@ -341,3 +344,4 @@ void TransferPage::updateAutoCheckDirectories() { rsFiles->setWatchEnab void TransferPage::updateAutoScanDirectoriesPeriod() { rsFiles->setWatchPeriod(ui.autoCheckDirectoriesDelay_SB->value()); } void TransferPage::updateShareDownloadDirectory() { rsFiles->shareDownloadDirectory(ui.shareDownloadDirectoryCB->isChecked());} void TransferPage::updateFollowSymLinks() { rsFiles->setFollowSymLinks(ui.followSymLinks_CB->isChecked()); ui.ignoreDuplicates_CB->setEnabled(ui.followSymLinks_CB->isChecked());} +void TransferPage::updateUploadStatsRetention(int days) { rsFiles->setUploadStatsRetentionDays(days); } diff --git a/retroshare-gui/src/gui/settings/TransferPage.h b/retroshare-gui/src/gui/settings/TransferPage.h index 5eeb3b522..0fa856f2c 100644 --- a/retroshare-gui/src/gui/settings/TransferPage.h +++ b/retroshare-gui/src/gui/settings/TransferPage.h @@ -60,6 +60,7 @@ class TransferPage: public ConfigPage void toggleTrustFriendNodesWithBannedFiles(bool); void updateFontSize(); void clearUploadStatistics(); + void updateUploadStatsRetention(int); void updateAutoCheckDirectories() ; void updateAutoScanDirectoriesPeriod() ; void updateShareDownloadDirectory() ; diff --git a/retroshare-gui/src/gui/settings/TransferPage.ui b/retroshare-gui/src/gui/settings/TransferPage.ui index c739ce605..ff3221eaf 100644 --- a/retroshare-gui/src/gui/settings/TransferPage.ui +++ b/retroshare-gui/src/gui/settings/TransferPage.ui @@ -35,11 +35,17 @@ - - - Clear upload statistics + + + Qt::Horizontal - + + + 40 + 20 + + + @@ -291,6 +297,65 @@ + + + Upload Statistics + + + + + + + + Keep upload statistics for: + + + + + + + days (0 = forever) + + + 0 + + + 3650 + + + 0 + + + <html><head/><body><p>Upload statistics older than this number of days will be deleted. Set to 0 to keep them forever.</p></body></html> + + + + + + + Clear upload statistics + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + true @@ -308,7 +373,7 @@ p, li { white-space: pre-wrap; } - + @@ -342,7 +407,7 @@ p, li { white-space: pre-wrap; } - + Qt::Vertical