[Pkg-owncloud-commits] [owncloud-client] 17/120: Ignore hidden: Default to enabled #2086
Sandro Knauß
hefee-guest at moszumanska.debian.org
Mon Aug 24 00:02:38 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 c2c924931b1f06d2c54208945b68bb95edac831b
Author: Christian Kamm <mail at ckamm.de>
Date: Mon Aug 10 11:03:57 2015 +0200
Ignore hidden: Default to enabled #2086
It was 'false' for migrated folders and folders created by the OC
setup wizard.
---
src/gui/accountsettings.cpp | 8 ++------
src/gui/folder.h | 3 ++-
src/gui/folderman.cpp | 19 +++++++++++++++++++
src/gui/folderman.h | 9 +++++++++
src/gui/ignorelisteditor.cpp | 12 ++----------
src/gui/owncloudsetupwizard.cpp | 2 ++
6 files changed, 36 insertions(+), 17 deletions(-)
diff --git a/src/gui/accountsettings.cpp b/src/gui/accountsettings.cpp
index e8a0c34..3f9762b 100644
--- a/src/gui/accountsettings.cpp
+++ b/src/gui/accountsettings.cpp
@@ -212,15 +212,11 @@ void AccountSettings::slotFolderWizardAccepted()
}
}
- bool ignoreHidden = true;
/* take the value from the definition of already existing folders. All folders have
- * the same setting so far, that's why it's ok to check the first one.
+ * the same setting so far.
* The default is to not sync hidden files
*/
- if( folderMan->map().count() > 0) {
- ignoreHidden = folderMan->map().begin().value()->ignoreHiddenFiles();
- }
- definition.ignoreHiddenFiles = ignoreHidden;
+ definition.ignoreHiddenFiles = folderMan->ignoreHiddenFiles();
auto selectiveSyncBlackList = folderWizard->property("selectiveSyncBlackList").toStringList();
diff --git a/src/gui/folder.h b/src/gui/folder.h
index cf72f06..fa48973 100644
--- a/src/gui/folder.h
+++ b/src/gui/folder.h
@@ -52,7 +52,8 @@ class FolderDefinition
{
public:
FolderDefinition()
- : paused(false), ignoreHiddenFiles(false)
+ : paused(false)
+ , ignoreHiddenFiles(true)
{}
/// The name of the folder in the ui and internally
diff --git a/src/gui/folderman.cpp b/src/gui/folderman.cpp
index d57c0cc..1d949e5 100644
--- a/src/gui/folderman.cpp
+++ b/src/gui/folderman.cpp
@@ -405,6 +405,7 @@ Folder* FolderMan::setupFolderFromOldConfigFile(const QString &file, AccountStat
folderDefinition.localPath = path;
folderDefinition.targetPath = targetPath;
folderDefinition.paused = paused;
+ folderDefinition.ignoreHiddenFiles = ignoreHiddenFiles();
folder = addFolderInternal(folderDefinition);
if (folder) {
@@ -1176,6 +1177,24 @@ QString FolderMan::checkPathValidityForNewFolder(const QString& path, bool forNe
}
+bool FolderMan::ignoreHiddenFiles() const
+{
+ if (_folderMap.empty()) {
+ return true;
+ }
+ return _folderMap.begin().value()->ignoreHiddenFiles();
+}
+
+void FolderMan::setIgnoreHiddenFiles(bool ignore)
+{
+ // Note that the setting will revert to 'true' if all folders
+ // are deleted...
+ foreach (Folder* folder, _folderMap) {
+ folder->setIgnoreHiddenFiles(ignore);
+ folder->saveToSettings();
+ }
+}
+
void FolderMan::restartApplication()
{
if( Utility::isLinux() ) {
diff --git a/src/gui/folderman.h b/src/gui/folderman.h
index 167b82f..3244f72 100644
--- a/src/gui/folderman.h
+++ b/src/gui/folderman.h
@@ -99,6 +99,15 @@ public:
*/
QString checkPathValidityForNewFolder(const QString &path, bool forNewDirectory = false);
+ /**
+ * While ignoring hidden files can theoretically be switched per folder,
+ * it's currently a global setting that users can only change for all folders
+ * at once.
+ * These helper functions can be removed once it's properly per-folder.
+ */
+ bool ignoreHiddenFiles() const;
+ void setIgnoreHiddenFiles(bool ignore);
+
signals:
/**
* signal to indicate a folder has changed its sync state.
diff --git a/src/gui/ignorelisteditor.cpp b/src/gui/ignorelisteditor.cpp
index cd760e3..5423036 100644
--- a/src/gui/ignorelisteditor.cpp
+++ b/src/gui/ignorelisteditor.cpp
@@ -58,12 +58,7 @@ IgnoreListEditor::IgnoreListEditor(QWidget *parent) :
ui->tableWidget->horizontalHeader()->setResizeMode(patternCol, QHeaderView::Stretch);
ui->tableWidget->verticalHeader()->setVisible(false);
- /* value for syncing hidden files */
- bool ignoreHidden = true;
- if( FolderMan::instance()->map().count() > 0 ) {
- ignoreHidden = FolderMan::instance()->map().begin().value()->ignoreHiddenFiles();
- }
- ui->ignoreHiddenFilesCheckBox->setChecked( !ignoreHidden );
+ ui->ignoreHiddenFilesCheckBox->setChecked( !FolderMan::instance()->ignoreHiddenFiles() );
}
IgnoreListEditor::~IgnoreListEditor()
@@ -129,10 +124,7 @@ void IgnoreListEditor::slotUpdateLocalIgnoreList()
/* the ignoreHiddenFiles flag is a folder specific setting, but for now, it is
* handled globally. Save it to every folder that is defined.
*/
- foreach (Folder* folder, FolderMan::instance()->map()) {
- folder->setIgnoreHiddenFiles(ignoreHiddenFiles);
- folder->saveToSettings();
- }
+ FolderMan::instance()->setIgnoreHiddenFiles(ignoreHiddenFiles);
}
void IgnoreListEditor::slotAddPattern()
diff --git a/src/gui/owncloudsetupwizard.cpp b/src/gui/owncloudsetupwizard.cpp
index 151cf8e..64dbaf3 100644
--- a/src/gui/owncloudsetupwizard.cpp
+++ b/src/gui/owncloudsetupwizard.cpp
@@ -470,6 +470,8 @@ void OwncloudSetupWizard::slotAssistantFinished( int result )
}
folderDefinition.localPath = localFolder;
folderDefinition.targetPath = _remoteFolder;
+ folderDefinition.ignoreHiddenFiles = folderMan->ignoreHiddenFiles();
+
auto f = folderMan->addFolder(account, folderDefinition);
if (f) {
f->journalDb()->setSelectiveSyncList(SyncJournalDb::SelectiveSyncBlackList,
--
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