Merge pull request #2699 from PYRET1C/autodownload_size

Autodownload size
This commit is contained in:
csoler 2023-04-10 16:43:36 +02:00 committed by GitHub
commit 2baec2baab
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 71 additions and 22 deletions

View File

@ -22,6 +22,7 @@
#include "rsharesettings.h" #include "rsharesettings.h"
#include "util/misc.h" #include "util/misc.h"
#include "gui/notifyqt.h" #include "gui/notifyqt.h"
#include "retroshare/rsgxschannels.h"
ChannelPage::ChannelPage(QWidget * parent, Qt::WindowFlags flags) ChannelPage::ChannelPage(QWidget * parent, Qt::WindowFlags flags)
: ConfigPage(parent, flags) : ConfigPage(parent, flags)
@ -35,6 +36,9 @@ ChannelPage::ChannelPage(QWidget * parent, Qt::WindowFlags flags)
connect(ui.emoteicon_checkBox,SIGNAL(toggled(bool)),this,SLOT(updateEmotes())) ; connect(ui.emoteicon_checkBox,SIGNAL(toggled(bool)),this,SLOT(updateEmotes())) ;
// Connecting the spin box with the maximum auto download size in channels
connect(ui.autoDownloadSpinBox, SIGNAL(valueChanged(int)), this, SLOT(updateMaxAutoDownloadSizeLimit(int)));
} }
ChannelPage::~ChannelPage() ChannelPage::~ChannelPage()
@ -49,6 +53,13 @@ void ChannelPage::load()
Settings->beginGroup(QString("ChannelPostsWidget")); Settings->beginGroup(QString("ChannelPostsWidget"));
whileBlocking(ui.emoteicon_checkBox)->setChecked(Settings->value("Emoteicons_ChannelDecription", true).toBool()); whileBlocking(ui.emoteicon_checkBox)->setChecked(Settings->value("Emoteicons_ChannelDecription", true).toBool());
Settings->endGroup(); Settings->endGroup();
// Getting the maximum auto download size from the configuration
uint64_t maxAutoDownloadSize;
rsGxsChannels->getMaxAutoDownloadSizeLimit(maxAutoDownloadSize);
int temp=(maxAutoDownloadSize/(Size_Of_1_GB));
whileBlocking(ui.autoDownloadSpinBox)->setValue(temp);
} }
void ChannelPage::updateEmotes() void ChannelPage::updateEmotes()
@ -57,3 +68,10 @@ void ChannelPage::updateEmotes()
Settings->setValue("Emoteicons_ChannelDecription", ui.emoteicon_checkBox->isChecked()); Settings->setValue("Emoteicons_ChannelDecription", ui.emoteicon_checkBox->isChecked());
Settings->endGroup(); Settings->endGroup();
} }
// Function to update the maximum size allowed for auto download in channels
void ChannelPage::updateMaxAutoDownloadSizeLimit(int value)
{
uint64_t temp=(static_cast<uint64_t>(value)*Size_Of_1_GB);
rsGxsChannels->setMaxAutoDownloadSizeLimit(temp);
}

View File

@ -25,6 +25,8 @@
#include "ui_ChannelPage.h" #include "ui_ChannelPage.h"
#include "gui/common/FilesDefs.h" #include "gui/common/FilesDefs.h"
#define Size_Of_1_GB (1024 * 1024 * 1024) // It is the size of 1 GB in bytes.
class ChannelPage : public ConfigPage class ChannelPage : public ConfigPage
{ {
Q_OBJECT Q_OBJECT
@ -43,6 +45,9 @@ public:
private slots: private slots:
void updateEmotes(); void updateEmotes();
// Function to update the maximum size allowed for auto download in channels
void updateMaxAutoDownloadSizeLimit(int value);
private: private:
Ui::ChannelPage ui; Ui::ChannelPage ui;
}; };

View File

@ -6,22 +6,23 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>423</width> <width>526</width>
<height>334</height> <height>334</height>
</rect> </rect>
</property> </property>
<layout class="QGridLayout" name="gridLayout_3"> <layout class="QGridLayout" name="gridLayout">
<item row="1" column="0"> <item row="3" column="0">
<widget class="QGroupBox" name="tabsGroupBox"> <spacer name="verticalSpacer">
<property name="title"> <property name="orientation">
<string>Tabs</string> <enum>Qt::Vertical</enum>
</property> </property>
<layout class="QVBoxLayout" name="verticalLayout"> <property name="sizeHint" stdset="0">
<item> <size>
<widget class="GroupFrameSettingsWidget" name="groupFrameSettingsWidget" native="true"/> <width>20</width>
</item> <height>5</height>
</layout> </size>
</widget> </property>
</spacer>
</item> </item>
<item row="0" column="0"> <item row="0" column="0">
<widget class="QGroupBox" name="generalGroupBox"> <widget class="QGroupBox" name="generalGroupBox">
@ -39,18 +40,43 @@
</layout> </layout>
</widget> </widget>
</item> </item>
<item row="1" column="0">
<widget class="QGroupBox" name="tabsGroupBox">
<property name="title">
<string>Tabs</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="GroupFrameSettingsWidget" name="groupFrameSettingsWidget" native="true"/>
</item>
</layout>
</widget>
</item>
<item row="2" column="0"> <item row="2" column="0">
<spacer name="verticalSpacer"> <widget class="QGroupBox" name="downloadsGroupBox">
<property name="orientation"> <property name="title">
<enum>Qt::Vertical</enum> <string>Downloads</string>
</property> </property>
<property name="sizeHint" stdset="0"> <layout class="QFormLayout" name="formLayout">
<size> <item row="0" column="0">
<width>20</width> <widget class="QSpinBox" name="autoDownloadSpinBox">
<height>40</height> <property name="minimum">
</size> <number>1</number>
</property> </property>
</spacer> <property name="maximum">
<number>200</number>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLabel" name="label">
<property name="text">
<string>Maximum Auto Download Size (in GBs)</string>
</property>
</widget>
</item>
</layout>
</widget>
</item> </item>
</layout> </layout>
</widget> </widget>