[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