[Pkg-owncloud-commits] [owncloud-client] 253/498: Confirm feature: Add an option for it
Sandro Knauß
hefee-guest at moszumanska.debian.org
Tue Aug 11 14:48:55 UTC 2015
This is an automated email from the git hooks/post-receive script.
hefee-guest pushed a commit to branch master
in repository owncloud-client.
commit 41111541c5ecccda9f30d30e8b88d1a1d91b9cf8
Author: Olivier Goffart <ogoffart at woboq.com>
Date: Tue Jul 7 16:28:48 2015 +0200
Confirm feature: Add an option for it
---
src/gui/folder.cpp | 5 ++-
src/gui/generalsettings.cpp | 8 +++++
src/gui/generalsettings.ui | 81 +++++++++++++++++++++++++++++++++++++++------
src/libsync/configfile.cpp | 16 +++++++++
src/libsync/configfile.h | 3 ++
5 files changed, 102 insertions(+), 11 deletions(-)
diff --git a/src/gui/folder.cpp b/src/gui/folder.cpp
index 2dedddb..b408d1f 100644
--- a/src/gui/folder.cpp
+++ b/src/gui/folder.cpp
@@ -840,7 +840,10 @@ void Folder::startSync(const QStringList &pathList)
setDirtyNetworkLimits();
- _engine->setNewSharedFolderSizeLimit(100 * 1000 * 1000); // 100MB limit by default FIXME! do not hardcode
+ ConfigFile cfgFile;
+ auto newFolderLimit = cfgFile.newSharedFolderSizeLimit();
+ quint64 limit = newFolderLimit.first ? newFolderLimit.second * 1000 * 1000 : -1; // convert from MB to B
+ _engine->setNewSharedFolderSizeLimit(limit);
QMetaObject::invokeMethod(_engine.data(), "startSync", Qt::QueuedConnection);
diff --git a/src/gui/generalsettings.cpp b/src/gui/generalsettings.cpp
index 320982c..2d3c533 100644
--- a/src/gui/generalsettings.cpp
+++ b/src/gui/generalsettings.cpp
@@ -61,6 +61,8 @@ GeneralSettings::GeneralSettings(QWidget *parent) :
// misc
connect(_ui->monoIconsCheckBox, SIGNAL(toggled(bool)), SLOT(saveMiscSettings()));
connect(_ui->crashreporterCheckBox, SIGNAL(toggled(bool)), SLOT(saveMiscSettings()));
+ connect(_ui->newFolderLimitCheckBox, SIGNAL(toggled(bool)), SLOT(saveMiscSettings()));
+ connect(_ui->newFolderLimitSpinBox, SIGNAL(valueChanged(int)), SLOT(saveMiscSettings()));
#ifndef WITH_CRASHREPORTER
_ui->crashreporterCheckBox->setVisible(false);
@@ -87,6 +89,9 @@ void GeneralSettings::loadMiscSettings()
_ui->monoIconsCheckBox->setChecked(cfgFile.monoIcons());
_ui->desktopNotificationsCheckBox->setChecked(cfgFile.optionalDesktopNotifications());
_ui->crashreporterCheckBox->setChecked(cfgFile.crashReporter());
+ auto newFolderLimit = cfgFile.newSharedFolderSizeLimit();
+ _ui->newFolderLimitCheckBox->setChecked(newFolderLimit.first);
+ _ui->newFolderLimitSpinBox->setValue(newFolderLimit.second);
}
void GeneralSettings::slotUpdateInfo()
@@ -111,6 +116,9 @@ void GeneralSettings::saveMiscSettings()
cfgFile.setMonoIcons(isChecked);
Theme::instance()->setSystrayUseMonoIcons(isChecked);
cfgFile.setCrashReporter(_ui->crashreporterCheckBox->isChecked());
+
+ cfgFile.setNewSharedFolderSizeLimit(_ui->newFolderLimitCheckBox->isChecked(),
+ _ui->newFolderLimitSpinBox->value());
}
void GeneralSettings::slotToggleLaunchOnStartup(bool enable)
diff --git a/src/gui/generalsettings.ui b/src/gui/generalsettings.ui
index 443e8de..d0dd7c3 100644
--- a/src/gui/generalsettings.ui
+++ b/src/gui/generalsettings.ui
@@ -6,8 +6,8 @@
<rect>
<x>0</x>
<y>0</y>
- <width>599</width>
- <height>429</height>
+ <width>706</width>
+ <height>523</height>
</rect>
</property>
<property name="windowTitle">
@@ -50,17 +50,37 @@
<string>Advanced</string>
</property>
<layout class="QGridLayout" name="gridLayout">
- <item row="1" column="1">
- <layout class="QHBoxLayout" name="horizontalLayout_4">
+ <item row="1" column="0" colspan="2">
+ <layout class="QHBoxLayout" name="horizontalLayout_3">
<item>
- <widget class="QPushButton" name="ignoredFilesButton">
+ <widget class="QCheckBox" name="newFolderLimitCheckBox">
<property name="text">
- <string>Edit Ignored Files</string>
+ <string>Ask confirmation before downloading shared folders larger than</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
</property>
</widget>
</item>
<item>
- <spacer name="horizontalSpacer_4">
+ <widget class="QSpinBox" name="newFolderLimitSpinBox">
+ <property name="maximum">
+ <number>999999</number>
+ </property>
+ <property name="value">
+ <number>99</number>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="label">
+ <property name="text">
+ <string>MB</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="horizontalSpacer_3">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
@@ -74,7 +94,7 @@
</item>
</layout>
</item>
- <item row="2" column="1">
+ <item row="2" column="0" colspan="2">
<widget class="QCheckBox" name="crashreporterCheckBox">
<property name="sizePolicy">
<sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
@@ -87,7 +107,31 @@
</property>
</widget>
</item>
- <item row="1" column="2">
+ <item row="0" column="0">
+ <layout class="QHBoxLayout" name="horizontalLayout_4">
+ <item>
+ <widget class="QPushButton" name="ignoredFilesButton">
+ <property name="text">
+ <string>Edit Ignored Files</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="horizontalSpacer_4">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </item>
+ <item row="0" column="1">
<layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
<widget class="QPushButton" name="addAccountButton">
@@ -197,5 +241,22 @@
</layout>
</widget>
<resources/>
- <connections/>
+ <connections>
+ <connection>
+ <sender>newFolderLimitCheckBox</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>newFolderLimitSpinBox</receiver>
+ <slot>setEnabled(bool)</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>225</x>
+ <y>231</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>587</x>
+ <y>230</y>
+ </hint>
+ </hints>
+ </connection>
+ </connections>
</ui>
diff --git a/src/libsync/configfile.cpp b/src/libsync/configfile.cpp
index c5f0568..28d2fc1 100644
--- a/src/libsync/configfile.cpp
+++ b/src/libsync/configfile.cpp
@@ -62,6 +62,9 @@ static const char useDownloadLimitC[] = "BWLimit/useDownloadLimit";
static const char uploadLimitC[] = "BWLimit/uploadLimit";
static const char downloadLimitC[] = "BWLimit/downloadLimit";
+static const char newSharedFolderSizeLimitC[] = "newSharedFolderSizeLimit";
+static const char useNewSharedFolderSizeLimitC[] = "useNewSharedFolderSizeLimit";
+
static const char maxLogLinesC[] = "Logging/maxLogLines";
const char certPath[] = "http_certificatePath";
@@ -549,6 +552,19 @@ void ConfigFile::setDownloadLimit(int kbytes)
setValue(downloadLimitC, kbytes);
}
+QPair<bool, quint64> ConfigFile::newSharedFolderSizeLimit() const
+{
+ qint64 value = getValue(newSharedFolderSizeLimitC, QString(), 100).toLongLong();
+ bool use = value >= 0 && getValue(useNewSharedFolderSizeLimitC, QString(), true).toBool();
+ return qMakePair(use, quint64(qMax<qint64>(0, value)));
+}
+
+void ConfigFile::setNewSharedFolderSizeLimit(bool isChecked, quint64 mbytes)
+{
+ setValue(newSharedFolderSizeLimitC, mbytes);
+ setValue(useNewSharedFolderSizeLimitC, isChecked);
+}
+
bool ConfigFile::monoIcons() const
{
QSettings settings(configFile(), QSettings::IniFormat);
diff --git a/src/libsync/configfile.h b/src/libsync/configfile.h
index 4dcef77..8ef6b09 100644
--- a/src/libsync/configfile.h
+++ b/src/libsync/configfile.h
@@ -99,6 +99,9 @@ public:
int downloadLimit() const;
void setUploadLimit(int kbytes);
void setDownloadLimit(int kbytes);
+ /** [checked, size in MB] **/
+ QPair<bool, quint64> newSharedFolderSizeLimit() const;
+ void setNewSharedFolderSizeLimit(bool isChecked, quint64 mbytes);
static bool setConfDir(const QString &value);
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-owncloud/owncloud-client.git
More information about the Pkg-owncloud-commits
mailing list