Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/owncloud/client.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Kamm <mail@ckamm.de>2017-10-27 11:29:31 +0300
committerChristian Kamm <mail@ckamm.de>2017-10-27 11:29:31 +0300
commit05c1bfb6cf5a890572de41a59da5e719d7c0432c (patch)
tree52407f7a203fd90239ae029305b255daf063c1a9
parent17126de5c703e935d2de9285a880211f0a120e35 (diff)
parent2d2ec2a57639c47f05d2534c5043b130a50fb673 (diff)
Merge remote-tracking branch 'origin/2.4'
-rw-r--r--CMakeLists.txt2
-rw-r--r--admin/win/nsi/l10n/Norwegian.nsh2
-rw-r--r--admin/win/nsi/l10n/Spanish.nsh12
-rw-r--r--doc/faq.rst16
-rw-r--r--mirall.desktop.in33
-rw-r--r--src/cmd/cmd.cpp8
-rw-r--r--src/common/checksums.cpp16
-rw-r--r--src/common/filesystembase.cpp33
-rw-r--r--src/common/syncjournaldb.cpp13
-rw-r--r--src/common/syncjournaldb.h2
-rw-r--r--src/common/utility.cpp2
-rw-r--r--src/csync/csync_reconcile.cpp117
-rw-r--r--src/csync/csync_update.cpp71
-rw-r--r--src/gui/creds/httpcredentialsgui.cpp9
-rw-r--r--src/gui/creds/httpcredentialsgui.h2
-rw-r--r--src/gui/creds/shibboleth/shibbolethwebview.cpp4
-rw-r--r--src/gui/folder.cpp5
-rw-r--r--src/gui/issueswidget.cpp24
-rw-r--r--src/gui/issueswidget.ui3
-rw-r--r--src/gui/main.cpp2
-rw-r--r--src/gui/owncloudsetupwizard.cpp84
-rw-r--r--src/gui/owncloudsetupwizard.h14
-rw-r--r--src/gui/protocolwidget.cpp30
-rw-r--r--src/gui/protocolwidget.h15
-rw-r--r--src/gui/protocolwidget.ui3
-rw-r--r--src/gui/settingsdialogmac.cpp22
-rw-r--r--src/gui/settingsdialogmac.h1
-rw-r--r--src/gui/sharemanager.cpp114
-rw-r--r--src/gui/sharemanager.h5
-rw-r--r--src/libsync/capabilities.cpp5
-rw-r--r--src/libsync/capabilities.h11
-rw-r--r--src/libsync/networkjobs.cpp6
-rw-r--r--src/libsync/owncloudpropagator.cpp17
-rw-r--r--src/libsync/owncloudpropagator.h86
-rw-r--r--src/libsync/propagatedownload.cpp9
-rw-r--r--src/libsync/propagatedownload.h2
-rw-r--r--src/libsync/propagateremotedelete.cpp6
-rw-r--r--src/libsync/propagateremotedelete.h2
-rw-r--r--src/libsync/propagateremotemkdir.cpp6
-rw-r--r--src/libsync/propagateremotemkdir.h2
-rw-r--r--src/libsync/propagateremotemove.cpp6
-rw-r--r--src/libsync/propagateremotemove.h2
-rw-r--r--src/libsync/propagateupload.cpp37
-rw-r--r--src/libsync/propagateupload.h41
-rw-r--r--src/libsync/propagateuploadng.cpp24
-rw-r--r--src/libsync/propagateuploadv1.cpp27
-rw-r--r--src/libsync/propagatorjobs.h1
-rw-r--r--src/libsync/syncengine.cpp27
-rw-r--r--src/libsync/syncengine.h2
-rw-r--r--test/CMakeLists.txt1
-rw-r--r--test/syncenginetestutils.h56
-rw-r--r--test/testchunkingng.cpp130
-rw-r--r--test/testsyncengine.cpp220
-rw-r--r--test/testsyncfilestatustracker.cpp3
-rw-r--r--test/testsyncmove.cpp569
-rw-r--r--translations/client_ca.ts179
-rw-r--r--translations/client_cs.ts179
-rw-r--r--translations/client_de.ts179
-rw-r--r--translations/client_el.ts181
-rw-r--r--translations/client_en.ts179
-rw-r--r--translations/client_es.ts179
-rw-r--r--translations/client_es_AR.ts179
-rw-r--r--translations/client_et.ts179
-rw-r--r--translations/client_eu.ts179
-rw-r--r--translations/client_fa.ts179
-rw-r--r--translations/client_fi.ts179
-rw-r--r--translations/client_fr.ts255
-rw-r--r--translations/client_gl.ts179
-rw-r--r--translations/client_hu.ts179
-rw-r--r--translations/client_it.ts217
-rw-r--r--translations/client_ja.ts179
-rw-r--r--translations/client_nb_NO.ts179
-rw-r--r--translations/client_nl.ts179
-rw-r--r--translations/client_pl.ts179
-rw-r--r--translations/client_pt.ts195
-rw-r--r--translations/client_pt_BR.ts179
-rw-r--r--translations/client_ru.ts187
-rw-r--r--translations/client_sk.ts179
-rw-r--r--translations/client_sl.ts179
-rw-r--r--translations/client_sr.ts179
-rw-r--r--translations/client_sv.ts179
-rw-r--r--translations/client_th.ts179
-rw-r--r--translations/client_tr.ts179
-rw-r--r--translations/client_uk.ts179
-rw-r--r--translations/client_zh_CN.ts179
-rw-r--r--translations/client_zh_TW.ts183
86 files changed, 4400 insertions, 3255 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index b61aa0ff8..85a14bd7f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -199,7 +199,7 @@ if(BUILD_CLIENT)
endif()
endif()
- find_package(ZLIB)
+ find_package(ZLIB REQUIRED)
endif()
if (NOT DEFINED APPLICATION_ICON_NAME)
diff --git a/admin/win/nsi/l10n/Norwegian.nsh b/admin/win/nsi/l10n/Norwegian.nsh
index c7ffdf74f..690c434a2 100644
--- a/admin/win/nsi/l10n/Norwegian.nsh
+++ b/admin/win/nsi/l10n/Norwegian.nsh
@@ -3,7 +3,7 @@ StrCpy $MUI_FINISHPAGE_SHOWREADME_TEXT_STRING "Vis versjonsmerknader"
StrCpy $ConfirmEndProcess_MESSAGEBOX_TEXT "Fant ${APPLICATION_EXECUTABLE}-prosess(er) som m stoppes.$\nVil du at installasjonsprogrammet skal stoppe dem for deg?"
StrCpy $ConfirmEndProcess_KILLING_PROCESSES_TEXT "Terminerer ${APPLICATION_EXECUTABLE}-prosesser."
StrCpy $ConfirmEndProcess_KILL_NOT_FOUND_TEXT "Fant ikke prosess som skulle termineres!"
-StrCpy $PageReinstall_NEW_Field_1 "En eldre versjon av ${APPLICATION_NAME} er installert p systemet ditt. Det anbefales at du avnistallerer den versjonen fr installering av ny versjon. Velg hva du vil gjre og klikk Neste for fortsette."
+StrCpy $PageReinstall_NEW_Field_1 "En eldre versjon av ${APPLICATION_NAME} er installert p systemet ditt. Det anbefales at du avinstallerer den versjonen fr installering av ny versjon. Velg hva du vil gjre og klikk Neste for fortsette."
StrCpy $PageReinstall_NEW_Field_2 "Avinstaller fr installering"
StrCpy $PageReinstall_NEW_Field_3 "Ikke avinstaller"
StrCpy $PageReinstall_NEW_MUI_HEADER_TEXT_TITLE "Allerede installert"
diff --git a/admin/win/nsi/l10n/Spanish.nsh b/admin/win/nsi/l10n/Spanish.nsh
index 2848e68c8..c0e518581 100644
--- a/admin/win/nsi/l10n/Spanish.nsh
+++ b/admin/win/nsi/l10n/Spanish.nsh
@@ -1,9 +1,9 @@
# Auto-generated - do not modify
StrCpy $MUI_FINISHPAGE_SHOWREADME_TEXT_STRING "Mostrar las notas de la versin"
-StrCpy $ConfirmEndProcess_MESSAGEBOX_TEXT "El/los proceso/s ${APPLICATION_EXECUTABLE} debe/n ser detenidos.$\nQuiere que el instalador lo haga por usted?"
-StrCpy $ConfirmEndProcess_KILLING_PROCESSES_TEXT "Deteniendo el/los proceso/s ${APPLICATION_EXECUTABLE}."
+StrCpy $ConfirmEndProcess_MESSAGEBOX_TEXT "El/los proceso(s) ${APPLICATION_EXECUTABLE} debe(n) ser detenido(s).$\nQuiere que el instalador lo haga por usted?"
+StrCpy $ConfirmEndProcess_KILLING_PROCESSES_TEXT "Deteniendo el/los proceso(s) ${APPLICATION_EXECUTABLE}."
StrCpy $ConfirmEndProcess_KILL_NOT_FOUND_TEXT "Proceso a finalizar no encontrado!"
-StrCpy $PageReinstall_NEW_Field_1 "Una versin anterior de ${APPLICATION_NAME} se encuentra instalada en el sistema. Se recomienda de instalar la versin actual antes de instalar la nueva. Seleccione la operacion deseada y haga click en Siguiente para continuar."
+StrCpy $PageReinstall_NEW_Field_1 "Una versin anterior de ${APPLICATION_NAME} se encuentra instalada en el sistema. Se recomienda desinstalar la versin actual antes de instalar la nueva. Seleccione la operacion deseada y haga click en Siguiente para continuar."
StrCpy $PageReinstall_NEW_Field_2 "Desinstalar antes de instalar"
StrCpy $PageReinstall_NEW_Field_3 "No desinstalar"
StrCpy $PageReinstall_NEW_MUI_HEADER_TEXT_TITLE "Ya est instalado"
@@ -17,13 +17,13 @@ StrCpy $PageReinstall_SAME_MUI_HEADER_TEXT_SUBTITLE "Elija la opcion de mantenim
StrCpy $SEC_APPLICATION_DETAILS "Instalando ${APPLICATION_NAME} esenciales."
StrCpy $OPTION_SECTION_SC_SHELL_EXT_SECTION "Integracin para Windows Explorer"
StrCpy $OPTION_SECTION_SC_SHELL_EXT_DetailPrint "Instalando la integracin para Windows Explorer"
-StrCpy $OPTION_SECTION_SC_START_MENU_SECTION "Acceso directo al programa Men de Inicio"
+StrCpy $OPTION_SECTION_SC_START_MENU_SECTION "Acceso directo al programa en Men de Inicio"
StrCpy $OPTION_SECTION_SC_START_MENU_DetailPrint "Aadiendo accesos directos para ${APPLICATION_NAME} en el Men de Inicio."
StrCpy $OPTION_SECTION_SC_DESKTOP_SECTION "Acceso directo de Escritorio"
StrCpy $OPTION_SECTION_SC_DESKTOP_DetailPrint "Creando accesos directos de escritorio"
-StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_SECTION "Atajo de accceso rpido"
+StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_SECTION "Atajo de acceso rpido"
StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_DetailPrint "Creando un Acceso Directo al Lanzador Rpido"
-StrCpy $OPTION_SECTION_SC_APPLICATION_Desc "${APPLICATION_NAME} esencial."
+StrCpy $OPTION_SECTION_SC_APPLICATION_Desc "${APPLICATION_NAME} esenciales."
StrCpy $OPTION_SECTION_SC_START_MENU_Desc "Acceso Directo de ${APPLICATION_NAME}"
StrCpy $OPTION_SECTION_SC_DESKTOP_Desc "Acceso Directo de Escritorio para ${APPLICATION_NAME}"
StrCpy $OPTION_SECTION_SC_QUICK_LAUNCH_Desc "Lanzador Rpido de Accesos Director para ${APPLICATION_NAME}."
diff --git a/doc/faq.rst b/doc/faq.rst
index 7b9c85344..a07fb79e2 100644
--- a/doc/faq.rst
+++ b/doc/faq.rst
@@ -11,13 +11,15 @@ continually changes all files, unless you remove
from the windows registry.
See http://petersteier.wordpress.com/2011/10/22/windows-indexer-changes-modification-dates-of-eml-files/ for more information.
-Syncing breaks when attempting to sync deeper than 50 sub-directories, but the sync client does not report an error (RC=0)
---------------------------------------------------------------------------------------------------------------------------
-
-The sync client has been intentionally limited to sync no deeper than
-fifty sub-directories, to help prevent memory problems.
-Unfortunately, it, *currently*, does not report an error when this occurs.
-However, a UI notification is planned for a future release of ownCloud.
+Syncing stops when attempting to sync deeper than 100 sub-directories.
+----------------------------------------------------------------------
+
+The sync client has been intentionally limited to sync no deeper than 100
+sub-directories. The hard limit exists to guard against bugs with cycles
+like symbolic link loops.
+When a deeply nested directory is excluded from synchronization it will be
+listed with other ignored files and directories in the "Not synced" tab of
+the "Activity" pane.
I want to move my local sync folder
-----------------------------------
diff --git a/mirall.desktop.in b/mirall.desktop.in
index 710763723..1be43f5e5 100644
--- a/mirall.desktop.in
+++ b/mirall.desktop.in
@@ -220,6 +220,39 @@ X-GNOME-Autostart-Delay=3
# Translations
+
+
+# Translations
+
+
+# Translations
+
+
+# Translations
+
+
+# Translations
+
+
+# Translations
+
+
+# Translations
+
+
+# Translations
+
+
+# Translations
+
+
+# Translations
+
+
+# Translations
+
+
+# Translations
Comment[oc]=@APPLICATION_NAME@ sincronizacion del client
GenericName[oc]=Dorsièr de Sincronizacion
Name[oc]=@APPLICATION_NAME@ sincronizacion del client
diff --git a/src/cmd/cmd.cpp b/src/cmd/cmd.cpp
index 4055ab1b3..a84aa82af 100644
--- a/src/cmd/cmd.cpp
+++ b/src/cmd/cmd.cpp
@@ -39,6 +39,7 @@
#include "theme.h"
#include "netrcparser.h"
+#include "libsync/logger.h"
#include "config.h"
@@ -189,7 +190,7 @@ void help()
std::cout << " --downlimit [n] Limit the download speed of files to n KB/s" << std::endl;
std::cout << " -h Sync hidden files,do not ignore them" << std::endl;
std::cout << " --version, -v Display version and exit" << std::endl;
- std::cout << " --debug More verbose logging" << std::endl;
+ std::cout << " --logdebug More verbose logging" << std::endl;
std::cout << "" << std::endl;
exit(0);
}
@@ -267,6 +268,9 @@ void parseOptions(const QStringList &app_args, CmdOptions *options)
options->uplimit = it.next().toInt() * 1000;
} else if (option == "--downlimit" && !it.peekNext().startsWith("-")) {
options->downlimit = it.next().toInt() * 1000;
+ } else if (option == "--logdebug") {
+ Logger::instance()->setLogFile("-");
+ Logger::instance()->setLogDebug(true);
} else {
help();
}
@@ -330,6 +334,8 @@ int main(int argc, char **argv)
csync_set_log_level(options.silent ? 1 : 11);
if (options.silent) {
qInstallMsgHandler(nullMessageHandler);
+ } else {
+ qSetMessagePattern("%{time MM-dd hh:mm:ss:zzz} [ %{type} %{category} ]%{if-debug}\t[ %{function} ]%{endif}:\t%{message}");
}
AccountPtr account = Account::create();
diff --git a/src/common/checksums.cpp b/src/common/checksums.cpp
index 245bcaa37..1e8fdd988 100644
--- a/src/common/checksums.cpp
+++ b/src/common/checksums.cpp
@@ -120,7 +120,7 @@ QByteArray parseChecksumHeaderType(const QByteArray &header)
bool uploadChecksumEnabled()
{
- static bool enabled = qgetenv("OWNCLOUD_DISABLE_CHECKSUM_UPLOAD").isEmpty();
+ static bool enabled = qEnvironmentVariableIsEmpty("OWNCLOUD_DISABLE_CHECKSUM_UPLOAD");
return enabled;
}
@@ -133,6 +133,12 @@ QByteArray contentChecksumType()
return type;
}
+static bool checksumComputationEnabled()
+{
+ static bool enabled = qgetenv("OWNCLOUD_DISABLE_CHECKSUM_COMPUTATIONS").isEmpty();
+ return enabled;
+}
+
ComputeChecksum::ComputeChecksum(QObject *parent)
: QObject(parent)
{
@@ -150,6 +156,8 @@ QByteArray ComputeChecksum::checksumType() const
void ComputeChecksum::start(const QString &filePath)
{
+ qCInfo(lcChecksums) << "Computing" << checksumType() << "checksum of" << filePath << "in a thread";
+
// Calculate the checksum in a different thread first.
connect(&_watcher, &QFutureWatcherBase::finished,
this, &ComputeChecksum::slotCalculationDone,
@@ -159,6 +167,11 @@ void ComputeChecksum::start(const QString &filePath)
QByteArray ComputeChecksum::computeNow(const QString &filePath, const QByteArray &checksumType)
{
+ if (!checksumComputationEnabled()) {
+ qCWarning(lcChecksums) << "Checksum computation disabled by environment variable";
+ return QByteArray();
+ }
+
if (checksumType == checkSumMD5C) {
return FileSystem::calcMd5(filePath);
} else if (checksumType == checkSumSHA1C) {
@@ -237,6 +250,7 @@ QByteArray CSyncChecksumHook::hook(const QByteArray &path, const QByteArray &oth
if (type.isEmpty())
return NULL;
+ qCInfo(lcChecksums) << "Computing" << type << "checksum of" << path << "in the csync hook";
QByteArray checksum = ComputeChecksum::computeNow(QString::fromUtf8(path), type);
if (checksum.isNull()) {
qCWarning(lcChecksums) << "Failed to compute checksum" << type << "for" << path;
diff --git a/src/common/filesystembase.cpp b/src/common/filesystembase.cpp
index 879b2f85c..1d95e3918 100644
--- a/src/common/filesystembase.cpp
+++ b/src/common/filesystembase.cpp
@@ -358,26 +358,19 @@ QString FileSystem::fileSystemForPath(const QString &path)
#define BUFSIZE qint64(500 * 1024) // 500 KiB
-static QByteArray readToCrypto(const QString &filename, QCryptographicHash::Algorithm algo)
-{
- QFile file(filename);
- const qint64 bufSize = qMin(BUFSIZE, file.size() + 1);
- QByteArray buf(bufSize, Qt::Uninitialized);
- QByteArray arr;
- QCryptographicHash crypto(algo);
-
- if (file.open(QIODevice::ReadOnly)) {
- qint64 size;
- while (!file.atEnd()) {
- size = file.read(buf.data(), bufSize);
- if (size > 0) {
- crypto.addData(buf.data(), size);
- }
- }
- arr = crypto.result().toHex();
- }
- return arr;
-}
+static QByteArray readToCrypto( const QString& filename, QCryptographicHash::Algorithm algo )
+ {
+ QFile file(filename);
+ QByteArray arr;
+ QCryptographicHash crypto( algo );
+
+ if (file.open(QIODevice::ReadOnly)) {
+ if (crypto.addData(&file)) {
+ arr = crypto.result().toHex();
+ }
+ }
+ return arr;
+ }
QByteArray FileSystem::calcMd5(const QString &filename)
{
diff --git a/src/common/syncjournaldb.cpp b/src/common/syncjournaldb.cpp
index ad8c68aa8..324cced6e 100644
--- a/src/common/syncjournaldb.cpp
+++ b/src/common/syncjournaldb.cpp
@@ -1110,15 +1110,10 @@ bool SyncJournalDb::getFileRecordByInode(quint64 inode, SyncJournalFileRecord *r
return true;
}
-bool SyncJournalDb::getFileRecordByFileId(const QByteArray &fileId, SyncJournalFileRecord *rec)
+bool SyncJournalDb::getFileRecordsByFileId(const QByteArray &fileId, const std::function<void(const SyncJournalFileRecord &)> &rowCallback)
{
QMutexLocker locker(&_mutex);
- // Reset the output var in case the caller is reusing it.
- Q_ASSERT(rec);
- rec->_path.clear();
- Q_ASSERT(!rec->isValid());
-
if (fileId.isEmpty() || _metadataTableIsEmpty)
return true; // no error, yet nothing found (rec->isValid() == false)
@@ -1132,8 +1127,10 @@ bool SyncJournalDb::getFileRecordByFileId(const QByteArray &fileId, SyncJournalF
return false;
}
- if (_getFileRecordQueryByFileId->next()) {
- fillFileRecordFromGetQuery(*rec, *_getFileRecordQueryByFileId);
+ while (_getFileRecordQueryByFileId->next()) {
+ SyncJournalFileRecord rec;
+ fillFileRecordFromGetQuery(rec, *_getFileRecordQueryByFileId);
+ rowCallback(rec);
}
return true;
diff --git a/src/common/syncjournaldb.h b/src/common/syncjournaldb.h
index 91556a807..ad61a6ad2 100644
--- a/src/common/syncjournaldb.h
+++ b/src/common/syncjournaldb.h
@@ -58,7 +58,7 @@ public:
bool getFileRecord(const QString &filename, SyncJournalFileRecord *rec) { return getFileRecord(filename.toUtf8(), rec); }
bool getFileRecord(const QByteArray &filename, SyncJournalFileRecord *rec);
bool getFileRecordByInode(quint64 inode, SyncJournalFileRecord *rec);
- bool getFileRecordByFileId(const QByteArray &fileId, SyncJournalFileRecord *rec);
+ bool getFileRecordsByFileId(const QByteArray &fileId, const std::function<void(const SyncJournalFileRecord &)> &rowCallback);
bool getFilesBelowPath(const QByteArray &path, const std::function<void(const SyncJournalFileRecord&)> &rowCallback);
bool setFileRecord(const SyncJournalFileRecord &record);
diff --git a/src/common/utility.cpp b/src/common/utility.cpp
index 212433c75..1653bd3d2 100644
--- a/src/common/utility.cpp
+++ b/src/common/utility.cpp
@@ -579,7 +579,7 @@ bool Utility::isConflictFile(const char *name)
bool Utility::shouldUploadConflictFiles()
{
- static bool uploadConflictFiles = qgetenv("OWNCLOUD_UPLOAD_CONFLICT_FILES").toInt() != 0;
+ static bool uploadConflictFiles = qEnvironmentVariableIntValue("OWNCLOUD_UPLOAD_CONFLICT_FILES") != 0;
return uploadConflictFiles;
}
diff --git a/src/csync/csync_reconcile.cpp b/src/csync/csync_reconcile.cpp
index 52ebba36f..92aa563fe 100644
--- a/src/csync/csync_reconcile.cpp
+++ b/src/csync/csync_reconcile.cpp
@@ -104,14 +104,17 @@ static bool _csync_is_collision_safe_hash(const char *checksum_header)
* source and the destination, have been changed, the newer file wins.
*/
static int _csync_merge_algorithm_visitor(csync_file_stat_t *cur, CSYNC * ctx) {
+ csync_s::FileMap *our_tree = nullptr;
csync_s::FileMap *other_tree = nullptr;
/* we need the opposite tree! */
switch (ctx->current) {
case LOCAL_REPLICA:
+ our_tree = &ctx->local.files;
other_tree = &ctx->remote.files;
break;
case REMOTE_REPLICA:
+ our_tree = &ctx->remote.files;
other_tree = &ctx->local.files;
break;
default:
@@ -152,40 +155,51 @@ static int _csync_merge_algorithm_visitor(csync_file_stat_t *cur, CSYNC * ctx) {
cur->instruction = CSYNC_INSTRUCTION_REMOVE;
break;
case CSYNC_INSTRUCTION_EVAL_RENAME: {
- OCC::SyncJournalFileRecord base;
- if(ctx->current == LOCAL_REPLICA ) {
- /* use the old name to find the "other" node */
- ctx->statedb->getFileRecordByInode(cur->inode, &base);
- qCDebug(lcReconcile, "Finding opposite temp through inode %" PRIu64 ": %s",
- cur->inode, base.isValid() ? "true":"false");
- } else {
- ASSERT( ctx->current == REMOTE_REPLICA );
- ctx->statedb->getFileRecordByFileId(cur->file_id, &base);
- qCDebug(lcReconcile, "Finding opposite temp through file ID %s: %s",
- cur->file_id.constData(), base.isValid() ? "true":"false");
- }
+ // By default, the EVAL_RENAME decays into a NEW
+ cur->instruction = CSYNC_INSTRUCTION_NEW;
+
+ bool processedRename = false;
+ auto renameCandidateProcessing = [&](const OCC::SyncJournalFileRecord &base) {
+ if (processedRename)
+ return;
+ if (!base.isValid())
+ return;
- if( base.isValid() ) {
/* First, check that the file is NOT in our tree (another file with the same name was added) */
- csync_s::FileMap *our_tree = ctx->current == REMOTE_REPLICA ? &ctx->remote.files : &ctx->local.files;
- if (our_tree->findFile(base._path)) {
- qCDebug(lcReconcile, "Origin found in our tree : %s", base._path.constData());
+ if (our_tree->findFile(base._path)) {
+ qCDebug(lcReconcile, "Origin found in our tree : %s", base._path.constData());
} else {
- /* Find the temporar file in the other tree.
+ /* Find the potential rename source file in the other tree.
* If the renamed file could not be found in the opposite tree, that is because it
* is not longer existing there, maybe because it was renamed or deleted.
* The journal is cleaned up later after propagation.
*/
other = other_tree->findFile(base._path);
- qCDebug(lcReconcile, "Temporary opposite (%s) %s",
- base._path.constData() , other ? "found": "not found" );
+ qCDebug(lcReconcile, "Rename origin in other tree (%s) %s",
+ base._path.constData(), other ? "found" : "not found");
}
if(!other) {
- cur->instruction = CSYNC_INSTRUCTION_NEW;
- } else if (other->instruction == CSYNC_INSTRUCTION_NONE
- || other->instruction == CSYNC_INSTRUCTION_UPDATE_METADATA
- || cur->type == CSYNC_FTW_TYPE_DIR) {
+ // Stick with the NEW
+ return;
+ } else if (other->instruction == CSYNC_INSTRUCTION_RENAME) {
+ // Some other EVAL_RENAME already claimed other.
+ // We do nothing: maybe a different candidate for
+ // other is found as well?
+ qCDebug(lcReconcile, "Other has already been renamed to %s",
+ other->rename_path.constData());
+ } else if (cur->type == CSYNC_FTW_TYPE_DIR
+ // The local replica is reconciled first, so the remote tree would
+ // have either NONE or UPDATE_METADATA if the remote file is safe to
+ // move.
+ // In the remote replica, REMOVE is also valid (local has already
+ // been reconciled). NONE can still happen if the whole parent dir
+ // was set to REMOVE by the local reconcile.
+ || other->instruction == CSYNC_INSTRUCTION_NONE
+ || other->instruction == CSYNC_INSTRUCTION_UPDATE_METADATA
+ || other->instruction == CSYNC_INSTRUCTION_REMOVE) {
+ qCDebug(lcReconcile, "Switching %s to RENAME to %s",
+ other->path.constData(), cur->path.constData());
other->instruction = CSYNC_INSTRUCTION_RENAME;
other->rename_path = cur->path;
if( !cur->file_id.isEmpty() ) {
@@ -193,24 +207,44 @@ static int _csync_merge_algorithm_visitor(csync_file_stat_t *cur, CSYNC * ctx) {
}
other->inode = cur->inode;
cur->instruction = CSYNC_INSTRUCTION_NONE;
- } else if (other->instruction == CSYNC_INSTRUCTION_REMOVE) {
- other->instruction = CSYNC_INSTRUCTION_RENAME;
- other->rename_path = cur->path;
+ // We have consumed 'other': exit this loop to not consume another one.
+ processedRename = true;
+ } else if (our_tree->findFile(csync_rename_adjust_path(ctx, other->path)) == cur) {
+ // If we're here, that means that the other side's reconcile will be able
+ // to work against cur: The filename itself didn't change, only a parent
+ // directory was renamed! In that case it's safe to ignore the rename
+ // since the parent directory rename will already deal with it.
- if( !cur->file_id.isEmpty() ) {
- other->file_id = cur->file_id;
- }
- other->inode = cur->inode;
+ // Local: The remote reconcile will be able to deal with this.
+ // Remote: The local replica has already dealt with this.
+ // See the EVAL_RENAME case when other was found directly.
+ qCDebug(lcReconcile, "File in a renamed directory, other side's instruction: %d",
+ other->instruction);
cur->instruction = CSYNC_INSTRUCTION_NONE;
- } else if (other->instruction == CSYNC_INSTRUCTION_NEW) {
- qCDebug(lcReconcile, "OOOO=> NEW detected in other tree!");
- cur->instruction = CSYNC_INSTRUCTION_CONFLICT;
} else {
- assert(other->type != CSYNC_FTW_TYPE_DIR);
- cur->instruction = CSYNC_INSTRUCTION_NONE;
- other->instruction = CSYNC_INSTRUCTION_SYNC;
+ // This can, for instance, happen when there was a local change in other
+ // and the instruction in the local tree is NEW while cur has EVAL_RENAME
+ // due to a remote move of the same file. In these scenarios we just
+ // want the instruction to stay NEW.
+ qCDebug(lcReconcile, "Other already has instruction %d",
+ other->instruction);
}
+ };
+
+ if (ctx->current == LOCAL_REPLICA) {
+ /* use the old name to find the "other" node */
+ OCC::SyncJournalFileRecord base;
+ qCDebug(lcReconcile, "Finding rename origin through inode %" PRIu64 "",
+ cur->inode);
+ ctx->statedb->getFileRecordByInode(cur->inode, &base);
+ renameCandidateProcessing(base);
+ } else {
+ ASSERT(ctx->current == REMOTE_REPLICA);
+ qCDebug(lcReconcile, "Finding rename origin through file ID %s",
+ cur->file_id.constData());
+ ctx->statedb->getFileRecordsByFileId(cur->file_id, renameCandidateProcessing);
}
+
break;
}
default:
@@ -310,10 +344,19 @@ static int _csync_merge_algorithm_visitor(csync_file_stat_t *cur, CSYNC * ctx) {
break;
case CSYNC_INSTRUCTION_IGNORE:
cur->instruction = CSYNC_INSTRUCTION_IGNORE;
- break;
+ break;
default:
break;
}
+ // Ensure we're not leaving discovery-only instructions
+ // in place. This can happen, for instance, when other's
+ // instruction is EVAL_RENAME because the parent dir was renamed.
+ // NEW is safer than EVAL because it will end up with
+ // propagation unless it's changed by something, and EVAL and
+ // NEW are treated equivalently during reconcile.
+ if (cur->instruction == CSYNC_INSTRUCTION_EVAL)
+ cur->instruction = CSYNC_INSTRUCTION_NEW;
+ break;
default:
break;
}
diff --git a/src/csync/csync_update.cpp b/src/csync/csync_update.cpp
index 35c73e625..9f08039c7 100644
--- a/src/csync/csync_update.cpp
+++ b/src/csync/csync_update.cpp
@@ -297,41 +297,60 @@ static int _csync_detect_update(CSYNC *ctx, std::unique_ptr<csync_file_stat_t> f
} else {
/* Remote Replica Rename check */
- OCC::SyncJournalFileRecord base;
- if(!ctx->statedb->getFileRecordByFileId(fs->file_id, &base)) {
- ctx->status_code = CSYNC_STATUS_UNSUCCESSFUL;
- return -1;
- }
- if (base.isValid()) { /* tmp existing at all */
+ fs->instruction = CSYNC_INSTRUCTION_NEW;
+
+ bool done = false;
+ auto renameCandidateProcessing = [&](const OCC::SyncJournalFileRecord &base) {
+ if (done)
+ return;
+ if (!base.isValid())
+ return;
+
+ // Some things prohibit rename detection entirely.
+ // Since we don't do the same checks again in reconcile, we can't
+ // just skip the candidate, but have to give up completely.
if (base._type != fs->type) {
- qCWarning(lcUpdate, "file types different is not!");
- fs->instruction = CSYNC_INSTRUCTION_NEW;
- goto out;
+ qCWarning(lcUpdate, "file types different, not a rename");
+ done = true;
+ return;
}
- qCDebug(lcUpdate, "remote rename detected based on fileid %s --> %s", base._path.constData(), fs->path.constData());
- fs->instruction = CSYNC_INSTRUCTION_EVAL_RENAME;
+ if (fs->type != CSYNC_FTW_TYPE_DIR && base._etag != fs->etag) {
+ /* File with different etag, don't do a rename, but download the file again */
+ qCWarning(lcUpdate, "file etag different, not a rename");
+ done = true;
+ return;
+ }
+
+ // Record directory renames
if (fs->type == CSYNC_FTW_TYPE_DIR) {
- csync_rename_record(ctx, base._path, fs->path);
- } else {
- if( base._etag != fs->etag ) {
- /* CSYNC_LOG(CSYNC_LOG_PRIORITY_DEBUG, "ETags are different!"); */
- /* File with different etag, don't do a rename, but download the file again */
- fs->instruction = CSYNC_INSTRUCTION_NEW;
+ // If the same folder was already renamed by a different entry,
+ // skip to the next candidate
+ if (ctx->renames.folder_renamed_to.count(base._path) > 0) {
+ qCWarning(lcUpdate, "folder already has a rename entry, skipping");
+ return;
}
+ csync_rename_record(ctx, base._path, fs->path);
}
- goto out;
- } else {
- /* file not found in statedb */
- fs->instruction = CSYNC_INSTRUCTION_NEW;
+ qCDebug(lcUpdate, "remote rename detected based on fileid %s --> %s", base._path.constData(), fs->path.constData());
+ fs->instruction = CSYNC_INSTRUCTION_EVAL_RENAME;
+ done = true;
+ };
- if (fs->type == CSYNC_FTW_TYPE_DIR && ctx->current == REMOTE_REPLICA && ctx->callbacks.checkSelectiveSyncNewFolderHook) {
- if (ctx->callbacks.checkSelectiveSyncNewFolderHook(ctx->callbacks.update_callback_userdata, fs->path, fs->remotePerm)) {
- return 1;
- }
+ if (!ctx->statedb->getFileRecordsByFileId(fs->file_id, renameCandidateProcessing)) {
+ ctx->status_code = CSYNC_STATUS_UNSUCCESSFUL;
+ return -1;
+ }
+
+ if (fs->instruction == CSYNC_INSTRUCTION_NEW
+ && fs->type == CSYNC_FTW_TYPE_DIR
+ && ctx->current == REMOTE_REPLICA
+ && ctx->callbacks.checkSelectiveSyncNewFolderHook) {
+ if (ctx->callbacks.checkSelectiveSyncNewFolderHook(ctx->callbacks.update_callback_userdata, fs->path, fs->remotePerm)) {
+ return 1;
}
- goto out;
}
+ goto out;
}
}
diff --git a/src/gui/creds/httpcredentialsgui.cpp b/src/gui/creds/httpcredentialsgui.cpp
index 366cbe161..bfa87f097 100644
--- a/src/gui/creds/httpcredentialsgui.cpp
+++ b/src/gui/creds/httpcredentialsgui.cpp
@@ -32,10 +32,11 @@ namespace OCC {
void HttpCredentialsGui::askFromUser()
{
- // Unfortunately there's a bug that doesn't allow us to send the "is this
- // OAuth2 or Basic auth?" GET request directly. Scheduling it for the event
- // loop works though. See #5989.
- QMetaObject::invokeMethod(this, "askFromUserAsync", Qt::QueuedConnection);
+ // This function can be called from AccountState::slotInvalidCredentials,
+ // which (indirectly, through HttpCredentials::invalidateToken) schedules
+ // a cache wipe of the qnam. We can only execute a network job again once
+ // the cache has been cleared, otherwise we'd interfere with the job.
+ QTimer::singleShot(100, this, &HttpCredentialsGui::askFromUserAsync);
}
void HttpCredentialsGui::askFromUserAsync()
diff --git a/src/gui/creds/httpcredentialsgui.h b/src/gui/creds/httpcredentialsgui.h
index 94ebda152..671960c88 100644
--- a/src/gui/creds/httpcredentialsgui.h
+++ b/src/gui/creds/httpcredentialsgui.h
@@ -60,12 +60,12 @@ public:
private slots:
void asyncAuthResult(OAuth::Result, const QString &user, const QString &accessToken, const QString &refreshToken);
void showDialog();
+ void askFromUserAsync();
signals:
void authorisationLinkChanged();
private:
- Q_INVOKABLE void askFromUserAsync();
QScopedPointer<OAuth, QScopedPointerObjectDeleteLater<OAuth>> _asyncAuth;
};
diff --git a/src/gui/creds/shibboleth/shibbolethwebview.cpp b/src/gui/creds/shibboleth/shibbolethwebview.cpp
index 4332cb95b..53fad96fa 100644
--- a/src/gui/creds/shibboleth/shibbolethwebview.cpp
+++ b/src/gui/creds/shibboleth/shibbolethwebview.cpp
@@ -43,7 +43,7 @@ public:
UserAgentWebPage(QObject *parent)
: QWebPage(parent)
{
- if (!qgetenv("OWNCLOUD_SHIBBOLETH_DEBUG").isEmpty()) {
+ if (!qEnvironmentVariableIsEmpty("OWNCLOUD_SHIBBOLETH_DEBUG")) {
settings()->setAttribute(QWebSettings::DeveloperExtrasEnabled, true);
}
}
@@ -83,7 +83,7 @@ ShibbolethWebView::ShibbolethWebView(AccountPtr account, QWidget *parent)
setWindowTitle(tr("%1 - Authenticate").arg(Theme::instance()->appNameGUI()));
// Debug view to display the cipher suite
- if (!qgetenv("OWNCLOUD_SHIBBOLETH_DEBUG").isEmpty()) {
+ if (!qEnvironmentVariableIsEmpty("OWNCLOUD_SHIBBOLETH_DEBUG")) {
// open an additional window to display some cipher debug info
QWebPage *debugPage = new UserAgentWebPage(this);
debugPage->mainFrame()->load(QUrl("https://cc.dcsec.uni-hannover.de/"));
diff --git a/src/gui/folder.cpp b/src/gui/folder.cpp
index 544da3bf0..13aa24d9a 100644
--- a/src/gui/folder.cpp
+++ b/src/gui/folder.cpp
@@ -900,6 +900,11 @@ void Folder::slotTransmissionProgress(const ProgressInfo &pi)
// a item is completed: count the errors and forward to the ProgressDispatcher
void Folder::slotItemCompleted(const SyncFileItemPtr &item)
{
+ if (item->_instruction == CSYNC_INSTRUCTION_NONE || item->_instruction == CSYNC_INSTRUCTION_UPDATE_METADATA) {
+ // We only care about the updates that deserve to be shown in the UI
+ return;
+ }
+
// add new directories or remove gone away dirs to the watcher
if (item->isDirectory() && item->_instruction == CSYNC_INSTRUCTION_NEW) {
if (_folderWatcher)
diff --git a/src/gui/issueswidget.cpp b/src/gui/issueswidget.cpp
index edc984a7d..c132ff925 100644
--- a/src/gui/issueswidget.cpp
+++ b/src/gui/issueswidget.cpp
@@ -107,6 +107,16 @@ void IssuesWidget::showEvent(QShowEvent *ev)
{
ConfigFile cfg;
cfg.restoreGeometryHeader(_ui->_treeWidget->header());
+
+ // Sorting by section was newly enabled. But if we restore the header
+ // from a state where sorting was disabled, both of these flags will be
+ // false and sorting will be impossible!
+ _ui->_treeWidget->header()->setSectionsClickable(true);
+ _ui->_treeWidget->header()->setSortIndicatorShown(true);
+
+ // Switch back to "first important, then by time" ordering
+ _ui->_treeWidget->sortByColumn(0, Qt::DescendingOrder);
+
QWidget::showEvent(ev);
}
@@ -119,6 +129,8 @@ void IssuesWidget::hideEvent(QHideEvent *ev)
void IssuesWidget::cleanItems(const QString &folder)
{
+ _ui->_treeWidget->setSortingEnabled(false);
+
// The issue list is a state, clear it and let the next sync fill it
// with ignored files and propagation errors.
int itemCnt = _ui->_treeWidget->topLevelItemCount();
@@ -129,6 +141,9 @@ void IssuesWidget::cleanItems(const QString &folder)
delete item;
}
}
+
+ _ui->_treeWidget->setSortingEnabled(true);
+
// update the tabtext
emit(issueCountUpdated(_ui->_treeWidget->topLevelItemCount()));
}
@@ -240,7 +255,7 @@ bool IssuesWidget::shouldBeVisible(QTreeWidgetItem *item, AccountState *filterAc
const QString &filterFolderAlias) const
{
bool visible = true;
- auto status = item->data(0, Qt::UserRole);
+ auto status = item->data(3, Qt::UserRole);
visible &= (_ui->showIgnores->isChecked() || status != SyncFileItem::FileIgnored);
visible &= (_ui->showWarnings->isChecked()
|| (status != SyncFileItem::SoftError
@@ -368,13 +383,14 @@ void IssuesWidget::addError(const QString &folderAlias, const QString &message,
QIcon icon = Theme::instance()->syncStateIcon(SyncResult::Error);
- QTreeWidgetItem *twitem = new QTreeWidgetItem(columns);
+ QTreeWidgetItem *twitem = new SortedTreeWidgetItem(columns);
twitem->setData(0, Qt::SizeHintRole, QSize(0, ActivityItemDelegate::rowHeight()));
+ twitem->setData(0, Qt::UserRole, timestamp);
twitem->setIcon(0, icon);
twitem->setToolTip(0, longTimeStr);
- twitem->setToolTip(3, message);
- twitem->setData(0, Qt::UserRole, SyncFileItem::NormalError);
twitem->setData(2, Qt::UserRole, folderAlias);
+ twitem->setToolTip(3, message);
+ twitem->setData(3, Qt::UserRole, SyncFileItem::NormalError);
addItem(twitem);
addErrorWidget(twitem, message, category);
diff --git a/src/gui/issueswidget.ui b/src/gui/issueswidget.ui
index 27bfe1118..2d1161e78 100644
--- a/src/gui/issueswidget.ui
+++ b/src/gui/issueswidget.ui
@@ -99,6 +99,9 @@
<property name="rootIsDecorated">
<bool>false</bool>
</property>
+ <property name="sortingEnabled">
+ <bool>true</bool>
+ </property>
<property name="columnCount">
<number>4</number>
</property>
diff --git a/src/gui/main.cpp b/src/gui/main.cpp
index ba3947f14..8614bdcf4 100644
--- a/src/gui/main.cpp
+++ b/src/gui/main.cpp
@@ -88,7 +88,7 @@ int main(int argc, char **argv)
// check a environment variable for core dumps
#ifdef Q_OS_UNIX
- if (!qgetenv("OWNCLOUD_CORE_DUMP").isEmpty()) {
+ if (!qEnvironmentVariableIsEmpty("OWNCLOUD_CORE_DUMP")) {
struct rlimit core_limit;
core_limit.rlim_cur = RLIM_INFINITY;
core_limit.rlim_max = RLIM_INFINITY;
diff --git a/src/gui/owncloudsetupwizard.cpp b/src/gui/owncloudsetupwizard.cpp
index ac57424e5..e5bcb4a44 100644
--- a/src/gui/owncloudsetupwizard.cpp
+++ b/src/gui/owncloudsetupwizard.cpp
@@ -18,6 +18,7 @@
#include <QProcess>
#include <QMessageBox>
#include <QDesktopServices>
+#include <QApplication>
#include "wizard/owncloudwizardcommon.h"
#include "wizard/owncloudwizard.h"
@@ -45,7 +46,7 @@ OwncloudSetupWizard::OwncloudSetupWizard(QObject *parent)
, _remoteFolder()
{
connect(_ocWizard, &OwncloudWizard::determineAuthType,
- this, &OwncloudSetupWizard::slotDetermineAuthType);
+ this, &OwncloudSetupWizard::slotCheckServer);
connect(_ocWizard, &OwncloudWizard::connectToOCUrl,
this, &OwncloudSetupWizard::slotConnectToOCUrl);
connect(_ocWizard, &OwncloudWizard::createLocalAndRemoteFolders,
@@ -69,6 +70,7 @@ static QPointer<OwncloudSetupWizard> wiz = 0;
void OwncloudSetupWizard::runWizard(QObject *obj, const char *amember, QWidget *parent)
{
if (!wiz.isNull()) {
+ bringWizardToFrontIfVisible();
return;
}
@@ -84,6 +86,17 @@ bool OwncloudSetupWizard::bringWizardToFrontIfVisible()
return false;
}
+ if (wiz->_ocWizard->currentId() == WizardCommon::Page_ShibbolethCreds) {
+ // Try to find if there is a browser open and raise that instead (Issue #6105)
+ const auto allWindow = qApp->topLevelWidgets();
+ auto it = std::find_if(allWindow.cbegin(), allWindow.cend(), [](QWidget *w)
+ { return QLatin1String(w->metaObject()->className()) == QLatin1String("OCC::ShibbolethWebView"); });
+ if (it != allWindow.cend()) {
+ ownCloudGui::raiseDialog(*it);
+ return true;
+ }
+ }
+
ownCloudGui::raiseDialog(wiz->_ocWizard);
return true;
}
@@ -127,7 +140,7 @@ void OwncloudSetupWizard::startWizard()
}
// also checks if an installation is valid and determines auth type in a second step
-void OwncloudSetupWizard::slotDetermineAuthType(const QString &urlString)
+void OwncloudSetupWizard::slotCheckServer(const QString &urlString)
{
QString fixedUrl = urlString;
QUrl url = QUrl::fromUserInput(fixedUrl);
@@ -150,7 +163,7 @@ void OwncloudSetupWizard::slotDetermineAuthType(const QString &urlString)
// We want to reset the QNAM proxy so that the global proxy settings are used (via ClientProxy settings)
account->networkAccessManager()->setProxy(QNetworkProxy(QNetworkProxy::DefaultProxy));
// use a queued invocation so we're as asynchronous as with the other code path
- QMetaObject::invokeMethod(this, "slotContinueDetermineAuth", Qt::QueuedConnection);
+ QMetaObject::invokeMethod(this, "slotFindServer", Qt::QueuedConnection);
}
}
@@ -164,20 +177,40 @@ void OwncloudSetupWizard::slotSystemProxyLookupDone(const QNetworkProxy &proxy)
AccountPtr account = _ocWizard->account();
account->networkAccessManager()->setProxy(proxy);
- slotContinueDetermineAuth();
+ slotFindServer();
}
-void OwncloudSetupWizard::slotContinueDetermineAuth()
+void OwncloudSetupWizard::slotFindServer()
{
AccountPtr account = _ocWizard->account();
// Set fake credentials before we check what credential it actually is.
account->setCredentials(CredentialsFactory::create("dummy"));
- // Before we check the auth type, resolve any permanent redirect
- // chain there might be. We cannot do this only on url/status.php
- // in CheckServerJob, because things like url shorteners don't
- // redirect subpaths.
+ // Determining the actual server URL can be a multi-stage process
+ // 1. Check url/status.php with CheckServerJob
+ // If that works we're done. In that case we don't check the
+ // url directly for redirects, see #5954.
+ // 2. Check the url for permanent redirects (like url shorteners)
+ // 3. Check redirected-url/status.php with CheckServerJob
+
+ // Step 1: Check url/status.php
+ CheckServerJob *job = new CheckServerJob(account, this);
+ job->setIgnoreCredentialFailure(true);
+ connect(job, &CheckServerJob::instanceFound, this, &OwncloudSetupWizard::slotFoundServer);
+ connect(job, &CheckServerJob::instanceNotFound, this, &OwncloudSetupWizard::slotFindServerBehindRedirect);
+ connect(job, &CheckServerJob::timeout, this, &OwncloudSetupWizard::slotNoServerFoundTimeout);
+ job->setTimeout((account->url().scheme() == "https") ? 30 * 1000 : 10 * 1000);
+ job->start();
+
+ // Step 2 and 3 are in slotFindServerBehindRedirect()
+}
+
+void OwncloudSetupWizard::slotFindServerBehindRedirect()
+{
+ AccountPtr account = _ocWizard->account();
+
+ // Step 2: Resolve any permanent redirect chains on the base url
auto redirectCheckJob = account->sendRequest("GET", account->url());
// Use a significantly reduced timeout for this redirect check:
@@ -197,20 +230,20 @@ void OwncloudSetupWizard::slotContinueDetermineAuth()
}
});
- // When done, start checking status.php.
+ // Step 3: When done, start checking status.php.
connect(redirectCheckJob, &SimpleNetworkJob::finishedSignal, this,
[this, account]() {
CheckServerJob *job = new CheckServerJob(account, this);
job->setIgnoreCredentialFailure(true);
- connect(job, &CheckServerJob::instanceFound, this, &OwncloudSetupWizard::slotOwnCloudFoundAuth);
- connect(job, &CheckServerJob::instanceNotFound, this, &OwncloudSetupWizard::slotNoOwnCloudFoundAuth);
- connect(job, &CheckServerJob::timeout, this, &OwncloudSetupWizard::slotNoOwnCloudFoundAuthTimeout);
+ connect(job, &CheckServerJob::instanceFound, this, &OwncloudSetupWizard::slotFoundServer);
+ connect(job, &CheckServerJob::instanceNotFound, this, &OwncloudSetupWizard::slotNoServerFound);
+ connect(job, &CheckServerJob::timeout, this, &OwncloudSetupWizard::slotNoServerFoundTimeout);
job->setTimeout((account->url().scheme() == "https") ? 30 * 1000 : 10 * 1000);
job->start();
- });
+ });
}
-void OwncloudSetupWizard::slotOwnCloudFoundAuth(const QUrl &url, const QJsonObject &info)
+void OwncloudSetupWizard::slotFoundServer(const QUrl &url, const QJsonObject &info)
{
auto serverVersion = CheckServerJob::version(info);
@@ -230,14 +263,10 @@ void OwncloudSetupWizard::slotOwnCloudFoundAuth(const QUrl &url, const QJsonObje
qCInfo(lcWizard) << " was redirected to" << url.toString();
}
- DetermineAuthTypeJob *job = new DetermineAuthTypeJob(_ocWizard->account(), this);
- job->setIgnoreCredentialFailure(true);
- connect(job, &DetermineAuthTypeJob::authType,
- _ocWizard, &OwncloudWizard::setAuthType);
- job->start();
+ slotDetermineAuthType();
}
-void OwncloudSetupWizard::slotNoOwnCloudFoundAuth(QNetworkReply *reply)
+void OwncloudSetupWizard::slotNoServerFound(QNetworkReply *reply)
{
auto job = qobject_cast<CheckServerJob *>(sender());
int resultCode = reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt();
@@ -279,12 +308,21 @@ void OwncloudSetupWizard::slotNoOwnCloudFoundAuth(QNetworkReply *reply)
_ocWizard->account()->resetRejectedCertificates();
}
-void OwncloudSetupWizard::slotNoOwnCloudFoundAuthTimeout(const QUrl &url)
+void OwncloudSetupWizard::slotNoServerFoundTimeout(const QUrl &url)
{
_ocWizard->displayError(
tr("Timeout while trying to connect to %1 at %2.")
.arg(Utility::escape(Theme::instance()->appNameGUI()), Utility::escape(url.toString())),
- false);
+ false);
+}
+
+void OwncloudSetupWizard::slotDetermineAuthType()
+{
+ DetermineAuthTypeJob *job = new DetermineAuthTypeJob(_ocWizard->account(), this);
+ job->setIgnoreCredentialFailure(true);
+ connect(job, &DetermineAuthTypeJob::authType,
+ _ocWizard, &OwncloudWizard::setAuthType);
+ job->start();
}
void OwncloudSetupWizard::slotConnectToOCUrl(const QString &url)
diff --git a/src/gui/owncloudsetupwizard.h b/src/gui/owncloudsetupwizard.h
index 28fa884fa..a663af761 100644
--- a/src/gui/owncloudsetupwizard.h
+++ b/src/gui/owncloudsetupwizard.h
@@ -49,12 +49,16 @@ signals:
void ownCloudWizardDone(int);
private slots:
- void slotDetermineAuthType(const QString &);
+ void slotCheckServer(const QString &);
void slotSystemProxyLookupDone(const QNetworkProxy &proxy);
- void slotContinueDetermineAuth();
- void slotOwnCloudFoundAuth(const QUrl &, const QJsonObject &);
- void slotNoOwnCloudFoundAuth(QNetworkReply *reply);
- void slotNoOwnCloudFoundAuthTimeout(const QUrl &url);
+
+ void slotFindServer();
+ void slotFindServerBehindRedirect();
+ void slotFoundServer(const QUrl &, const QJsonObject &);
+ void slotNoServerFound(QNetworkReply *reply);
+ void slotNoServerFoundTimeout(const QUrl &url);
+
+ void slotDetermineAuthType();
void slotConnectToOCUrl(const QString &);
void slotAuthError();
diff --git a/src/gui/protocolwidget.cpp b/src/gui/protocolwidget.cpp
index f3a52dff6..e27152563 100644
--- a/src/gui/protocolwidget.cpp
+++ b/src/gui/protocolwidget.cpp
@@ -32,6 +32,19 @@
namespace OCC {
+bool SortedTreeWidgetItem::operator<(const QTreeWidgetItem &other) const
+{
+ int column = treeWidget()->sortColumn();
+ if (column != 0) {
+ return QTreeWidgetItem::operator<(other);
+ }
+
+ // Items with empty "File" column are larger than others,
+ // otherwise sort by time (this uses lexicographic ordering)
+ return std::forward_as_tuple(text(1).isEmpty(), data(0, Qt::UserRole).toDateTime())
+ < std::forward_as_tuple(other.text(1).isEmpty(), other.data(0, Qt::UserRole).toDateTime());
+}
+
ProtocolWidget::ProtocolWidget(QWidget *parent)
: QWidget(parent)
, _ui(new Ui::ProtocolWidget)
@@ -86,6 +99,16 @@ void ProtocolWidget::showEvent(QShowEvent *ev)
{
ConfigFile cfg;
cfg.restoreGeometryHeader(_ui->_treeWidget->header());
+
+ // Sorting by section was newly enabled. But if we restore the header
+ // from a state where sorting was disabled, both of these flags will be
+ // false and sorting will be impossible!
+ _ui->_treeWidget->header()->setSectionsClickable(true);
+ _ui->_treeWidget->header()->setSortIndicatorShown(true);
+
+ // Switch back to "by time" ordering
+ _ui->_treeWidget->sortByColumn(0, Qt::DescendingOrder);
+
QWidget::showEvent(ev);
}
@@ -158,14 +181,15 @@ QTreeWidgetItem *ProtocolWidget::createCompletedTreewidgetItem(const QString &fo
columns << Utility::octetsToString(item._size);
}
- QTreeWidgetItem *twitem = new QTreeWidgetItem(columns);
+ QTreeWidgetItem *twitem = new SortedTreeWidgetItem(columns);
twitem->setData(0, Qt::SizeHintRole, QSize(0, ActivityItemDelegate::rowHeight()));
+ twitem->setData(0, Qt::UserRole, timestamp);
twitem->setIcon(0, icon);
twitem->setToolTip(0, longTimeStr);
twitem->setToolTip(1, item._file);
- twitem->setToolTip(3, message);
- twitem->setData(0, Qt::UserRole, item._status);
twitem->setData(2, Qt::UserRole, folder);
+ twitem->setToolTip(3, message);
+ twitem->setData(3, Qt::UserRole, item._status);
return twitem;
}
diff --git a/src/gui/protocolwidget.h b/src/gui/protocolwidget.h
index 7e3a154a5..77bb641b4 100644
--- a/src/gui/protocolwidget.h
+++ b/src/gui/protocolwidget.h
@@ -35,6 +35,21 @@ namespace Ui {
class Application;
/**
+ * A QTreeWidgetItem with special sorting.
+ *
+ * It allows items for global entries to be moved to the top if the
+ * sorting section is the "Time" column.
+ */
+class SortedTreeWidgetItem : public QTreeWidgetItem
+{
+public:
+ using QTreeWidgetItem::QTreeWidgetItem;
+
+private:
+ bool operator<(const QTreeWidgetItem &other) const override;
+};
+
+/**
* @brief The ProtocolWidget class
* @ingroup gui
*/
diff --git a/src/gui/protocolwidget.ui b/src/gui/protocolwidget.ui
index 143c2d627..7cec20f9d 100644
--- a/src/gui/protocolwidget.ui
+++ b/src/gui/protocolwidget.ui
@@ -35,6 +35,9 @@
<property name="uniformRowHeights">
<bool>true</bool>
</property>
+ <property name="sortingEnabled">
+ <bool>true</bool>
+ </property>
<property name="columnCount">
<number>4</number>
</property>
diff --git a/src/gui/settingsdialogmac.cpp b/src/gui/settingsdialogmac.cpp
index 9124c8288..0e117779b 100644
--- a/src/gui/settingsdialogmac.cpp
+++ b/src/gui/settingsdialogmac.cpp
@@ -157,7 +157,8 @@ void SettingsDialogMac::accountAdded(AccountState *s)
connect(accountSettings, &AccountSettings::openFolderAlias, _gui, &ownCloudGui::slotFolderOpenAction);
connect(accountSettings, &AccountSettings::showIssuesList, this, &SettingsDialogMac::showIssuesList);
- connect(s->account().data(), SIGNAL(accountChangedAvatar()), this, SLOT(slotAccountAvatarChanged()));
+ connect(s->account().data(), &Account::accountChangedAvatar, this, &SettingsDialogMac::slotAccountAvatarChanged);
+ connect(s->account().data(), &Account::accountChangedDisplayName, this, &SettingsDialogMac::slotAccountDisplayNameChanged);
slotRefreshActivity(s);
}
@@ -195,4 +196,23 @@ void SettingsDialogMac::slotAccountAvatarChanged()
}
}
}
+
+void SettingsDialogMac::slotAccountDisplayNameChanged()
+{
+ Account *account = static_cast<Account *>(sender());
+ auto list = findChildren<AccountSettings *>(QString());
+ foreach (auto p, list) {
+ if (p->accountsState()->account() == account) {
+ int idx = indexForPanel(p);
+ QString displayName = account->displayName();
+ if (!displayName.isNull()) {
+ displayName = Theme::instance()->multiAccount()
+ ? SettingsDialogCommon::shortDisplayNameForSettings(account, 0)
+ : tr("Account");
+ setPreferencesPanelTitle(idx, displayName);
+ }
+ }
+ }
+}
+
}
diff --git a/src/gui/settingsdialogmac.h b/src/gui/settingsdialogmac.h
index c69ee5f14..5b4f412b8 100644
--- a/src/gui/settingsdialogmac.h
+++ b/src/gui/settingsdialogmac.h
@@ -54,6 +54,7 @@ private slots:
void accountAdded(AccountState *);
void accountRemoved(AccountState *);
void slotAccountAvatarChanged();
+ void slotAccountDisplayNameChanged();
private:
void closeEvent(QCloseEvent *event);
diff --git a/src/gui/sharemanager.cpp b/src/gui/sharemanager.cpp
index 95a976451..9901b47cf 100644
--- a/src/gui/sharemanager.cpp
+++ b/src/gui/sharemanager.cpp
@@ -15,25 +15,41 @@
#include "sharemanager.h"
#include "ocssharejob.h"
#include "account.h"
+#include "folderman.h"
+#include "accountstate.h"
#include <QUrl>
#include <QJsonDocument>
#include <QJsonObject>
#include <QJsonArray>
-namespace {
-struct CreateShare
-{
- QString path;
- OCC::Share::ShareType shareType;
- QString shareWith;
- OCC::Share::Permissions permissions;
-};
-} // anonymous namespace
-Q_DECLARE_METATYPE(CreateShare)
-
namespace OCC {
+/**
+ * When a share is modified, we need to tell the folders so they can adjust overlay icons
+ */
+static void updateFolder(const AccountPtr &account, const QString &path)
+{
+ foreach (Folder *f, FolderMan::instance()->map()) {
+ if (f->accountState()->account() != account)
+ continue;
+ auto folderPath = f->remotePath();
+ if (path.startsWith(folderPath) && (path == folderPath || folderPath.endsWith('/') || path[folderPath.size()] == '/')) {
+ // Workaround the fact that the server does not invalidate the etags of parent directories
+ // when something is shared.
+ auto relative = path.midRef(folderPath.size());
+ if (relative.startsWith('/'))
+ relative = relative.mid(1);
+ f->journalDb()->avoidReadFromDbOnNextSync(relative.toString());
+
+ // Schedule a sync so it can update the remote permission flag and let the socket API
+ // know about the shared icon.
+ f->scheduleThisFolderSoon();
+ }
+ }
+}
+
+
Share::Share(AccountPtr account,
const QString &id,
const QString &path,
@@ -54,6 +70,11 @@ AccountPtr Share::account() const
return _account;
}
+QString Share::path() const
+{
+ return _path;
+}
+
QString Share::getId() const
{
return _id;
@@ -99,6 +120,8 @@ void Share::deleteShare()
void Share::slotDeleted()
{
emit shareDeleted();
+
+ updateFolder(_account, _path);
}
void Share::slotOcsError(int statusCode, const QString &message)
@@ -258,6 +281,8 @@ void ShareManager::slotLinkShareCreated(const QJsonDocument &reply)
QSharedPointer<LinkShare> share(parseLinkShare(data));
emit linkShareCreated(share);
+
+ updateFolder(_account, share->path());
}
@@ -267,51 +292,34 @@ void ShareManager::createShare(const QString &path,
const Share::Permissions permissions)
{
auto job = new OcsShareJob(_account);
-
- // Store values that we need for creating this share later.
- CreateShare continuation;
- continuation.path = path;
- continuation.shareType = shareType;
- continuation.shareWith = shareWith;
- continuation.permissions = permissions;
- _jobContinuation[job] = QVariant::fromValue(continuation);
-
- connect(job, &OcsShareJob::shareJobFinished, this, &ShareManager::slotCreateShare);
connect(job, &OcsJob::ocsError, this, &ShareManager::slotOcsError);
+ connect(job, &OcsShareJob::shareJobFinished, this,
+ [=](const QJsonDocument &reply) {
+ // Find existing share permissions (if this was shared with us)
+ Share::Permissions existingPermissions = SharePermissionDefault;
+ foreach (const QJsonValue &element, reply.object()["ocs"].toObject()["data"].toArray()) {
+ auto map = element.toObject();
+ if (map["file_target"] == path)
+ existingPermissions = Share::Permissions(map["permissions"].toInt());
+ }
+
+ // Limit the permissions we request for a share to the ones the item
+ // was shared with initially.
+ auto perm = permissions;
+ if (permissions == SharePermissionDefault) {
+ perm = existingPermissions;
+ } else if (existingPermissions != SharePermissionDefault) {
+ perm &= existingPermissions;
+ }
+
+ OcsShareJob *job = new OcsShareJob(_account);
+ connect(job, &OcsShareJob::shareJobFinished, this, &ShareManager::slotShareCreated);
+ connect(job, &OcsJob::ocsError, this, &ShareManager::slotOcsError);
+ job->createShare(path, shareType, shareWith, permissions);
+ });
job->getSharedWithMe();
}
-void ShareManager::slotCreateShare(const QJsonDocument &reply)
-{
- if (!_jobContinuation.contains(sender()))
- return;
-
- CreateShare cont = _jobContinuation[sender()].value<CreateShare>();
- if (cont.path.isEmpty())
- return;
- _jobContinuation.remove(sender());
-
- // Find existing share permissions (if this was shared with us)
- Share::Permissions existingPermissions = SharePermissionDefault;
- foreach (const QJsonValue &element, reply.object()["ocs"].toObject()["data"].toArray()) {
- auto map = element.toObject();
- if (map["file_target"] == cont.path)
- existingPermissions = Share::Permissions(map["permissions"].toInt());
- }
-
- // Limit the permissions we request for a share to the ones the item
- // was shared with initially.
- if (cont.permissions == SharePermissionDefault) {
- cont.permissions = existingPermissions;
- } else if (existingPermissions != SharePermissionDefault) {
- cont.permissions &= existingPermissions;
- }
-
- OcsShareJob *job = new OcsShareJob(_account);
- connect(job, &OcsShareJob::shareJobFinished, this, &ShareManager::slotShareCreated);
- connect(job, &OcsJob::ocsError, this, &ShareManager::slotOcsError);
- job->createShare(cont.path, cont.shareType, cont.shareWith, cont.permissions);
-}
void ShareManager::slotShareCreated(const QJsonDocument &reply)
{
@@ -320,6 +328,8 @@ void ShareManager::slotShareCreated(const QJsonDocument &reply)
QSharedPointer<Share> share(parseShare(data));
emit shareCreated(share);
+
+ updateFolder(_account, share->path());
}
void ShareManager::fetchShares(const QString &path)
diff --git a/src/gui/sharemanager.h b/src/gui/sharemanager.h
index 8c361b732..2a08babe3 100644
--- a/src/gui/sharemanager.h
+++ b/src/gui/sharemanager.h
@@ -64,6 +64,8 @@ public:
*/
AccountPtr account() const;
+ QString path() const;
+
/*
* Get the id
*/
@@ -293,13 +295,10 @@ private slots:
void slotLinkShareCreated(const QJsonDocument &reply);
void slotShareCreated(const QJsonDocument &reply);
void slotOcsError(int statusCode, const QString &message);
- void slotCreateShare(const QJsonDocument &reply);
-
private:
QSharedPointer<LinkShare> parseLinkShare(const QJsonObject &data);
QSharedPointer<Share> parseShare(const QJsonObject &data);
- QMap<QObject *, QVariant> _jobContinuation;
AccountPtr _account;
};
}
diff --git a/src/libsync/capabilities.cpp b/src/libsync/capabilities.cpp
index 4dfc33b89..fcf71b7e9 100644
--- a/src/libsync/capabilities.cpp
+++ b/src/libsync/capabilities.cpp
@@ -145,4 +145,9 @@ QList<int> Capabilities::httpErrorCodesThatResetFailingChunkedUploads() const
}
return list;
}
+
+QString Capabilities::invalidFilenameRegex() const
+{
+ return _capabilities["dav"].toMap()["invalidFilenameRegex"].toString();
+}
}
diff --git a/src/libsync/capabilities.h b/src/libsync/capabilities.h
index 9b15edb9c..f9f6614a4 100644
--- a/src/libsync/capabilities.h
+++ b/src/libsync/capabilities.h
@@ -105,6 +105,17 @@ public:
*/
QList<int> httpErrorCodesThatResetFailingChunkedUploads() const;
+ /**
+ * Regex that, if contained in a filename, will result in it not being uploaded.
+ *
+ * For servers older than 8.1.0 it defaults to [\\:?*"<>|]
+ * For servers >= that version, it defaults to the empty regex (the server
+ * will indicate invalid characters through an upload error)
+ *
+ * Note that it just needs to be contained. The regex [ab] is contained in "car".
+ */
+ QString invalidFilenameRegex() const;
+
private:
QVariantMap _capabilities;
};
diff --git a/src/libsync/networkjobs.cpp b/src/libsync/networkjobs.cpp
index 3af0f6c21..19041f104 100644
--- a/src/libsync/networkjobs.cpp
+++ b/src/libsync/networkjobs.cpp
@@ -881,8 +881,14 @@ bool DetermineAuthTypeJob::finished()
void DetermineAuthTypeJob::send(const QUrl &url)
{
QNetworkRequest req;
+
// Prevent HttpCredentialsAccessManager from setting an Authorization header.
req.setAttribute(HttpCredentials::DontAddCredentialsAttribute, true);
+ // Don't reuse previous auth credentials
+ req.setAttribute(QNetworkRequest::AuthenticationReuseAttribute, QNetworkRequest::Manual);
+ // Don't send cookies, we can't determine the auth type if we're logged in
+ req.setAttribute(QNetworkRequest::CookieLoadControlAttribute, QNetworkRequest::Manual);
+
sendRequest("GET", url, req);
}
diff --git a/src/libsync/owncloudpropagator.cpp b/src/libsync/owncloudpropagator.cpp
index 281f34548..d90ae8af7 100644
--- a/src/libsync/owncloudpropagator.cpp
+++ b/src/libsync/owncloudpropagator.cpp
@@ -114,13 +114,13 @@ PropagateItemJob::~PropagateItemJob()
static qint64 getMinBlacklistTime()
{
- return qMax(qgetenv("OWNCLOUD_BLACKLIST_TIME_MIN").toInt(),
+ return qMax(qEnvironmentVariableIntValue("OWNCLOUD_BLACKLIST_TIME_MIN"),
25); // 25 seconds
}
static qint64 getMaxBlacklistTime()
{
- int v = qgetenv("OWNCLOUD_BLACKLIST_TIME_MAX").toInt();
+ int v = qEnvironmentVariableIntValue("OWNCLOUD_BLACKLIST_TIME_MAX");
if (v > 0)
return v;
return 24 * 60 * 60; // 1 day
@@ -742,6 +742,16 @@ PropagatorJob::JobParallelism PropagatorCompositeJob::parallelism()
return FullParallelism;
}
+void PropagatorCompositeJob::slotSubJobAbortFinished()
+{
+ // Count that job has been finished
+ _abortsCount--;
+
+ // Emit abort if last job has been aborted
+ if (_abortsCount == 0) {
+ emit abortFinished();
+ }
+}
bool PropagatorCompositeJob::scheduleSelfOrChild()
{
@@ -900,7 +910,8 @@ void PropagateDirectory::slotFirstJobFinished(SyncFileItem::Status status)
if (status != SyncFileItem::Success && status != SyncFileItem::Restoration) {
if (_state != Finished) {
- abort();
+ // Synchronously abort
+ abort(AbortType::Synchronous);
_state = Finished;
emit finished(status);
}
diff --git a/src/libsync/owncloudpropagator.h b/src/libsync/owncloudpropagator.h
index 605614902..9655e1ac4 100644
--- a/src/libsync/owncloudpropagator.h
+++ b/src/libsync/owncloudpropagator.h
@@ -65,6 +65,11 @@ class PropagatorJob : public QObject
public:
explicit PropagatorJob(OwncloudPropagator *propagator);
+ enum AbortType {
+ Synchronous,
+ Asynchronous
+ };
+
enum JobState {
NotYetStarted,
Running,
@@ -98,7 +103,14 @@ public:
virtual qint64 committedDiskSpace() const { return 0; }
public slots:
- virtual void abort() {}
+ /*
+ * Asynchronous abort requires emit of abortFinished() signal,
+ * while synchronous is expected to abort immedietaly.
+ */
+ virtual void abort(PropagatorJob::AbortType abortType) {
+ if (abortType == AbortType::Asynchronous)
+ emit abortFinished();
+ }
/** Starts this job, or a new subjob
* returns true if a job was started.
@@ -110,11 +122,14 @@ signals:
*/
void finished(SyncFileItem::Status);
+ /**
+ * Emitted when the abort is fully finished
+ */
+ void abortFinished(SyncFileItem::Status status = SyncFileItem::NormalError);
protected:
OwncloudPropagator *propagator() const;
};
-
/*
* Abstract class to propagate a single item
*/
@@ -185,10 +200,11 @@ public:
SyncFileItemVector _tasksToDo;
QVector<PropagatorJob *> _runningJobs;
SyncFileItem::Status _hasError; // NoStatus, or NormalError / SoftError if there was an error
+ quint64 _abortsCount;
explicit PropagatorCompositeJob(OwncloudPropagator *propagator)
: PropagatorJob(propagator)
- , _hasError(SyncFileItem::NoStatus)
+ , _hasError(SyncFileItem::NoStatus), _abortsCount(0)
{
}
@@ -209,15 +225,32 @@ public:
virtual bool scheduleSelfOrChild() Q_DECL_OVERRIDE;
virtual JobParallelism parallelism() Q_DECL_OVERRIDE;
- virtual void abort() Q_DECL_OVERRIDE
+
+ /*
+ * Abort synchronously or asynchronously - some jobs
+ * require to be finished without immediete abort (abort on job might
+ * cause conflicts/duplicated files - owncloud/client/issues/5949)
+ */
+ virtual void abort(PropagatorJob::AbortType abortType) Q_DECL_OVERRIDE
{
- foreach (PropagatorJob *j, _runningJobs)
- j->abort();
+ if (!_runningJobs.empty()) {
+ _abortsCount = _runningJobs.size();
+ foreach (PropagatorJob *j, _runningJobs) {
+ if (abortType == AbortType::Asynchronous) {
+ connect(j, &PropagatorJob::abortFinished,
+ this, &PropagatorCompositeJob::slotSubJobAbortFinished);
+ }
+ j->abort(abortType);
+ }
+ } else if (abortType == AbortType::Asynchronous){
+ emit abortFinished();
+ }
}
qint64 committedDiskSpace() const Q_DECL_OVERRIDE;
private slots:
+ void slotSubJobAbortFinished();
bool possiblyRunNextJob(PropagatorJob *next)
{
if (next->_state == NotYetStarted) {
@@ -258,11 +291,17 @@ public:
virtual bool scheduleSelfOrChild() Q_DECL_OVERRIDE;
virtual JobParallelism parallelism() Q_DECL_OVERRIDE;
- virtual void abort() Q_DECL_OVERRIDE
+ virtual void abort(PropagatorJob::AbortType abortType) Q_DECL_OVERRIDE
{
if (_firstJob)
- _firstJob->abort();
- _subJobs.abort();
+ // Force first job to abort synchronously
+ // even if caller allows async abort (asyncAbort)
+ _firstJob->abort(AbortType::Synchronous);
+
+ if (abortType == AbortType::Asynchronous){
+ connect(&_subJobs, &PropagatorCompositeJob::abortFinished, this, &PropagateDirectory::abortFinished);
+ }
+ _subJobs.abort(abortType);
}
void increaseAffectedCount()
@@ -280,6 +319,7 @@ private slots:
void slotFirstJobFinished(SyncFileItem::Status status);
void slotSubJobsFinished(SyncFileItem::Status status);
+
};
@@ -324,6 +364,7 @@ public:
, _chunkSize(10 * 1000 * 1000) // 10 MB, overridden in setSyncOptions
, _account(account)
{
+ qRegisterMetaType<PropagatorJob::AbortType>("PropagatorJob::AbortType");
}
~OwncloudPropagator();
@@ -404,13 +445,23 @@ public:
void abort()
{
- _abortRequested.fetchAndStoreOrdered(true);
+ bool alreadyAborting = _abortRequested.fetchAndStoreOrdered(true);
+ if (alreadyAborting)
+ return;
if (_rootJob) {
- // We're possibly already in an item's finished stack
- QMetaObject::invokeMethod(_rootJob.data(), "abort", Qt::QueuedConnection);
+ // Connect to abortFinished which signals that abort has been asynchronously finished
+ connect(_rootJob.data(), &PropagateDirectory::abortFinished, this, &OwncloudPropagator::emitFinished);
+
+ // Use Queued Connection because we're possibly already in an item's finished stack
+ QMetaObject::invokeMethod(_rootJob.data(), "abort", Qt::QueuedConnection,
+ Q_ARG(PropagatorJob::AbortType, PropagatorJob::AbortType::Asynchronous));
+
+ // Give asynchronous abort 5000 msec to finish on its own
+ QTimer::singleShot(5000, this, SLOT(abortTimeout()));
+ } else {
+ // No root job, call emitFinished
+ emitFinished(SyncFileItem::NormalError);
}
- // abort() of all jobs will likely have already resulted in finished being emitted, but just in case.
- QMetaObject::invokeMethod(this, "emitFinished", Qt::QueuedConnection, Q_ARG(SyncFileItem::Status, SyncFileItem::NormalError));
}
// timeout in seconds
@@ -431,6 +482,13 @@ public:
private slots:
+ void abortTimeout()
+ {
+ // Abort synchronously and finish
+ _rootJob.data()->abort(PropagatorJob::AbortType::Synchronous);
+ emitFinished(SyncFileItem::NormalError);
+ }
+
/** Emit the finished signal and make sure it is only emitted once */
void emitFinished(SyncFileItem::Status status)
{
diff --git a/src/libsync/propagatedownload.cpp b/src/libsync/propagatedownload.cpp
index 11207d2ad..9be1b8245 100644
--- a/src/libsync/propagatedownload.cpp
+++ b/src/libsync/propagatedownload.cpp
@@ -625,6 +625,9 @@ void PropagateDownloadFile::slotGetFinished()
connect(validator, &ValidateChecksumHeader::validationFailed,
this, &PropagateDownloadFile::slotChecksumFail);
auto checksumHeader = job->reply()->rawHeader(checkSumHeaderC);
+ auto contentMd5Header = job->reply()->rawHeader(contentMd5HeaderC);
+ if (checksumHeader.isEmpty() && !contentMd5Header.isEmpty())
+ checksumHeader = "MD5:" + contentMd5Header;
validator->start(_tmpFile.fileName(), checksumHeader);
}
@@ -897,9 +900,13 @@ void PropagateDownloadFile::slotDownloadProgress(qint64 received, qint64)
}
-void PropagateDownloadFile::abort()
+void PropagateDownloadFile::abort(PropagatorJob::AbortType abortType)
{
if (_job && _job->reply())
_job->reply()->abort();
+
+ if (abortType == AbortType::Asynchronous) {
+ emit abortFinished();
+ }
}
}
diff --git a/src/libsync/propagatedownload.h b/src/libsync/propagatedownload.h
index 26361541c..80998f67f 100644
--- a/src/libsync/propagatedownload.h
+++ b/src/libsync/propagatedownload.h
@@ -185,7 +185,7 @@ private slots:
/// Called when it's time to update the db metadata
void updateMetadata(bool isConflict);
- void abort() Q_DECL_OVERRIDE;
+ void abort(PropagatorJob::AbortType abortType) Q_DECL_OVERRIDE;
void slotDownloadProgress(qint64, qint64);
void slotChecksumFail(const QString &errMsg);
diff --git a/src/libsync/propagateremotedelete.cpp b/src/libsync/propagateremotedelete.cpp
index 2e7d03b22..f67b2b3af 100644
--- a/src/libsync/propagateremotedelete.cpp
+++ b/src/libsync/propagateremotedelete.cpp
@@ -75,10 +75,14 @@ void PropagateRemoteDelete::start()
_job->start();
}
-void PropagateRemoteDelete::abort()
+void PropagateRemoteDelete::abort(PropagatorJob::AbortType abortType)
{
if (_job && _job->reply())
_job->reply()->abort();
+
+ if (abortType == AbortType::Asynchronous) {
+ emit abortFinished();
+ }
}
void PropagateRemoteDelete::slotDeleteJobFinished()
diff --git a/src/libsync/propagateremotedelete.h b/src/libsync/propagateremotedelete.h
index 6246f7cbf..4d07843e4 100644
--- a/src/libsync/propagateremotedelete.h
+++ b/src/libsync/propagateremotedelete.h
@@ -52,7 +52,7 @@ public:
{
}
void start() Q_DECL_OVERRIDE;
- void abort() Q_DECL_OVERRIDE;
+ void abort(PropagatorJob::AbortType abortType) Q_DECL_OVERRIDE;
bool isLikelyFinishedQuickly() Q_DECL_OVERRIDE { return !_item->isDirectory(); }
diff --git a/src/libsync/propagateremotemkdir.cpp b/src/libsync/propagateremotemkdir.cpp
index fb0869a2b..98a72d48a 100644
--- a/src/libsync/propagateremotemkdir.cpp
+++ b/src/libsync/propagateremotemkdir.cpp
@@ -60,10 +60,14 @@ void PropagateRemoteMkdir::slotStartMkcolJob()
_job->start();
}
-void PropagateRemoteMkdir::abort()
+void PropagateRemoteMkdir::abort(PropagatorJob::AbortType abortType)
{
if (_job && _job->reply())
_job->reply()->abort();
+
+ if (abortType == AbortType::Asynchronous) {
+ emit abortFinished();
+ }
}
void PropagateRemoteMkdir::setDeleteExisting(bool enabled)
diff --git a/src/libsync/propagateremotemkdir.h b/src/libsync/propagateremotemkdir.h
index a89fbe99e..8a08efabd 100644
--- a/src/libsync/propagateremotemkdir.h
+++ b/src/libsync/propagateremotemkdir.h
@@ -35,7 +35,7 @@ public:
{
}
void start() Q_DECL_OVERRIDE;
- void abort() Q_DECL_OVERRIDE;
+ void abort(PropagatorJob::AbortType abortType) Q_DECL_OVERRIDE;
// Creating a directory should be fast.
bool isLikelyFinishedQuickly() Q_DECL_OVERRIDE { return true; }
diff --git a/src/libsync/propagateremotemove.cpp b/src/libsync/propagateremotemove.cpp
index 37ca9fecd..35a2486cf 100644
--- a/src/libsync/propagateremotemove.cpp
+++ b/src/libsync/propagateremotemove.cpp
@@ -117,10 +117,14 @@ void PropagateRemoteMove::start()
_job->start();
}
-void PropagateRemoteMove::abort()
+void PropagateRemoteMove::abort(PropagatorJob::AbortType abortType)
{
if (_job && _job->reply())
_job->reply()->abort();
+
+ if (abortType == AbortType::Asynchronous) {
+ emit abortFinished();
+ }
}
void PropagateRemoteMove::slotMoveJobFinished()
diff --git a/src/libsync/propagateremotemove.h b/src/libsync/propagateremotemove.h
index bf6661a65..1a1b8ce92 100644
--- a/src/libsync/propagateremotemove.h
+++ b/src/libsync/propagateremotemove.h
@@ -56,7 +56,7 @@ public:
{
}
void start() Q_DECL_OVERRIDE;
- void abort() Q_DECL_OVERRIDE;
+ void abort(PropagatorJob::AbortType abortType) Q_DECL_OVERRIDE;
JobParallelism parallelism() Q_DECL_OVERRIDE { return _item->isDirectory() ? WaitForFinished : FullParallelism; }
/**
diff --git a/src/libsync/propagateupload.cpp b/src/libsync/propagateupload.cpp
index eca042678..6de6316af 100644
--- a/src/libsync/propagateupload.cpp
+++ b/src/libsync/propagateupload.cpp
@@ -558,20 +558,24 @@ void PropagateUploadFileCommon::slotJobDestroyed(QObject *job)
_jobs.erase(std::remove(_jobs.begin(), _jobs.end(), job), _jobs.end());
}
-void PropagateUploadFileCommon::abort()
+void PropagateUploadFileCommon::abort(PropagatorJob::AbortType abortType)
{
foreach (auto *job, _jobs) {
if (job->reply()) {
job->reply()->abort();
}
}
+
+ if (abortType == AbortType::Asynchronous) {
+ emit abortFinished();
+ }
}
// This function is used whenever there is an error occuring and jobs might be in progress
void PropagateUploadFileCommon::abortWithError(SyncFileItem::Status status, const QString &error)
{
_finished = true;
- abort();
+ abort(AbortType::Synchronous);
done(status, error);
}
@@ -625,4 +629,33 @@ void PropagateUploadFileCommon::finalize()
done(SyncFileItem::Success);
}
+
+void PropagateUploadFileCommon::prepareAbort(PropagatorJob::AbortType abortType) {
+ if (!_jobs.empty()) {
+ // Count number of jobs to be aborted asynchronously
+ _abortCount = _jobs.size();
+
+ foreach (AbstractNetworkJob *job, _jobs) {
+ // Check if async abort is requested
+ if (job->reply() && abortType == AbortType::Asynchronous) {
+ // Connect to finished signal of job reply
+ // to asynchonously finish the abort
+ connect(job->reply(), &QNetworkReply::finished, this, &PropagateUploadFileCommon::slotReplyAbortFinished);
+ }
+ }
+ } else if (abortType == AbortType::Asynchronous) {
+ // Empty job list, emit abortFinished immedietaly
+ emit abortFinished();
+ }
+}
+
+void PropagateUploadFileCommon::slotReplyAbortFinished()
+{
+ _abortCount--;
+
+ if (_abortCount == 0) {
+ emit abortFinished();
+ }
+}
+
}
diff --git a/src/libsync/propagateupload.h b/src/libsync/propagateupload.h
index 016824464..c156190b5 100644
--- a/src/libsync/propagateupload.h
+++ b/src/libsync/propagateupload.h
@@ -129,6 +129,11 @@ public:
return true;
}
+ QIODevice *device()
+ {
+ return _device;
+ }
+
QString errorString()
{
return _errorString.isEmpty() ? AbstractNetworkJob::errorString() : _errorString;
@@ -205,6 +210,7 @@ protected:
QVector<AbstractNetworkJob *> _jobs; /// network jobs that are currently in transit
bool _finished BITFIELD(1); /// Tells that all the jobs have been finished
bool _deleteExisting BITFIELD(1);
+ quint64 _abortCount; /// Keep track of number of aborted items
// measure the performance of checksum calc and upload
#ifdef WITH_TESTING
@@ -218,6 +224,7 @@ public:
: PropagateItemJob(propagator, item)
, _finished(false)
, _deleteExisting(false)
+ , _abortCount(0)
{
}
@@ -248,14 +255,21 @@ public:
void abortWithError(SyncFileItem::Status status, const QString &error);
public slots:
- void abort() Q_DECL_OVERRIDE;
+ void abort(PropagatorJob::AbortType abortType) Q_DECL_OVERRIDE;
void slotJobDestroyed(QObject *job);
private slots:
+ void slotReplyAbortFinished();
void slotPollFinished();
protected:
/**
+ * Prepares the abort e.g. connects proper signals and slots
+ * to the subjobs to abort asynchronously
+ */
+ void prepareAbort(PropagatorJob::AbortType abortType);
+
+ /**
* Checks whether the current error is one that should reset the whole
* transfer if it happens too often. If so: Bump UploadInfo::errorCount
* and maybe perform the reset.
@@ -287,15 +301,15 @@ private:
* In the non-resuming case it is 0.
* If we are resuming, this is the first chunk we need to send
*/
- int _startChunk;
+ int _startChunk = 0;
/**
* This is the next chunk that we need to send. Starting from 0 even if _startChunk != 0
* (In other words, _startChunk + _currentChunk is really the number of the chunk we need to send next)
* (In other words, _currentChunk is the number of the chunk that we already sent or started sending)
*/
- int _currentChunk;
- int _chunkCount; /// Total number of chunks for this file
- int _transferId; /// transfer id (part of the url)
+ int _currentChunk = 0;
+ int _chunkCount = 0; /// Total number of chunks for this file
+ int _transferId = 0; /// transfer id (part of the url)
quint64 chunkSize() const {
// Old chunking does not use dynamic chunking algorithm, and does not adjusts the chunk size respectively,
@@ -303,7 +317,6 @@ private:
return propagator()->syncOptions()._initialChunkSize;
}
-
public:
PropagateUploadFileV1(OwncloudPropagator *propagator, const SyncFileItemPtr &item)
: PropagateUploadFileCommon(propagator, item)
@@ -311,7 +324,8 @@ public:
}
void doStartUpload() Q_DECL_OVERRIDE;
-
+public slots:
+ void abort(PropagatorJob::AbortType abortType) Q_DECL_OVERRIDE;
private slots:
void startNextChunk();
void slotPutFinished();
@@ -328,11 +342,11 @@ class PropagateUploadFileNG : public PropagateUploadFileCommon
{
Q_OBJECT
private:
- quint64 _sent; /// amount of data (bytes) that was already sent
- uint _transferId; /// transfer id (part of the url)
- int _currentChunk; /// Id of the next chunk that will be sent
- quint64 _currentChunkSize; /// current chunk size
- bool _removeJobError; /// If not null, there was an error removing the job
+ quint64 _sent = 0; /// amount of data (bytes) that was already sent
+ uint _transferId = 0; /// transfer id (part of the url)
+ int _currentChunk = 0; /// Id of the next chunk that will be sent
+ quint64 _currentChunkSize = 0; /// current chunk size
+ bool _removeJobError = false; /// If not null, there was an error removing the job
// Map chunk number with its size from the PROPFIND on resume.
// (Only used from slotPropfindIterate/slotPropfindFinished because the LsColJob use signals to report data.)
@@ -352,7 +366,6 @@ private:
public:
PropagateUploadFileNG(OwncloudPropagator *propagator, const SyncFileItemPtr &item)
: PropagateUploadFileCommon(propagator, item)
- , _currentChunkSize(0)
{
}
@@ -361,6 +374,8 @@ public:
private:
void startNewUpload();
void startNextChunk();
+public slots:
+ void abort(AbortType abortType) Q_DECL_OVERRIDE;
private slots:
void slotPropfindFinished();
void slotPropfindFinishedWithError();
diff --git a/src/libsync/propagateuploadng.cpp b/src/libsync/propagateuploadng.cpp
index 5026f28a3..fa16a4abe 100644
--- a/src/libsync/propagateuploadng.cpp
+++ b/src/libsync/propagateuploadng.cpp
@@ -365,7 +365,7 @@ void PropagateUploadFileNG::slotPutFinished()
// target duration for each chunk upload.
double targetDuration = propagator()->syncOptions()._targetChunkUploadDuration;
if (targetDuration > 0) {
- double uploadTime = job->msSinceStart();
+ double uploadTime = job->msSinceStart() + 1; // add one to avoid div-by-zero
auto predictedGoodSize = static_cast<quint64>(
_currentChunkSize / uploadTime * targetDuration);
@@ -491,4 +491,26 @@ void PropagateUploadFileNG::slotUploadProgress(qint64 sent, qint64 total)
}
propagator()->reportProgress(*_item, _sent + sent - total);
}
+
+void PropagateUploadFileNG::abort(PropagatorJob::AbortType abortType)
+{
+ // Prepare abort
+ prepareAbort(abortType);
+
+ // Abort all jobs (if there are any left), except final PUT
+ foreach (AbstractNetworkJob *job, _jobs) {
+ if (job->reply()) {
+ if (abortType == AbortType::Asynchronous && qobject_cast<MoveJob *>(job)){
+ // If it is async abort, dont abort
+ // MoveJob since it might result in conflict,
+ // only PUT and MKDIR jobs can be safely aborted.
+ continue;
+ }
+
+ // Abort the job
+ job->reply()->abort();
+ }
+ }
+}
+
}
diff --git a/src/libsync/propagateuploadv1.cpp b/src/libsync/propagateuploadv1.cpp
index c8b0e421d..8ebdd3786 100644
--- a/src/libsync/propagateuploadv1.cpp
+++ b/src/libsync/propagateuploadv1.cpp
@@ -350,4 +350,31 @@ void PropagateUploadFileV1::slotUploadProgress(qint64 sent, qint64 total)
}
propagator()->reportProgress(*_item, amount);
}
+
+void PropagateUploadFileV1::abort(PropagatorJob::AbortType abortType)
+{
+ // Prepare abort
+ prepareAbort(abortType);
+
+ // Abort all jobs (if there are any left), except final PUT
+ foreach (AbstractNetworkJob *job, _jobs) {
+ if (job->reply()) {
+ // If asynchronous abort allowed,
+ // dont abort final PUT which uploaded its data,
+ // since this might result in conflicts
+ if (PUTFileJob *putJob = qobject_cast<PUTFileJob *>(job)){
+ if (abortType == AbortType::Asynchronous
+ && _chunkCount > 0
+ && (((_currentChunk + _startChunk) % _chunkCount) == 0)
+ && putJob->device()->atEnd()) {
+ continue;
+ }
+ }
+
+ // Abort the job
+ job->reply()->abort();
+ }
+ }
+}
+
}
diff --git a/src/libsync/propagatorjobs.h b/src/libsync/propagatorjobs.h
index 424685ab4..010e03fec 100644
--- a/src/libsync/propagatorjobs.h
+++ b/src/libsync/propagatorjobs.h
@@ -25,6 +25,7 @@ namespace OCC {
* It's here for being shared between Upload- and Download Job
*/
static const char checkSumHeaderC[] = "OC-Checksum";
+static const char contentMd5HeaderC[] = "Content-MD5";
/**
* @brief Declaration of the other propagation jobs
diff --git a/src/libsync/syncengine.cpp b/src/libsync/syncengine.cpp
index 7da9d3bc4..52ee63f1c 100644
--- a/src/libsync/syncengine.cpp
+++ b/src/libsync/syncengine.cpp
@@ -571,7 +571,6 @@ int SyncEngine::treewalkFile(csync_file_stat_t *file, csync_file_stat_t *other,
dir = SyncFileItem::None;
// For directories, metadata-only updates will be done after all their files are propagated.
if (!isDirectory) {
- emit syncItemDiscovered(*item);
// Update the database now already: New remote fileid or Etag or RemotePerm
// Or for files that were detected as "resolved conflict".
@@ -608,6 +607,9 @@ int SyncEngine::treewalkFile(csync_file_stat_t *file, csync_file_stat_t *other,
}
_journal->setFileRecordMetadata(item->toSyncJournalFileRecordWithInode(filePath));
+
+ // This might have changed the shared flag, so we must notify SyncFileStatusTracker for example
+ emit itemCompleted(item);
} else {
// The local tree is walked first and doesn't have all the info from the server.
// Update only outdated data from the disk.
@@ -683,8 +685,6 @@ int SyncEngine::treewalkFile(csync_file_stat_t *file, csync_file_stat_t *other,
}
_syncItemMap.insert(key, item);
-
- emit syncItemDiscovered(*item);
return re;
}
@@ -961,11 +961,20 @@ void SyncEngine::slotDiscoveryJobFinished(int discoveryResult)
}
// Check for invalid character in old server version
- if (_account->serverVersionInt() < Account::makeServerVersion(8, 1, 0)) {
- // Server version older than 8.1 don't support these character in filename.
- static const QRegExp invalidCharRx("[\\\\:?*\"<>|]");
+ QString invalidFilenamePattern = _account->capabilities().invalidFilenameRegex();
+ if (invalidFilenamePattern.isNull()
+ && _account->serverVersionInt() < Account::makeServerVersion(8, 1, 0)) {
+ // Server versions older than 8.1 don't support some characters in filenames.
+ // If the capability is not set, default to a pattern that avoids uploading
+ // files with names that contain these.
+ // It's important to respect the capability also for older servers -- the
+ // version check doesn't make sense for custom servers.
+ invalidFilenamePattern = "[\\\\:?*\"<>|]";
+ }
+ if (!invalidFilenamePattern.isEmpty()) {
+ const QRegExp invalidFilenameRx(invalidFilenamePattern);
for (auto it = syncItems.begin(); it != syncItems.end(); ++it) {
- if ((*it)->_direction == SyncFileItem::Up && (*it)->destination().contains(invalidCharRx)) {
+ if ((*it)->_direction == SyncFileItem::Up && (*it)->destination().contains(invalidFilenameRx)) {
(*it)->_errorString = tr("File name contains at least one invalid character");
(*it)->_instruction = CSYNC_INSTRUCTION_IGNORE;
}
@@ -1023,7 +1032,7 @@ void SyncEngine::slotDiscoveryJobFinished(int discoveryResult)
_progressInfo->startEstimateUpdates();
// post update phase script: allow to tweak stuff by a custom script in debug mode.
- if (!qgetenv("OWNCLOUD_POST_UPDATE_SCRIPT").isEmpty()) {
+ if (!qEnvironmentVariableIsEmpty("OWNCLOUD_POST_UPDATE_SCRIPT")) {
#ifndef NDEBUG
QString script = qgetenv("OWNCLOUD_POST_UPDATE_SCRIPT");
@@ -1456,7 +1465,7 @@ void SyncEngine::checkForPermission(SyncFileItemVector &syncItems)
RemotePermissions SyncEngine::getPermissions(const QString &file) const
{
- static bool isTest = qgetenv("OWNCLOUD_TEST_PERMISSIONS").toInt();
+ static bool isTest = qEnvironmentVariableIntValue("OWNCLOUD_TEST_PERMISSIONS");
if (isTest) {
QRegExp rx("_PERM_([^_]*)_[^/]*$");
if (rx.indexIn(file) != -1) {
diff --git a/src/libsync/syncengine.h b/src/libsync/syncengine.h
index 0b200bb8d..4d20b9ce5 100644
--- a/src/libsync/syncengine.h
+++ b/src/libsync/syncengine.h
@@ -123,8 +123,6 @@ signals:
// During update, before reconcile
void rootEtag(QString);
- // before actual syncing (after update+reconcile) for each item
- void syncItemDiscovered(const SyncFileItem &);
// after the above signals. with the items that actually need propagating
void aboutToPropagate(SyncFileItemVector &);
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
index 7327212ae..b62a6ee01 100644
--- a/test/CMakeLists.txt
+++ b/test/CMakeLists.txt
@@ -46,6 +46,7 @@ owncloud_add_test(ExcludedFiles "")
owncloud_add_test(FileSystem "")
owncloud_add_test(Utility "")
owncloud_add_test(SyncEngine "syncenginetestutils.h")
+owncloud_add_test(SyncMove "syncenginetestutils.h")
owncloud_add_test(SyncFileStatusTracker "syncenginetestutils.h")
owncloud_add_test(ChunkingNg "syncenginetestutils.h")
owncloud_add_test(UploadReset "syncenginetestutils.h")
diff --git a/test/syncenginetestutils.h b/test/syncenginetestutils.h
index e061de222..e6d4a395e 100644
--- a/test/syncenginetestutils.h
+++ b/test/syncenginetestutils.h
@@ -161,12 +161,15 @@ public:
FileInfo(const QString &name, qint64 size) : name{name}, isDir{false}, size{size} { }
FileInfo(const QString &name, qint64 size, char contentChar) : name{name}, isDir{false}, size{size}, contentChar{contentChar} { }
FileInfo(const QString &name, const std::initializer_list<FileInfo> &children) : name{name} {
- QString p = path();
- for (const auto &source : children) {
- auto &dest = this->children[source.name] = source;
- dest.parentPath = p;
- dest.fixupParentPathRecursively();
- }
+ for (const auto &source : children)
+ addChild(source);
+ }
+
+ void addChild(const FileInfo &info)
+ {
+ auto &dest = this->children[info.name] = info;
+ dest.parentPath = path();
+ dest.fixupParentPathRecursively();
}
void remove(const QString &relativePath) override {
@@ -433,6 +436,8 @@ public:
abort();
return;
}
+ fileInfo->lastModified = OCC::Utility::qDateTimeFromTime_t(request.rawHeader("X-OC-Mtime").toLongLong());
+ remoteRootFileInfo.find(fileName, /*invalidate_etags=*/true);
QMetaObject::invokeMethod(this, "respond", Qt::QueuedConnection);
}
@@ -597,6 +602,9 @@ public:
size -= len;
return len;
}
+
+ // useful to be public for testing
+ using QNetworkReply::setRawHeader;
};
@@ -606,8 +614,10 @@ class FakeChunkMoveReply : public QNetworkReply
FileInfo *fileInfo;
public:
FakeChunkMoveReply(FileInfo &uploadsFileInfo, FileInfo &remoteRootFileInfo,
- QNetworkAccessManager::Operation op, const QNetworkRequest &request,
- QObject *parent) : QNetworkReply{parent} {
+ QNetworkAccessManager::Operation op, const QNetworkRequest &request,
+ quint64 delayMs, QObject *parent)
+ : QNetworkReply{ parent }
+ {
setRequest(request);
setUrl(request.url());
setOperation(op);
@@ -662,7 +672,10 @@ public:
abort();
return;
}
- QMetaObject::invokeMethod(this, "respond", Qt::QueuedConnection);
+ fileInfo->lastModified = OCC::Utility::qDateTimeFromTime_t(request.rawHeader("X-OC-Mtime").toLongLong());
+ remoteRootFileInfo.find(fileName, /*invalidate_etags=*/true);
+
+ QTimer::singleShot(delayMs, this, &FakeChunkMoveReply::respond);
}
Q_INVOKABLE void respond() {
@@ -713,6 +726,24 @@ public:
int _httpErrorCode;
};
+// A reply that never responds
+class FakeHangingReply : public QNetworkReply
+{
+ Q_OBJECT
+public:
+ FakeHangingReply(QNetworkAccessManager::Operation op, const QNetworkRequest &request, QObject *parent)
+ : QNetworkReply(parent)
+ {
+ setRequest(request);
+ setUrl(request.url());
+ setOperation(op);
+ open(QIODevice::ReadOnly);
+ }
+
+ void abort() override {}
+ qint64 readData(char *, qint64) override { return 0; }
+};
+
class FakeQNAM : public QNetworkAccessManager
{
public:
@@ -765,7 +796,7 @@ protected:
else if (verb == QLatin1String("MOVE") && !isUpload)
return new FakeMoveReply{info, op, request, this};
else if (verb == QLatin1String("MOVE") && isUpload)
- return new FakeChunkMoveReply{info, _remoteRootFileInfo, op, request, this};
+ return new FakeChunkMoveReply{ info, _remoteRootFileInfo, op, request, 0, this };
else {
qDebug() << verb << outgoingData;
Q_UNREACHABLE();
@@ -924,6 +955,11 @@ private:
} else {
QFile f{diskChild.filePath()};
f.open(QFile::ReadOnly);
+ auto content = f.read(1);
+ if (content.size() == 0) {
+ qWarning() << "Empty file at:" << diskChild.filePath();
+ continue;
+ }
char contentChar = f.read(1).at(0);
templateFi.children.insert(diskChild.fileName(), FileInfo{diskChild.fileName(), diskChild.size(), contentChar});
}
diff --git a/test/testchunkingng.cpp b/test/testchunkingng.cpp
index ed30f8954..16c6856ac 100644
--- a/test/testchunkingng.cpp
+++ b/test/testchunkingng.cpp
@@ -85,6 +85,136 @@ private slots:
QCOMPARE(fakeFolder.uploadState().children.first().name, chunkingId);
}
+ // Check what happens when we abort during the final MOVE and the
+ // the final MOVE takes longer than the abort-delay
+ void testLateAbortHard()
+ {
+ FakeFolder fakeFolder{ FileInfo::A12_B12_C12_S12() };
+ fakeFolder.syncEngine().account()->setCapabilities({ { "dav", QVariantMap{ { "chunking", "1.0" } } }, { "checksums", QVariantMap{ { "supportedTypes", QStringList() << "SHA1" } } } });
+ const int size = 150 * 1000 * 1000;
+
+ // Make the MOVE never reply, but trigger a client-abort and apply the change remotely
+ auto parent = new QObject;
+ QByteArray moveChecksumHeader;
+ int nGET = 0;
+ int responseDelay = 10000; // bigger than abort-wait timeout
+ fakeFolder.setServerOverride([&](QNetworkAccessManager::Operation op, const QNetworkRequest &request) -> QNetworkReply * {
+ if (request.attribute(QNetworkRequest::CustomVerbAttribute) == "MOVE") {
+ QTimer::singleShot(50, parent, [&]() { fakeFolder.syncEngine().abort(); });
+ moveChecksumHeader = request.rawHeader("OC-Checksum");
+ return new FakeChunkMoveReply(fakeFolder.uploadState(), fakeFolder.remoteModifier(), op, request, responseDelay, parent);
+ } else if (op == QNetworkAccessManager::GetOperation) {
+ nGET++;
+ }
+ return nullptr;
+ });
+
+
+ // Test 1: NEW file aborted
+ fakeFolder.localModifier().insert("A/a0", size);
+ QVERIFY(!fakeFolder.syncOnce()); // error: abort!
+
+ // Now the next sync gets a NEW/NEW conflict and since there's no checksum
+ // it just becomes a UPDATE_METADATA
+ auto checkEtagUpdated = [&](SyncFileItemVector &items) {
+ QCOMPARE(items.size(), 1);
+ QCOMPARE(items[0]->_file, QLatin1String("A"));
+ SyncJournalFileRecord record;
+ QVERIFY(fakeFolder.syncJournal().getFileRecord(QByteArray("A/a0"), &record));
+ QCOMPARE(record._etag, fakeFolder.remoteModifier().find("A/a0")->etag.toUtf8());
+ };
+ auto connection = connect(&fakeFolder.syncEngine(), &SyncEngine::aboutToPropagate, checkEtagUpdated);
+ QVERIFY(fakeFolder.syncOnce());
+ disconnect(connection);
+ QCOMPARE(nGET, 0);
+ QCOMPARE(fakeFolder.currentLocalState(), fakeFolder.currentRemoteState());
+
+
+ // Test 2: modified file upload aborted
+ fakeFolder.localModifier().appendByte("A/a0");
+ QVERIFY(!fakeFolder.syncOnce()); // error: abort!
+
+ // An EVAL/EVAL conflict is also UPDATE_METADATA when there's no checksums
+ connection = connect(&fakeFolder.syncEngine(), &SyncEngine::aboutToPropagate, checkEtagUpdated);
+ QVERIFY(fakeFolder.syncOnce());
+ disconnect(connection);
+ QCOMPARE(nGET, 0);
+ QCOMPARE(fakeFolder.currentLocalState(), fakeFolder.currentRemoteState());
+
+
+ // Test 3: modified file upload aborted, with good checksums
+ fakeFolder.localModifier().appendByte("A/a0");
+ QVERIFY(!fakeFolder.syncOnce()); // error: abort!
+
+ // Set the remote checksum -- the test setup doesn't do it automatically
+ QVERIFY(!moveChecksumHeader.isEmpty());
+ fakeFolder.remoteModifier().find("A/a0")->checksums = moveChecksumHeader;
+
+ // This time it's a real conflict, we have a remote checksum!
+ connection = connect(&fakeFolder.syncEngine(), &SyncEngine::aboutToPropagate, [&](SyncFileItemVector &items) {
+ SyncFileItemPtr a0;
+ for (auto &item : items) {
+ if (item->_file == "A/a0")
+ a0 = item;
+ }
+
+ QVERIFY(a0);
+ QCOMPARE(a0->_instruction, CSYNC_INSTRUCTION_CONFLICT);
+ });
+ QVERIFY(fakeFolder.syncOnce());
+ disconnect(connection);
+ QCOMPARE(nGET, 0); // no new download, just a metadata update!
+ QCOMPARE(fakeFolder.currentLocalState(), fakeFolder.currentRemoteState());
+
+
+ // Test 4: New file, that gets deleted locally before the next sync
+ fakeFolder.localModifier().insert("A/a3", size);
+ QVERIFY(!fakeFolder.syncOnce()); // error: abort!
+ fakeFolder.localModifier().remove("A/a3");
+
+ // bug: in this case we must expect a re-download of A/A3
+ QVERIFY(fakeFolder.syncOnce());
+ QCOMPARE(nGET, 1);
+ QVERIFY(fakeFolder.currentLocalState().find("A/a3"));
+ QCOMPARE(fakeFolder.currentLocalState(), fakeFolder.currentRemoteState());
+ }
+
+ // Check what happens when we abort during the final MOVE and the
+ // the final MOVE is short enough for the abort-delay to help
+ void testLateAbortRecoverable()
+ {
+ FakeFolder fakeFolder{ FileInfo::A12_B12_C12_S12() };
+ fakeFolder.syncEngine().account()->setCapabilities({ { "dav", QVariantMap{ { "chunking", "1.0" } } }, { "checksums", QVariantMap{ { "supportedTypes", QStringList() << "SHA1" } } } });
+ const int size = 150 * 1000 * 1000;
+
+ // Make the MOVE never reply, but trigger a client-abort and apply the change remotely
+ auto parent = new QObject;
+ QByteArray moveChecksumHeader;
+ int nGET = 0;
+ int responseDelay = 2000; // smaller than abort-wait timeout
+ fakeFolder.setServerOverride([&](QNetworkAccessManager::Operation op, const QNetworkRequest &request) -> QNetworkReply * {
+ if (request.attribute(QNetworkRequest::CustomVerbAttribute) == "MOVE") {
+ QTimer::singleShot(50, parent, [&]() { fakeFolder.syncEngine().abort(); });
+ moveChecksumHeader = request.rawHeader("OC-Checksum");
+ return new FakeChunkMoveReply(fakeFolder.uploadState(), fakeFolder.remoteModifier(), op, request, responseDelay, parent);
+ } else if (op == QNetworkAccessManager::GetOperation) {
+ nGET++;
+ }
+ return nullptr;
+ });
+
+
+ // Test 1: NEW file aborted
+ fakeFolder.localModifier().insert("A/a0", size);
+ QVERIFY(fakeFolder.syncOnce());
+ QCOMPARE(fakeFolder.currentLocalState(), fakeFolder.currentRemoteState());
+
+ // Test 2: modified file upload aborted
+ fakeFolder.localModifier().appendByte("A/a0");
+ QVERIFY(fakeFolder.syncOnce());
+ QCOMPARE(fakeFolder.currentLocalState(), fakeFolder.currentRemoteState());
+ }
+
// We modify the file locally after it has been partially uploaded
void testRemoveStale1() {
diff --git a/test/testsyncengine.cpp b/test/testsyncengine.cpp
index 139fbf42b..e68fed8bb 100644
--- a/test/testsyncengine.cpp
+++ b/test/testsyncengine.cpp
@@ -16,7 +16,7 @@ bool itemDidComplete(const QSignalSpy &spy, const QString &path)
for(const QList<QVariant> &args : spy) {
auto item = args[0].value<SyncFileItemPtr>();
if (item->destination() == path)
- return true;
+ return item->_instruction != CSYNC_INSTRUCTION_NONE && item->_instruction != CSYNC_INSTRUCTION_UPDATE_METADATA;
}
return false;
}
@@ -141,98 +141,6 @@ private slots:
QCOMPARE(fakeFolder.currentLocalState(), fakeFolder.currentRemoteState());
}
- void testRemoteChangeInMovedFolder() {
- // issue #5192
- FakeFolder fakeFolder{FileInfo{ QString(), {
- FileInfo { QStringLiteral("folder"), {
- FileInfo{ QStringLiteral("folderA"), { { QStringLiteral("file.txt"), 400 } } },
- QStringLiteral("folderB")
- }
- }}}};
-
- QCOMPARE(fakeFolder.currentLocalState(), fakeFolder.currentRemoteState());
-
- // Edit a file in a moved directory.
- fakeFolder.remoteModifier().setContents("folder/folderA/file.txt", 'a');
- fakeFolder.remoteModifier().rename("folder/folderA", "folder/folderB/folderA");
- fakeFolder.syncOnce();
- QCOMPARE(fakeFolder.currentLocalState(), fakeFolder.currentRemoteState());
- auto oldState = fakeFolder.currentLocalState();
- QVERIFY(oldState.find("folder/folderB/folderA/file.txt"));
- QVERIFY(!oldState.find("folder/folderA/file.txt"));
-
- // This sync should not remove the file
- fakeFolder.syncOnce();
- QCOMPARE(fakeFolder.currentLocalState(), fakeFolder.currentRemoteState());
- QCOMPARE(fakeFolder.currentLocalState(), oldState);
-
- }
-
- void testSelectiveSyncModevFolder() {
- // issue #5224
- FakeFolder fakeFolder{FileInfo{ QString(), {
- FileInfo { QStringLiteral("parentFolder"), {
- FileInfo{ QStringLiteral("subFolderA"), { { QStringLiteral("fileA.txt"), 400 } } },
- FileInfo{ QStringLiteral("subFolderB"), { { QStringLiteral("fileB.txt"), 400 } } }
- }
- }}}};
-
- QCOMPARE(fakeFolder.currentLocalState(), fakeFolder.currentRemoteState());
- auto expectedServerState = fakeFolder.currentRemoteState();
-
- // Remove subFolderA with selectiveSync:
- fakeFolder.syncEngine().journal()->setSelectiveSyncList(SyncJournalDb::SelectiveSyncBlackList,
- {"parentFolder/subFolderA/"});
- fakeFolder.syncEngine().journal()->avoidReadFromDbOnNextSync(QByteArrayLiteral("parentFolder/subFolderA/"));
-
- fakeFolder.syncOnce();
-
- {
- // Nothing changed on the server
- QCOMPARE(fakeFolder.currentRemoteState(), expectedServerState);
- // The local state should not have subFolderA
- auto remoteState = fakeFolder.currentRemoteState();
- remoteState.remove("parentFolder/subFolderA");
- QCOMPARE(fakeFolder.currentLocalState(), remoteState);
- }
-
- // Rename parentFolder on the server
- fakeFolder.remoteModifier().rename("parentFolder", "parentFolderRenamed");
- expectedServerState = fakeFolder.currentRemoteState();
- fakeFolder.syncOnce();
-
- {
- QCOMPARE(fakeFolder.currentRemoteState(), expectedServerState);
- auto remoteState = fakeFolder.currentRemoteState();
- // The subFolderA should still be there on the server.
- QVERIFY(remoteState.find("parentFolderRenamed/subFolderA/fileA.txt"));
- // But not on the client because of the selective sync
- remoteState.remove("parentFolderRenamed/subFolderA");
- QCOMPARE(fakeFolder.currentLocalState(), remoteState);
- }
-
- // Rename it again, locally this time.
- fakeFolder.localModifier().rename("parentFolderRenamed", "parentThirdName");
- fakeFolder.syncOnce();
-
- {
- auto remoteState = fakeFolder.currentRemoteState();
- // The subFolderA should still be there on the server.
- QVERIFY(remoteState.find("parentThirdName/subFolderA/fileA.txt"));
- // But not on the client because of the selective sync
- remoteState.remove("parentThirdName/subFolderA");
- QCOMPARE(fakeFolder.currentLocalState(), remoteState);
-
- expectedServerState = fakeFolder.currentRemoteState();
- QSignalSpy completeSpy(&fakeFolder.syncEngine(), SIGNAL(itemCompleted(const SyncFileItemPtr &)));
- fakeFolder.syncOnce(); // This sync should do nothing
- QCOMPARE(completeSpy.count(), 0);
-
- QCOMPARE(fakeFolder.currentRemoteState(), expectedServerState);
- QCOMPARE(fakeFolder.currentLocalState(), remoteState);
- }
- }
-
void testSelectiveSyncBug() {
// issue owncloud/enterprise#1965: files from selective-sync ignored
// folders are uploaded anyway is some circumstances.
@@ -536,82 +444,88 @@ private slots:
QCOMPARE(n507, 3);
}
- void testLocalMove()
+ // Checks whether downloads with bad checksums are accepted
+ void testChecksumValidation()
{
FakeFolder fakeFolder{ FileInfo::A12_B12_C12_S12() };
+ QObject parent;
- int nPUT = 0;
- int nDELETE = 0;
- fakeFolder.setServerOverride([&](QNetworkAccessManager::Operation op, const QNetworkRequest &) {
- if (op == QNetworkAccessManager::PutOperation)
- ++nPUT;
- if (op == QNetworkAccessManager::DeleteOperation)
- ++nDELETE;
+ QByteArray checksumValue;
+ QByteArray contentMd5Value;
+
+ fakeFolder.setServerOverride([&](QNetworkAccessManager::Operation op, const QNetworkRequest &request) -> QNetworkReply * {
+ if (op == QNetworkAccessManager::GetOperation) {
+ auto reply = new FakeGetReply(fakeFolder.remoteModifier(), op, request, &parent);
+ if (!checksumValue.isNull())
+ reply->setRawHeader("OC-Checksum", checksumValue);
+ if (!contentMd5Value.isNull())
+ reply->setRawHeader("Content-MD5", contentMd5Value);
+ return reply;
+ }
return nullptr;
});
- // For directly editing the remote checksum
- FileInfo &remoteInfo = fakeFolder.remoteModifier();
-
- // Simple move causing a remote rename
- fakeFolder.localModifier().rename("A/a1", "A/a1m");
+ // Basic case
+ fakeFolder.remoteModifier().create("A/a3", 16, 'A');
QVERIFY(fakeFolder.syncOnce());
- QCOMPARE(fakeFolder.currentLocalState(), remoteInfo);
- QCOMPARE(nPUT, 0);
+ QCOMPARE(fakeFolder.currentLocalState(), fakeFolder.currentRemoteState());
+
+ // Bad OC-Checksum
+ checksumValue = "SHA1:bad";
+ fakeFolder.remoteModifier().create("A/a4", 16, 'A');
+ QVERIFY(!fakeFolder.syncOnce());
- // Move-and-change, causing a upload and delete
- fakeFolder.localModifier().rename("A/a2", "A/a2m");
- fakeFolder.localModifier().appendByte("A/a2m");
+ // Good OC-Checksum
+ checksumValue = "SHA1:19b1928d58a2030d08023f3d7054516dbc186f20"; // printf 'A%.0s' {1..16} | sha1sum -
QVERIFY(fakeFolder.syncOnce());
- QCOMPARE(fakeFolder.currentLocalState(), remoteInfo);
- QCOMPARE(nPUT, 1);
- QCOMPARE(nDELETE, 1);
+ QCOMPARE(fakeFolder.currentLocalState(), fakeFolder.currentRemoteState());
+ checksumValue = QByteArray();
+
+ // Bad Content-MD5
+ contentMd5Value = "bad";
+ fakeFolder.remoteModifier().create("A/a5", 16, 'A');
+ QVERIFY(!fakeFolder.syncOnce());
- // Move-and-change, mtime+content only
- fakeFolder.localModifier().rename("B/b1", "B/b1m");
- fakeFolder.localModifier().setContents("B/b1m", 'C');
+ // Good Content-MD5
+ contentMd5Value = "d8a73157ce10cd94a91c2079fc9a92c8"; // printf 'A%.0s' {1..16} | md5sum -
QVERIFY(fakeFolder.syncOnce());
- QCOMPARE(fakeFolder.currentLocalState(), remoteInfo);
- QCOMPARE(nPUT, 2);
- QCOMPARE(nDELETE, 2);
-
- // Move-and-change, size+content only
- auto mtime = fakeFolder.remoteModifier().find("B/b2")->lastModified;
- fakeFolder.localModifier().rename("B/b2", "B/b2m");
- fakeFolder.localModifier().appendByte("B/b2m");
- fakeFolder.localModifier().setModTime("B/b2m", mtime);
+ QCOMPARE(fakeFolder.currentLocalState(), fakeFolder.currentRemoteState());
+
+ // OC-Checksum has preference
+ checksumValue = "garbage";
+ // contentMd5Value is still good
+ fakeFolder.remoteModifier().create("A/a6", 16, 'A');
+ QVERIFY(!fakeFolder.syncOnce());
+ }
+
+ // Tests the behavior of invalid filename detection
+ void testInvalidFilenameRegex()
+ {
+ FakeFolder fakeFolder{ FileInfo::A12_B12_C12_S12() };
+
+ // For current servers, no characters are forbidden
+ fakeFolder.syncEngine().account()->setServerVersion("10.0.0");
+ fakeFolder.localModifier().insert("A/\\:?*\"<>|.txt");
QVERIFY(fakeFolder.syncOnce());
- QCOMPARE(fakeFolder.currentLocalState(), remoteInfo);
- QCOMPARE(nPUT, 3);
- QCOMPARE(nDELETE, 3);
-
- // Move-and-change, content only -- c1 has no checksum, so we fail to detect this!
- mtime = fakeFolder.remoteModifier().find("C/c1")->lastModified;
- fakeFolder.localModifier().rename("C/c1", "C/c1m");
- fakeFolder.localModifier().setContents("C/c1m", 'C');
- fakeFolder.localModifier().setModTime("C/c1m", mtime);
+ QCOMPARE(fakeFolder.currentLocalState(), fakeFolder.currentRemoteState());
+
+ // For legacy servers, some characters were forbidden by the client
+ fakeFolder.syncEngine().account()->setServerVersion("8.0.0");
+ fakeFolder.localModifier().insert("B/\\:?*\"<>|.txt");
QVERIFY(fakeFolder.syncOnce());
- QCOMPARE(nPUT, 3);
- QCOMPARE(nDELETE, 3);
- QVERIFY(!(fakeFolder.currentLocalState() == remoteInfo));
+ QVERIFY(!fakeFolder.currentRemoteState().find("B/\\:?*\"<>|.txt"));
- // cleanup, and upload a file that will have a checksum in the db
- fakeFolder.localModifier().remove("C/c1m");
- fakeFolder.localModifier().insert("C/c3");
+ // We can override that by setting the capability
+ fakeFolder.syncEngine().account()->setCapabilities({ { "dav", QVariantMap{ { "invalidFilenameRegex", "" } } } });
QVERIFY(fakeFolder.syncOnce());
- QCOMPARE(fakeFolder.currentLocalState(), remoteInfo);
- QCOMPARE(nPUT, 4);
- QCOMPARE(nDELETE, 4);
-
- // Move-and-change, content only, this time while having a checksum
- mtime = fakeFolder.remoteModifier().find("C/c3")->lastModified;
- fakeFolder.localModifier().rename("C/c3", "C/c3m");
- fakeFolder.localModifier().setContents("C/c3m", 'C');
- fakeFolder.localModifier().setModTime("C/c3m", mtime);
+ QCOMPARE(fakeFolder.currentLocalState(), fakeFolder.currentRemoteState());
+
+ // Check that new servers also accept the capability
+ fakeFolder.syncEngine().account()->setServerVersion("10.0.0");
+ fakeFolder.syncEngine().account()->setCapabilities({ { "dav", QVariantMap{ { "invalidFilenameRegex", "my[fgh]ile" } } } });
+ fakeFolder.localModifier().insert("C/myfile.txt");
QVERIFY(fakeFolder.syncOnce());
- QCOMPARE(nPUT, 5);
- QCOMPARE(nDELETE, 5);
- QCOMPARE(fakeFolder.currentLocalState(), remoteInfo);
+ QVERIFY(!fakeFolder.currentRemoteState().find("C/myfile.txt"));
}
// Check correct behavior when local discovery is partially drawn from the db
diff --git a/test/testsyncfilestatustracker.cpp b/test/testsyncfilestatustracker.cpp
index ed828857d..bbc80f386 100644
--- a/test/testsyncfilestatustracker.cpp
+++ b/test/testsyncfilestatustracker.cpp
@@ -436,6 +436,8 @@ private slots:
fakeFolder.remoteModifier().appendByte("S/s1");
fakeFolder.remoteModifier().insert("B/b3");
fakeFolder.remoteModifier().find("B/b3")->extraDavProperties = "<oc:share-types><oc:share-type>0</oc:share-type></oc:share-types>";
+ fakeFolder.remoteModifier().find("A/a1")->isShared = true; // becomes shared
+ fakeFolder.remoteModifier().find("A", true); // change the etags of the parent
StatusPushSpy statusSpy(fakeFolder.syncEngine());
@@ -458,6 +460,7 @@ private slots:
QCOMPARE(statusSpy.statusOf("S/s1"), sharedUpToDateStatus);
QCOMPARE(statusSpy.statusOf("B/b1").shared(), false);
QCOMPARE(statusSpy.statusOf("B/b3"), sharedUpToDateStatus);
+ QCOMPARE(statusSpy.statusOf("A/a1"), sharedUpToDateStatus);
QCOMPARE(fakeFolder.currentLocalState(), fakeFolder.currentRemoteState());
}
diff --git a/test/testsyncmove.cpp b/test/testsyncmove.cpp
new file mode 100644
index 000000000..11b354ad4
--- /dev/null
+++ b/test/testsyncmove.cpp
@@ -0,0 +1,569 @@
+/*
+ * This software is in the public domain, furnished "as is", without technical
+ * support, and with no warranty, express or implied, as to its usefulness for
+ * any purpose.
+ *
+ */
+
+#include <QtTest>
+#include "syncenginetestutils.h"
+#include <syncengine.h>
+
+using namespace OCC;
+
+SyncFileItemPtr findItem(const QSignalSpy &spy, const QString &path)
+{
+ for (const QList<QVariant> &args : spy) {
+ auto item = args[0].value<SyncFileItemPtr>();
+ if (item->destination() == path)
+ return item;
+ }
+ return SyncFileItemPtr(new SyncFileItem);
+}
+
+bool itemSuccessful(const QSignalSpy &spy, const QString &path, const csync_instructions_e instr)
+{
+ auto item = findItem(spy, path);
+ return item->_status == SyncFileItem::Success && item->_instruction == instr;
+}
+
+bool itemConflict(const QSignalSpy &spy, const QString &path)
+{
+ auto item = findItem(spy, path);
+ return item->_status == SyncFileItem::Conflict && item->_instruction == CSYNC_INSTRUCTION_CONFLICT;
+}
+
+bool itemSuccessfulMove(const QSignalSpy &spy, const QString &path)
+{
+ return itemSuccessful(spy, path, CSYNC_INSTRUCTION_RENAME);
+}
+
+QStringList findConflicts(const FileInfo &dir)
+{
+ QStringList conflicts;
+ for (const auto &item : dir.children) {
+ if (item.name.contains("conflict")) {
+ conflicts.append(item.path());
+ }
+ }
+ return conflicts;
+}
+
+bool expectAndWipeConflict(FileModifier &local, FileInfo state, const QString path)
+{
+ PathComponents pathComponents(path);
+ auto base = state.find(pathComponents.parentDirComponents());
+ if (!base)
+ return false;
+ for (const auto &item : base->children) {
+ if (item.name.startsWith(pathComponents.fileName()) && item.name.contains("_conflict")) {
+ local.remove(item.path());
+ return true;
+ }
+ }
+ return false;
+}
+
+class TestSyncMove : public QObject
+{
+ Q_OBJECT
+
+private slots:
+ void testRemoteChangeInMovedFolder()
+ {
+ // issue #5192
+ FakeFolder fakeFolder{ FileInfo{ QString(), { FileInfo{ QStringLiteral("folder"), { FileInfo{ QStringLiteral("folderA"), { { QStringLiteral("file.txt"), 400 } } }, QStringLiteral("folderB") } } } } };
+
+ QCOMPARE(fakeFolder.currentLocalState(), fakeFolder.currentRemoteState());
+
+ // Edit a file in a moved directory.
+ fakeFolder.remoteModifier().setContents("folder/folderA/file.txt", 'a');
+ fakeFolder.remoteModifier().rename("folder/folderA", "folder/folderB/folderA");
+ fakeFolder.syncOnce();
+ QCOMPARE(fakeFolder.currentLocalState(), fakeFolder.currentRemoteState());
+ auto oldState = fakeFolder.currentLocalState();
+ QVERIFY(oldState.find("folder/folderB/folderA/file.txt"));
+ QVERIFY(!oldState.find("folder/folderA/file.txt"));
+
+ // This sync should not remove the file
+ fakeFolder.syncOnce();
+ QCOMPARE(fakeFolder.currentLocalState(), fakeFolder.currentRemoteState());
+ QCOMPARE(fakeFolder.currentLocalState(), oldState);
+ }
+
+ void testSelectiveSyncMovedFolder()
+ {
+ // issue #5224
+ FakeFolder fakeFolder{ FileInfo{ QString(), { FileInfo{ QStringLiteral("parentFolder"), { FileInfo{ QStringLiteral("subFolderA"), { { QStringLiteral("fileA.txt"), 400 } } }, FileInfo{ QStringLiteral("subFolderB"), { { QStringLiteral("fileB.txt"), 400 } } } } } } } };
+
+ QCOMPARE(fakeFolder.currentLocalState(), fakeFolder.currentRemoteState());
+ auto expectedServerState = fakeFolder.currentRemoteState();
+
+ // Remove subFolderA with selectiveSync:
+ fakeFolder.syncEngine().journal()->setSelectiveSyncList(SyncJournalDb::SelectiveSyncBlackList,
+ { "parentFolder/subFolderA/" });
+ fakeFolder.syncEngine().journal()->avoidReadFromDbOnNextSync(QByteArrayLiteral("parentFolder/subFolderA/"));
+
+ fakeFolder.syncOnce();
+
+ {
+ // Nothing changed on the server
+ QCOMPARE(fakeFolder.currentRemoteState(), expectedServerState);
+ // The local state should not have subFolderA
+ auto remoteState = fakeFolder.currentRemoteState();
+ remoteState.remove("parentFolder/subFolderA");
+ QCOMPARE(fakeFolder.currentLocalState(), remoteState);
+ }
+
+ // Rename parentFolder on the server
+ fakeFolder.remoteModifier().rename("parentFolder", "parentFolderRenamed");
+ expectedServerState = fakeFolder.currentRemoteState();
+ fakeFolder.syncOnce();
+
+ {
+ QCOMPARE(fakeFolder.currentRemoteState(), expectedServerState);
+ auto remoteState = fakeFolder.currentRemoteState();
+ // The subFolderA should still be there on the server.
+ QVERIFY(remoteState.find("parentFolderRenamed/subFolderA/fileA.txt"));
+ // But not on the client because of the selective sync
+ remoteState.remove("parentFolderRenamed/subFolderA");
+ QCOMPARE(fakeFolder.currentLocalState(), remoteState);
+ }
+
+ // Rename it again, locally this time.
+ fakeFolder.localModifier().rename("parentFolderRenamed", "parentThirdName");
+ fakeFolder.syncOnce();
+
+ {
+ auto remoteState = fakeFolder.currentRemoteState();
+ // The subFolderA should still be there on the server.
+ QVERIFY(remoteState.find("parentThirdName/subFolderA/fileA.txt"));
+ // But not on the client because of the selective sync
+ remoteState.remove("parentThirdName/subFolderA");
+ QCOMPARE(fakeFolder.currentLocalState(), remoteState);
+
+ expectedServerState = fakeFolder.currentRemoteState();
+ QSignalSpy completeSpy(&fakeFolder.syncEngine(), SIGNAL(itemCompleted(const SyncFileItemPtr &)));
+ fakeFolder.syncOnce(); // This sync should do nothing
+ QCOMPARE(completeSpy.count(), 0);
+
+ QCOMPARE(fakeFolder.currentRemoteState(), expectedServerState);
+ QCOMPARE(fakeFolder.currentLocalState(), remoteState);
+ }
+ }
+
+ void testLocalMoveDetection()
+ {
+ FakeFolder fakeFolder{ FileInfo::A12_B12_C12_S12() };
+
+ int nPUT = 0;
+ int nDELETE = 0;
+ fakeFolder.setServerOverride([&](QNetworkAccessManager::Operation op, const QNetworkRequest &) {
+ if (op == QNetworkAccessManager::PutOperation)
+ ++nPUT;
+ if (op == QNetworkAccessManager::DeleteOperation)
+ ++nDELETE;
+ return nullptr;
+ });
+
+ // For directly editing the remote checksum
+ FileInfo &remoteInfo = fakeFolder.remoteModifier();
+
+ // Simple move causing a remote rename
+ fakeFolder.localModifier().rename("A/a1", "A/a1m");
+ QVERIFY(fakeFolder.syncOnce());
+ QCOMPARE(fakeFolder.currentLocalState(), remoteInfo);
+ QCOMPARE(nPUT, 0);
+
+ // Move-and-change, causing a upload and delete
+ fakeFolder.localModifier().rename("A/a2", "A/a2m");
+ fakeFolder.localModifier().appendByte("A/a2m");
+ QVERIFY(fakeFolder.syncOnce());
+ QCOMPARE(fakeFolder.currentLocalState(), remoteInfo);
+ QCOMPARE(nPUT, 1);
+ QCOMPARE(nDELETE, 1);
+
+ // Move-and-change, mtime+content only
+ fakeFolder.localModifier().rename("B/b1", "B/b1m");
+ fakeFolder.localModifier().setContents("B/b1m", 'C');
+ QVERIFY(fakeFolder.syncOnce());
+ QCOMPARE(fakeFolder.currentLocalState(), remoteInfo);
+ QCOMPARE(nPUT, 2);
+ QCOMPARE(nDELETE, 2);
+
+ // Move-and-change, size+content only
+ auto mtime = fakeFolder.remoteModifier().find("B/b2")->lastModified;
+ fakeFolder.localModifier().rename("B/b2", "B/b2m");
+ fakeFolder.localModifier().appendByte("B/b2m");
+ fakeFolder.localModifier().setModTime("B/b2m", mtime);
+ QVERIFY(fakeFolder.syncOnce());
+ QCOMPARE(fakeFolder.currentLocalState(), remoteInfo);
+ QCOMPARE(nPUT, 3);
+ QCOMPARE(nDELETE, 3);
+
+ // Move-and-change, content only -- c1 has no checksum, so we fail to detect this!
+ // NOTE: This is an expected failure.
+ mtime = fakeFolder.remoteModifier().find("C/c1")->lastModified;
+ fakeFolder.localModifier().rename("C/c1", "C/c1m");
+ fakeFolder.localModifier().setContents("C/c1m", 'C');
+ fakeFolder.localModifier().setModTime("C/c1m", mtime);
+ QVERIFY(fakeFolder.syncOnce());
+ QCOMPARE(nPUT, 3);
+ QCOMPARE(nDELETE, 3);
+ QVERIFY(!(fakeFolder.currentLocalState() == remoteInfo));
+
+ // cleanup, and upload a file that will have a checksum in the db
+ fakeFolder.localModifier().remove("C/c1m");
+ fakeFolder.localModifier().insert("C/c3");
+ QVERIFY(fakeFolder.syncOnce());
+ QCOMPARE(fakeFolder.currentLocalState(), remoteInfo);
+ QCOMPARE(nPUT, 4);
+ QCOMPARE(nDELETE, 4);
+
+ // Move-and-change, content only, this time while having a checksum
+ mtime = fakeFolder.remoteModifier().find("C/c3")->lastModified;
+ fakeFolder.localModifier().rename("C/c3", "C/c3m");
+ fakeFolder.localModifier().setContents("C/c3m", 'C');
+ fakeFolder.localModifier().setModTime("C/c3m", mtime);
+ QVERIFY(fakeFolder.syncOnce());
+ QCOMPARE(nPUT, 5);
+ QCOMPARE(nDELETE, 5);
+ QCOMPARE(fakeFolder.currentLocalState(), remoteInfo);
+ }
+
+ // If the same folder is shared in two different ways with the same
+ // user, the target user will see duplicate file ids. We need to make
+ // sure the move detection and sync still do the right thing in that
+ // case.
+ void testDuplicateFileId()
+ {
+ FakeFolder fakeFolder{ FileInfo::A12_B12_C12_S12() };
+ auto &remote = fakeFolder.remoteModifier();
+
+ remote.mkdir("A/W");
+ remote.insert("A/W/w1");
+ remote.mkdir("A/Q");
+
+ // Duplicate every entry in A under O/A
+ remote.mkdir("O");
+ remote.children["O"].addChild(remote.children["A"]);
+
+ // This already checks that the rename detection doesn't get
+ // horribly confused if we add new files that have the same
+ // fileid as existing ones
+ QVERIFY(fakeFolder.syncOnce());
+ QCOMPARE(fakeFolder.currentLocalState(), fakeFolder.currentRemoteState());
+
+ int nGET = 0;
+ fakeFolder.setServerOverride([&](QNetworkAccessManager::Operation op, const QNetworkRequest &) {
+ if (op == QNetworkAccessManager::GetOperation)
+ ++nGET;
+ return nullptr;
+ });
+
+ // Try a remote file move
+ remote.rename("A/a1", "A/W/a1m");
+ remote.rename("O/A/a1", "O/A/W/a1m");
+ QVERIFY(fakeFolder.syncOnce());
+ QCOMPARE(fakeFolder.currentLocalState(), fakeFolder.currentRemoteState());
+ QCOMPARE(nGET, 0);
+
+ // And a remote directory move
+ remote.rename("A/W", "A/Q/W");
+ remote.rename("O/A/W", "O/A/Q/W");
+ QVERIFY(fakeFolder.syncOnce());
+ QCOMPARE(fakeFolder.currentLocalState(), fakeFolder.currentRemoteState());
+ QCOMPARE(nGET, 0);
+
+ // Partial file removal (in practice, A/a2 may be moved to O/a2, but we don't care)
+ remote.rename("O/A/a2", "O/a2");
+ remote.remove("A/a2");
+ QVERIFY(fakeFolder.syncOnce());
+ QCOMPARE(fakeFolder.currentLocalState(), fakeFolder.currentRemoteState());
+ QCOMPARE(nGET, 0);
+
+ // Local change plus remote move at the same time
+ fakeFolder.localModifier().appendByte("O/a2");
+ remote.rename("O/a2", "O/a3");
+ QVERIFY(fakeFolder.syncOnce());
+ QCOMPARE(fakeFolder.currentLocalState(), fakeFolder.currentRemoteState());
+ QCOMPARE(nGET, 1);
+ }
+
+ void testMovePropagation()
+ {
+ FakeFolder fakeFolder{ FileInfo::A12_B12_C12_S12() };
+ auto &local = fakeFolder.localModifier();
+ auto &remote = fakeFolder.remoteModifier();
+
+ int nGET = 0;
+ int nPUT = 0;
+ int nMOVE = 0;
+ int nDELETE = 0;
+ fakeFolder.setServerOverride([&](QNetworkAccessManager::Operation op, const QNetworkRequest &req) {
+ if (op == QNetworkAccessManager::GetOperation)
+ ++nGET;
+ if (op == QNetworkAccessManager::PutOperation)
+ ++nPUT;
+ if (op == QNetworkAccessManager::DeleteOperation)
+ ++nDELETE;
+ if (req.attribute(QNetworkRequest::CustomVerbAttribute) == "MOVE")
+ ++nMOVE;
+ return nullptr;
+ });
+ auto resetCounters = [&]() {
+ nGET = nPUT = nMOVE = nDELETE = 0;
+ };
+
+ // Move
+ {
+ resetCounters();
+ local.rename("A/a1", "A/a1m");
+ remote.rename("B/b1", "B/b1m");
+ QSignalSpy completeSpy(&fakeFolder.syncEngine(), SIGNAL(itemCompleted(const SyncFileItemPtr &)));
+ QVERIFY(fakeFolder.syncOnce());
+ QCOMPARE(fakeFolder.currentLocalState(), fakeFolder.currentRemoteState());
+ QCOMPARE(nGET, 0);
+ QCOMPARE(nPUT, 0);
+ QCOMPARE(nMOVE, 1);
+ QCOMPARE(nDELETE, 0);
+ QVERIFY(itemSuccessfulMove(completeSpy, "A/a1m"));
+ QVERIFY(itemSuccessfulMove(completeSpy, "B/b1m"));
+ }
+
+ // Touch+Move on same side
+ resetCounters();
+ local.rename("A/a2", "A/a2m");
+ local.setContents("A/a2m", 'A');
+ remote.rename("B/b2", "B/b2m");
+ remote.setContents("B/b2m", 'A');
+ QVERIFY(fakeFolder.syncOnce());
+ QCOMPARE(fakeFolder.currentLocalState(), fakeFolder.currentRemoteState());
+ QCOMPARE(nGET, 1);
+ QCOMPARE(nPUT, 1);
+ QCOMPARE(nMOVE, 0);
+ QCOMPARE(nDELETE, 1);
+ QCOMPARE(remote.find("A/a2m")->contentChar, 'A');
+ QCOMPARE(remote.find("B/b2m")->contentChar, 'A');
+
+ // Touch+Move on opposite sides
+ resetCounters();
+ local.rename("A/a1m", "A/a1m2");
+ remote.setContents("A/a1m", 'B');
+ remote.rename("B/b1m", "B/b1m2");
+ local.setContents("B/b1m", 'B');
+ QVERIFY(fakeFolder.syncOnce());
+ QCOMPARE(fakeFolder.currentLocalState(), fakeFolder.currentRemoteState());
+ QCOMPARE(nGET, 2);
+ QCOMPARE(nPUT, 2);
+ QCOMPARE(nMOVE, 0);
+ QCOMPARE(nDELETE, 0);
+ // All these files existing afterwards is debatable. Should we propagate
+ // the rename in one direction and grab the new contents in the other?
+ // Currently there's no propagation job that would do that, and this does
+ // at least not lose data.
+ QCOMPARE(remote.find("A/a1m")->contentChar, 'B');
+ QCOMPARE(remote.find("B/b1m")->contentChar, 'B');
+ QCOMPARE(remote.find("A/a1m2")->contentChar, 'W');
+ QCOMPARE(remote.find("B/b1m2")->contentChar, 'W');
+
+ // Touch+create on one side, move on the other
+ {
+ resetCounters();
+ local.appendByte("A/a1m");
+ local.insert("A/a1mt");
+ remote.rename("A/a1m", "A/a1mt");
+ remote.appendByte("B/b1m");
+ remote.insert("B/b1mt");
+ local.rename("B/b1m", "B/b1mt");
+ QSignalSpy completeSpy(&fakeFolder.syncEngine(), SIGNAL(itemCompleted(const SyncFileItemPtr &)));
+ QVERIFY(fakeFolder.syncOnce());
+ QVERIFY(expectAndWipeConflict(local, fakeFolder.currentLocalState(), "A/a1mt"));
+ QVERIFY(expectAndWipeConflict(local, fakeFolder.currentLocalState(), "B/b1mt"));
+ QCOMPARE(fakeFolder.currentLocalState(), fakeFolder.currentRemoteState());
+ QCOMPARE(nGET, 3);
+ QCOMPARE(nPUT, 1);
+ QCOMPARE(nMOVE, 0);
+ QCOMPARE(nDELETE, 0);
+ QVERIFY(itemSuccessful(completeSpy, "A/a1m", CSYNC_INSTRUCTION_NEW));
+ QVERIFY(itemSuccessful(completeSpy, "B/b1m", CSYNC_INSTRUCTION_NEW));
+ QVERIFY(itemConflict(completeSpy, "A/a1mt"));
+ QVERIFY(itemConflict(completeSpy, "B/b1mt"));
+ }
+
+ // Create new on one side, move to new on the other
+ {
+ resetCounters();
+ local.insert("A/a1N", 13);
+ remote.rename("A/a1mt", "A/a1N");
+ remote.insert("B/b1N", 13);
+ local.rename("B/b1mt", "B/b1N");
+ QSignalSpy completeSpy(&fakeFolder.syncEngine(), SIGNAL(itemCompleted(const SyncFileItemPtr &)));
+ QVERIFY(fakeFolder.syncOnce());
+ QVERIFY(expectAndWipeConflict(local, fakeFolder.currentLocalState(), "A/a1N"));
+ QVERIFY(expectAndWipeConflict(local, fakeFolder.currentLocalState(), "B/b1N"));
+ QCOMPARE(fakeFolder.currentLocalState(), fakeFolder.currentRemoteState());
+ QCOMPARE(nGET, 2);
+ QCOMPARE(nPUT, 0);
+ QCOMPARE(nMOVE, 0);
+ QCOMPARE(nDELETE, 1);
+ QVERIFY(itemSuccessful(completeSpy, "A/a1mt", CSYNC_INSTRUCTION_REMOVE));
+ QVERIFY(itemSuccessful(completeSpy, "B/b1mt", CSYNC_INSTRUCTION_REMOVE));
+ QVERIFY(itemConflict(completeSpy, "A/a1N"));
+ QVERIFY(itemConflict(completeSpy, "B/b1N"));
+ }
+
+ // Local move, remote move
+ resetCounters();
+ local.rename("C/c1", "C/c1mL");
+ remote.rename("C/c1", "C/c1mR");
+ QVERIFY(fakeFolder.syncOnce());
+ // end up with both files
+ QCOMPARE(fakeFolder.currentLocalState(), fakeFolder.currentRemoteState());
+ QCOMPARE(nGET, 1);
+ QCOMPARE(nPUT, 1);
+ QCOMPARE(nMOVE, 0);
+ QCOMPARE(nDELETE, 0);
+
+ // Rename/rename conflict on a folder
+ resetCounters();
+ remote.rename("C", "CMR");
+ local.rename("C", "CML");
+ QVERIFY(fakeFolder.syncOnce());
+ // End up with both folders
+ QCOMPARE(fakeFolder.currentLocalState(), fakeFolder.currentRemoteState());
+ QCOMPARE(nGET, 3); // 3 files in C
+ QCOMPARE(nPUT, 3);
+ QCOMPARE(nMOVE, 0);
+ QCOMPARE(nDELETE, 0);
+
+ // Folder move
+ {
+ resetCounters();
+ local.rename("A", "AM");
+ remote.rename("B", "BM");
+ QSignalSpy completeSpy(&fakeFolder.syncEngine(), SIGNAL(itemCompleted(const SyncFileItemPtr &)));
+ QVERIFY(fakeFolder.syncOnce());
+ QCOMPARE(fakeFolder.currentLocalState(), fakeFolder.currentRemoteState());
+ QCOMPARE(nGET, 0);
+ QCOMPARE(nPUT, 0);
+ QCOMPARE(nMOVE, 1);
+ QCOMPARE(nDELETE, 0);
+ QVERIFY(itemSuccessfulMove(completeSpy, "AM"));
+ QVERIFY(itemSuccessfulMove(completeSpy, "BM"));
+ }
+
+ // Folder move with contents touched on the same side
+ {
+ resetCounters();
+ local.setContents("AM/a2m", 'C');
+ local.rename("AM", "A2");
+ remote.setContents("BM/b2m", 'C');
+ remote.rename("BM", "B2");
+ QSignalSpy completeSpy(&fakeFolder.syncEngine(), SIGNAL(itemCompleted(const SyncFileItemPtr &)));
+ QVERIFY(fakeFolder.syncOnce());
+ QCOMPARE(fakeFolder.currentLocalState(), fakeFolder.currentRemoteState());
+ QCOMPARE(nGET, 1);
+ QCOMPARE(nPUT, 1);
+ QCOMPARE(nMOVE, 1);
+ QCOMPARE(nDELETE, 0);
+ QCOMPARE(remote.find("A2/a2m")->contentChar, 'C');
+ QCOMPARE(remote.find("B2/b2m")->contentChar, 'C');
+ QVERIFY(itemSuccessfulMove(completeSpy, "A2"));
+ QVERIFY(itemSuccessfulMove(completeSpy, "B2"));
+ }
+
+ // Folder rename with contents touched on the other tree
+ resetCounters();
+ remote.setContents("A2/a2m", 'D');
+ // setContents alone may not produce updated mtime if the test is fast
+ // and since we don't use checksums here, that matters.
+ remote.appendByte("A2/a2m");
+ local.rename("A2", "A3");
+ local.setContents("B2/b2m", 'D');
+ local.appendByte("B2/b2m");
+ remote.rename("B2", "B3");
+ QVERIFY(fakeFolder.syncOnce());
+ QCOMPARE(fakeFolder.currentLocalState(), fakeFolder.currentRemoteState());
+ QCOMPARE(nGET, 1);
+ QCOMPARE(nPUT, 1);
+ QCOMPARE(nMOVE, 1);
+ QCOMPARE(nDELETE, 0);
+ QCOMPARE(remote.find("A3/a2m")->contentChar, 'D');
+ QCOMPARE(remote.find("B3/b2m")->contentChar, 'D');
+
+ // Folder rename with contents touched on both ends
+ resetCounters();
+ remote.setContents("A3/a2m", 'R');
+ remote.appendByte("A3/a2m");
+ local.setContents("A3/a2m", 'L');
+ local.appendByte("A3/a2m");
+ local.appendByte("A3/a2m");
+ local.rename("A3", "A4");
+ remote.setContents("B3/b2m", 'R');
+ remote.appendByte("B3/b2m");
+ local.setContents("B3/b2m", 'L');
+ local.appendByte("B3/b2m");
+ local.appendByte("B3/b2m");
+ remote.rename("B3", "B4");
+ QVERIFY(fakeFolder.syncOnce());
+ auto currentLocal = fakeFolder.currentLocalState();
+ auto conflicts = findConflicts(currentLocal.children["A4"]);
+ QCOMPARE(conflicts.size(), 1);
+ for (auto c : conflicts) {
+ QCOMPARE(currentLocal.find(c)->contentChar, 'L');
+ local.remove(c);
+ }
+ conflicts = findConflicts(currentLocal.children["B4"]);
+ QCOMPARE(conflicts.size(), 1);
+ for (auto c : conflicts) {
+ QCOMPARE(currentLocal.find(c)->contentChar, 'L');
+ local.remove(c);
+ }
+ QCOMPARE(fakeFolder.currentLocalState(), fakeFolder.currentRemoteState());
+ QCOMPARE(nGET, 2);
+ QCOMPARE(nPUT, 0);
+ QCOMPARE(nMOVE, 1);
+ QCOMPARE(nDELETE, 0);
+ QCOMPARE(remote.find("A4/a2m")->contentChar, 'R');
+ QCOMPARE(remote.find("B4/b2m")->contentChar, 'R');
+
+ // Rename a folder and rename the contents at the same time
+ resetCounters();
+ local.rename("A4/a2m", "A4/a2m2");
+ local.rename("A4", "A5");
+ remote.rename("B4/b2m", "B4/b2m2");
+ remote.rename("B4", "B5");
+ QVERIFY(fakeFolder.syncOnce());
+ QCOMPARE(fakeFolder.currentLocalState(), fakeFolder.currentRemoteState());
+ QCOMPARE(nGET, 0);
+ QCOMPARE(nPUT, 0);
+ QCOMPARE(nMOVE, 2);
+ QCOMPARE(nDELETE, 0);
+ }
+
+ // Check interaction of moves with file type changes
+ void testMoveAndTypeChange()
+ {
+ FakeFolder fakeFolder{ FileInfo::A12_B12_C12_S12() };
+ auto &local = fakeFolder.localModifier();
+ auto &remote = fakeFolder.remoteModifier();
+
+ // Touch on one side, rename and mkdir on the other
+ {
+ local.appendByte("A/a1");
+ remote.rename("A/a1", "A/a1mq");
+ remote.mkdir("A/a1");
+ remote.appendByte("B/b1");
+ local.rename("B/b1", "B/b1mq");
+ local.mkdir("B/b1");
+ QSignalSpy completeSpy(&fakeFolder.syncEngine(), SIGNAL(itemCompleted(const SyncFileItemPtr &)));
+ QVERIFY(fakeFolder.syncOnce());
+ // BUG: This doesn't behave right
+ //QCOMPARE(fakeFolder.currentLocalState(), fakeFolder.currentRemoteState());
+ }
+ }
+};
+
+QTEST_GUILESS_MAIN(TestSyncMove)
+#include "testsyncmove.moc"
diff --git a/translations/client_ca.ts b/translations/client_ca.ts
index 1cc21f0d6..d7806f684 100644
--- a/translations/client_ca.ts
+++ b/translations/client_ca.ts
@@ -596,7 +596,7 @@
<context>
<name>OCC::CleanupPollsJob</name>
<message>
- <location filename="../src/libsync/owncloudpropagator.cpp" line="990"/>
+ <location filename="../src/libsync/owncloudpropagator.cpp" line="1001"/>
<source>Error writing metadata to the database</source>
<translation>Error en escriure les metadades a la base de dades</translation>
</message>
@@ -746,26 +746,26 @@ Consulteu el registre per obtenir més informació.</numerusform></translation>
<translation>No s&apos;ha pogut llegir el fitxer d&apos;exclusió del sistema</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="883"/>
+ <location filename="../src/gui/folder.cpp" line="888"/>
<source>A new folder larger than %1 MB has been added: %2.
</source>
<translation>S&apos;ha afegit una carpeta de més de %1 MB: %2.
</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="886"/>
+ <location filename="../src/gui/folder.cpp" line="891"/>
<source>A folder from an external storage has been added.
</source>
<translation>S&apos;ha afegit una carpeta d&apos;una font d&apos;emmagatzematge extern.
</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="887"/>
+ <location filename="../src/gui/folder.cpp" line="892"/>
<source>Please go in the settings to select it if you wish to download it.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="922"/>
+ <location filename="../src/gui/folder.cpp" line="927"/>
<source>All files in the sync folder '%1' folder were deleted on the server.
These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore.
If you decide to keep the files, they will be re-synced with the server if you have rights to do so.
@@ -773,46 +773,46 @@ If you decide to delete the files, they will be unavailable to you, unless you a
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="927"/>
+ <location filename="../src/gui/folder.cpp" line="932"/>
<source>All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored.
Are you sure you want to sync those actions with the server?
If this was an accident and you decide to keep your files, they will be re-synced from the server.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="931"/>
+ <location filename="../src/gui/folder.cpp" line="936"/>
<source>Remove All Files?</source>
<translation>Esborra tots els fitxers?</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="934"/>
+ <location filename="../src/gui/folder.cpp" line="939"/>
<source>Remove all files</source>
<translation>Esborra tots els fitxers</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="935"/>
+ <location filename="../src/gui/folder.cpp" line="940"/>
<source>Keep files</source>
<translation>Mantén els fitxers</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="952"/>
+ <location filename="../src/gui/folder.cpp" line="957"/>
<source>This sync would reset the files to an earlier time in the sync folder '%1'.
This might be because a backup was restored on the server.
Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files?</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="957"/>
+ <location filename="../src/gui/folder.cpp" line="962"/>
<source>Backup detected</source>
<translation>Copia de seguretat detectada</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="960"/>
+ <location filename="../src/gui/folder.cpp" line="965"/>
<source>Normal Synchronisation</source>
<translation>Sincronització normal</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="961"/>
+ <location filename="../src/gui/folder.cpp" line="966"/>
<source>Keep Local Files as Conflict</source>
<translation>Manté els fitxers locals com a conflicte</translation>
</message>
@@ -1286,22 +1286,22 @@ Continuing the sync as normal will cause all your files to be overwritten by an
<context>
<name>OCC::HttpCredentialsGui</name>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="97"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="98"/>
<source>Please enter %1 password:&lt;br&gt;&lt;br&gt;User: %2&lt;br&gt;Account: %3&lt;br&gt;</source>
<translation>Introduïu la contrassenya de %1:&lt;br&gt;&lt;br&gt;Usuari: %2&lt;br&gt;Compte: %3&lt;br&gt;</translation>
</message>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="111"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="112"/>
<source>Reading from keychain failed with error: &apos;%1&apos;</source>
<translation>La lectura de la cadena de claus ha fallat amb l&apos;error: &apos;%1&apos;</translation>
</message>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="117"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="118"/>
<source>Enter Password</source>
<translation>Escriviu contrasenya</translation>
</message>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="154"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="155"/>
<source>&lt;a href=&quot;%1&quot;&gt;Click here&lt;/a&gt; to request an app password from the web interface.</source>
<translation type="unfinished"/>
</message>
@@ -1423,12 +1423,12 @@ Els elements que poden ser eliminats s&apos;eliminaran si impedeixen que una car
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/issueswidget.ui" line="145"/>
+ <location filename="../src/gui/issueswidget.ui" line="148"/>
<source>Copy the issues list to the clipboard.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/issueswidget.ui" line="148"/>
+ <location filename="../src/gui/issueswidget.ui" line="151"/>
<source>Copy</source>
<translation>Copiar</translation>
</message>
@@ -1914,144 +1914,144 @@ No és aconsellada usar-la.</translation>
<context>
<name>OCC::OwncloudSetupWizard</name>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="217"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="250"/>
<source>&lt;font color=&quot;green&quot;&gt;Successfully connected to %1: %2 version %3 (%4)&lt;/font&gt;&lt;br/&gt;&lt;br/&gt;</source>
<translation>&lt;font color=&quot;green&quot;&gt;S&apos;ha connectat correctament amb %1: %2 versió %3 (%4)&lt;/font&gt;&lt;br/&gt;&lt;br/&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="251"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="280"/>
<source>Failed to connect to %1 at %2:&lt;br/&gt;%3</source>
<translation>Ha fallat la connexió amb %1 a %2:&lt;br/&gt;%3</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="285"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="314"/>
<source>Timeout while trying to connect to %1 at %2.</source>
<translation>S&apos;ha esgotat el temps d&apos;espera mentres es conectava a %1 a les %2.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="296"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="334"/>
<source>Trying to connect to %1 at %2...</source>
<translation>Intentant connectar amb %1 a %2...</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="347"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="385"/>
<source>The authenticated request to the server was redirected to &apos;%1&apos;. The URL is bad, the server is misconfigured.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="369"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="407"/>
<source>There was an invalid response to an authenticated webdav request</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="360"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="398"/>
<source>Access forbidden by server. To verify that you have proper access, &lt;a href=&quot;%1&quot;&gt;click here&lt;/a&gt; to access the service with your browser.</source>
<translation>El servidor ha prohibit l&apos;accés. Per verificar que teniu permisos, &lt;a href=&quot;%1&quot;&gt;cliqueu aquí&lt;/a&gt; per accedir al servei amb el vostre navegador.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="249"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="278"/>
<source>Invalid URL</source>
<translation>URL incorrecte</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="414"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="452"/>
<source>Local sync folder %1 already exists, setting it up for sync.&lt;br/&gt;&lt;br/&gt;</source>
<translation>La carpeta local %1 ja existeix, s&apos;està configurant per sincronitzar.&lt;br/&gt;&lt;br/&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="417"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="455"/>
<source>Creating local sync folder %1...</source>
<translation>S&apos;està creant la carpeta de sincronització local %1...</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="421"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="459"/>
<source>ok</source>
<translation>correcte</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="423"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="461"/>
<source>failed.</source>
<translation>ha fallat.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="425"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="463"/>
<source>Could not create local folder %1</source>
<translation>No s&apos;ha pogut crear la carpeta local %1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="451"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="489"/>
<source>No remote folder specified!</source>
<translation>No heu especificat cap carpeta remota!</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="457"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="495"/>
<source>Error: %1</source>
<translation>Error: %1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="470"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="508"/>
<source>creating folder on ownCloud: %1</source>
<translation>creant la carpeta a ownCloud: %1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="486"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="524"/>
<source>Remote folder %1 created successfully.</source>
<translation>La carpeta remota %1 s&apos;ha creat correctament.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="488"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="526"/>
<source>The remote folder %1 already exists. Connecting it for syncing.</source>
<translation>La carpeta remota %1 ja existeix. S&apos;hi està connectant per sincronitzar-les.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="490"/>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="492"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="528"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="530"/>
<source>The folder creation resulted in HTTP error code %1</source>
<translation>La creació de la carpeta ha resultat en el codi d&apos;error HTTP %1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="494"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="532"/>
<source>The remote folder creation failed because the provided credentials are wrong!&lt;br/&gt;Please go back and check your credentials.&lt;/p&gt;</source>
<translation>Ha fallat la creació de la carpeta perquè les credencials proporcionades són incorrectes!&lt;br/&gt;Aneu enrera i comproveu les credencials.&lt;/p&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="498"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="536"/>
<source>&lt;p&gt;&lt;font color=&quot;red&quot;&gt;Remote folder creation failed probably because the provided credentials are wrong.&lt;/font&gt;&lt;br/&gt;Please go back and check your credentials.&lt;/p&gt;</source>
<translation>&lt;p&gt;&lt;font color=&quot;red&quot;&gt;La creació de la carpeta remota ha fallat, probablement perquè les credencials facilitades són incorrectes.&lt;/font&gt;&lt;br/&gt;Comproveu les vostres credencials.&lt;/p&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="503"/>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="504"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="541"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="542"/>
<source>Remote folder %1 creation failed with error &lt;tt&gt;%2&lt;/tt&gt;.</source>
<translation>La creació de la carpeta remota %1 ha fallat amb l&apos;error &lt;tt&gt;%2&lt;/tt&gt;.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="521"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="559"/>
<source>A sync connection from %1 to remote directory %2 was set up.</source>
<translation>S&apos;ha establert una connexió de sincronització des de %1 a la carpeta remota %2.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="526"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="564"/>
<source>Successfully connected to %1!</source>
<translation>Connectat amb èxit a %1!</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="533"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="571"/>
<source>Connection to %1 could not be established. Please check again.</source>
<translation>No s&apos;ha pogut establir la connexió amb %1. Comproveu-ho de nou.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="547"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="585"/>
<source>Folder rename failed</source>
<translation>Ha fallat en canviar el nom de la carpeta</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="548"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="586"/>
<source>Can&apos;t remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup.</source>
<translation>No es pot esborrar i restaurar la carpeta perquè una carpeta o un fitxer de dins està obert en un altre programa. Tanqueu la carpeta o el fitxer i intenteu-ho de nou o cancel·leu la configuració.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="593"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="631"/>
<source>&lt;font color=&quot;green&quot;&gt;&lt;b&gt;Local sync folder %1 successfully created!&lt;/b&gt;&lt;/font&gt;</source>
<translation>&lt;font color=&quot;green&quot;&gt;&lt;b&gt;la carpeta de sincronització %1 s&apos;ha creat correctament!&lt;/b&gt;&lt;/font&gt;</translation>
</message>
@@ -2098,7 +2098,7 @@ No és aconsellada usar-la.</translation>
<context>
<name>OCC::PropagateDirectory</name>
<message>
- <location filename="../src/libsync/owncloudpropagator.cpp" line="942"/>
+ <location filename="../src/libsync/owncloudpropagator.cpp" line="953"/>
<source>Error writing metadata to the database</source>
<translation>Error en escriure les metadades a la base de dades</translation>
</message>
@@ -2136,17 +2136,17 @@ No és aconsellada usar-la.</translation>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/propagatedownload.cpp" line="772"/>
+ <location filename="../src/libsync/propagatedownload.cpp" line="775"/>
<source>File %1 cannot be saved because of a local file name clash!</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/propagatedownload.cpp" line="820"/>
+ <location filename="../src/libsync/propagatedownload.cpp" line="823"/>
<source>File has changed since discovery</source>
<translation>El fitxer ha canviat des de que es va descobrir</translation>
</message>
<message>
- <location filename="../src/libsync/propagatedownload.cpp" line="871"/>
+ <location filename="../src/libsync/propagatedownload.cpp" line="874"/>
<source>Error writing metadata to the database</source>
<translation>Error en escriure les metadades a la base de dades</translation>
</message>
@@ -2222,12 +2222,12 @@ No és aconsellada usar-la.</translation>
<context>
<name>OCC::PropagateRemoteDelete</name>
<message>
- <location filename="../src/libsync/propagateremotedelete.cpp" line="96"/>
+ <location filename="../src/libsync/propagateremotedelete.cpp" line="100"/>
<source>The file has been removed from a read only share. It was restored.</source>
<translation>El fitxer s&apos;ha eliminat d&apos;una compartició només de lectura. S&apos;ha restaurat.</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotedelete.cpp" line="117"/>
+ <location filename="../src/libsync/propagateremotedelete.cpp" line="121"/>
<source>Wrong HTTP code returned by server. Expected 204, but received &quot;%1 %2&quot;.</source>
<translation type="unfinished"/>
</message>
@@ -2235,12 +2235,12 @@ No és aconsellada usar-la.</translation>
<context>
<name>OCC::PropagateRemoteMkdir</name>
<message>
- <location filename="../src/libsync/propagateremotemkdir.cpp" line="95"/>
+ <location filename="../src/libsync/propagateremotemkdir.cpp" line="99"/>
<source>Wrong HTTP code returned by server. Expected 201, but received &quot;%1 %2&quot;.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/propagateremotemkdir.cpp" line="147"/>
+ <location filename="../src/libsync/propagateremotemkdir.cpp" line="151"/>
<source>Error writing metadata to the database</source>
<translation>Error en escriure les metadades a la base de dades</translation>
</message>
@@ -2258,18 +2258,18 @@ No és aconsellada usar-la.</translation>
<translation>Aquesta carpeta no es pot reanomenar. Reanomeneu-la de nou Shared.</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotemove.cpp" line="137"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="141"/>
<source>The file was renamed but is part of a read only share. The original file was restored.</source>
<translation>El fitxer s&apos;ha reanomenat però és part d&apos;una compartició només de lectura. El fixter original s&apos;ha restaurat.</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotemove.cpp" line="154"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="158"/>
<source>Wrong HTTP code returned by server. Expected 201, but received &quot;%1 %2&quot;.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/propagateremotemove.cpp" line="186"/>
- <location filename="../src/libsync/propagateremotemove.cpp" line="192"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="190"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="196"/>
<source>Error writing metadata to the database</source>
<translation>Error en escriure les metadades a la base de dades</translation>
</message>
@@ -2303,7 +2303,7 @@ No és aconsellada usar-la.</translation>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/propagateupload.cpp" line="618"/>
+ <location filename="../src/libsync/propagateupload.cpp" line="622"/>
<source>Error writing metadata to the database</source>
<translation>Error en escriure les metadades a la base de dades</translation>
</message>
@@ -2377,42 +2377,42 @@ No és aconsellada usar-la.</translation>
<translation>TextLabel</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="48"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="61"/>
<source>Time</source>
<translation>Hora</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="49"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="62"/>
<source>File</source>
<translation>Fitxer</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="50"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="63"/>
<source>Folder</source>
<translation>Carpeta</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="51"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="64"/>
<source>Action</source>
<translation>Acció</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="52"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="65"/>
<source>Size</source>
<translation>Mida</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="72"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="85"/>
<source>Local sync protocol</source>
<translation>Protocol de sincronització local</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="74"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="87"/>
<source>Copy</source>
<translation>Copia</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="75"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="88"/>
<source>Copy the activity list to the clipboard.</source>
<translation>Copia la llista d&apos;activitats al porta-retalls.</translation>
</message>
@@ -2544,6 +2544,7 @@ No és aconsellada usar-la.</translation>
</message>
<message>
<location filename="../src/gui/settingsdialogmac.cpp" line="152"/>
+ <location filename="../src/gui/settingsdialogmac.cpp" line="211"/>
<source>Account</source>
<translation>Compte</translation>
</message>
@@ -3200,22 +3201,22 @@ No és aconsellada usar-la.</translation>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1278"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1287"/>
<source>Not allowed because you don&apos;t have permission to add parent folder</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1285"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1294"/>
<source>Not allowed because you don&apos;t have permission to add files in that folder</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1588"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1597"/>
<source>Disk space is low: Downloads that would reduce free space below %1 were skipped.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1595"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1604"/>
<source>There is insufficient space available on the server for some uploads.</source>
<translation type="unfinished"/>
</message>
@@ -3340,54 +3341,54 @@ No és aconsellada usar-la.</translation>
<translation>No es pot obrir el diari de sincronització</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="968"/>
+ <location filename="../src/libsync/syncengine.cpp" line="977"/>
<source>File name contains at least one invalid character</source>
<translation>El nom del fitxer conté al menys un caràcter invàlid</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1204"/>
- <location filename="../src/libsync/syncengine.cpp" line="1244"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1213"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1253"/>
<source>Ignored because of the &quot;choose what to sync&quot; blacklist</source>
<translation>S&apos;ignora degut al filtre a «Trieu què sincronitzar»</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1263"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1272"/>
<source>Not allowed because you don&apos;t have permission to add subfolders to that folder</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1310"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1319"/>
<source>Not allowed to upload this file because it is read-only on the server, restoring</source>
<translation>No es permet pujar aquest fitxer perquè només és de lectura en el servidor, es restaura</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1326"/>
- <location filename="../src/libsync/syncengine.cpp" line="1345"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1335"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1354"/>
<source>Not allowed to remove, restoring</source>
<translation>No es permet l&apos;eliminació, es restaura</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1359"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1368"/>
<source>Local files and share folder removed.</source>
<translation>Fitxers locals i carpeta compartida esborrats.</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1413"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1422"/>
<source>Move not allowed, item restored</source>
<translation>No es permet moure&apos;l, l&apos;element es restaura</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1424"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1433"/>
<source>Move not allowed because %1 is read-only</source>
<translation>No es permet moure perquè %1 només és de lectura</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1424"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1433"/>
<source>the destination</source>
<translation>el destí</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1424"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1433"/>
<source>the source</source>
<translation>l&apos;origen</translation>
</message>
@@ -3429,17 +3430,17 @@ No és aconsellada usar-la.</translation>
<context>
<name>OCC::ValidateChecksumHeader</name>
<message>
- <location filename="../src/common/checksums.cpp" line="205"/>
+ <location filename="../src/common/checksums.cpp" line="218"/>
<source>The checksum header is malformed.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/common/checksums.cpp" line="220"/>
+ <location filename="../src/common/checksums.cpp" line="233"/>
<source>The checksum header contained an unknown checksum type &apos;%1&apos;</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/common/checksums.cpp" line="224"/>
+ <location filename="../src/common/checksums.cpp" line="237"/>
<source>The downloaded file does not match the checksum, it will be resumed.</source>
<translation>El fitxer descarregat no concorda amb la suma de verificació. Es reintentarà.</translation>
</message>
diff --git a/translations/client_cs.ts b/translations/client_cs.ts
index 6c366b938..cf22fdb2e 100644
--- a/translations/client_cs.ts
+++ b/translations/client_cs.ts
@@ -596,7 +596,7 @@
<context>
<name>OCC::CleanupPollsJob</name>
<message>
- <location filename="../src/libsync/owncloudpropagator.cpp" line="990"/>
+ <location filename="../src/libsync/owncloudpropagator.cpp" line="1001"/>
<source>Error writing metadata to the database</source>
<translation>Chyba zápisu metadat do databáze</translation>
</message>
@@ -744,25 +744,25 @@
<translation>Nezdařilo se přečtení systémového exclude souboru</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="883"/>
+ <location filename="../src/gui/folder.cpp" line="888"/>
<source>A new folder larger than %1 MB has been added: %2.
</source>
<translation>Nová složka větší než %1 MB byla přidána: %2.
</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="886"/>
+ <location filename="../src/gui/folder.cpp" line="891"/>
<source>A folder from an external storage has been added.
</source>
<translation>Byla přidána složka z externího úložiště.</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="887"/>
+ <location filename="../src/gui/folder.cpp" line="892"/>
<source>Please go in the settings to select it if you wish to download it.</source>
<translation>Pokud to chcete stáhnout, běžte do nastavení a vyberte to.</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="922"/>
+ <location filename="../src/gui/folder.cpp" line="927"/>
<source>All files in the sync folder '%1' folder were deleted on the server.
These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore.
If you decide to keep the files, they will be re-synced with the server if you have rights to do so.
@@ -772,7 +772,7 @@ Tyto soubory budou smazány i ve vaší místní synchronizované složce a nebu
Rozhodnete-li se soubory smazat, budou vám nedostupné, nejste-li jejich vlastníkem.</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="927"/>
+ <location filename="../src/gui/folder.cpp" line="932"/>
<source>All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored.
Are you sure you want to sync those actions with the server?
If this was an accident and you decide to keep your files, they will be re-synced from the server.</source>
@@ -781,22 +781,22 @@ Jste si jisti, že chcete tyto akce synchronizovat se serverem?
Pokud to byl omyl a chcete si soubory ponechat, budou opět synchronizovány ze serveru.</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="931"/>
+ <location filename="../src/gui/folder.cpp" line="936"/>
<source>Remove All Files?</source>
<translation>Odstranit všechny soubory?</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="934"/>
+ <location filename="../src/gui/folder.cpp" line="939"/>
<source>Remove all files</source>
<translation>Odstranit všechny soubory</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="935"/>
+ <location filename="../src/gui/folder.cpp" line="940"/>
<source>Keep files</source>
<translation>Ponechat soubory</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="952"/>
+ <location filename="../src/gui/folder.cpp" line="957"/>
<source>This sync would reset the files to an earlier time in the sync folder '%1'.
This might be because a backup was restored on the server.
Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files?</source>
@@ -805,17 +805,17 @@ Toto může být způsobeno obnovením zálohy na straně serveru.
Pokračováním v synchronizaci způsobí přepsání všech vašich souborů staršími soubory z dřívějšího stavu. Přejete si ponechat své místní nejaktuálnější soubory jako konfliktní soubory?</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="957"/>
+ <location filename="../src/gui/folder.cpp" line="962"/>
<source>Backup detected</source>
<translation>Záloha nalezena</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="960"/>
+ <location filename="../src/gui/folder.cpp" line="965"/>
<source>Normal Synchronisation</source>
<translation>Normální synchronizace</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="961"/>
+ <location filename="../src/gui/folder.cpp" line="966"/>
<source>Keep Local Files as Conflict</source>
<translation>Ponechat místní soubory jako konflikt</translation>
</message>
@@ -1289,22 +1289,22 @@ Pokračováním v synchronizaci způsobí přepsání všech vašich souborů st
<context>
<name>OCC::HttpCredentialsGui</name>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="97"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="98"/>
<source>Please enter %1 password:&lt;br&gt;&lt;br&gt;User: %2&lt;br&gt;Account: %3&lt;br&gt;</source>
<translation>Vložte prosím %1 heslo:&lt;br&gt;&lt;br&gt;Uživatel: %2&lt;br&gt;Účet: %3&lt;br&gt;</translation>
</message>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="111"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="112"/>
<source>Reading from keychain failed with error: &apos;%1&apos;</source>
<translation>Čtení z klíčenky selhalo s chybou: &apos;%1&apos;</translation>
</message>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="117"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="118"/>
<source>Enter Password</source>
<translation>Zadejte heslo</translation>
</message>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="154"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="155"/>
<source>&lt;a href=&quot;%1&quot;&gt;Click here&lt;/a&gt; to request an app password from the web interface.</source>
<translation>&lt;a href=&quot;%1&quot;&gt;Klikněte sem&lt;/a&gt; pro vyžádání hesla aplikace z webového rozhraní.</translation>
</message>
@@ -1426,12 +1426,12 @@ Položky u kterých je povoleno smazání budou vymazány, pokud by bránily ods
<translation>Ukázat ignorované soubory</translation>
</message>
<message>
- <location filename="../src/gui/issueswidget.ui" line="145"/>
+ <location filename="../src/gui/issueswidget.ui" line="148"/>
<source>Copy the issues list to the clipboard.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/issueswidget.ui" line="148"/>
+ <location filename="../src/gui/issueswidget.ui" line="151"/>
<source>Copy</source>
<translation>Kopie</translation>
</message>
@@ -1917,144 +1917,144 @@ Nedoporučuje se jí používat.</translation>
<context>
<name>OCC::OwncloudSetupWizard</name>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="217"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="250"/>
<source>&lt;font color=&quot;green&quot;&gt;Successfully connected to %1: %2 version %3 (%4)&lt;/font&gt;&lt;br/&gt;&lt;br/&gt;</source>
<translation>&lt;font color=&quot;green&quot;&gt;Úspěšně připojeno k %1: %2 verze %3 (%4)&lt;/font&gt;&lt;br/&gt;&lt;br/&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="251"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="280"/>
<source>Failed to connect to %1 at %2:&lt;br/&gt;%3</source>
<translation>Selhalo spojení s %1 v %2:&lt;br/&gt;%3</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="285"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="314"/>
<source>Timeout while trying to connect to %1 at %2.</source>
<translation>Vypršení časového limitu při pokusu o připojení k %1 na %2.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="296"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="334"/>
<source>Trying to connect to %1 at %2...</source>
<translation>Pokouším se připojit k %1 na %2...</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="347"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="385"/>
<source>The authenticated request to the server was redirected to &apos;%1&apos;. The URL is bad, the server is misconfigured.</source>
<translation>Ověřený požadavek na server byl přesměrován na &apos;%1&apos;. URL je špatně, server není správně nakonfigurován.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="369"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="407"/>
<source>There was an invalid response to an authenticated webdav request</source>
<translation>Byla obdržena nesprávná odpověď na ověřený webdav požadavek</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="360"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="398"/>
<source>Access forbidden by server. To verify that you have proper access, &lt;a href=&quot;%1&quot;&gt;click here&lt;/a&gt; to access the service with your browser.</source>
<translation>Přístup zamítnut serverem. Pro ověření správných přístupových práv &lt;a href=&quot;%1&quot;&gt;klikněte sem&lt;/a&gt; a otevřete službu ve svém prohlížeči.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="249"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="278"/>
<source>Invalid URL</source>
<translation>Neplatná URL</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="414"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="452"/>
<source>Local sync folder %1 already exists, setting it up for sync.&lt;br/&gt;&lt;br/&gt;</source>
<translation>Místní synchronizovaný adresář %1 již existuje, nastavuji jej pro synchronizaci.&lt;br/&gt;&lt;br/&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="417"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="455"/>
<source>Creating local sync folder %1...</source>
<translation>Vytvářím místní adresář pro synchronizaci %1...</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="421"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="459"/>
<source>ok</source>
<translation>OK</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="423"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="461"/>
<source>failed.</source>
<translation>selhalo.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="425"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="463"/>
<source>Could not create local folder %1</source>
<translation>Nelze vytvořit místní adresář %1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="451"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="489"/>
<source>No remote folder specified!</source>
<translation>Není nastaven žádný vzdálený adresář!</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="457"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="495"/>
<source>Error: %1</source>
<translation>Chyba: %1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="470"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="508"/>
<source>creating folder on ownCloud: %1</source>
<translation>vytvářím adresář na ownCloudu: %1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="486"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="524"/>
<source>Remote folder %1 created successfully.</source>
<translation>Vzdálený adresář %1 byl úspěšně vytvořen.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="488"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="526"/>
<source>The remote folder %1 already exists. Connecting it for syncing.</source>
<translation>Vzdálený adresář %1 již existuje. Spojuji jej pro synchronizaci.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="490"/>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="492"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="528"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="530"/>
<source>The folder creation resulted in HTTP error code %1</source>
<translation>Vytvoření adresáře selhalo s HTTP chybou %1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="494"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="532"/>
<source>The remote folder creation failed because the provided credentials are wrong!&lt;br/&gt;Please go back and check your credentials.&lt;/p&gt;</source>
<translation>Vytvoření vzdáleného adresáře selhalo, pravděpodobně z důvodu neplatných přihlašovacích údajů.&lt;br/&gt;Vraťte se prosím zpět a zkontrolujte je.&lt;/p&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="498"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="536"/>
<source>&lt;p&gt;&lt;font color=&quot;red&quot;&gt;Remote folder creation failed probably because the provided credentials are wrong.&lt;/font&gt;&lt;br/&gt;Please go back and check your credentials.&lt;/p&gt;</source>
<translation>&lt;p&gt;&lt;font color=&quot;red&quot;&gt;Vytvoření vzdáleného adresáře selhalo, pravděpodobně z důvodu neplatných přihlašovacích údajů.&lt;/font&gt;&lt;br/&gt;Vraťte se prosím zpět a zkontrolujte je.&lt;/p&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="503"/>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="504"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="541"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="542"/>
<source>Remote folder %1 creation failed with error &lt;tt&gt;%2&lt;/tt&gt;.</source>
<translation>Vytváření vzdáleného adresáře %1 selhalo s chybou &lt;tt&gt;%2&lt;/tt&gt;.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="521"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="559"/>
<source>A sync connection from %1 to remote directory %2 was set up.</source>
<translation>Bylo nastaveno synchronizované spojení z %1 do vzdáleného adresáře %2.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="526"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="564"/>
<source>Successfully connected to %1!</source>
<translation>Úspěšně spojeno s %1.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="533"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="571"/>
<source>Connection to %1 could not be established. Please check again.</source>
<translation>Spojení s %1 nelze navázat. Prosím zkuste to znovu.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="547"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="585"/>
<source>Folder rename failed</source>
<translation>Přejmenování adresáře selhalo</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="548"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="586"/>
<source>Can&apos;t remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup.</source>
<translation>Nelze odstranit a zazálohovat adresář, protože adresář nebo soubor v něm je otevřen v jiném programu. Prosím zavřete adresář nebo soubor a zkuste znovu nebo zrušte akci.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="593"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="631"/>
<source>&lt;font color=&quot;green&quot;&gt;&lt;b&gt;Local sync folder %1 successfully created!&lt;/b&gt;&lt;/font&gt;</source>
<translation>&lt;font color=&quot;green&quot;&gt;&lt;b&gt;Místní synchronizovaný adresář %1 byl úspěšně vytvořen!&lt;/b&gt;&lt;/font&gt;</translation>
</message>
@@ -2101,7 +2101,7 @@ Nedoporučuje se jí používat.</translation>
<context>
<name>OCC::PropagateDirectory</name>
<message>
- <location filename="../src/libsync/owncloudpropagator.cpp" line="942"/>
+ <location filename="../src/libsync/owncloudpropagator.cpp" line="953"/>
<source>Error writing metadata to the database</source>
<translation>Chyba zápisu metadat do databáze</translation>
</message>
@@ -2139,17 +2139,17 @@ Nedoporučuje se jí používat.</translation>
<translation>Stažený soubor je prázdný, přestože server oznámil, že měl být %1.</translation>
</message>
<message>
- <location filename="../src/libsync/propagatedownload.cpp" line="772"/>
+ <location filename="../src/libsync/propagatedownload.cpp" line="775"/>
<source>File %1 cannot be saved because of a local file name clash!</source>
<translation>Soubor %1 nemohl být uložen z důvodu kolize názvu se souborem v místním systému!</translation>
</message>
<message>
- <location filename="../src/libsync/propagatedownload.cpp" line="820"/>
+ <location filename="../src/libsync/propagatedownload.cpp" line="823"/>
<source>File has changed since discovery</source>
<translation>Soubor se mezitím změnil</translation>
</message>
<message>
- <location filename="../src/libsync/propagatedownload.cpp" line="871"/>
+ <location filename="../src/libsync/propagatedownload.cpp" line="874"/>
<source>Error writing metadata to the database</source>
<translation>Chyba zápisu metadat do databáze</translation>
</message>
@@ -2225,12 +2225,12 @@ Nedoporučuje se jí používat.</translation>
<context>
<name>OCC::PropagateRemoteDelete</name>
<message>
- <location filename="../src/libsync/propagateremotedelete.cpp" line="96"/>
+ <location filename="../src/libsync/propagateremotedelete.cpp" line="100"/>
<source>The file has been removed from a read only share. It was restored.</source>
<translation>Soubor byl odebrán ze sdílení pouze pro čtení. Soubor byl obnoven.</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotedelete.cpp" line="117"/>
+ <location filename="../src/libsync/propagateremotedelete.cpp" line="121"/>
<source>Wrong HTTP code returned by server. Expected 204, but received &quot;%1 %2&quot;.</source>
<translation>Server vrátil neplatný HTTP kód. Očekáván 204, ale obdržen &quot;%1 %2&quot;.</translation>
</message>
@@ -2238,12 +2238,12 @@ Nedoporučuje se jí používat.</translation>
<context>
<name>OCC::PropagateRemoteMkdir</name>
<message>
- <location filename="../src/libsync/propagateremotemkdir.cpp" line="95"/>
+ <location filename="../src/libsync/propagateremotemkdir.cpp" line="99"/>
<source>Wrong HTTP code returned by server. Expected 201, but received &quot;%1 %2&quot;.</source>
<translation>Server vrátil neplatný HTTP kód. Očekáván 201, ale obdržen &quot;%1 %2&quot;.</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotemkdir.cpp" line="147"/>
+ <location filename="../src/libsync/propagateremotemkdir.cpp" line="151"/>
<source>Error writing metadata to the database</source>
<translation>Chyba zápisu metadat do databáze</translation>
</message>
@@ -2261,18 +2261,18 @@ Nedoporučuje se jí používat.</translation>
<translation>Tento adresář nemůže být přejmenován. Přejmenujte jej prosím zpět na Shared.</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotemove.cpp" line="137"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="141"/>
<source>The file was renamed but is part of a read only share. The original file was restored.</source>
<translation>Soubor byl přejmenován, ale je součástí sdílení pouze pro čtení. Původní soubor byl obnoven.</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotemove.cpp" line="154"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="158"/>
<source>Wrong HTTP code returned by server. Expected 201, but received &quot;%1 %2&quot;.</source>
<translation>Server vrátil neplatný HTTP kód. Očekáván 201, ale obdržen &quot;%1 %2&quot;.</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotemove.cpp" line="186"/>
- <location filename="../src/libsync/propagateremotemove.cpp" line="192"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="190"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="196"/>
<source>Error writing metadata to the database</source>
<translation>Chyba zápisu metadat do databáze</translation>
</message>
@@ -2306,7 +2306,7 @@ Nedoporučuje se jí používat.</translation>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/propagateupload.cpp" line="618"/>
+ <location filename="../src/libsync/propagateupload.cpp" line="622"/>
<source>Error writing metadata to the database</source>
<translation>Chyba zápisu metadat do databáze</translation>
</message>
@@ -2380,42 +2380,42 @@ Nedoporučuje se jí používat.</translation>
<translation>Textový popisek</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="48"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="61"/>
<source>Time</source>
<translation>Čas</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="49"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="62"/>
<source>File</source>
<translation>Soubor</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="50"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="63"/>
<source>Folder</source>
<translation>Adresář</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="51"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="64"/>
<source>Action</source>
<translation>Akce</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="52"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="65"/>
<source>Size</source>
<translation>Velikost</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="72"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="85"/>
<source>Local sync protocol</source>
<translation>Místní protokol synchronizace</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="74"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="87"/>
<source>Copy</source>
<translation>Kopie</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="75"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="88"/>
<source>Copy the activity list to the clipboard.</source>
<translation>Kopírovat záznam aktivity do schránky.</translation>
</message>
@@ -2547,6 +2547,7 @@ Nedoporučuje se jí používat.</translation>
</message>
<message>
<location filename="../src/gui/settingsdialogmac.cpp" line="152"/>
+ <location filename="../src/gui/settingsdialogmac.cpp" line="211"/>
<source>Account</source>
<translation>Účet</translation>
</message>
@@ -3203,22 +3204,22 @@ Nedoporučuje se jí používat.</translation>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1278"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1287"/>
<source>Not allowed because you don&apos;t have permission to add parent folder</source>
<translation>Není povoleno, protože nemáte oprávnění vytvořit nadřazený adresář</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1285"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1294"/>
<source>Not allowed because you don&apos;t have permission to add files in that folder</source>
<translation>Není povoleno, protože nemáte oprávnění přidávat soubory do tohoto adresáře</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1588"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1597"/>
<source>Disk space is low: Downloads that would reduce free space below %1 were skipped.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1595"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1604"/>
<source>There is insufficient space available on the server for some uploads.</source>
<translation type="unfinished"/>
</message>
@@ -3343,54 +3344,54 @@ Nedoporučuje se jí používat.</translation>
<translation>Nelze otevřít synchronizační žurnál</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="968"/>
+ <location filename="../src/libsync/syncengine.cpp" line="977"/>
<source>File name contains at least one invalid character</source>
<translation>Jméno souboru obsahuje alespoň jeden neplatný znak</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1204"/>
- <location filename="../src/libsync/syncengine.cpp" line="1244"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1213"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1253"/>
<source>Ignored because of the &quot;choose what to sync&quot; blacklist</source>
<translation>Ignorováno podle nastavení &quot;vybrat co synchronizovat&quot;</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1263"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1272"/>
<source>Not allowed because you don&apos;t have permission to add subfolders to that folder</source>
<translation>Není povoleno, protože nemáte oprávnění přidávat podadresáře do tohoto adresáře</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1310"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1319"/>
<source>Not allowed to upload this file because it is read-only on the server, restoring</source>
<translation>Není povoleno nahrát tento soubor, protože je na serveru uložen pouze pro čtení, obnovuji</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1326"/>
- <location filename="../src/libsync/syncengine.cpp" line="1345"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1335"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1354"/>
<source>Not allowed to remove, restoring</source>
<translation>Odstranění není povoleno, obnovuji</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1359"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1368"/>
<source>Local files and share folder removed.</source>
<translation>Místní soubory a sdílený adresář byly odstraněny.</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1413"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1422"/>
<source>Move not allowed, item restored</source>
<translation>Přesun není povolen, položka obnovena</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1424"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1433"/>
<source>Move not allowed because %1 is read-only</source>
<translation>Přesun není povolen, protože %1 je pouze pro čtení</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1424"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1433"/>
<source>the destination</source>
<translation>cílové umístění</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1424"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1433"/>
<source>the source</source>
<translation>zdroj</translation>
</message>
@@ -3432,17 +3433,17 @@ Nedoporučuje se jí používat.</translation>
<context>
<name>OCC::ValidateChecksumHeader</name>
<message>
- <location filename="../src/common/checksums.cpp" line="205"/>
+ <location filename="../src/common/checksums.cpp" line="218"/>
<source>The checksum header is malformed.</source>
<translation>Hlavička kontrolního součtu je poškozena.</translation>
</message>
<message>
- <location filename="../src/common/checksums.cpp" line="220"/>
+ <location filename="../src/common/checksums.cpp" line="233"/>
<source>The checksum header contained an unknown checksum type &apos;%1&apos;</source>
<translation>Hlavička kontrolního součtu obsahovala neznámý typ součtu &apos;%1&apos;</translation>
</message>
<message>
- <location filename="../src/common/checksums.cpp" line="224"/>
+ <location filename="../src/common/checksums.cpp" line="237"/>
<source>The downloaded file does not match the checksum, it will be resumed.</source>
<translation>Stažený soubor neodpovídá kontrolnímu součtu, bude znovu stažen.</translation>
</message>
diff --git a/translations/client_de.ts b/translations/client_de.ts
index 2136331a9..71e42cd5a 100644
--- a/translations/client_de.ts
+++ b/translations/client_de.ts
@@ -596,7 +596,7 @@
<context>
<name>OCC::CleanupPollsJob</name>
<message>
- <location filename="../src/libsync/owncloudpropagator.cpp" line="990"/>
+ <location filename="../src/libsync/owncloudpropagator.cpp" line="1001"/>
<source>Error writing metadata to the database</source>
<translation>Fehler beim Schreiben der Metadaten in die Datenbank</translation>
</message>
@@ -744,26 +744,26 @@
<translation>Systemeigene Ausschlussdatei kann nicht gelesen werden</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="883"/>
+ <location filename="../src/gui/folder.cpp" line="888"/>
<source>A new folder larger than %1 MB has been added: %2.
</source>
<translation>Ein neues Verzeichnis größer als %1 MB wurde hinzugefügt: %2.
</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="886"/>
+ <location filename="../src/gui/folder.cpp" line="891"/>
<source>A folder from an external storage has been added.
</source>
<translation>Ein Verzeichnis, von einem externen Speicher wurde hinzugefügt.
</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="887"/>
+ <location filename="../src/gui/folder.cpp" line="892"/>
<source>Please go in the settings to select it if you wish to download it.</source>
<translation>Bitte wechseln Sie zu den Einstellungen, falls Sie das Verzeichnis herunterladen möchten.</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="922"/>
+ <location filename="../src/gui/folder.cpp" line="927"/>
<source>All files in the sync folder '%1' folder were deleted on the server.
These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore.
If you decide to keep the files, they will be re-synced with the server if you have rights to do so.
@@ -774,7 +774,7 @@ Wenn Sie sich dazu entscheiden, diese Dateien zu behalten, werden diese wieder z
Wenn Sie sich zum Löschen der Dateien entscheiden, sind diese nicht mehr verfügbar, außer Sie sind der Eigentümer.</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="927"/>
+ <location filename="../src/gui/folder.cpp" line="932"/>
<source>All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored.
Are you sure you want to sync those actions with the server?
If this was an accident and you decide to keep your files, they will be re-synced from the server.</source>
@@ -783,22 +783,22 @@ Sind Sie sich sicher, dass Sie diese Aktion mit Ihrem Server synchronisieren mö
Falls dies ein Missgeschick war und Sie sich zum Behalten der Dateien entscheiden, werden diese wieder vom Server synchronisiert.</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="931"/>
+ <location filename="../src/gui/folder.cpp" line="936"/>
<source>Remove All Files?</source>
<translation>Alle Dateien löschen?</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="934"/>
+ <location filename="../src/gui/folder.cpp" line="939"/>
<source>Remove all files</source>
<translation>Lösche alle Dateien</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="935"/>
+ <location filename="../src/gui/folder.cpp" line="940"/>
<source>Keep files</source>
<translation>Dateien behalten</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="952"/>
+ <location filename="../src/gui/folder.cpp" line="957"/>
<source>This sync would reset the files to an earlier time in the sync folder '%1'.
This might be because a backup was restored on the server.
Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files?</source>
@@ -807,17 +807,17 @@ Der Grund dafür ist möglicherweise, dass auf dem Server ein Backup eingespielt
Wenn diese Synchronisation fortgesetzt wird, werden Dateien eventuell von älteren Versionen überschrieben. Möchten Sie die neueren lokalen Dateien als Konflikt-Dateien behalten?</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="957"/>
+ <location filename="../src/gui/folder.cpp" line="962"/>
<source>Backup detected</source>
<translation>Backup erkannt</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="960"/>
+ <location filename="../src/gui/folder.cpp" line="965"/>
<source>Normal Synchronisation</source>
<translation>Normale Synchronisation</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="961"/>
+ <location filename="../src/gui/folder.cpp" line="966"/>
<source>Keep Local Files as Conflict</source>
<translation>Lokale Konfliktdateien behalten</translation>
</message>
@@ -1291,22 +1291,22 @@ Wenn diese Synchronisation fortgesetzt wird, werden Dateien eventuell von älter
<context>
<name>OCC::HttpCredentialsGui</name>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="97"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="98"/>
<source>Please enter %1 password:&lt;br&gt;&lt;br&gt;User: %2&lt;br&gt;Account: %3&lt;br&gt;</source>
<translation>Bitte Kennwort für %1 eingeben:&lt;br&gt;&lt;br&gt;Benutzer: %2&lt;br&gt;Konto: %3&lt;br&gt;</translation>
</message>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="111"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="112"/>
<source>Reading from keychain failed with error: &apos;%1&apos;</source>
<translation>Schlüsselbund fehlgeschlagen mit Fehler: &apos;%1&apos;</translation>
</message>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="117"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="118"/>
<source>Enter Password</source>
<translation>Passwort eingeben</translation>
</message>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="154"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="155"/>
<source>&lt;a href=&quot;%1&quot;&gt;Click here&lt;/a&gt; to request an app password from the web interface.</source>
<translation>&lt;a href=&quot;%1&quot;&gt;Klicken Sie hier&lt;/a&gt; um ein App-Passwort von dem Web-Interface zu erhalten.</translation>
</message>
@@ -1428,12 +1428,12 @@ Objekte, bei denen Löschen erlaubt ist, werden gelöscht, wenn sie die Löschun
<translation>Ignorierte Dateien anzeigen</translation>
</message>
<message>
- <location filename="../src/gui/issueswidget.ui" line="145"/>
+ <location filename="../src/gui/issueswidget.ui" line="148"/>
<source>Copy the issues list to the clipboard.</source>
<translation>Liste der Fehler in die Zwischenablage kopieren.</translation>
</message>
<message>
- <location filename="../src/gui/issueswidget.ui" line="148"/>
+ <location filename="../src/gui/issueswidget.ui" line="151"/>
<source>Copy</source>
<translation>Kopieren</translation>
</message>
@@ -1918,144 +1918,144 @@ Es ist nicht ratsam, diese zu benutzen.</translation>
<context>
<name>OCC::OwncloudSetupWizard</name>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="217"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="250"/>
<source>&lt;font color=&quot;green&quot;&gt;Successfully connected to %1: %2 version %3 (%4)&lt;/font&gt;&lt;br/&gt;&lt;br/&gt;</source>
<translation>&lt;font color=&quot;green&quot;&gt;Erfolgreich mit %1 verbunden: %2 Version %3 (%4)&lt;/font&gt;&lt;br/&gt;&lt;br/&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="251"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="280"/>
<source>Failed to connect to %1 at %2:&lt;br/&gt;%3</source>
<translation>Die Verbindung zu %1 auf %2:&lt;br/&gt;%3 konnte nicht hergestellt werden</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="285"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="314"/>
<source>Timeout while trying to connect to %1 at %2.</source>
<translation>Zeitüberschreitung beim Verbindungsversuch mit %1 unter %2.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="296"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="334"/>
<source>Trying to connect to %1 at %2...</source>
<translation>Verbindungsversuch mit %1 unter %2…</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="347"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="385"/>
<source>The authenticated request to the server was redirected to &apos;%1&apos;. The URL is bad, the server is misconfigured.</source>
<translation>Die Authentifizierungs-Anfrage an den Server wurde weitergeleitet an &apos;%1&apos;. Diese Adresse ist ungültig, der Server ist falsch konfiguriert.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="369"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="407"/>
<source>There was an invalid response to an authenticated webdav request</source>
<translation>Es gab eine ungültige Reaktion auf eine WebDav-Authentifizeriungs-Anfrage</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="360"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="398"/>
<source>Access forbidden by server. To verify that you have proper access, &lt;a href=&quot;%1&quot;&gt;click here&lt;/a&gt; to access the service with your browser.</source>
<translation>Zugang vom Server nicht erlaubt. &lt;a href=&quot;%1&quot;&gt;Klicken Sie hier&lt;/a&gt; zum Zugriff auf den Dienst mithilfe Ihres Browsers, so dass Sie sicherstellen können, dass Ihr Zugang ordnungsgemäß funktioniert.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="249"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="278"/>
<source>Invalid URL</source>
<translation>Ungültige URL</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="414"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="452"/>
<source>Local sync folder %1 already exists, setting it up for sync.&lt;br/&gt;&lt;br/&gt;</source>
<translation>Lokaler Sync-Ordner %1 existiert bereits, aktiviere Synchronistation.&lt;br/&gt;&lt;br/&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="417"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="455"/>
<source>Creating local sync folder %1...</source>
<translation>Lokaler Synchronisations-Ordner %1 wird erstellt ...</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="421"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="459"/>
<source>ok</source>
<translation>ok</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="423"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="461"/>
<source>failed.</source>
<translation>fehlgeschlagen.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="425"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="463"/>
<source>Could not create local folder %1</source>
<translation>Der lokale Ordner %1 konnte nicht angelegt werden</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="451"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="489"/>
<source>No remote folder specified!</source>
<translation>Keinen entfernten Ordner angegeben!</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="457"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="495"/>
<source>Error: %1</source>
<translation>Fehler: %1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="470"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="508"/>
<source>creating folder on ownCloud: %1</source>
<translation>erstelle Ordner auf ownCloud: %1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="486"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="524"/>
<source>Remote folder %1 created successfully.</source>
<translation>Remoteordner %1 erfolgreich erstellt.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="488"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="526"/>
<source>The remote folder %1 already exists. Connecting it for syncing.</source>
<translation>Der Ordner %1 ist auf dem Server bereits vorhanden. Verbinde zur Synchronisation.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="490"/>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="492"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="528"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="530"/>
<source>The folder creation resulted in HTTP error code %1</source>
<translation>Das Erstellen des Verzeichnisses erzeugte den HTTP-Fehler-Code %1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="494"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="532"/>
<source>The remote folder creation failed because the provided credentials are wrong!&lt;br/&gt;Please go back and check your credentials.&lt;/p&gt;</source>
<translation>Die Remote-Ordner-Erstellung ist fehlgeschlagen, weil die angegebenen Zugangsdaten falsch sind. Bitte gehen Sie zurück und überprüfen Sie die Zugangsdaten.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="498"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="536"/>
<source>&lt;p&gt;&lt;font color=&quot;red&quot;&gt;Remote folder creation failed probably because the provided credentials are wrong.&lt;/font&gt;&lt;br/&gt;Please go back and check your credentials.&lt;/p&gt;</source>
<translation>&lt;p&gt;&lt;font color=&quot;red&quot;&gt;Die Remote-Ordner-Erstellung ist fehlgeschlagen, vermutlich sind die angegebenen Zugangsdaten falsch.&lt;/font&gt;&lt;br/&gt;Bitte gehen Sie zurück und überprüfen Sie Ihre Zugangsdaten.&lt;/p&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="503"/>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="504"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="541"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="542"/>
<source>Remote folder %1 creation failed with error &lt;tt&gt;%2&lt;/tt&gt;.</source>
<translation>Remote-Ordner %1 konnte mit folgendem Fehler nicht erstellt werden: &lt;tt&gt;%2&lt;/tt&gt;.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="521"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="559"/>
<source>A sync connection from %1 to remote directory %2 was set up.</source>
<translation>Eine Synchronisationsverbindung für Ordner %1 zum entfernten Ordner %2 wurde eingerichtet.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="526"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="564"/>
<source>Successfully connected to %1!</source>
<translation>Erfolgreich verbunden mit %1!</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="533"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="571"/>
<source>Connection to %1 could not be established. Please check again.</source>
<translation>Die Verbindung zu %1 konnte nicht hergestellt werden. Bitte prüfen Sie die Einstellungen erneut.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="547"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="585"/>
<source>Folder rename failed</source>
<translation>Ordner umbenennen fehlgeschlagen.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="548"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="586"/>
<source>Can&apos;t remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup.</source>
<translation>Der Ordner kann nicht entfernt und gesichert werden, da der Ordner oder einer seiner Dateien in einem anderen Programm geöffnet ist. Bitte schließen Sie den Ordner oder die Datei oder beenden Sie die Installation.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="593"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="631"/>
<source>&lt;font color=&quot;green&quot;&gt;&lt;b&gt;Local sync folder %1 successfully created!&lt;/b&gt;&lt;/font&gt;</source>
<translation>&lt;font color=&quot;green&quot;&gt;&lt;b&gt;Lokaler Sync-Ordner %1 erfolgreich erstellt!&lt;/b&gt;&lt;/font&gt;</translation>
</message>
@@ -2102,7 +2102,7 @@ Es ist nicht ratsam, diese zu benutzen.</translation>
<context>
<name>OCC::PropagateDirectory</name>
<message>
- <location filename="../src/libsync/owncloudpropagator.cpp" line="942"/>
+ <location filename="../src/libsync/owncloudpropagator.cpp" line="953"/>
<source>Error writing metadata to the database</source>
<translation>Fehler beim Schreiben der Metadaten in die Datenbank</translation>
</message>
@@ -2140,17 +2140,17 @@ Es ist nicht ratsam, diese zu benutzen.</translation>
<translation>Die heruntergeladene Datei ist leer, obwohl der Server %1 als Größe übermittelt hat.</translation>
</message>
<message>
- <location filename="../src/libsync/propagatedownload.cpp" line="772"/>
+ <location filename="../src/libsync/propagatedownload.cpp" line="775"/>
<source>File %1 cannot be saved because of a local file name clash!</source>
<translation>Die Datei %1 kann aufgrund eines Konfliktes mit dem lokalen Dateinamen nicht gespeichert geladen werden!</translation>
</message>
<message>
- <location filename="../src/libsync/propagatedownload.cpp" line="820"/>
+ <location filename="../src/libsync/propagatedownload.cpp" line="823"/>
<source>File has changed since discovery</source>
<translation>Datei ist seit der Entdeckung geändert worden</translation>
</message>
<message>
- <location filename="../src/libsync/propagatedownload.cpp" line="871"/>
+ <location filename="../src/libsync/propagatedownload.cpp" line="874"/>
<source>Error writing metadata to the database</source>
<translation>Fehler beim Schreiben der Metadaten in die Datenbank</translation>
</message>
@@ -2226,12 +2226,12 @@ Es ist nicht ratsam, diese zu benutzen.</translation>
<context>
<name>OCC::PropagateRemoteDelete</name>
<message>
- <location filename="../src/libsync/propagateremotedelete.cpp" line="96"/>
+ <location filename="../src/libsync/propagateremotedelete.cpp" line="100"/>
<source>The file has been removed from a read only share. It was restored.</source>
<translation>Die Datei wurde von einer Nur-Lese-Freigabe gelöscht. Die Datei wurde wiederhergestellt.</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotedelete.cpp" line="117"/>
+ <location filename="../src/libsync/propagateremotedelete.cpp" line="121"/>
<source>Wrong HTTP code returned by server. Expected 204, but received &quot;%1 %2&quot;.</source>
<translation>Es wurde ein falscher HTTP-Status-Code vom Server gesendet. Erwartet wurde 204, aber gesendet wurde &quot;%1 %2&quot;.</translation>
</message>
@@ -2239,12 +2239,12 @@ Es ist nicht ratsam, diese zu benutzen.</translation>
<context>
<name>OCC::PropagateRemoteMkdir</name>
<message>
- <location filename="../src/libsync/propagateremotemkdir.cpp" line="95"/>
+ <location filename="../src/libsync/propagateremotemkdir.cpp" line="99"/>
<source>Wrong HTTP code returned by server. Expected 201, but received &quot;%1 %2&quot;.</source>
<translation>Es wurde ein falscher HTTP-Status-Code vom Server gesendet. Erwartet wurde 201, aber gesendet wurde &quot;%1 %2&quot;.</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotemkdir.cpp" line="147"/>
+ <location filename="../src/libsync/propagateremotemkdir.cpp" line="151"/>
<source>Error writing metadata to the database</source>
<translation>Fehler beim Schreiben der Metadaten in die Datenbank</translation>
</message>
@@ -2262,18 +2262,18 @@ Es ist nicht ratsam, diese zu benutzen.</translation>
<translation>Dieser Ordner muss nicht umbenannt werden. Bitte benennen Sie es zurück wie in der Freigabe.</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotemove.cpp" line="137"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="141"/>
<source>The file was renamed but is part of a read only share. The original file was restored.</source>
<translation>Die Datei wurde auf einer Nur-Lese-Freigabe umbenannt. Die Original-Datei wurde wiederhergestellt.</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotemove.cpp" line="154"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="158"/>
<source>Wrong HTTP code returned by server. Expected 201, but received &quot;%1 %2&quot;.</source>
<translation>Es wurde ein falscher HTTP-Status-Code vom Server gesendet. Erwartet wurde 201, aber gesendet wurde &quot;%1 %2&quot;.</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotemove.cpp" line="186"/>
- <location filename="../src/libsync/propagateremotemove.cpp" line="192"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="190"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="196"/>
<source>Error writing metadata to the database</source>
<translation>Fehler beim Schreiben der Metadaten in die Datenbank</translation>
</message>
@@ -2307,7 +2307,7 @@ Es ist nicht ratsam, diese zu benutzen.</translation>
<translation>Das Hochladen von %1 überschreitet das Speicherkontingent des Ordners </translation>
</message>
<message>
- <location filename="../src/libsync/propagateupload.cpp" line="618"/>
+ <location filename="../src/libsync/propagateupload.cpp" line="622"/>
<source>Error writing metadata to the database</source>
<translation>Fehler beim Schreiben der Metadaten in die Datenbank</translation>
</message>
@@ -2381,42 +2381,42 @@ Es ist nicht ratsam, diese zu benutzen.</translation>
<translation>TextLabel</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="48"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="61"/>
<source>Time</source>
<translation>Zeit</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="49"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="62"/>
<source>File</source>
<translation>Datei</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="50"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="63"/>
<source>Folder</source>
<translation>Ordner</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="51"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="64"/>
<source>Action</source>
<translation>Aktion</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="52"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="65"/>
<source>Size</source>
<translation>Größe</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="72"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="85"/>
<source>Local sync protocol</source>
<translation>Lokales Sychronisationsprotokoll</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="74"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="87"/>
<source>Copy</source>
<translation>Kopieren</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="75"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="88"/>
<source>Copy the activity list to the clipboard.</source>
<translation>Aktivitätsliste in die Zwischenablage kopieren.</translation>
</message>
@@ -2548,6 +2548,7 @@ Es ist nicht ratsam, diese zu benutzen.</translation>
</message>
<message>
<location filename="../src/gui/settingsdialogmac.cpp" line="152"/>
+ <location filename="../src/gui/settingsdialogmac.cpp" line="211"/>
<source>Account</source>
<translation>Benutzerkonto</translation>
</message>
@@ -3204,22 +3205,22 @@ Es ist nicht ratsam, diese zu benutzen.</translation>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1278"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1287"/>
<source>Not allowed because you don&apos;t have permission to add parent folder</source>
<translation>Nicht erlaubt, da Sie keine Rechte zur Erstellung von Unterordnern haben</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1285"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1294"/>
<source>Not allowed because you don&apos;t have permission to add files in that folder</source>
<translation>Nicht erlaubt, da Sie keine Rechte zum Hinzufügen von Dateien in diesen Ordner haben</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1588"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1597"/>
<source>Disk space is low: Downloads that would reduce free space below %1 were skipped.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1595"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1604"/>
<source>There is insufficient space available on the server for some uploads.</source>
<translation>Auf dem Server ist für einige Dateien zum Hochladen nicht genug Platz.</translation>
</message>
@@ -3344,54 +3345,54 @@ Es ist nicht ratsam, diese zu benutzen.</translation>
<translation>Synchronisationsbericht kann nicht geöffnet werden</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="968"/>
+ <location filename="../src/libsync/syncengine.cpp" line="977"/>
<source>File name contains at least one invalid character</source>
<translation>Der Dateiname enthält mindestens ein ungültiges Zeichen</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1204"/>
- <location filename="../src/libsync/syncengine.cpp" line="1244"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1213"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1253"/>
<source>Ignored because of the &quot;choose what to sync&quot; blacklist</source>
<translation>Aufgrund der »Zu synchronisierende Elemente auswählen«-Sperrliste ignoriert</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1263"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1272"/>
<source>Not allowed because you don&apos;t have permission to add subfolders to that folder</source>
<translation>Nicht erlaubt, da Sie keine Rechte zur Erstellung von Unterordnern haben</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1310"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1319"/>
<source>Not allowed to upload this file because it is read-only on the server, restoring</source>
<translation>Das Hochladen dieser Datei ist nicht erlaubt, da die Datei auf dem Server schreibgeschützt ist, Wiederherstellung</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1326"/>
- <location filename="../src/libsync/syncengine.cpp" line="1345"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1335"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1354"/>
<source>Not allowed to remove, restoring</source>
<translation>Löschen nicht erlaubt, Wiederherstellung</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1359"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1368"/>
<source>Local files and share folder removed.</source>
<translation>Lokale Dateien und Freigabeordner wurden entfernt.</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1413"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1422"/>
<source>Move not allowed, item restored</source>
<translation>Verschieben nicht erlaubt, Element wiederhergestellt</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1424"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1433"/>
<source>Move not allowed because %1 is read-only</source>
<translation>Verschieben nicht erlaubt, da %1 schreibgeschützt ist</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1424"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1433"/>
<source>the destination</source>
<translation>Das Ziel</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1424"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1433"/>
<source>the source</source>
<translation>Die Quelle</translation>
</message>
@@ -3433,17 +3434,17 @@ Es ist nicht ratsam, diese zu benutzen.</translation>
<context>
<name>OCC::ValidateChecksumHeader</name>
<message>
- <location filename="../src/common/checksums.cpp" line="205"/>
+ <location filename="../src/common/checksums.cpp" line="218"/>
<source>The checksum header is malformed.</source>
<translation>Der Prüfsummen-Header hat ein fehlerhaftes Format.</translation>
</message>
<message>
- <location filename="../src/common/checksums.cpp" line="220"/>
+ <location filename="../src/common/checksums.cpp" line="233"/>
<source>The checksum header contained an unknown checksum type &apos;%1&apos;</source>
<translation>Die Prüfsummen-Kopfzeile enthielt den unbekannten Prüfsummentypen &apos;%1&apos;.</translation>
</message>
<message>
- <location filename="../src/common/checksums.cpp" line="224"/>
+ <location filename="../src/common/checksums.cpp" line="237"/>
<source>The downloaded file does not match the checksum, it will be resumed.</source>
<translation>Die heruntergeladene Datei entspricht nicht der Prüfsumme, das Herunterladen wird wiederaufgenommen.</translation>
</message>
diff --git a/translations/client_el.ts b/translations/client_el.ts
index a8917a885..4a96c688e 100644
--- a/translations/client_el.ts
+++ b/translations/client_el.ts
@@ -596,7 +596,7 @@
<context>
<name>OCC::CleanupPollsJob</name>
<message>
- <location filename="../src/libsync/owncloudpropagator.cpp" line="990"/>
+ <location filename="../src/libsync/owncloudpropagator.cpp" line="1001"/>
<source>Error writing metadata to the database</source>
<translation>Σφάλμα εγγραφής μεταδεδομένων στην βάση δεδομένων</translation>
</message>
@@ -744,26 +744,26 @@
<translation>Αδυναμία ανάγνωσης αρχείου αποκλεισμού συστήματος</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="883"/>
+ <location filename="../src/gui/folder.cpp" line="888"/>
<source>A new folder larger than %1 MB has been added: %2.
</source>
<translation>Προστέθηκε ένας νέος φάκελος μεγαλύτερος από %1 MB: %2
</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="886"/>
+ <location filename="../src/gui/folder.cpp" line="891"/>
<source>A folder from an external storage has been added.
</source>
<translation>Προστέθηκε ένας φάκελος από εξωτερικό αποθηκευτικό χώρο.
</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="887"/>
+ <location filename="../src/gui/folder.cpp" line="892"/>
<source>Please go in the settings to select it if you wish to download it.</source>
<translation>Μεταβείτε στις ρυθμίσεις για να το επιλέξετε εάν επιθυμείτε να το κατεβάσετε.</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="922"/>
+ <location filename="../src/gui/folder.cpp" line="927"/>
<source>All files in the sync folder '%1' folder were deleted on the server.
These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore.
If you decide to keep the files, they will be re-synced with the server if you have rights to do so.
@@ -774,7 +774,7 @@ If you decide to delete the files, they will be unavailable to you, unless you a
Εφόσον επιλέξετε να διαγράψετε τα αρχεία, δε θα είναι διαθέσιμα σε εσάς, εκτός εάν είστε ο ιδιοκτήτης τους. </translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="927"/>
+ <location filename="../src/gui/folder.cpp" line="932"/>
<source>All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored.
Are you sure you want to sync those actions with the server?
If this was an accident and you decide to keep your files, they will be re-synced from the server.</source>
@@ -783,22 +783,22 @@ If this was an accident and you decide to keep your files, they will be re-synce
Αν αυτό ήταν ένα ατύχημα και αποφασίσατε να διατηρήσετε τα αρχεία σας, θα συγχρονιστούν εκ νέου από το διακομιστή.</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="931"/>
+ <location filename="../src/gui/folder.cpp" line="936"/>
<source>Remove All Files?</source>
<translation>Αφαίρεση Όλων των Αρχείων;</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="934"/>
+ <location filename="../src/gui/folder.cpp" line="939"/>
<source>Remove all files</source>
<translation>Αφαίρεση όλων των αρχείων</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="935"/>
+ <location filename="../src/gui/folder.cpp" line="940"/>
<source>Keep files</source>
<translation>Διατήρηση αρχείων</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="952"/>
+ <location filename="../src/gui/folder.cpp" line="957"/>
<source>This sync would reset the files to an earlier time in the sync folder '%1'.
This might be because a backup was restored on the server.
Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files?</source>
@@ -807,17 +807,17 @@ Continuing the sync as normal will cause all your files to be overwritten by an
Η συνέχιση του συγχρονισμού κανονικά θα προκαλέσει την αντικατάσταση όλων των αρχείων σας από παλιότερο αρχείο σε προηγούμενη κατάσταση. Θέλετε να διατηρήσετε τα τοπικά σας πιο πρόσφατα αρχεία ως αρχεία σύγκρουσης;</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="957"/>
+ <location filename="../src/gui/folder.cpp" line="962"/>
<source>Backup detected</source>
<translation>Ανιχνεύθηκε αντίγραφο ασφαλείας</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="960"/>
+ <location filename="../src/gui/folder.cpp" line="965"/>
<source>Normal Synchronisation</source>
<translation>Κανονικός συγχρονισμός</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="961"/>
+ <location filename="../src/gui/folder.cpp" line="966"/>
<source>Keep Local Files as Conflict</source>
<translation>Διατήρηση τοπικών αρχείων ως Διένεξη</translation>
</message>
@@ -1291,22 +1291,22 @@ Continuing the sync as normal will cause all your files to be overwritten by an
<context>
<name>OCC::HttpCredentialsGui</name>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="97"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="98"/>
<source>Please enter %1 password:&lt;br&gt;&lt;br&gt;User: %2&lt;br&gt;Account: %3&lt;br&gt;</source>
<translation>Παρακαλώ εισάγετε %1 κωδικού πρόσβασης:&lt;br&gt;&lt;br&gt;Χρήστης: %2&lt;br&gt;Λογαριασμός: %3&lt;br&gt;</translation>
</message>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="111"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="112"/>
<source>Reading from keychain failed with error: &apos;%1&apos;</source>
<translation>Η ανάγνωση από την κλειδοθήκη απέτυχε με σφάλμα: &apos;%1&apos;</translation>
</message>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="117"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="118"/>
<source>Enter Password</source>
<translation>Εισάγετε Κωδικό Πρόσβασης</translation>
</message>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="154"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="155"/>
<source>&lt;a href=&quot;%1&quot;&gt;Click here&lt;/a&gt; to request an app password from the web interface.</source>
<translation>&lt;a href=&quot;%1&quot;&gt;πατήστε εδώ&lt;/a&gt;για να ζητήσετε έναν κωδικό πρόσβασης εφαρμογής από τη διεπαφή ιστού.</translation>
</message>
@@ -1420,7 +1420,7 @@ Items where deletion is allowed will be deleted if they prevent a directory from
<message>
<location filename="../src/gui/issueswidget.ui" line="73"/>
<source>Show warnings</source>
- <translation type="unfinished"/>
+ <translation>Εμφάνιση προειδοποιήσεων</translation>
</message>
<message>
<location filename="../src/gui/issueswidget.ui" line="83"/>
@@ -1428,12 +1428,12 @@ Items where deletion is allowed will be deleted if they prevent a directory from
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/issueswidget.ui" line="145"/>
+ <location filename="../src/gui/issueswidget.ui" line="148"/>
<source>Copy the issues list to the clipboard.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/issueswidget.ui" line="148"/>
+ <location filename="../src/gui/issueswidget.ui" line="151"/>
<source>Copy</source>
<translation>Αντιγραφή</translation>
</message>
@@ -1919,144 +1919,144 @@ It is not advisable to use it.</source>
<context>
<name>OCC::OwncloudSetupWizard</name>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="217"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="250"/>
<source>&lt;font color=&quot;green&quot;&gt;Successfully connected to %1: %2 version %3 (%4)&lt;/font&gt;&lt;br/&gt;&lt;br/&gt;</source>
<translation>&lt;font color=&quot;green&quot;&gt;Επιτυχής σύνδεση στο %1: %2 έκδοση %3 (%4)&lt;/font&gt;&lt;br/&gt;&lt;br/&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="251"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="280"/>
<source>Failed to connect to %1 at %2:&lt;br/&gt;%3</source>
<translation>Αποτυχία σύνδεσης με το %1 στο %2:&lt;br/&gt;%3</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="285"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="314"/>
<source>Timeout while trying to connect to %1 at %2.</source>
<translation>Λήξη χρονικού ορίου κατά τη σύνδεση σε %1 σε %2.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="296"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="334"/>
<source>Trying to connect to %1 at %2...</source>
<translation>Προσπάθεια σύνδεσης στο %1 για %2...</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="347"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="385"/>
<source>The authenticated request to the server was redirected to &apos;%1&apos;. The URL is bad, the server is misconfigured.</source>
<translation>Η πιστοποιημένη αίτηση στον διακομιστή ανακατευθύνθηκε σε &apos;%1&apos;. Το URL είναι εσφαλμένο, ο διακομιστής δεν έχει διαμορφωθεί σωστά.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="369"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="407"/>
<source>There was an invalid response to an authenticated webdav request</source>
<translation>Υπήρξε μια άκυρη απόκριση σε μια πιστοποιημένη αίτηση </translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="360"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="398"/>
<source>Access forbidden by server. To verify that you have proper access, &lt;a href=&quot;%1&quot;&gt;click here&lt;/a&gt; to access the service with your browser.</source>
<translation>Απαγόρευση πρόσβασης από τον διακομιστή. Για να επιβεβαιώσετε ότι έχετε δικαιώματα πρόσβασης, &lt;a href=&quot;%1&quot;&gt;πατήστε εδώ&lt;/a&gt; για να προσπελάσετε την υπηρεσία με το πρόγραμμα πλοήγησής σας.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="249"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="278"/>
<source>Invalid URL</source>
<translation>Μη έγκυρη URL</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="414"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="452"/>
<source>Local sync folder %1 already exists, setting it up for sync.&lt;br/&gt;&lt;br/&gt;</source>
<translation>Ο τοπικός φάκελος συγχρονισμού %1 υπάρχει ήδη, ρύθμιση για συγχρονισμό.&lt;br/&gt;&lt;br/&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="417"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="455"/>
<source>Creating local sync folder %1...</source>
<translation>Δημιουργία τοπικού φακέλου συγχρονισμού %1...</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="421"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="459"/>
<source>ok</source>
<translation>οκ</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="423"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="461"/>
<source>failed.</source>
<translation>απέτυχε.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="425"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="463"/>
<source>Could not create local folder %1</source>
<translation>Αδυναμία δημιουργίας τοπικού φακέλου %1 </translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="451"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="489"/>
<source>No remote folder specified!</source>
<translation>Δεν προσδιορίστηκε κανένας απομακρυσμένος φάκελος!</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="457"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="495"/>
<source>Error: %1</source>
<translation>Σφάλμα: %1 </translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="470"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="508"/>
<source>creating folder on ownCloud: %1</source>
<translation>δημιουργία φακέλου στο ownCloud: %1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="486"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="524"/>
<source>Remote folder %1 created successfully.</source>
<translation>Ο απομακρυσμένος φάκελος %1 δημιουργήθηκε με επιτυχία.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="488"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="526"/>
<source>The remote folder %1 already exists. Connecting it for syncing.</source>
<translation>Ο απομακρυσμένος φάκελος %1 υπάρχει ήδη. Θα συνδεθεί για συγχρονισμό. </translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="490"/>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="492"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="528"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="530"/>
<source>The folder creation resulted in HTTP error code %1</source>
<translation>Η δημιουργία φακέλου είχε ως αποτέλεσμα τον κωδικό σφάλματος HTTP %1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="494"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="532"/>
<source>The remote folder creation failed because the provided credentials are wrong!&lt;br/&gt;Please go back and check your credentials.&lt;/p&gt;</source>
<translation>Η δημιουργία απομακρυσμένου φακέλλου απέτυχε επειδή τα διαπιστευτήρια είναι λάθος!&lt;br/&gt;Παρακαλώ επιστρέψετε και ελέγξετε τα διαπιστευτήριά σας.&lt;/p&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="498"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="536"/>
<source>&lt;p&gt;&lt;font color=&quot;red&quot;&gt;Remote folder creation failed probably because the provided credentials are wrong.&lt;/font&gt;&lt;br/&gt;Please go back and check your credentials.&lt;/p&gt;</source>
<translation>&lt;p&gt;&lt;font color=&quot;red&quot;&gt;Η δημιουργία απομακρυσμένου φακέλου απέτυχε, πιθανώς επειδή τα διαπιστευτήρια που δόθηκαν είναι λάθος.&lt;/font&gt;&lt;br/&gt;Παρακαλώ επιστρέψτε πίσω και ελέγξτε τα διαπιστευτήρια σας.&lt;/p&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="503"/>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="504"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="541"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="542"/>
<source>Remote folder %1 creation failed with error &lt;tt&gt;%2&lt;/tt&gt;.</source>
<translation>Η δημιουργία απομακρυσμένου φακέλου %1 απέτυχε με σφάλμα &lt;tt&gt;%2&lt;/tt&gt;.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="521"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="559"/>
<source>A sync connection from %1 to remote directory %2 was set up.</source>
<translation>Μια σύνδεση συγχρονισμού από τον απομακρυσμένο κατάλογο %1 σε %2 έχει ρυθμιστεί. </translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="526"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="564"/>
<source>Successfully connected to %1!</source>
<translation>Επιτυχής σύνδεση με %1!</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="533"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="571"/>
<source>Connection to %1 could not be established. Please check again.</source>
<translation>Αδυναμία σύνδεσης στον %1. Παρακαλώ ελέξτε ξανά.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="547"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="585"/>
<source>Folder rename failed</source>
<translation>Αποτυχία μετονομασίας φακέλου</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="548"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="586"/>
<source>Can&apos;t remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup.</source>
<translation>Αδυναμία αφαίρεσης και δημιουργίας αντιγράφου ασφαλείας του φακέλου διότι ο φάκελος ή ένα αρχείο του είναι ανοικτό από άλλο πρόγραμμα. Παρακαλώ κλείστε τον φάκελο ή το αρχείο και πατήστε επανάληψη ή ακυρώστε την ρύθμιση.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="593"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="631"/>
<source>&lt;font color=&quot;green&quot;&gt;&lt;b&gt;Local sync folder %1 successfully created!&lt;/b&gt;&lt;/font&gt;</source>
<translation>&lt;font color=&quot;green&quot;&gt;&lt;b&gt;Επιτυχής δημιουργία τοπικού φακέλου %1 για συγχρονισμό!&lt;/b&gt;&lt;/font&gt;</translation>
</message>
@@ -2103,7 +2103,7 @@ It is not advisable to use it.</source>
<context>
<name>OCC::PropagateDirectory</name>
<message>
- <location filename="../src/libsync/owncloudpropagator.cpp" line="942"/>
+ <location filename="../src/libsync/owncloudpropagator.cpp" line="953"/>
<source>Error writing metadata to the database</source>
<translation>Σφάλμα εγγραφής μεταδεδομένων στην βάση δεδομένων</translation>
</message>
@@ -2141,17 +2141,17 @@ It is not advisable to use it.</source>
<translation>Το ληφθέν αρχείο είναι άδειο, παρόλο που ο διακομιστής ανακοίνωσε ότι θα έπρεπε να ήταν% 1.</translation>
</message>
<message>
- <location filename="../src/libsync/propagatedownload.cpp" line="772"/>
+ <location filename="../src/libsync/propagatedownload.cpp" line="775"/>
<source>File %1 cannot be saved because of a local file name clash!</source>
<translation>Το αρχείο %1 δεν είναι δυνατό να αποθηκευτεί λόγω διένεξης με το όνομα ενός τοπικού ονόματος αρχείου!</translation>
</message>
<message>
- <location filename="../src/libsync/propagatedownload.cpp" line="820"/>
+ <location filename="../src/libsync/propagatedownload.cpp" line="823"/>
<source>File has changed since discovery</source>
<translation>Το αρχείο έχει αλλάξει από όταν ανακαλύφθηκε</translation>
</message>
<message>
- <location filename="../src/libsync/propagatedownload.cpp" line="871"/>
+ <location filename="../src/libsync/propagatedownload.cpp" line="874"/>
<source>Error writing metadata to the database</source>
<translation>Σφάλμα εγγραφής μεταδεδομένων στην βάση δεδομένων</translation>
</message>
@@ -2227,12 +2227,12 @@ It is not advisable to use it.</source>
<context>
<name>OCC::PropagateRemoteDelete</name>
<message>
- <location filename="../src/libsync/propagateremotedelete.cpp" line="96"/>
+ <location filename="../src/libsync/propagateremotedelete.cpp" line="100"/>
<source>The file has been removed from a read only share. It was restored.</source>
<translation>Το αρχείο αφαιρέθηκε από ένα διαμοιρασμένο κατάλογο μόνο για ανάγνωση. Το αρχείο επαναφέρθηκε.</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotedelete.cpp" line="117"/>
+ <location filename="../src/libsync/propagateremotedelete.cpp" line="121"/>
<source>Wrong HTTP code returned by server. Expected 204, but received &quot;%1 %2&quot;.</source>
<translation>Ο διακομιστής επέστρεψε εσφαλμένο κωδικό HTTP. Αναμενόταν 204, αλλά ελήφθη &quot;%1 %2&quot;.</translation>
</message>
@@ -2240,12 +2240,12 @@ It is not advisable to use it.</source>
<context>
<name>OCC::PropagateRemoteMkdir</name>
<message>
- <location filename="../src/libsync/propagateremotemkdir.cpp" line="95"/>
+ <location filename="../src/libsync/propagateremotemkdir.cpp" line="99"/>
<source>Wrong HTTP code returned by server. Expected 201, but received &quot;%1 %2&quot;.</source>
<translation>Ο διακομιστής επέστρεψε εσφαλμένο κωδικό HTTP. Αναμενόταν 201, αλλά ελήφθη &quot;%1 %2&quot;.</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotemkdir.cpp" line="147"/>
+ <location filename="../src/libsync/propagateremotemkdir.cpp" line="151"/>
<source>Error writing metadata to the database</source>
<translation>Σφάλμα εγγραφής μεταδεδομένων στην βάση δεδομένων</translation>
</message>
@@ -2263,18 +2263,18 @@ It is not advisable to use it.</source>
<translation>Αυτός ο φάκελος δεν πρέπει να μετονομαστεί. Παρακαλώ ονομάστε τον ξανά Κοινόχρηστος.</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotemove.cpp" line="137"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="141"/>
<source>The file was renamed but is part of a read only share. The original file was restored.</source>
<translation>Το αρχείο μετονομάστηκε αλλά είναι τμήμα ενός διαμοιρασμένου καταλόγου μόνο για ανάγνωση. Το αρχικό αρχείο επαναφέρθηκε.</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotemove.cpp" line="154"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="158"/>
<source>Wrong HTTP code returned by server. Expected 201, but received &quot;%1 %2&quot;.</source>
<translation>Ο διακομιστής επέστρεψε εσφαλμένο κωδικό HTTP. Αναμενόταν 201, αλλά ελήφθη &quot;%1 %2&quot;.</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotemove.cpp" line="186"/>
- <location filename="../src/libsync/propagateremotemove.cpp" line="192"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="190"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="196"/>
<source>Error writing metadata to the database</source>
<translation>Σφάλμα εγγραφής μεταδεδομένων στην βάση δεδομένων</translation>
</message>
@@ -2308,7 +2308,7 @@ It is not advisable to use it.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/propagateupload.cpp" line="618"/>
+ <location filename="../src/libsync/propagateupload.cpp" line="622"/>
<source>Error writing metadata to the database</source>
<translation>Σφάλμα εγγραφής μεταδεδομένων στην βάση δεδομένων</translation>
</message>
@@ -2382,42 +2382,42 @@ It is not advisable to use it.</source>
<translation>TextLabel</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="48"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="61"/>
<source>Time</source>
<translation>Ώρα</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="49"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="62"/>
<source>File</source>
<translation>Αρχείο</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="50"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="63"/>
<source>Folder</source>
<translation>Φάκελος</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="51"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="64"/>
<source>Action</source>
<translation>Ενέργεια</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="52"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="65"/>
<source>Size</source>
<translation>Μέγεθος</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="72"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="85"/>
<source>Local sync protocol</source>
<translation>Πρωτόκολλο τοπικού συγχρονισμού</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="74"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="87"/>
<source>Copy</source>
<translation>Αντιγραφή</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="75"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="88"/>
<source>Copy the activity list to the clipboard.</source>
<translation>Αντιγραφή της λίστας δραστηριότητας στο πρόχειρο.</translation>
</message>
@@ -2549,6 +2549,7 @@ It is not advisable to use it.</source>
</message>
<message>
<location filename="../src/gui/settingsdialogmac.cpp" line="152"/>
+ <location filename="../src/gui/settingsdialogmac.cpp" line="211"/>
<source>Account</source>
<translation>Λογαριασμός</translation>
</message>
@@ -3205,22 +3206,22 @@ It is not advisable to use it.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1278"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1287"/>
<source>Not allowed because you don&apos;t have permission to add parent folder</source>
<translation>Δεν επιτρέπεται επειδή δεν έχετε δικαιώματα να προσθέσετε γονικό κατάλογο</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1285"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1294"/>
<source>Not allowed because you don&apos;t have permission to add files in that folder</source>
<translation>Δεν επιτρέπεται επειδή δεν έχετε δικαιώματα να προσθέσετε αρχεία σε αυτόν τον φάκελο</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1588"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1597"/>
<source>Disk space is low: Downloads that would reduce free space below %1 were skipped.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1595"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1604"/>
<source>There is insufficient space available on the server for some uploads.</source>
<translation type="unfinished"/>
</message>
@@ -3345,54 +3346,54 @@ It is not advisable to use it.</source>
<translation>Αδυναμία ανοίγματος του αρχείου συγχρονισμού</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="968"/>
+ <location filename="../src/libsync/syncengine.cpp" line="977"/>
<source>File name contains at least one invalid character</source>
<translation>Το όνομα αρχείου περιέχει έναν τουλάχιστον μη έγκυρο χαρακτήρα</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1204"/>
- <location filename="../src/libsync/syncengine.cpp" line="1244"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1213"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1253"/>
<source>Ignored because of the &quot;choose what to sync&quot; blacklist</source>
<translation>Αγνοήθηκε εξαιτίας της μαύρης λίστας &quot;διάλεξε τι να συγχρονιστεί&quot;</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1263"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1272"/>
<source>Not allowed because you don&apos;t have permission to add subfolders to that folder</source>
<translation>Δεν επιτρέπεται επειδή δεν έχετε δικαιώματα να προσθέσετε υποφακέλους σε αυτό τον φάκελο</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1310"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1319"/>
<source>Not allowed to upload this file because it is read-only on the server, restoring</source>
<translation>Δεν επιτρέπεται να μεταφορτώσετε αυτό το αρχείο επειδή είναι μόνο για ανάγνωση στο διακομιστή, αποκατάσταση σε εξέλιξη</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1326"/>
- <location filename="../src/libsync/syncengine.cpp" line="1345"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1335"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1354"/>
<source>Not allowed to remove, restoring</source>
<translation>Δεν επιτρέπεται η αφαίρεση, αποκατάσταση σε εξέλιξη</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1359"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1368"/>
<source>Local files and share folder removed.</source>
<translation>Οι τοπικοί φάκελοι και ο φάκελος κοινής χρήσης αφαιρέθηκαν.</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1413"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1422"/>
<source>Move not allowed, item restored</source>
<translation>Η μετακίνηση δεν επιτρέπεται, το αντικείμενο αποκαταστάθηκε</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1424"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1433"/>
<source>Move not allowed because %1 is read-only</source>
<translation>Η μετακίνηση δεν επιτρέπεται επειδή το %1 είναι μόνο για ανάγνωση</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1424"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1433"/>
<source>the destination</source>
<translation>ο προορισμός</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1424"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1433"/>
<source>the source</source>
<translation>η προέλευση</translation>
</message>
@@ -3434,17 +3435,17 @@ It is not advisable to use it.</source>
<context>
<name>OCC::ValidateChecksumHeader</name>
<message>
- <location filename="../src/common/checksums.cpp" line="205"/>
+ <location filename="../src/common/checksums.cpp" line="218"/>
<source>The checksum header is malformed.</source>
<translation>Η κεφαλίδα του αθροίσματος ελέγχου δεν είναι σωστά διαμορφωμένη.</translation>
</message>
<message>
- <location filename="../src/common/checksums.cpp" line="220"/>
+ <location filename="../src/common/checksums.cpp" line="233"/>
<source>The checksum header contained an unknown checksum type &apos;%1&apos;</source>
<translation>Το checksum header περιέχει άγνωστο τύπο checksum &apos;%1&apos;</translation>
</message>
<message>
- <location filename="../src/common/checksums.cpp" line="224"/>
+ <location filename="../src/common/checksums.cpp" line="237"/>
<source>The downloaded file does not match the checksum, it will be resumed.</source>
<translation>Το αρχείο που μεταφορτώθηκε δεν επαληθεύει το άθροισμα ελέγχου, θα συγχρονιστεί πάλι.</translation>
</message>
diff --git a/translations/client_en.ts b/translations/client_en.ts
index 9c73b0e40..1fef5facb 100644
--- a/translations/client_en.ts
+++ b/translations/client_en.ts
@@ -604,7 +604,7 @@
<context>
<name>OCC::CleanupPollsJob</name>
<message>
- <location filename="../src/libsync/owncloudpropagator.cpp" line="990"/>
+ <location filename="../src/libsync/owncloudpropagator.cpp" line="1001"/>
<source>Error writing metadata to the database</source>
<translation type="unfinished"></translation>
</message>
@@ -773,24 +773,24 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="883"/>
+ <location filename="../src/gui/folder.cpp" line="888"/>
<source>A new folder larger than %1 MB has been added: %2.
</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="886"/>
+ <location filename="../src/gui/folder.cpp" line="891"/>
<source>A folder from an external storage has been added.
</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="887"/>
+ <location filename="../src/gui/folder.cpp" line="892"/>
<source>Please go in the settings to select it if you wish to download it.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="922"/>
+ <location filename="../src/gui/folder.cpp" line="927"/>
<source>All files in the sync folder &apos;%1&apos; folder were deleted on the server.
These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore.
If you decide to keep the files, they will be re-synced with the server if you have rights to do so.
@@ -798,46 +798,46 @@ If you decide to delete the files, they will be unavailable to you, unless you a
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="927"/>
+ <location filename="../src/gui/folder.cpp" line="932"/>
<source>All the files in your local sync folder &apos;%1&apos; were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored.
Are you sure you want to sync those actions with the server?
If this was an accident and you decide to keep your files, they will be re-synced from the server.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="931"/>
+ <location filename="../src/gui/folder.cpp" line="936"/>
<source>Remove All Files?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="934"/>
+ <location filename="../src/gui/folder.cpp" line="939"/>
<source>Remove all files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="935"/>
+ <location filename="../src/gui/folder.cpp" line="940"/>
<source>Keep files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="952"/>
+ <location filename="../src/gui/folder.cpp" line="957"/>
<source>This sync would reset the files to an earlier time in the sync folder &apos;%1&apos;.
This might be because a backup was restored on the server.
Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="957"/>
+ <location filename="../src/gui/folder.cpp" line="962"/>
<source>Backup detected</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="960"/>
+ <location filename="../src/gui/folder.cpp" line="965"/>
<source>Normal Synchronisation</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="961"/>
+ <location filename="../src/gui/folder.cpp" line="966"/>
<source>Keep Local Files as Conflict</source>
<translation type="unfinished"></translation>
</message>
@@ -1314,22 +1314,22 @@ Continuing the sync as normal will cause all your files to be overwritten by an
<context>
<name>OCC::HttpCredentialsGui</name>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="97"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="98"/>
<source>Please enter %1 password:&lt;br&gt;&lt;br&gt;User: %2&lt;br&gt;Account: %3&lt;br&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="111"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="112"/>
<source>Reading from keychain failed with error: &apos;%1&apos;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="117"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="118"/>
<source>Enter Password</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="154"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="155"/>
<source>&lt;a href=&quot;%1&quot;&gt;Click here&lt;/a&gt; to request an app password from the web interface.</source>
<translation type="unfinished"></translation>
</message>
@@ -1449,12 +1449,12 @@ Items where deletion is allowed will be deleted if they prevent a directory from
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/gui/issueswidget.ui" line="145"/>
+ <location filename="../src/gui/issueswidget.ui" line="148"/>
<source>Copy the issues list to the clipboard.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/gui/issueswidget.ui" line="148"/>
+ <location filename="../src/gui/issueswidget.ui" line="151"/>
<source>Copy</source>
<translation type="unfinished"></translation>
</message>
@@ -1938,144 +1938,144 @@ It is not advisable to use it.</source>
<context>
<name>OCC::OwncloudSetupWizard</name>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="217"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="250"/>
<source>&lt;font color=&quot;green&quot;&gt;Successfully connected to %1: %2 version %3 (%4)&lt;/font&gt;&lt;br/&gt;&lt;br/&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="251"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="280"/>
<source>Failed to connect to %1 at %2:&lt;br/&gt;%3</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="285"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="314"/>
<source>Timeout while trying to connect to %1 at %2.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="296"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="334"/>
<source>Trying to connect to %1 at %2...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="347"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="385"/>
<source>The authenticated request to the server was redirected to &apos;%1&apos;. The URL is bad, the server is misconfigured.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="369"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="407"/>
<source>There was an invalid response to an authenticated webdav request</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="360"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="398"/>
<source>Access forbidden by server. To verify that you have proper access, &lt;a href=&quot;%1&quot;&gt;click here&lt;/a&gt; to access the service with your browser.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="249"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="278"/>
<source>Invalid URL</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="414"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="452"/>
<source>Local sync folder %1 already exists, setting it up for sync.&lt;br/&gt;&lt;br/&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="417"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="455"/>
<source>Creating local sync folder %1...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="421"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="459"/>
<source>ok</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="423"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="461"/>
<source>failed.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="425"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="463"/>
<source>Could not create local folder %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="451"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="489"/>
<source>No remote folder specified!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="457"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="495"/>
<source>Error: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="470"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="508"/>
<source>creating folder on ownCloud: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="486"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="524"/>
<source>Remote folder %1 created successfully.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="488"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="526"/>
<source>The remote folder %1 already exists. Connecting it for syncing.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="490"/>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="492"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="528"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="530"/>
<source>The folder creation resulted in HTTP error code %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="494"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="532"/>
<source>The remote folder creation failed because the provided credentials are wrong!&lt;br/&gt;Please go back and check your credentials.&lt;/p&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="498"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="536"/>
<source>&lt;p&gt;&lt;font color=&quot;red&quot;&gt;Remote folder creation failed probably because the provided credentials are wrong.&lt;/font&gt;&lt;br/&gt;Please go back and check your credentials.&lt;/p&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="503"/>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="504"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="541"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="542"/>
<source>Remote folder %1 creation failed with error &lt;tt&gt;%2&lt;/tt&gt;.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="521"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="559"/>
<source>A sync connection from %1 to remote directory %2 was set up.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="526"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="564"/>
<source>Successfully connected to %1!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="533"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="571"/>
<source>Connection to %1 could not be established. Please check again.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="547"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="585"/>
<source>Folder rename failed</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="548"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="586"/>
<source>Can&apos;t remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="593"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="631"/>
<source>&lt;font color=&quot;green&quot;&gt;&lt;b&gt;Local sync folder %1 successfully created!&lt;/b&gt;&lt;/font&gt;</source>
<translation type="unfinished"></translation>
</message>
@@ -2122,7 +2122,7 @@ It is not advisable to use it.</source>
<context>
<name>OCC::PropagateDirectory</name>
<message>
- <location filename="../src/libsync/owncloudpropagator.cpp" line="942"/>
+ <location filename="../src/libsync/owncloudpropagator.cpp" line="953"/>
<source>Error writing metadata to the database</source>
<translation type="unfinished"></translation>
</message>
@@ -2160,17 +2160,17 @@ It is not advisable to use it.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/libsync/propagatedownload.cpp" line="772"/>
+ <location filename="../src/libsync/propagatedownload.cpp" line="775"/>
<source>File %1 cannot be saved because of a local file name clash!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/libsync/propagatedownload.cpp" line="820"/>
+ <location filename="../src/libsync/propagatedownload.cpp" line="823"/>
<source>File has changed since discovery</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/libsync/propagatedownload.cpp" line="871"/>
+ <location filename="../src/libsync/propagatedownload.cpp" line="874"/>
<source>Error writing metadata to the database</source>
<translation type="unfinished"></translation>
</message>
@@ -2246,12 +2246,12 @@ It is not advisable to use it.</source>
<context>
<name>OCC::PropagateRemoteDelete</name>
<message>
- <location filename="../src/libsync/propagateremotedelete.cpp" line="96"/>
+ <location filename="../src/libsync/propagateremotedelete.cpp" line="100"/>
<source>The file has been removed from a read only share. It was restored.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotedelete.cpp" line="117"/>
+ <location filename="../src/libsync/propagateremotedelete.cpp" line="121"/>
<source>Wrong HTTP code returned by server. Expected 204, but received &quot;%1 %2&quot;.</source>
<translation type="unfinished"></translation>
</message>
@@ -2259,12 +2259,12 @@ It is not advisable to use it.</source>
<context>
<name>OCC::PropagateRemoteMkdir</name>
<message>
- <location filename="../src/libsync/propagateremotemkdir.cpp" line="95"/>
+ <location filename="../src/libsync/propagateremotemkdir.cpp" line="99"/>
<source>Wrong HTTP code returned by server. Expected 201, but received &quot;%1 %2&quot;.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotemkdir.cpp" line="147"/>
+ <location filename="../src/libsync/propagateremotemkdir.cpp" line="151"/>
<source>Error writing metadata to the database</source>
<translation type="unfinished"></translation>
</message>
@@ -2282,18 +2282,18 @@ It is not advisable to use it.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotemove.cpp" line="137"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="141"/>
<source>The file was renamed but is part of a read only share. The original file was restored.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotemove.cpp" line="154"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="158"/>
<source>Wrong HTTP code returned by server. Expected 201, but received &quot;%1 %2&quot;.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotemove.cpp" line="186"/>
- <location filename="../src/libsync/propagateremotemove.cpp" line="192"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="190"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="196"/>
<source>Error writing metadata to the database</source>
<translation type="unfinished"></translation>
</message>
@@ -2327,7 +2327,7 @@ It is not advisable to use it.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/libsync/propagateupload.cpp" line="618"/>
+ <location filename="../src/libsync/propagateupload.cpp" line="622"/>
<source>Error writing metadata to the database</source>
<translation type="unfinished"></translation>
</message>
@@ -2401,42 +2401,42 @@ It is not advisable to use it.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="48"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="61"/>
<source>Time</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="49"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="62"/>
<source>File</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="50"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="63"/>
<source>Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="51"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="64"/>
<source>Action</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="52"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="65"/>
<source>Size</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="72"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="85"/>
<source>Local sync protocol</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="74"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="87"/>
<source>Copy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="75"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="88"/>
<source>Copy the activity list to the clipboard.</source>
<translation type="unfinished"></translation>
</message>
@@ -2568,6 +2568,7 @@ It is not advisable to use it.</source>
</message>
<message>
<location filename="../src/gui/settingsdialogmac.cpp" line="152"/>
+ <location filename="../src/gui/settingsdialogmac.cpp" line="211"/>
<source>Account</source>
<translation type="unfinished"></translation>
</message>
@@ -3222,22 +3223,22 @@ It is not advisable to use it.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1278"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1287"/>
<source>Not allowed because you don&apos;t have permission to add parent folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1285"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1294"/>
<source>Not allowed because you don&apos;t have permission to add files in that folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1588"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1597"/>
<source>Disk space is low: Downloads that would reduce free space below %1 were skipped.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1595"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1604"/>
<source>There is insufficient space available on the server for some uploads.</source>
<translation type="unfinished"></translation>
</message>
@@ -3362,54 +3363,54 @@ It is not advisable to use it.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="968"/>
+ <location filename="../src/libsync/syncengine.cpp" line="977"/>
<source>File name contains at least one invalid character</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1204"/>
- <location filename="../src/libsync/syncengine.cpp" line="1244"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1213"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1253"/>
<source>Ignored because of the &quot;choose what to sync&quot; blacklist</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1263"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1272"/>
<source>Not allowed because you don&apos;t have permission to add subfolders to that folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1310"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1319"/>
<source>Not allowed to upload this file because it is read-only on the server, restoring</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1326"/>
- <location filename="../src/libsync/syncengine.cpp" line="1345"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1335"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1354"/>
<source>Not allowed to remove, restoring</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1359"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1368"/>
<source>Local files and share folder removed.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1413"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1422"/>
<source>Move not allowed, item restored</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1424"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1433"/>
<source>Move not allowed because %1 is read-only</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1424"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1433"/>
<source>the destination</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1424"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1433"/>
<source>the source</source>
<translation type="unfinished"></translation>
</message>
@@ -3451,17 +3452,17 @@ It is not advisable to use it.</source>
<context>
<name>OCC::ValidateChecksumHeader</name>
<message>
- <location filename="../src/common/checksums.cpp" line="205"/>
+ <location filename="../src/common/checksums.cpp" line="218"/>
<source>The checksum header is malformed.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/common/checksums.cpp" line="220"/>
+ <location filename="../src/common/checksums.cpp" line="233"/>
<source>The checksum header contained an unknown checksum type &apos;%1&apos;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/common/checksums.cpp" line="224"/>
+ <location filename="../src/common/checksums.cpp" line="237"/>
<source>The downloaded file does not match the checksum, it will be resumed.</source>
<translation type="unfinished"></translation>
</message>
diff --git a/translations/client_es.ts b/translations/client_es.ts
index a1692aa70..496169b48 100644
--- a/translations/client_es.ts
+++ b/translations/client_es.ts
@@ -596,7 +596,7 @@
<context>
<name>OCC::CleanupPollsJob</name>
<message>
- <location filename="../src/libsync/owncloudpropagator.cpp" line="990"/>
+ <location filename="../src/libsync/owncloudpropagator.cpp" line="1001"/>
<source>Error writing metadata to the database</source>
<translation>Error al escribir los metadatos en la base de datos</translation>
</message>
@@ -744,26 +744,26 @@
<translation>No se ha podido leer el archivo de exclusión del sistema</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="883"/>
+ <location filename="../src/gui/folder.cpp" line="888"/>
<source>A new folder larger than %1 MB has been added: %2.
</source>
<translation>Una carpeta mayor de %1 MB ha sido añadida: %2.
</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="886"/>
+ <location filename="../src/gui/folder.cpp" line="891"/>
<source>A folder from an external storage has been added.
</source>
<translation>Una carpeta de almacenamiento externo ha sido añadida.
</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="887"/>
+ <location filename="../src/gui/folder.cpp" line="892"/>
<source>Please go in the settings to select it if you wish to download it.</source>
<translation>Por favor vaya a opciones a seleccionarlo si desea descargar esto.</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="922"/>
+ <location filename="../src/gui/folder.cpp" line="927"/>
<source>All files in the sync folder '%1' folder were deleted on the server.
These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore.
If you decide to keep the files, they will be re-synced with the server if you have rights to do so.
@@ -774,7 +774,7 @@ Si decide mantener estos archivos, serán re-sincronizados con el servidor si Vd
Si decide borrarlos, no serán visibles para Vd. a menos que sea usted el propietario.</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="927"/>
+ <location filename="../src/gui/folder.cpp" line="932"/>
<source>All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored.
Are you sure you want to sync those actions with the server?
If this was an accident and you decide to keep your files, they will be re-synced from the server.</source>
@@ -783,22 +783,22 @@ If this was an accident and you decide to keep your files, they will be re-synce
Si ha sido un accidente, y decide mantener los archivos, serán re-sincronizados con el servidor.</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="931"/>
+ <location filename="../src/gui/folder.cpp" line="936"/>
<source>Remove All Files?</source>
<translation>¿Eliminar todos los archivos?</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="934"/>
+ <location filename="../src/gui/folder.cpp" line="939"/>
<source>Remove all files</source>
<translation>Eliminar todos los archivos</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="935"/>
+ <location filename="../src/gui/folder.cpp" line="940"/>
<source>Keep files</source>
<translation>Conservar archivos</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="952"/>
+ <location filename="../src/gui/folder.cpp" line="957"/>
<source>This sync would reset the files to an earlier time in the sync folder '%1'.
This might be because a backup was restored on the server.
Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files?</source>
@@ -807,17 +807,17 @@ Esto puede deberse a que una copia de seguridad fue restaurada en el servidor.
Si continua con la sincronización todos los archivos serán remplazados por su versión previa. ¿Desea mantener los archivos locales en su versión actual como archivos en conflicto?</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="957"/>
+ <location filename="../src/gui/folder.cpp" line="962"/>
<source>Backup detected</source>
<translation>Backup detectado</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="960"/>
+ <location filename="../src/gui/folder.cpp" line="965"/>
<source>Normal Synchronisation</source>
<translation>Sincronización Normal</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="961"/>
+ <location filename="../src/gui/folder.cpp" line="966"/>
<source>Keep Local Files as Conflict</source>
<translation>Mantener los archivos locales en caso de conflicto</translation>
</message>
@@ -1291,22 +1291,22 @@ Si continua con la sincronización todos los archivos serán remplazados por su
<context>
<name>OCC::HttpCredentialsGui</name>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="97"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="98"/>
<source>Please enter %1 password:&lt;br&gt;&lt;br&gt;User: %2&lt;br&gt;Account: %3&lt;br&gt;</source>
<translation>Por favor introduzca la contraseña de %1:&lt;br&gt;&lt;br&gt;Usuario: %2&lt;br&gt;Cuenta: %3&lt;br&gt;</translation>
</message>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="111"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="112"/>
<source>Reading from keychain failed with error: &apos;%1&apos;</source>
<translation>La lectura del llavero ha fallado y ha generado este error: &apos;%1&apos;</translation>
</message>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="117"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="118"/>
<source>Enter Password</source>
<translation>Introduzca la contraseña</translation>
</message>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="154"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="155"/>
<source>&lt;a href=&quot;%1&quot;&gt;Click here&lt;/a&gt; to request an app password from the web interface.</source>
<translation>&lt;a href=&quot;%1&quot;&gt;Haga clic aquí&lt;/a&gt; para solicitar una contraseña de aplicación desde la interfaz web.</translation>
</message>
@@ -1428,12 +1428,12 @@ Los elementos cuya eliminación está permitida serán eliminados si impiden que
<translation>Mostrar archivos ignorados</translation>
</message>
<message>
- <location filename="../src/gui/issueswidget.ui" line="145"/>
+ <location filename="../src/gui/issueswidget.ui" line="148"/>
<source>Copy the issues list to the clipboard.</source>
<translation>Copiar la lista de problemas al portapapeles.</translation>
</message>
<message>
- <location filename="../src/gui/issueswidget.ui" line="148"/>
+ <location filename="../src/gui/issueswidget.ui" line="151"/>
<source>Copy</source>
<translation>Copiar</translation>
</message>
@@ -1918,144 +1918,144 @@ No se recomienda usarla.</translation>
<context>
<name>OCC::OwncloudSetupWizard</name>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="217"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="250"/>
<source>&lt;font color=&quot;green&quot;&gt;Successfully connected to %1: %2 version %3 (%4)&lt;/font&gt;&lt;br/&gt;&lt;br/&gt;</source>
<translation>&lt;font color=&quot;green&quot;&gt;Conectado con éxito a %1: versión %2 %3 (%4)&lt;/font&gt;&lt;br/&gt;&lt;br/&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="251"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="280"/>
<source>Failed to connect to %1 at %2:&lt;br/&gt;%3</source>
<translation>Fallo al conectar %1 a %2:&lt;br/&gt;%3</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="285"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="314"/>
<source>Timeout while trying to connect to %1 at %2.</source>
<translation>Tiempo de espera agotado mientras se intentaba conectar a %1 en %2</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="296"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="334"/>
<source>Trying to connect to %1 at %2...</source>
<translation>Intentando conectar a %1 desde %2...</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="347"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="385"/>
<source>The authenticated request to the server was redirected to &apos;%1&apos;. The URL is bad, the server is misconfigured.</source>
<translation>La petición autenticada al servidor ha sido redirigida a &apos;%1&apos;. La dirección URL es errónea, el servidor está mal configurado.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="369"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="407"/>
<source>There was an invalid response to an authenticated webdav request</source>
<translation>Ha habido una respuesta no válida a una solicitud autenticada de webdav</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="360"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="398"/>
<source>Access forbidden by server. To verify that you have proper access, &lt;a href=&quot;%1&quot;&gt;click here&lt;/a&gt; to access the service with your browser.</source>
<translation>Acceso denegado por el servidor. Para verificar que usted tiene acceso, &lt;a href=&quot;%1&quot;&gt;haga clic aquí&lt;/a&gt; para acceder al servicio con su navegador.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="249"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="278"/>
<source>Invalid URL</source>
<translation>URL inválida.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="414"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="452"/>
<source>Local sync folder %1 already exists, setting it up for sync.&lt;br/&gt;&lt;br/&gt;</source>
<translation>La carpeta de sincronización local %1 ya existe, configurándola para la sincronización.&lt;br/&gt;&lt;br/&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="417"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="455"/>
<source>Creating local sync folder %1...</source>
<translation>Creando carpeta de sincronización local %1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="421"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="459"/>
<source>ok</source>
<translation>bien</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="423"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="461"/>
<source>failed.</source>
<translation>ha fallado.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="425"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="463"/>
<source>Could not create local folder %1</source>
<translation>No se ha podido crear la carpeta local %1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="451"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="489"/>
<source>No remote folder specified!</source>
<translation>¡No se ha especificado ninguna carpeta remota!</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="457"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="495"/>
<source>Error: %1</source>
<translation>Error: %1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="470"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="508"/>
<source>creating folder on ownCloud: %1</source>
<translation>creando carpeta en ownCloud: %1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="486"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="524"/>
<source>Remote folder %1 created successfully.</source>
<translation>Carpeta remota %1 creado correctamente.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="488"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="526"/>
<source>The remote folder %1 already exists. Connecting it for syncing.</source>
<translation>La carpeta remota %1 ya existe. Conectándola para sincronizacion.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="490"/>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="492"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="528"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="530"/>
<source>The folder creation resulted in HTTP error code %1</source>
<translation>La creación de la carpeta ha producido el código de error HTTP %1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="494"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="532"/>
<source>The remote folder creation failed because the provided credentials are wrong!&lt;br/&gt;Please go back and check your credentials.&lt;/p&gt;</source>
<translation>¡La creación de la carpeta remota ha fallado debido a que las credenciales proporcionadas son incorrectas!&lt;br/&gt;Por favor, vuelva atrás y compruebe sus credenciales&lt;/p&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="498"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="536"/>
<source>&lt;p&gt;&lt;font color=&quot;red&quot;&gt;Remote folder creation failed probably because the provided credentials are wrong.&lt;/font&gt;&lt;br/&gt;Please go back and check your credentials.&lt;/p&gt;</source>
<translation>&lt;p&gt;&lt;font color=&quot;red&quot;&gt;La creación de la carpeta remota ha fallado, probablemente porque las credenciales proporcionadas son incorrectas.&lt;/font&gt;&lt;br/&gt;Por favor, vuelva atrás y compruebe sus credenciales.&lt;/p&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="503"/>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="504"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="541"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="542"/>
<source>Remote folder %1 creation failed with error &lt;tt&gt;%2&lt;/tt&gt;.</source>
<translation>Creación %1 de carpeta remota ha fallado con el error &lt;tt&gt;%2&lt;/tt&gt;.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="521"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="559"/>
<source>A sync connection from %1 to remote directory %2 was set up.</source>
<translation>Se ha configarado una conexión de sincronización desde %1 al directorio remoto %2</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="526"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="564"/>
<source>Successfully connected to %1!</source>
<translation>¡Conectado con éxito a %1!</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="533"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="571"/>
<source>Connection to %1 could not be established. Please check again.</source>
<translation>No se ha podido establecer la conexión con %1. Por favor, compruébelo de nuevo.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="547"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="585"/>
<source>Folder rename failed</source>
<translation>Error al renombrar la carpeta</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="548"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="586"/>
<source>Can&apos;t remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup.</source>
<translation>No se puede eliminar y respaldar la carpeta porque la misma o un fichero en ella está abierto por otro programa. Por favor, cierre la carpeta o el fichero y reintente, o cancele la instalación.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="593"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="631"/>
<source>&lt;font color=&quot;green&quot;&gt;&lt;b&gt;Local sync folder %1 successfully created!&lt;/b&gt;&lt;/font&gt;</source>
<translation>&lt;font color=&quot;green&quot;&gt;&lt;b&gt;Carpeta de sincronización local %1 creada con éxito&lt;/b&gt;&lt;/font&gt;</translation>
</message>
@@ -2102,7 +2102,7 @@ No se recomienda usarla.</translation>
<context>
<name>OCC::PropagateDirectory</name>
<message>
- <location filename="../src/libsync/owncloudpropagator.cpp" line="942"/>
+ <location filename="../src/libsync/owncloudpropagator.cpp" line="953"/>
<source>Error writing metadata to the database</source>
<translation>Error al escribir los metadatos en la base de datos</translation>
</message>
@@ -2140,17 +2140,17 @@ No se recomienda usarla.</translation>
<translation>El archivo descargado está vacio aunque el servidor dice que deberia haber sido %1.</translation>
</message>
<message>
- <location filename="../src/libsync/propagatedownload.cpp" line="772"/>
+ <location filename="../src/libsync/propagatedownload.cpp" line="775"/>
<source>File %1 cannot be saved because of a local file name clash!</source>
<translation>¡El fichero %1 no puede guardarse debido a un conflicto con el nombre de otro fichero local!</translation>
</message>
<message>
- <location filename="../src/libsync/propagatedownload.cpp" line="820"/>
+ <location filename="../src/libsync/propagatedownload.cpp" line="823"/>
<source>File has changed since discovery</source>
<translation>El archivo ha cambiado desde que fue descubierto</translation>
</message>
<message>
- <location filename="../src/libsync/propagatedownload.cpp" line="871"/>
+ <location filename="../src/libsync/propagatedownload.cpp" line="874"/>
<source>Error writing metadata to the database</source>
<translation>Error al escribir los metadatos en la base de datos</translation>
</message>
@@ -2226,12 +2226,12 @@ No se recomienda usarla.</translation>
<context>
<name>OCC::PropagateRemoteDelete</name>
<message>
- <location filename="../src/libsync/propagateremotedelete.cpp" line="96"/>
+ <location filename="../src/libsync/propagateremotedelete.cpp" line="100"/>
<source>The file has been removed from a read only share. It was restored.</source>
<translation>El archvo fue eliminado de una carpeta compartida en modo de solo lectura. Ha sido recuperado.</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotedelete.cpp" line="117"/>
+ <location filename="../src/libsync/propagateremotedelete.cpp" line="121"/>
<source>Wrong HTTP code returned by server. Expected 204, but received &quot;%1 %2&quot;.</source>
<translation>El código HTTP devuelto por el servidor es erróneo. Esperado 204, pero recibido &quot;%1 %2&quot;.</translation>
</message>
@@ -2239,12 +2239,12 @@ No se recomienda usarla.</translation>
<context>
<name>OCC::PropagateRemoteMkdir</name>
<message>
- <location filename="../src/libsync/propagateremotemkdir.cpp" line="95"/>
+ <location filename="../src/libsync/propagateremotemkdir.cpp" line="99"/>
<source>Wrong HTTP code returned by server. Expected 201, but received &quot;%1 %2&quot;.</source>
<translation>El código HTTP devuelto por el servidor es erróneo. Esperado 201, pero recibido &quot;%1 %2&quot;.</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotemkdir.cpp" line="147"/>
+ <location filename="../src/libsync/propagateremotemkdir.cpp" line="151"/>
<source>Error writing metadata to the database</source>
<translation>Error al escribir los metadatos en la base de datos</translation>
</message>
@@ -2262,18 +2262,18 @@ No se recomienda usarla.</translation>
<translation>Esta carpeta no debe ser renombrada. Favor de renombrar a Compartida.</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotemove.cpp" line="137"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="141"/>
<source>The file was renamed but is part of a read only share. The original file was restored.</source>
<translation>El archivo fue renombrado, pero es parte de una carpeta compartida en modo de solo lectura. El archivo original ha sido recuperado.</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotemove.cpp" line="154"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="158"/>
<source>Wrong HTTP code returned by server. Expected 201, but received &quot;%1 %2&quot;.</source>
<translation>El código HTTP devuelto por el servidor es erróneo. Esperado 201, pero recibido &quot;%1 %2&quot;.</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotemove.cpp" line="186"/>
- <location filename="../src/libsync/propagateremotemove.cpp" line="192"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="190"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="196"/>
<source>Error writing metadata to the database</source>
<translation>Error al escribir los metadatos en la base de datos</translation>
</message>
@@ -2307,7 +2307,7 @@ No se recomienda usarla.</translation>
<translation>La subida %1 excede la quota de la carpeta</translation>
</message>
<message>
- <location filename="../src/libsync/propagateupload.cpp" line="618"/>
+ <location filename="../src/libsync/propagateupload.cpp" line="622"/>
<source>Error writing metadata to the database</source>
<translation>Error al escribir los metadatos en la base de datos</translation>
</message>
@@ -2381,42 +2381,42 @@ No se recomienda usarla.</translation>
<translation>Etiqueta de texto</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="48"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="61"/>
<source>Time</source>
<translation>Hora</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="49"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="62"/>
<source>File</source>
<translation>Archivo</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="50"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="63"/>
<source>Folder</source>
<translation>Carpeta</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="51"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="64"/>
<source>Action</source>
<translation>Acción</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="52"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="65"/>
<source>Size</source>
<translation>Tamaño</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="72"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="85"/>
<source>Local sync protocol</source>
<translation>Protocolo de sincronización local</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="74"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="87"/>
<source>Copy</source>
<translation>Copiar</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="75"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="88"/>
<source>Copy the activity list to the clipboard.</source>
<translation>Copie la lista de actividades al portapapeles</translation>
</message>
@@ -2548,6 +2548,7 @@ No se recomienda usarla.</translation>
</message>
<message>
<location filename="../src/gui/settingsdialogmac.cpp" line="152"/>
+ <location filename="../src/gui/settingsdialogmac.cpp" line="211"/>
<source>Account</source>
<translation>Cuenta</translation>
</message>
@@ -3204,22 +3205,22 @@ No se recomienda usarla.</translation>
<translation>Imposible abrir o crear la BBDD local de sync. Asegurese de que tiene permisos de escritura en la carpeta de sync.</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1278"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1287"/>
<source>Not allowed because you don&apos;t have permission to add parent folder</source>
<translation>No permitido porque no tienes permiso para añadir un directorio padre</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1285"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1294"/>
<source>Not allowed because you don&apos;t have permission to add files in that folder</source>
<translation>No permitido porque no tienes permiso para añadir archivos a ese directorio</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1588"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1597"/>
<source>Disk space is low: Downloads that would reduce free space below %1 were skipped.</source>
<translation>Poco espacio libre en disco: La descarga lo reducirá por debajo del %1, deberia abortar.</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1595"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1604"/>
<source>There is insufficient space available on the server for some uploads.</source>
<translation>No hay suficiente espacio libre en el servidor para algunas subidas.</translation>
</message>
@@ -3344,54 +3345,54 @@ No se recomienda usarla.</translation>
<translation>No es posible abrir el diario de sincronización</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="968"/>
+ <location filename="../src/libsync/syncengine.cpp" line="977"/>
<source>File name contains at least one invalid character</source>
<translation>Nombre de archivo contiene al menos un caracter no válido</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1204"/>
- <location filename="../src/libsync/syncengine.cpp" line="1244"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1213"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1253"/>
<source>Ignored because of the &quot;choose what to sync&quot; blacklist</source>
<translation>Ignorado porque se encuentra en la lista negra de &quot;elija qué va a sincronizar&quot;</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1263"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1272"/>
<source>Not allowed because you don&apos;t have permission to add subfolders to that folder</source>
<translation>No permitido porque no tienes permiso para añadir subdirectorios a ese directorio</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1310"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1319"/>
<source>Not allowed to upload this file because it is read-only on the server, restoring</source>
<translation>No está permitido subir este archivo porque es de solo lectura en el servidor, restaurando.</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1326"/>
- <location filename="../src/libsync/syncengine.cpp" line="1345"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1335"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1354"/>
<source>Not allowed to remove, restoring</source>
<translation>No está permitido borrar, restaurando.</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1359"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1368"/>
<source>Local files and share folder removed.</source>
<translation>Se han eliminado los archivos locales y la carpeta compartida.</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1413"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1422"/>
<source>Move not allowed, item restored</source>
<translation>No está permitido mover, elemento restaurado.</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1424"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1433"/>
<source>Move not allowed because %1 is read-only</source>
<translation>No está permitido mover, porque %1 es de sólo lectura.</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1424"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1433"/>
<source>the destination</source>
<translation>destino</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1424"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1433"/>
<source>the source</source>
<translation>origen</translation>
</message>
@@ -3433,17 +3434,17 @@ No se recomienda usarla.</translation>
<context>
<name>OCC::ValidateChecksumHeader</name>
<message>
- <location filename="../src/common/checksums.cpp" line="205"/>
+ <location filename="../src/common/checksums.cpp" line="218"/>
<source>The checksum header is malformed.</source>
<translation>La cabecera del archivo de comprobación es incorrecto.</translation>
</message>
<message>
- <location filename="../src/common/checksums.cpp" line="220"/>
+ <location filename="../src/common/checksums.cpp" line="233"/>
<source>The checksum header contained an unknown checksum type &apos;%1&apos;</source>
<translation>La suma de comprobación de cabeceras contenía una suma de comprobación desconocida de tipo &apos;%1&apos;</translation>
</message>
<message>
- <location filename="../src/common/checksums.cpp" line="224"/>
+ <location filename="../src/common/checksums.cpp" line="237"/>
<source>The downloaded file does not match the checksum, it will be resumed.</source>
<translation>El archivo descargado no coincide con el archivo de comprobación, será reanudado.</translation>
</message>
diff --git a/translations/client_es_AR.ts b/translations/client_es_AR.ts
index f24f81036..9b58e27c1 100644
--- a/translations/client_es_AR.ts
+++ b/translations/client_es_AR.ts
@@ -596,7 +596,7 @@
<context>
<name>OCC::CleanupPollsJob</name>
<message>
- <location filename="../src/libsync/owncloudpropagator.cpp" line="990"/>
+ <location filename="../src/libsync/owncloudpropagator.cpp" line="1001"/>
<source>Error writing metadata to the database</source>
<translation>Error escribiendo metadatos a la base de datos</translation>
</message>
@@ -744,24 +744,24 @@
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="883"/>
+ <location filename="../src/gui/folder.cpp" line="888"/>
<source>A new folder larger than %1 MB has been added: %2.
</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="886"/>
+ <location filename="../src/gui/folder.cpp" line="891"/>
<source>A folder from an external storage has been added.
</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="887"/>
+ <location filename="../src/gui/folder.cpp" line="892"/>
<source>Please go in the settings to select it if you wish to download it.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="922"/>
+ <location filename="../src/gui/folder.cpp" line="927"/>
<source>All files in the sync folder '%1' folder were deleted on the server.
These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore.
If you decide to keep the files, they will be re-synced with the server if you have rights to do so.
@@ -769,46 +769,46 @@ If you decide to delete the files, they will be unavailable to you, unless you a
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="927"/>
+ <location filename="../src/gui/folder.cpp" line="932"/>
<source>All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored.
Are you sure you want to sync those actions with the server?
If this was an accident and you decide to keep your files, they will be re-synced from the server.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="931"/>
+ <location filename="../src/gui/folder.cpp" line="936"/>
<source>Remove All Files?</source>
<translation>¿Borrar todos los archivos?</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="934"/>
+ <location filename="../src/gui/folder.cpp" line="939"/>
<source>Remove all files</source>
<translation>Borrar todos los archivos</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="935"/>
+ <location filename="../src/gui/folder.cpp" line="940"/>
<source>Keep files</source>
<translation>Conservar archivos</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="952"/>
+ <location filename="../src/gui/folder.cpp" line="957"/>
<source>This sync would reset the files to an earlier time in the sync folder '%1'.
This might be because a backup was restored on the server.
Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files?</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="957"/>
+ <location filename="../src/gui/folder.cpp" line="962"/>
<source>Backup detected</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="960"/>
+ <location filename="../src/gui/folder.cpp" line="965"/>
<source>Normal Synchronisation</source>
<translation>Sincronizacón Normal.</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="961"/>
+ <location filename="../src/gui/folder.cpp" line="966"/>
<source>Keep Local Files as Conflict</source>
<translation>Mantener Archivos Locales como Conflicto</translation>
</message>
@@ -1282,22 +1282,22 @@ Continuing the sync as normal will cause all your files to be overwritten by an
<context>
<name>OCC::HttpCredentialsGui</name>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="97"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="98"/>
<source>Please enter %1 password:&lt;br&gt;&lt;br&gt;User: %2&lt;br&gt;Account: %3&lt;br&gt;</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="111"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="112"/>
<source>Reading from keychain failed with error: &apos;%1&apos;</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="117"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="118"/>
<source>Enter Password</source>
<translation>Ingresar contraseña</translation>
</message>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="154"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="155"/>
<source>&lt;a href=&quot;%1&quot;&gt;Click here&lt;/a&gt; to request an app password from the web interface.</source>
<translation type="unfinished"/>
</message>
@@ -1417,12 +1417,12 @@ Items where deletion is allowed will be deleted if they prevent a directory from
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/issueswidget.ui" line="145"/>
+ <location filename="../src/gui/issueswidget.ui" line="148"/>
<source>Copy the issues list to the clipboard.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/issueswidget.ui" line="148"/>
+ <location filename="../src/gui/issueswidget.ui" line="151"/>
<source>Copy</source>
<translation>Copiar</translation>
</message>
@@ -1906,144 +1906,144 @@ It is not advisable to use it.</source>
<context>
<name>OCC::OwncloudSetupWizard</name>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="217"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="250"/>
<source>&lt;font color=&quot;green&quot;&gt;Successfully connected to %1: %2 version %3 (%4)&lt;/font&gt;&lt;br/&gt;&lt;br/&gt;</source>
<translation>&lt;font color=&quot;green&quot;&gt;Conectado a %1: versión de %2 %3 (%4)&lt;/font&gt;&lt;br/&gt;&lt;br/&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="251"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="280"/>
<source>Failed to connect to %1 at %2:&lt;br/&gt;%3</source>
<translation>Falló al conectarse a %1 en %2:&lt;br/&gt;%3</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="285"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="314"/>
<source>Timeout while trying to connect to %1 at %2.</source>
<translation>Tiempo excedido mientras se intentaba conectar a %1 desde %2.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="296"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="334"/>
<source>Trying to connect to %1 at %2...</source>
<translation>Intentando conectar a %1 en %2...</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="347"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="385"/>
<source>The authenticated request to the server was redirected to &apos;%1&apos;. The URL is bad, the server is misconfigured.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="369"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="407"/>
<source>There was an invalid response to an authenticated webdav request</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="360"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="398"/>
<source>Access forbidden by server. To verify that you have proper access, &lt;a href=&quot;%1&quot;&gt;click here&lt;/a&gt; to access the service with your browser.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="249"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="278"/>
<source>Invalid URL</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="414"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="452"/>
<source>Local sync folder %1 already exists, setting it up for sync.&lt;br/&gt;&lt;br/&gt;</source>
<translation>El directorio de sincronización local %1 ya existe, configurándolo para la sincronización.&lt;br/&gt;&lt;br/&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="417"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="455"/>
<source>Creating local sync folder %1...</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="421"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="459"/>
<source>ok</source>
<translation>aceptar</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="423"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="461"/>
<source>failed.</source>
<translation>Error.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="425"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="463"/>
<source>Could not create local folder %1</source>
<translation>No fue posible crear el directorio local %1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="451"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="489"/>
<source>No remote folder specified!</source>
<translation>¡No se ha especificado un directorio remoto!</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="457"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="495"/>
<source>Error: %1</source>
<translation>Error: %1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="470"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="508"/>
<source>creating folder on ownCloud: %1</source>
<translation>Creando carpeta en ownCloud: %1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="486"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="524"/>
<source>Remote folder %1 created successfully.</source>
<translation>El directorio remoto %1 fue creado con éxito.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="488"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="526"/>
<source>The remote folder %1 already exists. Connecting it for syncing.</source>
<translation>El directorio remoto %1 ya existe. Estableciendo conexión para sincronizar.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="490"/>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="492"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="528"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="530"/>
<source>The folder creation resulted in HTTP error code %1</source>
<translation>La creación del directorio resultó en un error HTTP con código de error %1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="494"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="532"/>
<source>The remote folder creation failed because the provided credentials are wrong!&lt;br/&gt;Please go back and check your credentials.&lt;/p&gt;</source>
<translation>&lt;p&gt;&lt;font color=&quot;red&quot;&gt;Error al crear el directorio remoto porque las credenciales provistas son incorrectas.&lt;/font&gt;&lt;br/&gt;Por favor, volvé atrás y verificá tus credenciales.&lt;/p&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="498"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="536"/>
<source>&lt;p&gt;&lt;font color=&quot;red&quot;&gt;Remote folder creation failed probably because the provided credentials are wrong.&lt;/font&gt;&lt;br/&gt;Please go back and check your credentials.&lt;/p&gt;</source>
<translation>&lt;p&gt;&lt;font color=&quot;red&quot;&gt;Error al crear el directorio remoto, probablemente porque las credenciales provistas son incorrectas.&lt;/font&gt;&lt;br/&gt;Por favor, volvé atrás y verificá tus credenciales.&lt;/p&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="503"/>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="504"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="541"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="542"/>
<source>Remote folder %1 creation failed with error &lt;tt&gt;%2&lt;/tt&gt;.</source>
<translation>Se prtodujo un error &lt;tt&gt;%2&lt;/tt&gt; al crear el directorio remoto %1.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="521"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="559"/>
<source>A sync connection from %1 to remote directory %2 was set up.</source>
<translation>Fue creada una conexión de sincronización desde %1 al directorio remoto %2.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="526"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="564"/>
<source>Successfully connected to %1!</source>
<translation>Conectado con éxito a %1!</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="533"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="571"/>
<source>Connection to %1 could not be established. Please check again.</source>
<translation>No fue posible establecer la conexión a %1. Por favor, intentalo nuevamente.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="547"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="585"/>
<source>Folder rename failed</source>
<translation>Error Al Renombrar Directorio</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="548"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="586"/>
<source>Can&apos;t remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="593"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="631"/>
<source>&lt;font color=&quot;green&quot;&gt;&lt;b&gt;Local sync folder %1 successfully created!&lt;/b&gt;&lt;/font&gt;</source>
<translation>&lt;font color=&quot;green&quot;&gt;&lt;b&gt;Directorio local %1 creado&lt;/b&gt;&lt;/font&gt;</translation>
</message>
@@ -2090,7 +2090,7 @@ It is not advisable to use it.</source>
<context>
<name>OCC::PropagateDirectory</name>
<message>
- <location filename="../src/libsync/owncloudpropagator.cpp" line="942"/>
+ <location filename="../src/libsync/owncloudpropagator.cpp" line="953"/>
<source>Error writing metadata to the database</source>
<translation>Error escribiendo metadatos a la base de datos</translation>
</message>
@@ -2128,17 +2128,17 @@ It is not advisable to use it.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/propagatedownload.cpp" line="772"/>
+ <location filename="../src/libsync/propagatedownload.cpp" line="775"/>
<source>File %1 cannot be saved because of a local file name clash!</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/propagatedownload.cpp" line="820"/>
+ <location filename="../src/libsync/propagatedownload.cpp" line="823"/>
<source>File has changed since discovery</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/propagatedownload.cpp" line="871"/>
+ <location filename="../src/libsync/propagatedownload.cpp" line="874"/>
<source>Error writing metadata to the database</source>
<translation>Error escribiendo metadatos a la base de datos</translation>
</message>
@@ -2214,12 +2214,12 @@ It is not advisable to use it.</source>
<context>
<name>OCC::PropagateRemoteDelete</name>
<message>
- <location filename="../src/libsync/propagateremotedelete.cpp" line="96"/>
+ <location filename="../src/libsync/propagateremotedelete.cpp" line="100"/>
<source>The file has been removed from a read only share. It was restored.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/propagateremotedelete.cpp" line="117"/>
+ <location filename="../src/libsync/propagateremotedelete.cpp" line="121"/>
<source>Wrong HTTP code returned by server. Expected 204, but received &quot;%1 %2&quot;.</source>
<translation type="unfinished"/>
</message>
@@ -2227,12 +2227,12 @@ It is not advisable to use it.</source>
<context>
<name>OCC::PropagateRemoteMkdir</name>
<message>
- <location filename="../src/libsync/propagateremotemkdir.cpp" line="95"/>
+ <location filename="../src/libsync/propagateremotemkdir.cpp" line="99"/>
<source>Wrong HTTP code returned by server. Expected 201, but received &quot;%1 %2&quot;.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/propagateremotemkdir.cpp" line="147"/>
+ <location filename="../src/libsync/propagateremotemkdir.cpp" line="151"/>
<source>Error writing metadata to the database</source>
<translation>Error escribiendo metadatos a la base de datos</translation>
</message>
@@ -2250,18 +2250,18 @@ It is not advisable to use it.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/propagateremotemove.cpp" line="137"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="141"/>
<source>The file was renamed but is part of a read only share. The original file was restored.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/propagateremotemove.cpp" line="154"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="158"/>
<source>Wrong HTTP code returned by server. Expected 201, but received &quot;%1 %2&quot;.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/propagateremotemove.cpp" line="186"/>
- <location filename="../src/libsync/propagateremotemove.cpp" line="192"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="190"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="196"/>
<source>Error writing metadata to the database</source>
<translation>Error escribiendo metadatos a la base de datos</translation>
</message>
@@ -2295,7 +2295,7 @@ It is not advisable to use it.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/propagateupload.cpp" line="618"/>
+ <location filename="../src/libsync/propagateupload.cpp" line="622"/>
<source>Error writing metadata to the database</source>
<translation>Error escribiendo metadatos a la base de datos</translation>
</message>
@@ -2369,42 +2369,42 @@ It is not advisable to use it.</source>
<translation>EtiquetaDeTexto</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="48"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="61"/>
<source>Time</source>
<translation>Hora</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="49"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="62"/>
<source>File</source>
<translation>Archivo</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="50"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="63"/>
<source>Folder</source>
<translation>Carpeta</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="51"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="64"/>
<source>Action</source>
<translation>Acción</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="52"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="65"/>
<source>Size</source>
<translation>Tamaño</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="72"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="85"/>
<source>Local sync protocol</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="74"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="87"/>
<source>Copy</source>
<translation>Copiar</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="75"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="88"/>
<source>Copy the activity list to the clipboard.</source>
<translation>Copiar la lista de actividades al portapapeles.</translation>
</message>
@@ -2536,6 +2536,7 @@ It is not advisable to use it.</source>
</message>
<message>
<location filename="../src/gui/settingsdialogmac.cpp" line="152"/>
+ <location filename="../src/gui/settingsdialogmac.cpp" line="211"/>
<source>Account</source>
<translation>Cuenta</translation>
</message>
@@ -3190,22 +3191,22 @@ It is not advisable to use it.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1278"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1287"/>
<source>Not allowed because you don&apos;t have permission to add parent folder</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1285"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1294"/>
<source>Not allowed because you don&apos;t have permission to add files in that folder</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1588"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1597"/>
<source>Disk space is low: Downloads that would reduce free space below %1 were skipped.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1595"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1604"/>
<source>There is insufficient space available on the server for some uploads.</source>
<translation type="unfinished"/>
</message>
@@ -3330,54 +3331,54 @@ It is not advisable to use it.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="968"/>
+ <location filename="../src/libsync/syncengine.cpp" line="977"/>
<source>File name contains at least one invalid character</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1204"/>
- <location filename="../src/libsync/syncengine.cpp" line="1244"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1213"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1253"/>
<source>Ignored because of the &quot;choose what to sync&quot; blacklist</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1263"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1272"/>
<source>Not allowed because you don&apos;t have permission to add subfolders to that folder</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1310"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1319"/>
<source>Not allowed to upload this file because it is read-only on the server, restoring</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1326"/>
- <location filename="../src/libsync/syncengine.cpp" line="1345"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1335"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1354"/>
<source>Not allowed to remove, restoring</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1359"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1368"/>
<source>Local files and share folder removed.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1413"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1422"/>
<source>Move not allowed, item restored</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1424"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1433"/>
<source>Move not allowed because %1 is read-only</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1424"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1433"/>
<source>the destination</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1424"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1433"/>
<source>the source</source>
<translation type="unfinished"/>
</message>
@@ -3419,17 +3420,17 @@ It is not advisable to use it.</source>
<context>
<name>OCC::ValidateChecksumHeader</name>
<message>
- <location filename="../src/common/checksums.cpp" line="205"/>
+ <location filename="../src/common/checksums.cpp" line="218"/>
<source>The checksum header is malformed.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/common/checksums.cpp" line="220"/>
+ <location filename="../src/common/checksums.cpp" line="233"/>
<source>The checksum header contained an unknown checksum type &apos;%1&apos;</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/common/checksums.cpp" line="224"/>
+ <location filename="../src/common/checksums.cpp" line="237"/>
<source>The downloaded file does not match the checksum, it will be resumed.</source>
<translation type="unfinished"/>
</message>
diff --git a/translations/client_et.ts b/translations/client_et.ts
index c97230a58..b358ae9e6 100644
--- a/translations/client_et.ts
+++ b/translations/client_et.ts
@@ -596,7 +596,7 @@
<context>
<name>OCC::CleanupPollsJob</name>
<message>
- <location filename="../src/libsync/owncloudpropagator.cpp" line="990"/>
+ <location filename="../src/libsync/owncloudpropagator.cpp" line="1001"/>
<source>Error writing metadata to the database</source>
<translation type="unfinished"/>
</message>
@@ -744,24 +744,24 @@
<translation>Süsteemi väljajätmiste faili lugemine ebaõnnestus</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="883"/>
+ <location filename="../src/gui/folder.cpp" line="888"/>
<source>A new folder larger than %1 MB has been added: %2.
</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="886"/>
+ <location filename="../src/gui/folder.cpp" line="891"/>
<source>A folder from an external storage has been added.
</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="887"/>
+ <location filename="../src/gui/folder.cpp" line="892"/>
<source>Please go in the settings to select it if you wish to download it.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="922"/>
+ <location filename="../src/gui/folder.cpp" line="927"/>
<source>All files in the sync folder '%1' folder were deleted on the server.
These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore.
If you decide to keep the files, they will be re-synced with the server if you have rights to do so.
@@ -769,46 +769,46 @@ If you decide to delete the files, they will be unavailable to you, unless you a
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="927"/>
+ <location filename="../src/gui/folder.cpp" line="932"/>
<source>All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored.
Are you sure you want to sync those actions with the server?
If this was an accident and you decide to keep your files, they will be re-synced from the server.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="931"/>
+ <location filename="../src/gui/folder.cpp" line="936"/>
<source>Remove All Files?</source>
<translation>Kustutada kõik failid?</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="934"/>
+ <location filename="../src/gui/folder.cpp" line="939"/>
<source>Remove all files</source>
<translation>Kustutada kõik failid</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="935"/>
+ <location filename="../src/gui/folder.cpp" line="940"/>
<source>Keep files</source>
<translation>Säilita failid</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="952"/>
+ <location filename="../src/gui/folder.cpp" line="957"/>
<source>This sync would reset the files to an earlier time in the sync folder '%1'.
This might be because a backup was restored on the server.
Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files?</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="957"/>
+ <location filename="../src/gui/folder.cpp" line="962"/>
<source>Backup detected</source>
<translation>Leiti varukoopia</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="960"/>
+ <location filename="../src/gui/folder.cpp" line="965"/>
<source>Normal Synchronisation</source>
<translation>Tavaline sünkroonimine</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="961"/>
+ <location filename="../src/gui/folder.cpp" line="966"/>
<source>Keep Local Files as Conflict</source>
<translation type="unfinished"/>
</message>
@@ -1282,22 +1282,22 @@ Continuing the sync as normal will cause all your files to be overwritten by an
<context>
<name>OCC::HttpCredentialsGui</name>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="97"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="98"/>
<source>Please enter %1 password:&lt;br&gt;&lt;br&gt;User: %2&lt;br&gt;Account: %3&lt;br&gt;</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="111"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="112"/>
<source>Reading from keychain failed with error: &apos;%1&apos;</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="117"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="118"/>
<source>Enter Password</source>
<translation>Sisesta parool</translation>
</message>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="154"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="155"/>
<source>&lt;a href=&quot;%1&quot;&gt;Click here&lt;/a&gt; to request an app password from the web interface.</source>
<translation type="unfinished"/>
</message>
@@ -1417,12 +1417,12 @@ Items where deletion is allowed will be deleted if they prevent a directory from
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/issueswidget.ui" line="145"/>
+ <location filename="../src/gui/issueswidget.ui" line="148"/>
<source>Copy the issues list to the clipboard.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/issueswidget.ui" line="148"/>
+ <location filename="../src/gui/issueswidget.ui" line="151"/>
<source>Copy</source>
<translation>Kopeeri</translation>
</message>
@@ -1907,144 +1907,144 @@ Selle kasutamine pole soovitatav.</translation>
<context>
<name>OCC::OwncloudSetupWizard</name>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="217"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="250"/>
<source>&lt;font color=&quot;green&quot;&gt;Successfully connected to %1: %2 version %3 (%4)&lt;/font&gt;&lt;br/&gt;&lt;br/&gt;</source>
<translation>&lt;font color=&quot;green&quot;&gt;Edukalt ühendatud %1: %2 versioon %3 (4)&lt;/font&gt;&lt;br/&gt;&lt;br/&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="251"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="280"/>
<source>Failed to connect to %1 at %2:&lt;br/&gt;%3</source>
<translation>Ühendumine ebaõnnestus %1 %2-st:&lt;br/&gt;%3</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="285"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="314"/>
<source>Timeout while trying to connect to %1 at %2.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="296"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="334"/>
<source>Trying to connect to %1 at %2...</source>
<translation>Püüan ühenduda %1 kohast %2</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="347"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="385"/>
<source>The authenticated request to the server was redirected to &apos;%1&apos;. The URL is bad, the server is misconfigured.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="369"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="407"/>
<source>There was an invalid response to an authenticated webdav request</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="360"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="398"/>
<source>Access forbidden by server. To verify that you have proper access, &lt;a href=&quot;%1&quot;&gt;click here&lt;/a&gt; to access the service with your browser.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="249"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="278"/>
<source>Invalid URL</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="414"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="452"/>
<source>Local sync folder %1 already exists, setting it up for sync.&lt;br/&gt;&lt;br/&gt;</source>
<translation>Kohalik kataloog %1 on juba olemas. Valmistan selle ette sünkroniseerimiseks.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="417"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="455"/>
<source>Creating local sync folder %1...</source>
<translation>Kohaliku kausta %1 sünkroonimise loomine ... </translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="421"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="459"/>
<source>ok</source>
<translation>ok</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="423"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="461"/>
<source>failed.</source>
<translation>ebaõnnestus.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="425"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="463"/>
<source>Could not create local folder %1</source>
<translation>Ei suuda tekitada kohalikku kataloogi %1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="451"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="489"/>
<source>No remote folder specified!</source>
<translation>Ühtegi võrgukataloogi pole määratletud!</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="457"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="495"/>
<source>Error: %1</source>
<translation>Viga: %1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="470"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="508"/>
<source>creating folder on ownCloud: %1</source>
<translation>loon uue kataloogi ownCloudi: %1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="486"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="524"/>
<source>Remote folder %1 created successfully.</source>
<translation>Eemalolev kaust %1 on loodud.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="488"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="526"/>
<source>The remote folder %1 already exists. Connecting it for syncing.</source>
<translation>Serveris on kataloog %1 juba olemas. Ühendan selle sünkroniseerimiseks.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="490"/>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="492"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="528"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="530"/>
<source>The folder creation resulted in HTTP error code %1</source>
<translation>Kausta tekitamine lõppes HTTP veakoodiga %1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="494"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="532"/>
<source>The remote folder creation failed because the provided credentials are wrong!&lt;br/&gt;Please go back and check your credentials.&lt;/p&gt;</source>
<translation>Kataloogi loomine serverisse ebaõnnestus, kuna kasutajatõendid on valed!&lt;br/&gt;Palun kontrolli oma kasutajatunnust ja parooli.&lt;/p&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="498"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="536"/>
<source>&lt;p&gt;&lt;font color=&quot;red&quot;&gt;Remote folder creation failed probably because the provided credentials are wrong.&lt;/font&gt;&lt;br/&gt;Please go back and check your credentials.&lt;/p&gt;</source>
<translation>&lt;p&gt;&lt;font color=&quot;red&quot;&gt;Serveris oleva kataloogi tekitamine ebaõnnestus tõenäoliselt valede kasutajatunnuste tõttu.&lt;/font&gt;&lt;br/&gt;Palun mine tagasi ning kontrolli kasutajatunnust ning parooli.&lt;/p&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="503"/>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="504"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="541"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="542"/>
<source>Remote folder %1 creation failed with error &lt;tt&gt;%2&lt;/tt&gt;.</source>
<translation>Kataloogi %1 tekitamine serverisse ebaõnnestus veaga &lt;tt&gt;%2&lt;/tt&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="521"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="559"/>
<source>A sync connection from %1 to remote directory %2 was set up.</source>
<translation>Loodi sünkroniseerimisühendus kataloogist %1 serveri kataloogi %2</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="526"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="564"/>
<source>Successfully connected to %1!</source>
<translation>Edukalt ühendatud %1!</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="533"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="571"/>
<source>Connection to %1 could not be established. Please check again.</source>
<translation>Ühenduse loomine %1 ebaõnnestus. Palun kontrolli uuesti.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="547"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="585"/>
<source>Folder rename failed</source>
<translation>Kataloogi ümbernimetamine ebaõnnestus</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="548"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="586"/>
<source>Can&apos;t remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup.</source>
<translation>Ei suuda eemaldada ning varundada kataloogi kuna kataloog või selles asuv fail on avatud mõne teise programmi poolt. Palun sulge kataloog või fail ning proovi uuesti või katkesta paigaldus.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="593"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="631"/>
<source>&lt;font color=&quot;green&quot;&gt;&lt;b&gt;Local sync folder %1 successfully created!&lt;/b&gt;&lt;/font&gt;</source>
<translation>&lt;font color=&quot;green&quot;&gt;&lt;b&gt;Kohalik kataloog %1 edukalt loodud!&lt;/b&gt;&lt;/font&gt;</translation>
</message>
@@ -2091,7 +2091,7 @@ Selle kasutamine pole soovitatav.</translation>
<context>
<name>OCC::PropagateDirectory</name>
<message>
- <location filename="../src/libsync/owncloudpropagator.cpp" line="942"/>
+ <location filename="../src/libsync/owncloudpropagator.cpp" line="953"/>
<source>Error writing metadata to the database</source>
<translation type="unfinished"/>
</message>
@@ -2129,17 +2129,17 @@ Selle kasutamine pole soovitatav.</translation>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/propagatedownload.cpp" line="772"/>
+ <location filename="../src/libsync/propagatedownload.cpp" line="775"/>
<source>File %1 cannot be saved because of a local file name clash!</source>
<translation>Faili %1 ei saa salvestada kuna on nime konflikt kohaliku failiga!</translation>
</message>
<message>
- <location filename="../src/libsync/propagatedownload.cpp" line="820"/>
+ <location filename="../src/libsync/propagatedownload.cpp" line="823"/>
<source>File has changed since discovery</source>
<translation>Faili on pärast avastamist muudetud</translation>
</message>
<message>
- <location filename="../src/libsync/propagatedownload.cpp" line="871"/>
+ <location filename="../src/libsync/propagatedownload.cpp" line="874"/>
<source>Error writing metadata to the database</source>
<translation type="unfinished"/>
</message>
@@ -2215,12 +2215,12 @@ Selle kasutamine pole soovitatav.</translation>
<context>
<name>OCC::PropagateRemoteDelete</name>
<message>
- <location filename="../src/libsync/propagateremotedelete.cpp" line="96"/>
+ <location filename="../src/libsync/propagateremotedelete.cpp" line="100"/>
<source>The file has been removed from a read only share. It was restored.</source>
<translation>Fail oli eemaldatud kirjutamisõiguseta kataloogist. See on nüüd taastatud.</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotedelete.cpp" line="117"/>
+ <location filename="../src/libsync/propagateremotedelete.cpp" line="121"/>
<source>Wrong HTTP code returned by server. Expected 204, but received &quot;%1 %2&quot;.</source>
<translation>Server saatis vale HTTP koodi. Ootuspärane kood oli 204, aga saadeti kood &quot;%1 %2&quot;.</translation>
</message>
@@ -2228,12 +2228,12 @@ Selle kasutamine pole soovitatav.</translation>
<context>
<name>OCC::PropagateRemoteMkdir</name>
<message>
- <location filename="../src/libsync/propagateremotemkdir.cpp" line="95"/>
+ <location filename="../src/libsync/propagateremotemkdir.cpp" line="99"/>
<source>Wrong HTTP code returned by server. Expected 201, but received &quot;%1 %2&quot;.</source>
<translation>Server saatis vale HTTP koodi. Ootuspärane kood oli 201, aga saadeti kood &quot;%1 %2&quot;.</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotemkdir.cpp" line="147"/>
+ <location filename="../src/libsync/propagateremotemkdir.cpp" line="151"/>
<source>Error writing metadata to the database</source>
<translation type="unfinished"/>
</message>
@@ -2251,18 +2251,18 @@ Selle kasutamine pole soovitatav.</translation>
<translation>Kausta nime ei tohi muuta. Palun pane selle nimeks tagasi Shared.</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotemove.cpp" line="137"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="141"/>
<source>The file was renamed but is part of a read only share. The original file was restored.</source>
<translation>Fail oli ümber nimetatud, kuid see on osa kirjutamisõiguseta jagamisest. Algne fail taastati.</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotemove.cpp" line="154"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="158"/>
<source>Wrong HTTP code returned by server. Expected 201, but received &quot;%1 %2&quot;.</source>
<translation>Server saatis vale HTTP koodi. Ootuspärane kood oli 201, aga saadeti kood &quot;%1 %2&quot;.</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotemove.cpp" line="186"/>
- <location filename="../src/libsync/propagateremotemove.cpp" line="192"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="190"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="196"/>
<source>Error writing metadata to the database</source>
<translation type="unfinished"/>
</message>
@@ -2296,7 +2296,7 @@ Selle kasutamine pole soovitatav.</translation>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/propagateupload.cpp" line="618"/>
+ <location filename="../src/libsync/propagateupload.cpp" line="622"/>
<source>Error writing metadata to the database</source>
<translation type="unfinished"/>
</message>
@@ -2370,42 +2370,42 @@ Selle kasutamine pole soovitatav.</translation>
<translation>Tekstisilt</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="48"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="61"/>
<source>Time</source>
<translation>Aeg</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="49"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="62"/>
<source>File</source>
<translation>Fail</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="50"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="63"/>
<source>Folder</source>
<translation>Kaust</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="51"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="64"/>
<source>Action</source>
<translation>Tegevus</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="52"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="65"/>
<source>Size</source>
<translation>Suurus</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="72"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="85"/>
<source>Local sync protocol</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="74"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="87"/>
<source>Copy</source>
<translation>Kopeeri</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="75"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="88"/>
<source>Copy the activity list to the clipboard.</source>
<translation>Kopeeri tegevuste nimistu puhvrisse.</translation>
</message>
@@ -2537,6 +2537,7 @@ Selle kasutamine pole soovitatav.</translation>
</message>
<message>
<location filename="../src/gui/settingsdialogmac.cpp" line="152"/>
+ <location filename="../src/gui/settingsdialogmac.cpp" line="211"/>
<source>Account</source>
<translation>Konto</translation>
</message>
@@ -3193,22 +3194,22 @@ Selle kasutamine pole soovitatav.</translation>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1278"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1287"/>
<source>Not allowed because you don&apos;t have permission to add parent folder</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1285"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1294"/>
<source>Not allowed because you don&apos;t have permission to add files in that folder</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1588"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1597"/>
<source>Disk space is low: Downloads that would reduce free space below %1 were skipped.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1595"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1604"/>
<source>There is insufficient space available on the server for some uploads.</source>
<translation type="unfinished"/>
</message>
@@ -3333,54 +3334,54 @@ Selle kasutamine pole soovitatav.</translation>
<translation>Ei suuda avada sünkroniseeringu zurnaali</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="968"/>
+ <location filename="../src/libsync/syncengine.cpp" line="977"/>
<source>File name contains at least one invalid character</source>
<translation>Faili nimesonvähemalt üks keelatud märk</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1204"/>
- <location filename="../src/libsync/syncengine.cpp" line="1244"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1213"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1253"/>
<source>Ignored because of the &quot;choose what to sync&quot; blacklist</source>
<translation>&quot;Vali, mida sünkroniseerida&quot; musta nimekirja tõttu vahele jäetud</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1263"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1272"/>
<source>Not allowed because you don&apos;t have permission to add subfolders to that folder</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1310"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1319"/>
<source>Not allowed to upload this file because it is read-only on the server, restoring</source>
<translation>Pole lubatud üles laadida, kuna tegemist on ainult-loetava serveriga, taastan</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1326"/>
- <location filename="../src/libsync/syncengine.cpp" line="1345"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1335"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1354"/>
<source>Not allowed to remove, restoring</source>
<translation>Eemaldamine pole lubatud, taastan</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1359"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1368"/>
<source>Local files and share folder removed.</source>
<translation>Kohalikud failid ja jagatud kaustad eemaldatud.</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1413"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1422"/>
<source>Move not allowed, item restored</source>
<translation>Liigutamine pole lubatud, üksus taastatud</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1424"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1433"/>
<source>Move not allowed because %1 is read-only</source>
<translation>Liigutamien pole võimalik kuna %1 on ainult lugemiseks</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1424"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1433"/>
<source>the destination</source>
<translation>sihtkoht</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1424"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1433"/>
<source>the source</source>
<translation>allikas</translation>
</message>
@@ -3422,17 +3423,17 @@ Selle kasutamine pole soovitatav.</translation>
<context>
<name>OCC::ValidateChecksumHeader</name>
<message>
- <location filename="../src/common/checksums.cpp" line="205"/>
+ <location filename="../src/common/checksums.cpp" line="218"/>
<source>The checksum header is malformed.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/common/checksums.cpp" line="220"/>
+ <location filename="../src/common/checksums.cpp" line="233"/>
<source>The checksum header contained an unknown checksum type &apos;%1&apos;</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/common/checksums.cpp" line="224"/>
+ <location filename="../src/common/checksums.cpp" line="237"/>
<source>The downloaded file does not match the checksum, it will be resumed.</source>
<translation type="unfinished"/>
</message>
diff --git a/translations/client_eu.ts b/translations/client_eu.ts
index 2e2895d60..0d0c9bbb3 100644
--- a/translations/client_eu.ts
+++ b/translations/client_eu.ts
@@ -596,7 +596,7 @@
<context>
<name>OCC::CleanupPollsJob</name>
<message>
- <location filename="../src/libsync/owncloudpropagator.cpp" line="990"/>
+ <location filename="../src/libsync/owncloudpropagator.cpp" line="1001"/>
<source>Error writing metadata to the database</source>
<translation>Errorea metadatuak datu-basean idaztean</translation>
</message>
@@ -744,24 +744,24 @@
<translation>Ezin izan da sistemako baztertutakoen fitxategia irakurri</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="883"/>
+ <location filename="../src/gui/folder.cpp" line="888"/>
<source>A new folder larger than %1 MB has been added: %2.
</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="886"/>
+ <location filename="../src/gui/folder.cpp" line="891"/>
<source>A folder from an external storage has been added.
</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="887"/>
+ <location filename="../src/gui/folder.cpp" line="892"/>
<source>Please go in the settings to select it if you wish to download it.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="922"/>
+ <location filename="../src/gui/folder.cpp" line="927"/>
<source>All files in the sync folder '%1' folder were deleted on the server.
These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore.
If you decide to keep the files, they will be re-synced with the server if you have rights to do so.
@@ -769,46 +769,46 @@ If you decide to delete the files, they will be unavailable to you, unless you a
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="927"/>
+ <location filename="../src/gui/folder.cpp" line="932"/>
<source>All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored.
Are you sure you want to sync those actions with the server?
If this was an accident and you decide to keep your files, they will be re-synced from the server.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="931"/>
+ <location filename="../src/gui/folder.cpp" line="936"/>
<source>Remove All Files?</source>
<translation>Ezabatu Fitxategi Guztiak?</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="934"/>
+ <location filename="../src/gui/folder.cpp" line="939"/>
<source>Remove all files</source>
<translation>Ezabatu fitxategi guztiak</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="935"/>
+ <location filename="../src/gui/folder.cpp" line="940"/>
<source>Keep files</source>
<translation>Mantendu fitxategiak</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="952"/>
+ <location filename="../src/gui/folder.cpp" line="957"/>
<source>This sync would reset the files to an earlier time in the sync folder '%1'.
This might be because a backup was restored on the server.
Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files?</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="957"/>
+ <location filename="../src/gui/folder.cpp" line="962"/>
<source>Backup detected</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="960"/>
+ <location filename="../src/gui/folder.cpp" line="965"/>
<source>Normal Synchronisation</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="961"/>
+ <location filename="../src/gui/folder.cpp" line="966"/>
<source>Keep Local Files as Conflict</source>
<translation type="unfinished"/>
</message>
@@ -1282,22 +1282,22 @@ Continuing the sync as normal will cause all your files to be overwritten by an
<context>
<name>OCC::HttpCredentialsGui</name>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="97"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="98"/>
<source>Please enter %1 password:&lt;br&gt;&lt;br&gt;User: %2&lt;br&gt;Account: %3&lt;br&gt;</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="111"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="112"/>
<source>Reading from keychain failed with error: &apos;%1&apos;</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="117"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="118"/>
<source>Enter Password</source>
<translation>Sartu Pasahitza</translation>
</message>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="154"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="155"/>
<source>&lt;a href=&quot;%1&quot;&gt;Click here&lt;/a&gt; to request an app password from the web interface.</source>
<translation type="unfinished"/>
</message>
@@ -1419,12 +1419,12 @@ Ezabatzeko baimena duten itemak ezabatuko dira hauek karpeta bat ezabatzea uzten
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/issueswidget.ui" line="145"/>
+ <location filename="../src/gui/issueswidget.ui" line="148"/>
<source>Copy the issues list to the clipboard.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/issueswidget.ui" line="148"/>
+ <location filename="../src/gui/issueswidget.ui" line="151"/>
<source>Copy</source>
<translation>Kopiatu</translation>
</message>
@@ -1909,144 +1909,144 @@ Ez da gomendagarria erabltzea.</translation>
<context>
<name>OCC::OwncloudSetupWizard</name>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="217"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="250"/>
<source>&lt;font color=&quot;green&quot;&gt;Successfully connected to %1: %2 version %3 (%4)&lt;/font&gt;&lt;br/&gt;&lt;br/&gt;</source>
<translation>&lt;font color=&quot;green&quot;&gt;Konexioa ongi burutu da %1 zerbitzarian: %2 bertsioa %3 (%4)&lt;/font&gt;&lt;br/&gt;&lt;br/&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="251"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="280"/>
<source>Failed to connect to %1 at %2:&lt;br/&gt;%3</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="285"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="314"/>
<source>Timeout while trying to connect to %1 at %2.</source>
<translation>Denbora iraungi da %1era %2n konektatzen saiatzean.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="296"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="334"/>
<source>Trying to connect to %1 at %2...</source>
<translation>%2 zerbitzarian dagoen %1 konektatzen...</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="347"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="385"/>
<source>The authenticated request to the server was redirected to &apos;%1&apos;. The URL is bad, the server is misconfigured.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="369"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="407"/>
<source>There was an invalid response to an authenticated webdav request</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="360"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="398"/>
<source>Access forbidden by server. To verify that you have proper access, &lt;a href=&quot;%1&quot;&gt;click here&lt;/a&gt; to access the service with your browser.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="249"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="278"/>
<source>Invalid URL</source>
<translation>Baliogabeko URLa</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="414"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="452"/>
<source>Local sync folder %1 already exists, setting it up for sync.&lt;br/&gt;&lt;br/&gt;</source>
<translation>Bertako %1 karpeta dagoeneko existitzen da, sinkronizaziorako prestatzen.&lt;br/&gt;&lt;br/&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="417"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="455"/>
<source>Creating local sync folder %1...</source>
<translation>Bertako %1 sinkronizazio karpeta sortzen...</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="421"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="459"/>
<source>ok</source>
<translation>ados</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="423"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="461"/>
<source>failed.</source>
<translation>huts egin du.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="425"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="463"/>
<source>Could not create local folder %1</source>
<translation>Ezin da %1 karpeta lokala sortu</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="451"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="489"/>
<source>No remote folder specified!</source>
<translation>Ez da urruneko karpeta zehaztu!</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="457"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="495"/>
<source>Error: %1</source>
<translation>Errorea: %1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="470"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="508"/>
<source>creating folder on ownCloud: %1</source>
<translation>ownClouden karpeta sortzen: %1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="486"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="524"/>
<source>Remote folder %1 created successfully.</source>
<translation>Urruneko %1 karpeta ongi sortu da.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="488"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="526"/>
<source>The remote folder %1 already exists. Connecting it for syncing.</source>
<translation>Urruneko %1 karpeta dagoeneko existintzen da. Bertara konetatuko da sinkronizatzeko.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="490"/>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="492"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="528"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="530"/>
<source>The folder creation resulted in HTTP error code %1</source>
<translation>Karpeta sortzeak HTTP %1 errore kodea igorri du</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="494"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="532"/>
<source>The remote folder creation failed because the provided credentials are wrong!&lt;br/&gt;Please go back and check your credentials.&lt;/p&gt;</source>
<translation>Huts egin du urrutiko karpeta sortzen emandako kredintzialak ez direlako zuzenak!&lt;br/&gt; Egin atzera eta egiaztatu zure kredentzialak.&lt;/p&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="498"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="536"/>
<source>&lt;p&gt;&lt;font color=&quot;red&quot;&gt;Remote folder creation failed probably because the provided credentials are wrong.&lt;/font&gt;&lt;br/&gt;Please go back and check your credentials.&lt;/p&gt;</source>
<translation>&lt;p&gt;&lt;font color=&quot;red&quot;&gt;Urruneko karpeten sortzeak huts egin du ziuraski emandako kredentzialak gaizki daudelako.&lt;/font&gt;&lt;br/&gt;Mesedez atzera joan eta egiaztatu zure kredentzialak.&lt;/p&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="503"/>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="504"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="541"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="542"/>
<source>Remote folder %1 creation failed with error &lt;tt&gt;%2&lt;/tt&gt;.</source>
<translation>Urruneko %1 karpetaren sortzeak huts egin du &lt;tt&gt;%2&lt;/tt&gt; errorearekin.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="521"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="559"/>
<source>A sync connection from %1 to remote directory %2 was set up.</source>
<translation>Sinkronizazio konexio bat konfiguratu da %1 karpetatik urruneko %2 karpetara.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="526"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="564"/>
<source>Successfully connected to %1!</source>
<translation>%1-era ongi konektatu da!</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="533"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="571"/>
<source>Connection to %1 could not be established. Please check again.</source>
<translation>%1 konexioa ezin da ezarri. Mesedez egiaztatu berriz.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="547"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="585"/>
<source>Folder rename failed</source>
<translation>Karpetaren berrizendatzeak huts egin du</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="548"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="586"/>
<source>Can&apos;t remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup.</source>
<translation>Ezin da karpeta ezabatu eta kopia egin, karpeta edo barruko fitxategiren bat beste programa batean irekita dagoelako. Mesedez itxi karpeta edo fitxategia eta sakatu berrekin edo ezeztatu konfigurazioa.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="593"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="631"/>
<source>&lt;font color=&quot;green&quot;&gt;&lt;b&gt;Local sync folder %1 successfully created!&lt;/b&gt;&lt;/font&gt;</source>
<translation>&lt;font color=&quot;green&quot;&gt;&lt;b&gt;Bertako sinkronizazio %1 karpeta ongi sortu da!&lt;/b&gt;&lt;/font&gt;</translation>
</message>
@@ -2093,7 +2093,7 @@ Ez da gomendagarria erabltzea.</translation>
<context>
<name>OCC::PropagateDirectory</name>
<message>
- <location filename="../src/libsync/owncloudpropagator.cpp" line="942"/>
+ <location filename="../src/libsync/owncloudpropagator.cpp" line="953"/>
<source>Error writing metadata to the database</source>
<translation>Errorea metadatuak datu-basean idaztean</translation>
</message>
@@ -2131,17 +2131,17 @@ Ez da gomendagarria erabltzea.</translation>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/propagatedownload.cpp" line="772"/>
+ <location filename="../src/libsync/propagatedownload.cpp" line="775"/>
<source>File %1 cannot be saved because of a local file name clash!</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/propagatedownload.cpp" line="820"/>
+ <location filename="../src/libsync/propagatedownload.cpp" line="823"/>
<source>File has changed since discovery</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/propagatedownload.cpp" line="871"/>
+ <location filename="../src/libsync/propagatedownload.cpp" line="874"/>
<source>Error writing metadata to the database</source>
<translation>Errorea metadatuak datu-basean idaztean</translation>
</message>
@@ -2217,12 +2217,12 @@ Ez da gomendagarria erabltzea.</translation>
<context>
<name>OCC::PropagateRemoteDelete</name>
<message>
- <location filename="../src/libsync/propagateremotedelete.cpp" line="96"/>
+ <location filename="../src/libsync/propagateremotedelete.cpp" line="100"/>
<source>The file has been removed from a read only share. It was restored.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/propagateremotedelete.cpp" line="117"/>
+ <location filename="../src/libsync/propagateremotedelete.cpp" line="121"/>
<source>Wrong HTTP code returned by server. Expected 204, but received &quot;%1 %2&quot;.</source>
<translation type="unfinished"/>
</message>
@@ -2230,12 +2230,12 @@ Ez da gomendagarria erabltzea.</translation>
<context>
<name>OCC::PropagateRemoteMkdir</name>
<message>
- <location filename="../src/libsync/propagateremotemkdir.cpp" line="95"/>
+ <location filename="../src/libsync/propagateremotemkdir.cpp" line="99"/>
<source>Wrong HTTP code returned by server. Expected 201, but received &quot;%1 %2&quot;.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/propagateremotemkdir.cpp" line="147"/>
+ <location filename="../src/libsync/propagateremotemkdir.cpp" line="151"/>
<source>Error writing metadata to the database</source>
<translation>Errorea metadatuak datu-basean idaztean</translation>
</message>
@@ -2253,18 +2253,18 @@ Ez da gomendagarria erabltzea.</translation>
<translation>Karpeta hau ezin da berrizendatu. Mesedez jarri berriz Shared izena.</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotemove.cpp" line="137"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="141"/>
<source>The file was renamed but is part of a read only share. The original file was restored.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/propagateremotemove.cpp" line="154"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="158"/>
<source>Wrong HTTP code returned by server. Expected 201, but received &quot;%1 %2&quot;.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/propagateremotemove.cpp" line="186"/>
- <location filename="../src/libsync/propagateremotemove.cpp" line="192"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="190"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="196"/>
<source>Error writing metadata to the database</source>
<translation>Errorea metadatuak datu-basean idaztean</translation>
</message>
@@ -2298,7 +2298,7 @@ Ez da gomendagarria erabltzea.</translation>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/propagateupload.cpp" line="618"/>
+ <location filename="../src/libsync/propagateupload.cpp" line="622"/>
<source>Error writing metadata to the database</source>
<translation>Errorea metadatuak datu-basean idaztean</translation>
</message>
@@ -2372,42 +2372,42 @@ Ez da gomendagarria erabltzea.</translation>
<translation>TestuEtiketa</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="48"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="61"/>
<source>Time</source>
<translation>Noiz</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="49"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="62"/>
<source>File</source>
<translation>Fitxategia</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="50"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="63"/>
<source>Folder</source>
<translation>Karpeta</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="51"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="64"/>
<source>Action</source>
<translation>Ekintza</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="52"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="65"/>
<source>Size</source>
<translation>Tamaina</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="72"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="85"/>
<source>Local sync protocol</source>
<translation>Bertako sinkronizazio protokolo</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="74"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="87"/>
<source>Copy</source>
<translation>Kopiatu</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="75"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="88"/>
<source>Copy the activity list to the clipboard.</source>
<translation>Kopiatu jarduera zerrenda arbelara.</translation>
</message>
@@ -2539,6 +2539,7 @@ Ez da gomendagarria erabltzea.</translation>
</message>
<message>
<location filename="../src/gui/settingsdialogmac.cpp" line="152"/>
+ <location filename="../src/gui/settingsdialogmac.cpp" line="211"/>
<source>Account</source>
<translation>Kontua</translation>
</message>
@@ -3193,22 +3194,22 @@ Ez da gomendagarria erabltzea.</translation>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1278"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1287"/>
<source>Not allowed because you don&apos;t have permission to add parent folder</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1285"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1294"/>
<source>Not allowed because you don&apos;t have permission to add files in that folder</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1588"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1597"/>
<source>Disk space is low: Downloads that would reduce free space below %1 were skipped.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1595"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1604"/>
<source>There is insufficient space available on the server for some uploads.</source>
<translation type="unfinished"/>
</message>
@@ -3333,54 +3334,54 @@ Ez da gomendagarria erabltzea.</translation>
<translation>Ezin da sinkronizazio egunerokoa ireki</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="968"/>
+ <location filename="../src/libsync/syncengine.cpp" line="977"/>
<source>File name contains at least one invalid character</source>
<translation>Fitxategi izenak behintzat baliogabeko karaktere bat du</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1204"/>
- <location filename="../src/libsync/syncengine.cpp" line="1244"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1213"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1253"/>
<source>Ignored because of the &quot;choose what to sync&quot; blacklist</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1263"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1272"/>
<source>Not allowed because you don&apos;t have permission to add subfolders to that folder</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1310"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1319"/>
<source>Not allowed to upload this file because it is read-only on the server, restoring</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1326"/>
- <location filename="../src/libsync/syncengine.cpp" line="1345"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1335"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1354"/>
<source>Not allowed to remove, restoring</source>
<translation>Ezabatzeko baimenik gabe, berrezartzen</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1359"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1368"/>
<source>Local files and share folder removed.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1413"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1422"/>
<source>Move not allowed, item restored</source>
<translation>Mugitzea ez dago baimenduta, elementua berrezarri da</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1424"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1433"/>
<source>Move not allowed because %1 is read-only</source>
<translation>Mugitzea ez dago baimenduta %1 irakurtzeko bakarrik delako</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1424"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1433"/>
<source>the destination</source>
<translation>helburua</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1424"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1433"/>
<source>the source</source>
<translation>jatorria</translation>
</message>
@@ -3422,17 +3423,17 @@ Ez da gomendagarria erabltzea.</translation>
<context>
<name>OCC::ValidateChecksumHeader</name>
<message>
- <location filename="../src/common/checksums.cpp" line="205"/>
+ <location filename="../src/common/checksums.cpp" line="218"/>
<source>The checksum header is malformed.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/common/checksums.cpp" line="220"/>
+ <location filename="../src/common/checksums.cpp" line="233"/>
<source>The checksum header contained an unknown checksum type &apos;%1&apos;</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/common/checksums.cpp" line="224"/>
+ <location filename="../src/common/checksums.cpp" line="237"/>
<source>The downloaded file does not match the checksum, it will be resumed.</source>
<translation type="unfinished"/>
</message>
diff --git a/translations/client_fa.ts b/translations/client_fa.ts
index 997445ac4..83e687602 100644
--- a/translations/client_fa.ts
+++ b/translations/client_fa.ts
@@ -596,7 +596,7 @@
<context>
<name>OCC::CleanupPollsJob</name>
<message>
- <location filename="../src/libsync/owncloudpropagator.cpp" line="990"/>
+ <location filename="../src/libsync/owncloudpropagator.cpp" line="1001"/>
<source>Error writing metadata to the database</source>
<translation>خطا در نوشتن متادیتا در پایگاه داده</translation>
</message>
@@ -744,24 +744,24 @@
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="883"/>
+ <location filename="../src/gui/folder.cpp" line="888"/>
<source>A new folder larger than %1 MB has been added: %2.
</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="886"/>
+ <location filename="../src/gui/folder.cpp" line="891"/>
<source>A folder from an external storage has been added.
</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="887"/>
+ <location filename="../src/gui/folder.cpp" line="892"/>
<source>Please go in the settings to select it if you wish to download it.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="922"/>
+ <location filename="../src/gui/folder.cpp" line="927"/>
<source>All files in the sync folder '%1' folder were deleted on the server.
These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore.
If you decide to keep the files, they will be re-synced with the server if you have rights to do so.
@@ -769,46 +769,46 @@ If you decide to delete the files, they will be unavailable to you, unless you a
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="927"/>
+ <location filename="../src/gui/folder.cpp" line="932"/>
<source>All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored.
Are you sure you want to sync those actions with the server?
If this was an accident and you decide to keep your files, they will be re-synced from the server.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="931"/>
+ <location filename="../src/gui/folder.cpp" line="936"/>
<source>Remove All Files?</source>
<translation>حذف تمام فایل ها؟</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="934"/>
+ <location filename="../src/gui/folder.cpp" line="939"/>
<source>Remove all files</source>
<translation>حذف تمام فایل ها</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="935"/>
+ <location filename="../src/gui/folder.cpp" line="940"/>
<source>Keep files</source>
<translation>نگه داشتن فایل ها</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="952"/>
+ <location filename="../src/gui/folder.cpp" line="957"/>
<source>This sync would reset the files to an earlier time in the sync folder '%1'.
This might be because a backup was restored on the server.
Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files?</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="957"/>
+ <location filename="../src/gui/folder.cpp" line="962"/>
<source>Backup detected</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="960"/>
+ <location filename="../src/gui/folder.cpp" line="965"/>
<source>Normal Synchronisation</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="961"/>
+ <location filename="../src/gui/folder.cpp" line="966"/>
<source>Keep Local Files as Conflict</source>
<translation type="unfinished"/>
</message>
@@ -1282,22 +1282,22 @@ Continuing the sync as normal will cause all your files to be overwritten by an
<context>
<name>OCC::HttpCredentialsGui</name>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="97"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="98"/>
<source>Please enter %1 password:&lt;br&gt;&lt;br&gt;User: %2&lt;br&gt;Account: %3&lt;br&gt;</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="111"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="112"/>
<source>Reading from keychain failed with error: &apos;%1&apos;</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="117"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="118"/>
<source>Enter Password</source>
<translation>رمز را وارد کنید</translation>
</message>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="154"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="155"/>
<source>&lt;a href=&quot;%1&quot;&gt;Click here&lt;/a&gt; to request an app password from the web interface.</source>
<translation type="unfinished"/>
</message>
@@ -1417,12 +1417,12 @@ Items where deletion is allowed will be deleted if they prevent a directory from
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/issueswidget.ui" line="145"/>
+ <location filename="../src/gui/issueswidget.ui" line="148"/>
<source>Copy the issues list to the clipboard.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/issueswidget.ui" line="148"/>
+ <location filename="../src/gui/issueswidget.ui" line="151"/>
<source>Copy</source>
<translation>کپی کردن</translation>
</message>
@@ -1906,144 +1906,144 @@ It is not advisable to use it.</source>
<context>
<name>OCC::OwncloudSetupWizard</name>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="217"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="250"/>
<source>&lt;font color=&quot;green&quot;&gt;Successfully connected to %1: %2 version %3 (%4)&lt;/font&gt;&lt;br/&gt;&lt;br/&gt;</source>
<translation>&lt;font color=&quot;green&quot;&gt; با موفقیت متصل شده است به %1: %2 نسخه %3 (%4)&lt;/font&gt;&lt;br/&gt;&lt;br/&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="251"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="280"/>
<source>Failed to connect to %1 at %2:&lt;br/&gt;%3</source>
<translation>ارتباط ناموفق با %1 در %2:&lt;br/&gt;%3</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="285"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="314"/>
<source>Timeout while trying to connect to %1 at %2.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="296"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="334"/>
<source>Trying to connect to %1 at %2...</source>
<translation>تلاش برای اتصال %1 به %2...</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="347"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="385"/>
<source>The authenticated request to the server was redirected to &apos;%1&apos;. The URL is bad, the server is misconfigured.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="369"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="407"/>
<source>There was an invalid response to an authenticated webdav request</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="360"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="398"/>
<source>Access forbidden by server. To verify that you have proper access, &lt;a href=&quot;%1&quot;&gt;click here&lt;/a&gt; to access the service with your browser.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="249"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="278"/>
<source>Invalid URL</source>
<translation>آدرس نامعتبر</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="414"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="452"/>
<source>Local sync folder %1 already exists, setting it up for sync.&lt;br/&gt;&lt;br/&gt;</source>
<translation>پوشه همگام سازی محلی %1 در حال حاضر موجود است، تنظیم آن برای همگام سازی. &lt;br/&gt;&lt;br/&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="417"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="455"/>
<source>Creating local sync folder %1...</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="421"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="459"/>
<source>ok</source>
<translation>خوب</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="423"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="461"/>
<source>failed.</source>
<translation>ناموفق.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="425"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="463"/>
<source>Could not create local folder %1</source>
<translation>نمی تواند پوشه محلی ایجاد کند %1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="451"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="489"/>
<source>No remote folder specified!</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="457"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="495"/>
<source>Error: %1</source>
<translation>خطا: %1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="470"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="508"/>
<source>creating folder on ownCloud: %1</source>
<translation>ایجاد کردن پوشه بر روی ownCloud: %1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="486"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="524"/>
<source>Remote folder %1 created successfully.</source>
<translation>پوشه از راه دور %1 با موفقیت ایجاد شده است.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="488"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="526"/>
<source>The remote folder %1 already exists. Connecting it for syncing.</source>
<translation>در حال حاضر پوشه از راه دور %1 موجود است. برای همگام سازی به آن متصل شوید.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="490"/>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="492"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="528"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="530"/>
<source>The folder creation resulted in HTTP error code %1</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="494"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="532"/>
<source>The remote folder creation failed because the provided credentials are wrong!&lt;br/&gt;Please go back and check your credentials.&lt;/p&gt;</source>
<translation>ایجاد پوشه از راه دور ناموفق بود به علت اینکه اعتبارهای ارائه شده اشتباه هستند!&lt;br/&gt;لطفا اعتبارهای خودتان را بررسی کنید.&lt;/p&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="498"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="536"/>
<source>&lt;p&gt;&lt;font color=&quot;red&quot;&gt;Remote folder creation failed probably because the provided credentials are wrong.&lt;/font&gt;&lt;br/&gt;Please go back and check your credentials.&lt;/p&gt;</source>
<translation>&lt;p&gt;&lt;font color=&quot;red&quot;&gt; ایجاد پوشه از راه دور ناموفق بود، شاید به علت اعتبارهایی که ارئه شده اند، اشتباه هستند.&lt;/font&gt;&lt;br/&gt; لطفا باز گردید و اعتبار خود را بررسی کنید.&lt;/p&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="503"/>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="504"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="541"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="542"/>
<source>Remote folder %1 creation failed with error &lt;tt&gt;%2&lt;/tt&gt;.</source>
<translation>ایجاد پوشه از راه دور %1 ناموفق بود با خطا &lt;tt&gt;%2&lt;/tt&gt;.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="521"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="559"/>
<source>A sync connection from %1 to remote directory %2 was set up.</source>
<translation>یک اتصال همگام سازی از %1 تا %2 پوشه از راه دور راه اندازی شد.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="526"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="564"/>
<source>Successfully connected to %1!</source>
<translation>با موفقیت به %1 اتصال یافت!</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="533"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="571"/>
<source>Connection to %1 could not be established. Please check again.</source>
<translation>اتصال به %1 نمی تواند مقرر باشد. لطفا دوباره بررسی کنید.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="547"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="585"/>
<source>Folder rename failed</source>
<translation>تغییر نام پوشه ناموفق بود</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="548"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="586"/>
<source>Can&apos;t remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="593"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="631"/>
<source>&lt;font color=&quot;green&quot;&gt;&lt;b&gt;Local sync folder %1 successfully created!&lt;/b&gt;&lt;/font&gt;</source>
<translation>&lt;font color=&quot;green&quot;&gt;&lt;b&gt; پوشه همگام سازی محلی %1 با موفقیت ساخته شده است!&lt;/b&gt;&lt;/font&gt;</translation>
</message>
@@ -2090,7 +2090,7 @@ It is not advisable to use it.</source>
<context>
<name>OCC::PropagateDirectory</name>
<message>
- <location filename="../src/libsync/owncloudpropagator.cpp" line="942"/>
+ <location filename="../src/libsync/owncloudpropagator.cpp" line="953"/>
<source>Error writing metadata to the database</source>
<translation>خطا در نوشتن متادیتا در پایگاه داده</translation>
</message>
@@ -2128,17 +2128,17 @@ It is not advisable to use it.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/propagatedownload.cpp" line="772"/>
+ <location filename="../src/libsync/propagatedownload.cpp" line="775"/>
<source>File %1 cannot be saved because of a local file name clash!</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/propagatedownload.cpp" line="820"/>
+ <location filename="../src/libsync/propagatedownload.cpp" line="823"/>
<source>File has changed since discovery</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/propagatedownload.cpp" line="871"/>
+ <location filename="../src/libsync/propagatedownload.cpp" line="874"/>
<source>Error writing metadata to the database</source>
<translation>خطا در نوشتن متادیتا در پایگاه داده</translation>
</message>
@@ -2214,12 +2214,12 @@ It is not advisable to use it.</source>
<context>
<name>OCC::PropagateRemoteDelete</name>
<message>
- <location filename="../src/libsync/propagateremotedelete.cpp" line="96"/>
+ <location filename="../src/libsync/propagateremotedelete.cpp" line="100"/>
<source>The file has been removed from a read only share. It was restored.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/propagateremotedelete.cpp" line="117"/>
+ <location filename="../src/libsync/propagateremotedelete.cpp" line="121"/>
<source>Wrong HTTP code returned by server. Expected 204, but received &quot;%1 %2&quot;.</source>
<translation type="unfinished"/>
</message>
@@ -2227,12 +2227,12 @@ It is not advisable to use it.</source>
<context>
<name>OCC::PropagateRemoteMkdir</name>
<message>
- <location filename="../src/libsync/propagateremotemkdir.cpp" line="95"/>
+ <location filename="../src/libsync/propagateremotemkdir.cpp" line="99"/>
<source>Wrong HTTP code returned by server. Expected 201, but received &quot;%1 %2&quot;.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/propagateremotemkdir.cpp" line="147"/>
+ <location filename="../src/libsync/propagateremotemkdir.cpp" line="151"/>
<source>Error writing metadata to the database</source>
<translation>خطا در نوشتن متادیتا در پایگاه داده</translation>
</message>
@@ -2250,18 +2250,18 @@ It is not advisable to use it.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/propagateremotemove.cpp" line="137"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="141"/>
<source>The file was renamed but is part of a read only share. The original file was restored.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/propagateremotemove.cpp" line="154"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="158"/>
<source>Wrong HTTP code returned by server. Expected 201, but received &quot;%1 %2&quot;.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/propagateremotemove.cpp" line="186"/>
- <location filename="../src/libsync/propagateremotemove.cpp" line="192"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="190"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="196"/>
<source>Error writing metadata to the database</source>
<translation>خطا در نوشتن متادیتا در پایگاه داده</translation>
</message>
@@ -2295,7 +2295,7 @@ It is not advisable to use it.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/propagateupload.cpp" line="618"/>
+ <location filename="../src/libsync/propagateupload.cpp" line="622"/>
<source>Error writing metadata to the database</source>
<translation>خطا در نوشتن متادیتا در پایگاه داده</translation>
</message>
@@ -2369,42 +2369,42 @@ It is not advisable to use it.</source>
<translation>برچسب متنی</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="48"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="61"/>
<source>Time</source>
<translation>زمان</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="49"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="62"/>
<source>File</source>
<translation>فایل</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="50"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="63"/>
<source>Folder</source>
<translation>پوشه</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="51"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="64"/>
<source>Action</source>
<translation>فعالیت</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="52"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="65"/>
<source>Size</source>
<translation>اندازه</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="72"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="85"/>
<source>Local sync protocol</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="74"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="87"/>
<source>Copy</source>
<translation>کپی کردن</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="75"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="88"/>
<source>Copy the activity list to the clipboard.</source>
<translation type="unfinished"/>
</message>
@@ -2536,6 +2536,7 @@ It is not advisable to use it.</source>
</message>
<message>
<location filename="../src/gui/settingsdialogmac.cpp" line="152"/>
+ <location filename="../src/gui/settingsdialogmac.cpp" line="211"/>
<source>Account</source>
<translation>حساب کاربری</translation>
</message>
@@ -3190,22 +3191,22 @@ It is not advisable to use it.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1278"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1287"/>
<source>Not allowed because you don&apos;t have permission to add parent folder</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1285"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1294"/>
<source>Not allowed because you don&apos;t have permission to add files in that folder</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1588"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1597"/>
<source>Disk space is low: Downloads that would reduce free space below %1 were skipped.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1595"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1604"/>
<source>There is insufficient space available on the server for some uploads.</source>
<translation type="unfinished"/>
</message>
@@ -3330,54 +3331,54 @@ It is not advisable to use it.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="968"/>
+ <location filename="../src/libsync/syncengine.cpp" line="977"/>
<source>File name contains at least one invalid character</source>
<translation>نام فایل دارای حداقل یک کاراکتر نامعتبر است</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1204"/>
- <location filename="../src/libsync/syncengine.cpp" line="1244"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1213"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1253"/>
<source>Ignored because of the &quot;choose what to sync&quot; blacklist</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1263"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1272"/>
<source>Not allowed because you don&apos;t have permission to add subfolders to that folder</source>
<translation>با توجه به عدم اجازه‌ی شما به ایجاد زیرپوشه به پوشه مجاز نیست</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1310"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1319"/>
<source>Not allowed to upload this file because it is read-only on the server, restoring</source>
<translation>آپلود این فایل با توجه به فقط-خواندنی بودن آن در سرور مجاز نیست، در حال بازگرداندن</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1326"/>
- <location filename="../src/libsync/syncengine.cpp" line="1345"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1335"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1354"/>
<source>Not allowed to remove, restoring</source>
<translation>حذف مجاز نیست، در حال بازگردادن</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1359"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1368"/>
<source>Local files and share folder removed.</source>
<translation>فایل‌های محلی و پوشه‌ی اشتراک حذف شد.</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1413"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1422"/>
<source>Move not allowed, item restored</source>
<translation>انتقال مجاز نیست، مورد بازگردانده شد</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1424"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1433"/>
<source>Move not allowed because %1 is read-only</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1424"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1433"/>
<source>the destination</source>
<translation>مقصد</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1424"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1433"/>
<source>the source</source>
<translation>مبدا</translation>
</message>
@@ -3419,17 +3420,17 @@ It is not advisable to use it.</source>
<context>
<name>OCC::ValidateChecksumHeader</name>
<message>
- <location filename="../src/common/checksums.cpp" line="205"/>
+ <location filename="../src/common/checksums.cpp" line="218"/>
<source>The checksum header is malformed.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/common/checksums.cpp" line="220"/>
+ <location filename="../src/common/checksums.cpp" line="233"/>
<source>The checksum header contained an unknown checksum type &apos;%1&apos;</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/common/checksums.cpp" line="224"/>
+ <location filename="../src/common/checksums.cpp" line="237"/>
<source>The downloaded file does not match the checksum, it will be resumed.</source>
<translation type="unfinished"/>
</message>
diff --git a/translations/client_fi.ts b/translations/client_fi.ts
index 5605be6a4..540e6c361 100644
--- a/translations/client_fi.ts
+++ b/translations/client_fi.ts
@@ -596,7 +596,7 @@
<context>
<name>OCC::CleanupPollsJob</name>
<message>
- <location filename="../src/libsync/owncloudpropagator.cpp" line="990"/>
+ <location filename="../src/libsync/owncloudpropagator.cpp" line="1001"/>
<source>Error writing metadata to the database</source>
<translation>Virhe kirjoittaessa metadataa tietokantaan</translation>
</message>
@@ -744,24 +744,24 @@
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="883"/>
+ <location filename="../src/gui/folder.cpp" line="888"/>
<source>A new folder larger than %1 MB has been added: %2.
</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="886"/>
+ <location filename="../src/gui/folder.cpp" line="891"/>
<source>A folder from an external storage has been added.
</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="887"/>
+ <location filename="../src/gui/folder.cpp" line="892"/>
<source>Please go in the settings to select it if you wish to download it.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="922"/>
+ <location filename="../src/gui/folder.cpp" line="927"/>
<source>All files in the sync folder '%1' folder were deleted on the server.
These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore.
If you decide to keep the files, they will be re-synced with the server if you have rights to do so.
@@ -769,46 +769,46 @@ If you decide to delete the files, they will be unavailable to you, unless you a
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="927"/>
+ <location filename="../src/gui/folder.cpp" line="932"/>
<source>All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored.
Are you sure you want to sync those actions with the server?
If this was an accident and you decide to keep your files, they will be re-synced from the server.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="931"/>
+ <location filename="../src/gui/folder.cpp" line="936"/>
<source>Remove All Files?</source>
<translation>Poistetaanko kaikki tiedostot?</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="934"/>
+ <location filename="../src/gui/folder.cpp" line="939"/>
<source>Remove all files</source>
<translation>Poista kaikki tiedostot</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="935"/>
+ <location filename="../src/gui/folder.cpp" line="940"/>
<source>Keep files</source>
<translation>Säilytä tiedostot</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="952"/>
+ <location filename="../src/gui/folder.cpp" line="957"/>
<source>This sync would reset the files to an earlier time in the sync folder '%1'.
This might be because a backup was restored on the server.
Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files?</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="957"/>
+ <location filename="../src/gui/folder.cpp" line="962"/>
<source>Backup detected</source>
<translation>Varmuuskopio poistettu</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="960"/>
+ <location filename="../src/gui/folder.cpp" line="965"/>
<source>Normal Synchronisation</source>
<translation>Normaali synkronointi</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="961"/>
+ <location filename="../src/gui/folder.cpp" line="966"/>
<source>Keep Local Files as Conflict</source>
<translation type="unfinished"/>
</message>
@@ -1282,22 +1282,22 @@ Continuing the sync as normal will cause all your files to be overwritten by an
<context>
<name>OCC::HttpCredentialsGui</name>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="97"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="98"/>
<source>Please enter %1 password:&lt;br&gt;&lt;br&gt;User: %2&lt;br&gt;Account: %3&lt;br&gt;</source>
<translation>Anna %1-salasana:&lt;br&gt;&lt;br&gt;Käyttäjä: %2&lt;br&gt;Tili: %3&lt;br&gt;</translation>
</message>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="111"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="112"/>
<source>Reading from keychain failed with error: &apos;%1&apos;</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="117"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="118"/>
<source>Enter Password</source>
<translation>Anna salasana</translation>
</message>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="154"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="155"/>
<source>&lt;a href=&quot;%1&quot;&gt;Click here&lt;/a&gt; to request an app password from the web interface.</source>
<translation type="unfinished"/>
</message>
@@ -1419,12 +1419,12 @@ Kohteet, joiden poisto on sallittu, poistetaan, jos ne estävät kansion poistam
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/issueswidget.ui" line="145"/>
+ <location filename="../src/gui/issueswidget.ui" line="148"/>
<source>Copy the issues list to the clipboard.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/issueswidget.ui" line="148"/>
+ <location filename="../src/gui/issueswidget.ui" line="151"/>
<source>Copy</source>
<translation>Kopioi</translation>
</message>
@@ -1909,144 +1909,144 @@ Osoitteen käyttäminen ei ole suositeltavaa.</translation>
<context>
<name>OCC::OwncloudSetupWizard</name>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="217"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="250"/>
<source>&lt;font color=&quot;green&quot;&gt;Successfully connected to %1: %2 version %3 (%4)&lt;/font&gt;&lt;br/&gt;&lt;br/&gt;</source>
<translation>&lt;font color=&quot;green&quot;&gt;Muodostettu yhteys onnistuneesti kohteeseen %1: %2 versio %3 (%4)&lt;/font&gt;&lt;br/&gt;&lt;br/&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="251"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="280"/>
<source>Failed to connect to %1 at %2:&lt;br/&gt;%3</source>
<translation>Yhteys %1iin osoitteessa %2 epäonnistui:&lt;br/&gt;%3</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="285"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="314"/>
<source>Timeout while trying to connect to %1 at %2.</source>
<translation>Aikakatkaisu yrittäessä yhteyttä kohteeseen %1 osoitteessa %2.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="296"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="334"/>
<source>Trying to connect to %1 at %2...</source>
<translation>Yritetään yhdistetää palvelimeen %1 portissa %2...</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="347"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="385"/>
<source>The authenticated request to the server was redirected to &apos;%1&apos;. The URL is bad, the server is misconfigured.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="369"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="407"/>
<source>There was an invalid response to an authenticated webdav request</source>
<translation>Todennettuun webdav-pyyntöön saatiin virheellinen vastaus</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="360"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="398"/>
<source>Access forbidden by server. To verify that you have proper access, &lt;a href=&quot;%1&quot;&gt;click here&lt;/a&gt; to access the service with your browser.</source>
<translation>Palvelin esti käyttämisen. Vahvista käyttöoikeutesi palvelimeen &lt;a href=&quot;%1&quot;&gt;napsauttamalla tästä&lt;/a&gt; ja kirjaudu palveluun selaimella.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="249"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="278"/>
<source>Invalid URL</source>
<translation>Virheellinen verkko-osoite</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="414"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="452"/>
<source>Local sync folder %1 already exists, setting it up for sync.&lt;br/&gt;&lt;br/&gt;</source>
<translation>Paikallinen kansio %1 on jo olemassa, asetetaan se synkronoitavaksi.&lt;br/&gt;&lt;br/&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="417"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="455"/>
<source>Creating local sync folder %1...</source>
<translation>Luodaan paikallista synkronointikansiota %1...</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="421"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="459"/>
<source>ok</source>
<translation>ok</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="423"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="461"/>
<source>failed.</source>
<translation>epäonnistui.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="425"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="463"/>
<source>Could not create local folder %1</source>
<translation>Paikalliskansion %1 luonti epäonnistui</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="451"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="489"/>
<source>No remote folder specified!</source>
<translation>Etäkansiota ei määritelty!</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="457"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="495"/>
<source>Error: %1</source>
<translation>Virhe: %1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="470"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="508"/>
<source>creating folder on ownCloud: %1</source>
<translation>luodaan kansio ownCloudiin: %1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="486"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="524"/>
<source>Remote folder %1 created successfully.</source>
<translation>Etäkansio %1 luotiin onnistuneesti.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="488"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="526"/>
<source>The remote folder %1 already exists. Connecting it for syncing.</source>
<translation>Etäkansio %1 on jo olemassa. Otetaan siihen yhteyttä tiedostojen täsmäystä varten.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="490"/>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="492"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="528"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="530"/>
<source>The folder creation resulted in HTTP error code %1</source>
<translation>Kansion luonti aiheutti HTTP-virhekoodin %1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="494"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="532"/>
<source>The remote folder creation failed because the provided credentials are wrong!&lt;br/&gt;Please go back and check your credentials.&lt;/p&gt;</source>
<translation>Etäkansion luominen epäonnistui koska antamasi tunnus/salasana ei täsmää!&lt;br/&gt;Ole hyvä ja palaa tarkistamaan tunnus/salasana&lt;/p&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="498"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="536"/>
<source>&lt;p&gt;&lt;font color=&quot;red&quot;&gt;Remote folder creation failed probably because the provided credentials are wrong.&lt;/font&gt;&lt;br/&gt;Please go back and check your credentials.&lt;/p&gt;</source>
<translation>&lt;p&gt;&lt;font color=&quot;red&quot;&gt;Pilvipalvelun etäkansion luominen ei onnistunut , koska tunnistautumistietosi ovat todennäköisesti väärin.&lt;/font&gt;&lt;br/&gt;Palaa takaisin ja tarkista käyttäjätunnus ja salasana.&lt;/p&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="503"/>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="504"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="541"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="542"/>
<source>Remote folder %1 creation failed with error &lt;tt&gt;%2&lt;/tt&gt;.</source>
<translation>Etäkansion %1 luonti epäonnistui, virhe &lt;tt&gt;%2&lt;/tt&gt;.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="521"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="559"/>
<source>A sync connection from %1 to remote directory %2 was set up.</source>
<translation>Täsmäysyhteys kansiosta %1 etäkansioon %2 on asetettu.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="526"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="564"/>
<source>Successfully connected to %1!</source>
<translation>Yhteys kohteeseen %1 muodostettiin onnistuneesti!</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="533"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="571"/>
<source>Connection to %1 could not be established. Please check again.</source>
<translation>Yhteyttä osoitteeseen %1 ei voitu muodostaa. Ole hyvä ja tarkista uudelleen.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="547"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="585"/>
<source>Folder rename failed</source>
<translation>Kansion nimen muuttaminen epäonnistui</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="548"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="586"/>
<source>Can&apos;t remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="593"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="631"/>
<source>&lt;font color=&quot;green&quot;&gt;&lt;b&gt;Local sync folder %1 successfully created!&lt;/b&gt;&lt;/font&gt;</source>
<translation>&lt;font color=&quot;green&quot;&gt;&lt;b&gt;Paikallinen synkronointikansio %1 luotu onnistuneesti!&lt;/b&gt;&lt;/font&gt;</translation>
</message>
@@ -2093,7 +2093,7 @@ Osoitteen käyttäminen ei ole suositeltavaa.</translation>
<context>
<name>OCC::PropagateDirectory</name>
<message>
- <location filename="../src/libsync/owncloudpropagator.cpp" line="942"/>
+ <location filename="../src/libsync/owncloudpropagator.cpp" line="953"/>
<source>Error writing metadata to the database</source>
<translation>Virhe kirjoittaessa metadataa tietokantaan</translation>
</message>
@@ -2131,17 +2131,17 @@ Osoitteen käyttäminen ei ole suositeltavaa.</translation>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/propagatedownload.cpp" line="772"/>
+ <location filename="../src/libsync/propagatedownload.cpp" line="775"/>
<source>File %1 cannot be saved because of a local file name clash!</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/propagatedownload.cpp" line="820"/>
+ <location filename="../src/libsync/propagatedownload.cpp" line="823"/>
<source>File has changed since discovery</source>
<translation>Tiedosto on muuttunut löytymisen jälkeen</translation>
</message>
<message>
- <location filename="../src/libsync/propagatedownload.cpp" line="871"/>
+ <location filename="../src/libsync/propagatedownload.cpp" line="874"/>
<source>Error writing metadata to the database</source>
<translation>Virhe kirjoittaessa metadataa tietokantaan</translation>
</message>
@@ -2217,12 +2217,12 @@ Osoitteen käyttäminen ei ole suositeltavaa.</translation>
<context>
<name>OCC::PropagateRemoteDelete</name>
<message>
- <location filename="../src/libsync/propagateremotedelete.cpp" line="96"/>
+ <location filename="../src/libsync/propagateremotedelete.cpp" line="100"/>
<source>The file has been removed from a read only share. It was restored.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/propagateremotedelete.cpp" line="117"/>
+ <location filename="../src/libsync/propagateremotedelete.cpp" line="121"/>
<source>Wrong HTTP code returned by server. Expected 204, but received &quot;%1 %2&quot;.</source>
<translation>HTTP-palvelin palautti väärän koodin. Odotettiin koodia 204, vastaanotettiin &quot;%1 %2&quot;.</translation>
</message>
@@ -2230,12 +2230,12 @@ Osoitteen käyttäminen ei ole suositeltavaa.</translation>
<context>
<name>OCC::PropagateRemoteMkdir</name>
<message>
- <location filename="../src/libsync/propagateremotemkdir.cpp" line="95"/>
+ <location filename="../src/libsync/propagateremotemkdir.cpp" line="99"/>
<source>Wrong HTTP code returned by server. Expected 201, but received &quot;%1 %2&quot;.</source>
<translation>HTTP-palvelin palautti väärän koodin. Odotettiin koodia 201, vastaanotettiin &quot;%1 %2&quot;.</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotemkdir.cpp" line="147"/>
+ <location filename="../src/libsync/propagateremotemkdir.cpp" line="151"/>
<source>Error writing metadata to the database</source>
<translation>Virhe kirjoittaessa metadataa tietokantaan</translation>
</message>
@@ -2253,18 +2253,18 @@ Osoitteen käyttäminen ei ole suositeltavaa.</translation>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/propagateremotemove.cpp" line="137"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="141"/>
<source>The file was renamed but is part of a read only share. The original file was restored.</source>
<translation>Tiedosto nimettiin uudelleen, mutta se on osa &quot;vain luku&quot;-jakoa. Alkuperäinen tiedosto palautettiin.</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotemove.cpp" line="154"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="158"/>
<source>Wrong HTTP code returned by server. Expected 201, but received &quot;%1 %2&quot;.</source>
<translation>HTTP-palvelin palautti väärän koodin. Odotettiin koodia 201, vastaanotettiin &quot;%1 %2&quot;.</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotemove.cpp" line="186"/>
- <location filename="../src/libsync/propagateremotemove.cpp" line="192"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="190"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="196"/>
<source>Error writing metadata to the database</source>
<translation>Virhe kirjoittaessa metadataa tietokantaan</translation>
</message>
@@ -2298,7 +2298,7 @@ Osoitteen käyttäminen ei ole suositeltavaa.</translation>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/propagateupload.cpp" line="618"/>
+ <location filename="../src/libsync/propagateupload.cpp" line="622"/>
<source>Error writing metadata to the database</source>
<translation>Virhe kirjoittaessa metadataa tietokantaan</translation>
</message>
@@ -2372,42 +2372,42 @@ Osoitteen käyttäminen ei ole suositeltavaa.</translation>
<translation>TekstiLeima</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="48"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="61"/>
<source>Time</source>
<translation>Aika</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="49"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="62"/>
<source>File</source>
<translation>Tiedosto</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="50"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="63"/>
<source>Folder</source>
<translation>Kansio</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="51"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="64"/>
<source>Action</source>
<translation>Toiminto</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="52"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="65"/>
<source>Size</source>
<translation>Koko</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="72"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="85"/>
<source>Local sync protocol</source>
<translation>Paikallinen synkronointiprotokolla</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="74"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="87"/>
<source>Copy</source>
<translation>Kopioi</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="75"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="88"/>
<source>Copy the activity list to the clipboard.</source>
<translation>Kopioi toimilista leikepöydälle.</translation>
</message>
@@ -2539,6 +2539,7 @@ Osoitteen käyttäminen ei ole suositeltavaa.</translation>
</message>
<message>
<location filename="../src/gui/settingsdialogmac.cpp" line="152"/>
+ <location filename="../src/gui/settingsdialogmac.cpp" line="211"/>
<source>Account</source>
<translation>Tili</translation>
</message>
@@ -3195,22 +3196,22 @@ Osoitteen käyttäminen ei ole suositeltavaa.</translation>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1278"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1287"/>
<source>Not allowed because you don&apos;t have permission to add parent folder</source>
<translation>Ei sallittu, koska käyttöoikeutesi eivät riitä ylätason kansion lisäämiseen</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1285"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1294"/>
<source>Not allowed because you don&apos;t have permission to add files in that folder</source>
<translation>Ei sallittu, koska käyttöoikeutesi eivät riitä tiedostojen lisäämiseen kyseiseen kansioon</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1588"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1597"/>
<source>Disk space is low: Downloads that would reduce free space below %1 were skipped.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1595"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1604"/>
<source>There is insufficient space available on the server for some uploads.</source>
<translation type="unfinished"/>
</message>
@@ -3335,54 +3336,54 @@ Osoitteen käyttäminen ei ole suositeltavaa.</translation>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="968"/>
+ <location filename="../src/libsync/syncengine.cpp" line="977"/>
<source>File name contains at least one invalid character</source>
<translation>Tiedoston nimi sisältää ainakin yhden virheellisen merkin</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1204"/>
- <location filename="../src/libsync/syncengine.cpp" line="1244"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1213"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1253"/>
<source>Ignored because of the &quot;choose what to sync&quot; blacklist</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1263"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1272"/>
<source>Not allowed because you don&apos;t have permission to add subfolders to that folder</source>
<translation>Ei sallittu, koska oikeutesi eivät riitä alikansioiden lisäämiseen kyseiseen kansioon</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1310"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1319"/>
<source>Not allowed to upload this file because it is read-only on the server, restoring</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1326"/>
- <location filename="../src/libsync/syncengine.cpp" line="1345"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1335"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1354"/>
<source>Not allowed to remove, restoring</source>
<translation>Poistaminen ei ole sallittua, palautetaan</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1359"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1368"/>
<source>Local files and share folder removed.</source>
<translation>Paikalliset tiedostot ja jakokansio poistettu.</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1413"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1422"/>
<source>Move not allowed, item restored</source>
<translation>Siirtäminen ei ole sallittua, kohde palautettu</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1424"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1433"/>
<source>Move not allowed because %1 is read-only</source>
<translation>Siirto ei ole sallittu, koska %1 on &quot;vain luku&quot;-tilassa</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1424"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1433"/>
<source>the destination</source>
<translation>kohde</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1424"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1433"/>
<source>the source</source>
<translation>lähde</translation>
</message>
@@ -3424,17 +3425,17 @@ Osoitteen käyttäminen ei ole suositeltavaa.</translation>
<context>
<name>OCC::ValidateChecksumHeader</name>
<message>
- <location filename="../src/common/checksums.cpp" line="205"/>
+ <location filename="../src/common/checksums.cpp" line="218"/>
<source>The checksum header is malformed.</source>
<translation>Tarkistesumman otsake on muodostettu väärin.</translation>
</message>
<message>
- <location filename="../src/common/checksums.cpp" line="220"/>
+ <location filename="../src/common/checksums.cpp" line="233"/>
<source>The checksum header contained an unknown checksum type &apos;%1&apos;</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/common/checksums.cpp" line="224"/>
+ <location filename="../src/common/checksums.cpp" line="237"/>
<source>The downloaded file does not match the checksum, it will be resumed.</source>
<translation type="unfinished"/>
</message>
diff --git a/translations/client_fr.ts b/translations/client_fr.ts
index 855f2196f..c5e530c3d 100644
--- a/translations/client_fr.ts
+++ b/translations/client_fr.ts
@@ -596,7 +596,7 @@
<context>
<name>OCC::CleanupPollsJob</name>
<message>
- <location filename="../src/libsync/owncloudpropagator.cpp" line="990"/>
+ <location filename="../src/libsync/owncloudpropagator.cpp" line="1001"/>
<source>Error writing metadata to the database</source>
<translation>Erreur à l&apos;écriture des métadonnées dans la base de données</translation>
</message>
@@ -744,14 +744,14 @@
<translation>Impossible de lire le fichier d&apos;exclusion du système</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="883"/>
+ <location filename="../src/gui/folder.cpp" line="888"/>
<source>A new folder larger than %1 MB has been added: %2.
</source>
<translation>Un nouveau dossier de taille supérieure à %1 Mo a été ajouté : %2.
</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="886"/>
+ <location filename="../src/gui/folder.cpp" line="891"/>
<source>A folder from an external storage has been added.
</source>
<translation>Un nouveau dossier localisé sur un stockage externe a été ajouté.
@@ -759,12 +759,12 @@
</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="887"/>
+ <location filename="../src/gui/folder.cpp" line="892"/>
<source>Please go in the settings to select it if you wish to download it.</source>
<translation>Merci d&apos;aller dans les Paramètres pour indiquer si vous souhaitez le télécharger.</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="922"/>
+ <location filename="../src/gui/folder.cpp" line="927"/>
<source>All files in the sync folder '%1' folder were deleted on the server.
These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore.
If you decide to keep the files, they will be re-synced with the server if you have rights to do so.
@@ -775,7 +775,7 @@ Si vous décidez de conserver ces fichiers, ils seront synchronisés à nouveau
Si vous décidez de supprimer ces fichiers, ils vous seront inaccessibles, sauf si vous en êtes le propriétaire.</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="927"/>
+ <location filename="../src/gui/folder.cpp" line="932"/>
<source>All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored.
Are you sure you want to sync those actions with the server?
If this was an accident and you decide to keep your files, they will be re-synced from the server.</source>
@@ -784,22 +784,22 @@ If this was an accident and you decide to keep your files, they will be re-synce
S&apos;il s&apos;agissait d&apos;un accident et que vous choisissiez de conserver vos fichiers, ils seront synchronisés à nouveau depuis le serveur.</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="931"/>
+ <location filename="../src/gui/folder.cpp" line="936"/>
<source>Remove All Files?</source>
<translation>Supprimer tous les fichiers ?</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="934"/>
+ <location filename="../src/gui/folder.cpp" line="939"/>
<source>Remove all files</source>
<translation>Supprimer tous les fichiers</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="935"/>
+ <location filename="../src/gui/folder.cpp" line="940"/>
<source>Keep files</source>
<translation>Conserver les fichiers</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="952"/>
+ <location filename="../src/gui/folder.cpp" line="957"/>
<source>This sync would reset the files to an earlier time in the sync folder '%1'.
This might be because a backup was restored on the server.
Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files?</source>
@@ -808,17 +808,17 @@ Cela peut être dû à une copie de sauvegarde restaurée sur le serveur.
Continuer la synchronisation comme d&apos;habitude fera en sorte que tous les fichiers soient remplacés par des fichiers plus vieux d&apos;un état précédent. Voulez-vous conserver les versions les plus récentes de vos fichiers en tant que fichiers conflictuels ?</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="957"/>
+ <location filename="../src/gui/folder.cpp" line="962"/>
<source>Backup detected</source>
<translation>Sauvegarde détectée</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="960"/>
+ <location filename="../src/gui/folder.cpp" line="965"/>
<source>Normal Synchronisation</source>
<translation>Synchronisation normale</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="961"/>
+ <location filename="../src/gui/folder.cpp" line="966"/>
<source>Keep Local Files as Conflict</source>
<translation>Conserver les fichiers locaux comme Conflits</translation>
</message>
@@ -1001,7 +1001,7 @@ Continuer la synchronisation comme d&apos;habitude fera en sorte que tous les fi
<message>
<location filename="../src/gui/folderstatusmodel.cpp" line="884"/>
<source>Reconciling changes</source>
- <translation type="unfinished"/>
+ <translation>Rapprochement des modifications</translation>
</message>
<message>
<location filename="../src/gui/folderstatusmodel.cpp" line="919"/>
@@ -1292,22 +1292,22 @@ Continuer la synchronisation comme d&apos;habitude fera en sorte que tous les fi
<context>
<name>OCC::HttpCredentialsGui</name>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="97"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="98"/>
<source>Please enter %1 password:&lt;br&gt;&lt;br&gt;User: %2&lt;br&gt;Account: %3&lt;br&gt;</source>
<translation>Merci de saisir le mot de passe de %1 :&lt;br&gt;&lt;br&gt;Utilisateur : %2&lt;br&gt;Compte : %3&lt;br&gt;</translation>
</message>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="111"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="112"/>
<source>Reading from keychain failed with error: &apos;%1&apos;</source>
<translation>Erreur lors de l&apos;accès au trousseau : &apos;%1&apos;</translation>
</message>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="117"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="118"/>
<source>Enter Password</source>
<translation>Saisissez le mot de passe</translation>
</message>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="154"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="155"/>
<source>&lt;a href=&quot;%1&quot;&gt;Click here&lt;/a&gt; to request an app password from the web interface.</source>
<translation>&lt;a href=&quot;%1&quot;&gt;Cliquez ici&lt;/a&gt; pour demander un mot de passe d&apos;application depuis l&apos;interface web.</translation>
</message>
@@ -1410,7 +1410,7 @@ L&apos;option &quot;Autoriser suppression&quot; permet de ne pas bloquer la supp
<location filename="../src/gui/issueswidget.ui" line="42"/>
<location filename="../src/gui/issueswidget.ui" line="61"/>
<source>&lt;no filter&gt;</source>
- <translation type="unfinished"/>
+ <translation>&lt;no filter&gt;</translation>
</message>
<message>
<location filename="../src/gui/issueswidget.ui" line="50"/>
@@ -1429,12 +1429,12 @@ L&apos;option &quot;Autoriser suppression&quot; permet de ne pas bloquer la supp
<translation>Voir les fichiers ignorés</translation>
</message>
<message>
- <location filename="../src/gui/issueswidget.ui" line="145"/>
+ <location filename="../src/gui/issueswidget.ui" line="148"/>
<source>Copy the issues list to the clipboard.</source>
<translation>Copier la liste des anomalies dans le presse-papier.</translation>
</message>
<message>
- <location filename="../src/gui/issueswidget.ui" line="148"/>
+ <location filename="../src/gui/issueswidget.ui" line="151"/>
<source>Copy</source>
<translation>Copier</translation>
</message>
@@ -1474,7 +1474,7 @@ L&apos;option &quot;Autoriser suppression&quot; permet de ne pas bloquer la supp
<message>
<location filename="../src/gui/logbrowser.cpp" line="89"/>
<source>&amp;Capture debug messages</source>
- <translation type="unfinished"/>
+ <translation>&amp;Capturer les messages de déboguage</translation>
</message>
<message>
<location filename="../src/gui/logbrowser.cpp" line="101"/>
@@ -1701,7 +1701,7 @@ L&apos;option &quot;Autoriser suppression&quot; permet de ne pas bloquer la supp
<message>
<location filename="../src/gui/creds/oauth.cpp" line="118"/>
<source>Could not parse the JSON returned from the server: &lt;br&gt;&lt;em&gt;%1&lt;/em&gt;</source>
- <translation type="unfinished"/>
+ <translation>Impossible d&apos;analyser le fichier JSON récupéré sur le serveur : &lt;br&gt;&lt;em&gt;%1&lt;/em&gt;</translation>
</message>
<message>
<location filename="../src/gui/creds/oauth.cpp" line="121"/>
@@ -1920,144 +1920,144 @@ Il est déconseillé de l&apos;utiliser.</translation>
<context>
<name>OCC::OwncloudSetupWizard</name>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="217"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="250"/>
<source>&lt;font color=&quot;green&quot;&gt;Successfully connected to %1: %2 version %3 (%4)&lt;/font&gt;&lt;br/&gt;&lt;br/&gt;</source>
<translation>&lt;font color=&quot;green&quot;&gt;Connecté avec succès à %1 : %2 version %3 (%4)&lt;/font&gt;&lt;br/&gt;&lt;br/&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="251"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="280"/>
<source>Failed to connect to %1 at %2:&lt;br/&gt;%3</source>
<translation>Échec de la connexion à %1 sur %2 :&lt;br/&gt;%3</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="285"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="314"/>
<source>Timeout while trying to connect to %1 at %2.</source>
<translation>Délai d&apos;attente dépassé lors de la connexion à %1 sur %2.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="296"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="334"/>
<source>Trying to connect to %1 at %2...</source>
<translation>Tentative de connexion à %1 sur %2 ...</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="347"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="385"/>
<source>The authenticated request to the server was redirected to &apos;%1&apos;. The URL is bad, the server is misconfigured.</source>
<translation>La requête d&apos;authentification vers le serveur a été redirigée vers &apos;%1&apos;. L&apos;URL est erronée, le serveur est mal configuré.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="369"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="407"/>
<source>There was an invalid response to an authenticated webdav request</source>
<translation>Une réponse non valide a été reçue suite à une requête WebDav authentifiée.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="360"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="398"/>
<source>Access forbidden by server. To verify that you have proper access, &lt;a href=&quot;%1&quot;&gt;click here&lt;/a&gt; to access the service with your browser.</source>
<translation>Accès impossibe. Afin de vérifier l&apos;accès au serveur, &lt;a href=&quot;%1&quot;&gt;cliquez ici&lt;/a&gt; et connectez-vous au service avec votre navigateur web.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="249"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="278"/>
<source>Invalid URL</source>
<translation>URL invalide</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="414"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="452"/>
<source>Local sync folder %1 already exists, setting it up for sync.&lt;br/&gt;&lt;br/&gt;</source>
<translation>Le dossier de synchronisation local %1 existe déjà, configuration de la synchronisation.&lt;br/&gt;&lt;br/&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="417"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="455"/>
<source>Creating local sync folder %1...</source>
<translation>Création du dossier local de synchronisation %1... </translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="421"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="459"/>
<source>ok</source>
<translation>ok</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="423"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="461"/>
<source>failed.</source>
<translation>échoué.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="425"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="463"/>
<source>Could not create local folder %1</source>
<translation>Impossible de créer le dossier local %1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="451"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="489"/>
<source>No remote folder specified!</source>
<translation>Aucun dossier distant spécifié !</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="457"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="495"/>
<source>Error: %1</source>
<translation>Erreur : %1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="470"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="508"/>
<source>creating folder on ownCloud: %1</source>
<translation>création d&apos;un dossier sur ownCloud : %1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="486"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="524"/>
<source>Remote folder %1 created successfully.</source>
<translation>Le dossier distant %1 a été créé avec succès.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="488"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="526"/>
<source>The remote folder %1 already exists. Connecting it for syncing.</source>
<translation>Le dossier distant %1 existe déjà. Connexion.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="490"/>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="492"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="528"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="530"/>
<source>The folder creation resulted in HTTP error code %1</source>
<translation>La création du dossier a généré le code d&apos;erreur HTTP %1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="494"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="532"/>
<source>The remote folder creation failed because the provided credentials are wrong!&lt;br/&gt;Please go back and check your credentials.&lt;/p&gt;</source>
<translation>La création du dossier distant a échoué car les identifiants de connexion sont erronés !&lt;br/&gt;Veuillez revenir en arrière et vérifier ces derniers.&lt;/p&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="498"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="536"/>
<source>&lt;p&gt;&lt;font color=&quot;red&quot;&gt;Remote folder creation failed probably because the provided credentials are wrong.&lt;/font&gt;&lt;br/&gt;Please go back and check your credentials.&lt;/p&gt;</source>
<translation>&lt;p&gt;&lt;font color=&quot;red&quot;&gt;La création du dossier distant a échoué, probablement parce que les informations d&apos;identification fournies sont fausses.&lt;/font&gt;&lt;br/&gt;Veuillez revenir en arrière et les vérifier.&lt;/p&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="503"/>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="504"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="541"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="542"/>
<source>Remote folder %1 creation failed with error &lt;tt&gt;%2&lt;/tt&gt;.</source>
<translation>La création du dossier distant &quot;%1&quot; a échouée avec l&apos;erreur &lt;tt&gt;%2&lt;/tt&gt;.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="521"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="559"/>
<source>A sync connection from %1 to remote directory %2 was set up.</source>
<translation>Une synchronisation entre le dossier local %1 et le dossier distant %2 a été configurée.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="526"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="564"/>
<source>Successfully connected to %1!</source>
<translation>Connecté avec succès à %1 !</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="533"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="571"/>
<source>Connection to %1 could not be established. Please check again.</source>
<translation>La connexion à %1 n&apos;a pu être établie. Veuillez réessayer.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="547"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="585"/>
<source>Folder rename failed</source>
<translation>Echec du renommage du dossier</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="548"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="586"/>
<source>Can&apos;t remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup.</source>
<translation>Impossible de supprimer et de sauvegarder le dossier parce que ce dossier ou un de ses fichiers est ouvert dans un autre programme. Veuillez fermer le dossier ou le fichier et ré-essayer, ou annuler l&apos;installation.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="593"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="631"/>
<source>&lt;font color=&quot;green&quot;&gt;&lt;b&gt;Local sync folder %1 successfully created!&lt;/b&gt;&lt;/font&gt;</source>
<translation>&lt;font color=&quot;green&quot;&gt;&lt;b&gt;Dossier de synchronisation local %1 créé avec succès !&lt;/b&gt;&lt;/font&gt;</translation>
</message>
@@ -2104,7 +2104,7 @@ Il est déconseillé de l&apos;utiliser.</translation>
<context>
<name>OCC::PropagateDirectory</name>
<message>
- <location filename="../src/libsync/owncloudpropagator.cpp" line="942"/>
+ <location filename="../src/libsync/owncloudpropagator.cpp" line="953"/>
<source>Error writing metadata to the database</source>
<translation>Erreur à l&apos;écriture des métadonnées dans la base de données</translation>
</message>
@@ -2142,17 +2142,17 @@ Il est déconseillé de l&apos;utiliser.</translation>
<translation>Le fichier téléchargé est vide bien que le serveur indique que sa taille devrait être de %1.</translation>
</message>
<message>
- <location filename="../src/libsync/propagatedownload.cpp" line="772"/>
+ <location filename="../src/libsync/propagatedownload.cpp" line="775"/>
<source>File %1 cannot be saved because of a local file name clash!</source>
<translation>Le fichier %1 n&apos;a pas pu être sauvegardé en raison d&apos;un conflit sur le nom du fichier local !</translation>
</message>
<message>
- <location filename="../src/libsync/propagatedownload.cpp" line="820"/>
+ <location filename="../src/libsync/propagatedownload.cpp" line="823"/>
<source>File has changed since discovery</source>
<translation>Le fichier a changé depuis sa découverte</translation>
</message>
<message>
- <location filename="../src/libsync/propagatedownload.cpp" line="871"/>
+ <location filename="../src/libsync/propagatedownload.cpp" line="874"/>
<source>Error writing metadata to the database</source>
<translation>Erreur à l&apos;écriture des métadonnées dans la base de données</translation>
</message>
@@ -2228,12 +2228,12 @@ Il est déconseillé de l&apos;utiliser.</translation>
<context>
<name>OCC::PropagateRemoteDelete</name>
<message>
- <location filename="../src/libsync/propagateremotedelete.cpp" line="96"/>
+ <location filename="../src/libsync/propagateremotedelete.cpp" line="100"/>
<source>The file has been removed from a read only share. It was restored.</source>
<translation>Le fichier a été supprimé d&apos;un partage en lecture seule. Il a été restauré.</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotedelete.cpp" line="117"/>
+ <location filename="../src/libsync/propagateremotedelete.cpp" line="121"/>
<source>Wrong HTTP code returned by server. Expected 204, but received &quot;%1 %2&quot;.</source>
<translation>Le code HTTP retourné par le serveur n&apos;est pas valide. La valeur attendue est 204 mais la valeur reçue est &quot;%1 %2&quot;.</translation>
</message>
@@ -2241,12 +2241,12 @@ Il est déconseillé de l&apos;utiliser.</translation>
<context>
<name>OCC::PropagateRemoteMkdir</name>
<message>
- <location filename="../src/libsync/propagateremotemkdir.cpp" line="95"/>
+ <location filename="../src/libsync/propagateremotemkdir.cpp" line="99"/>
<source>Wrong HTTP code returned by server. Expected 201, but received &quot;%1 %2&quot;.</source>
<translation>Le code HTTP retourné par le serveur n&apos;est pas valide. La valeur attendue est 201 mais la valeur reçue est &quot;%1 %2&quot;.</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotemkdir.cpp" line="147"/>
+ <location filename="../src/libsync/propagateremotemkdir.cpp" line="151"/>
<source>Error writing metadata to the database</source>
<translation>Erreur à l&apos;écriture des métadonnées dans la base de données</translation>
</message>
@@ -2264,18 +2264,18 @@ Il est déconseillé de l&apos;utiliser.</translation>
<translation>Le nom de ce dossier ne doit pas être changé. Veuillez le renommer en Shared.</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotemove.cpp" line="137"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="141"/>
<source>The file was renamed but is part of a read only share. The original file was restored.</source>
<translation>Le fichier a été renommé mais appartient à un partage en lecture seule. Le fichier original a été restauré.</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotemove.cpp" line="154"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="158"/>
<source>Wrong HTTP code returned by server. Expected 201, but received &quot;%1 %2&quot;.</source>
<translation>Le code HTTP retourné par le serveur n&apos;est pas valide. La valeur attendue est 201 mais la valeur reçue est &quot;%1 %2&quot;.</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotemove.cpp" line="186"/>
- <location filename="../src/libsync/propagateremotemove.cpp" line="192"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="190"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="196"/>
<source>Error writing metadata to the database</source>
<translation>Erreur à l&apos;écriture des métadonnées dans la base de données</translation>
</message>
@@ -2306,10 +2306,10 @@ Il est déconseillé de l&apos;utiliser.</translation>
<location filename="../src/libsync/propagateupload.cpp" line="186"/>
<location filename="../src/libsync/propagateupload.cpp" line="549"/>
<source>Upload of %1 exceeds the quota for the folder</source>
- <translation type="unfinished"/>
+ <translation>Le téléversement de %1 amène un dépassement de quota pour le dossier</translation>
</message>
<message>
- <location filename="../src/libsync/propagateupload.cpp" line="618"/>
+ <location filename="../src/libsync/propagateupload.cpp" line="622"/>
<source>Error writing metadata to the database</source>
<translation>Erreur à l&apos;écriture des métadonnées dans la base de données</translation>
</message>
@@ -2383,42 +2383,42 @@ Il est déconseillé de l&apos;utiliser.</translation>
<translation>TextLabel</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="48"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="61"/>
<source>Time</source>
<translation>Heure</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="49"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="62"/>
<source>File</source>
<translation>Fichier</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="50"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="63"/>
<source>Folder</source>
<translation>Dossier</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="51"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="64"/>
<source>Action</source>
<translation>Action</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="52"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="65"/>
<source>Size</source>
<translation>Taille</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="72"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="85"/>
<source>Local sync protocol</source>
<translation>Historique des opérations de synchronisation locale</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="74"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="87"/>
<source>Copy</source>
<translation>Copier</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="75"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="88"/>
<source>Copy the activity list to the clipboard.</source>
<translation>Copier la liste d&apos;activités dans le presse-papier</translation>
</message>
@@ -2550,6 +2550,7 @@ Il est déconseillé de l&apos;utiliser.</translation>
</message>
<message>
<location filename="../src/gui/settingsdialogmac.cpp" line="152"/>
+ <location filename="../src/gui/settingsdialogmac.cpp" line="211"/>
<source>Account</source>
<translation>Compte</translation>
</message>
@@ -2637,12 +2638,12 @@ Il est déconseillé de l&apos;utiliser.</translation>
<message>
<location filename="../src/gui/sharelinkwidget.ui" line="35"/>
<source>Enter a name to create a new public link...</source>
- <translation type="unfinished"/>
+ <translation>Entrer un nom pour créer un nouveau lien public...</translation>
</message>
<message>
<location filename="../src/gui/sharelinkwidget.ui" line="42"/>
<source>&amp;Create new</source>
- <translation type="unfinished"/>
+ <translation>&amp;Créer un nouveau</translation>
</message>
<message>
<location filename="../src/gui/sharelinkwidget.ui" line="105"/>
@@ -2657,7 +2658,7 @@ Il est déconseillé de l&apos;utiliser.</translation>
<message>
<location filename="../src/gui/sharelinkwidget.ui" line="178"/>
<source>Link properties:</source>
- <translation type="unfinished"/>
+ <translation>Propriétés du lien :</translation>
</message>
<message>
<location filename="../src/gui/sharelinkwidget.ui" line="220"/>
@@ -2693,32 +2694,32 @@ Il est déconseillé de l&apos;utiliser.</translation>
<message>
<location filename="../src/gui/sharelinkwidget.cpp" line="61"/>
<source>%1 link</source>
- <translation type="unfinished"/>
+ <translation>lien %1</translation>
</message>
<message>
<location filename="../src/gui/sharelinkwidget.cpp" line="91"/>
<source>Link shares have been disabled</source>
- <translation type="unfinished"/>
+ <translation>Les partages par lien ont été désactivés</translation>
</message>
<message>
<location filename="../src/gui/sharelinkwidget.cpp" line="105"/>
<source>Create public link share</source>
- <translation type="unfinished"/>
+ <translation>Créer une lien de partage public</translation>
</message>
<message>
<location filename="../src/gui/sharelinkwidget.cpp" line="161"/>
<source>Open link in browser</source>
- <translation type="unfinished"/>
+ <translation>Ouvrir le lien dans le navigateur</translation>
</message>
<message>
<location filename="../src/gui/sharelinkwidget.cpp" line="162"/>
<source>Copy link to clipboard</source>
- <translation type="unfinished"/>
+ <translation>Copier le lien vers le presse-papier</translation>
</message>
<message>
<location filename="../src/gui/sharelinkwidget.cpp" line="163"/>
<source>Copy link to clipboard (direct download)</source>
- <translation type="unfinished"/>
+ <translation>Copier le lien vers le presse-papier (téléchargement direct)</translation>
</message>
<message>
<location filename="../src/gui/sharelinkwidget.cpp" line="164"/>
@@ -2728,7 +2729,7 @@ Il est déconseillé de l&apos;utiliser.</translation>
<message>
<location filename="../src/gui/sharelinkwidget.cpp" line="165"/>
<source>Send link by email (direct download)</source>
- <translation type="unfinished"/>
+ <translation>Envoyer le lien par courriel (téléchargement direct)</translation>
</message>
<message>
<location filename="../src/gui/sharelinkwidget.cpp" line="237"/>
@@ -2761,22 +2762,22 @@ Il est déconseillé de l&apos;utiliser.</translation>
<message>
<location filename="../src/gui/shareusergroupwidget.ui" line="108"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;You can direct people to this shared file or folder &lt;a href=&quot;private link menu&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;by giving them a private link&lt;/span&gt;&lt;/a&gt;.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation type="unfinished"/>
+ <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Vous pouvez diriger quelqu&apos;un vers ce fichier ou dossier partagé &lt;a href=&quot;private link menu&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;en lui adressant un lien privé&lt;/span&gt;&lt;/a&gt;.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
</message>
<message>
<location filename="../src/gui/shareusergroupwidget.cpp" line="186"/>
<source>The item is not shared with any users or groups</source>
- <translation type="unfinished"/>
+ <translation>Cet élément n&apos;est partagé avec aucun utilisateur ou groupe</translation>
</message>
<message>
<location filename="../src/gui/shareusergroupwidget.cpp" line="235"/>
<source>Open link in browser</source>
- <translation type="unfinished"/>
+ <translation>Ouvrir le lien dans le navigateur</translation>
</message>
<message>
<location filename="../src/gui/shareusergroupwidget.cpp" line="237"/>
<source>Copy link to clipboard</source>
- <translation type="unfinished"/>
+ <translation>Copier le lien vers le presse-papier</translation>
</message>
<message>
<location filename="../src/gui/shareusergroupwidget.cpp" line="239"/>
@@ -2791,7 +2792,7 @@ Il est déconseillé de l&apos;utiliser.</translation>
<message>
<location filename="../src/gui/shareusergroupwidget.cpp" line="337"/>
<source>I shared something with you</source>
- <translation type="unfinished"/>
+ <translation>J&apos;ai partagé quelque chose avec vous</translation>
</message>
</context>
<context>
@@ -2884,7 +2885,7 @@ Il est déconseillé de l&apos;utiliser.</translation>
<message>
<location filename="../src/gui/socketapi.cpp" line="555"/>
<source>I shared something with you</source>
- <translation type="unfinished"/>
+ <translation>J&apos;ai partagé quelque chose avec vous</translation>
</message>
<message>
<location filename="../src/gui/socketapi.cpp" line="563"/>
@@ -2894,12 +2895,12 @@ Il est déconseillé de l&apos;utiliser.</translation>
<message>
<location filename="../src/gui/socketapi.cpp" line="565"/>
<source>Copy private link to clipboard</source>
- <translation type="unfinished"/>
+ <translation>Copier le lien privé vers le presse-papier</translation>
</message>
<message>
<location filename="../src/gui/socketapi.cpp" line="566"/>
<source>Send private link by email...</source>
- <translation type="unfinished"/>
+ <translation>Envoyer le lien privé par courriel...</translation>
</message>
</context>
<context>
@@ -3177,7 +3178,7 @@ Il est déconseillé de l&apos;utiliser.</translation>
<message>
<location filename="../src/libsync/syncengine.cpp" line="264"/>
<source>%1 (skipped due to earlier error, trying again in %2)</source>
- <translation type="unfinished"/>
+ <translation>%1 (ignoré à cause d&apos;une précédente erreur, nouvel essai dans %2)</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="474"/>
@@ -3187,12 +3188,12 @@ Il est déconseillé de l&apos;utiliser.</translation>
<message>
<location filename="../src/libsync/syncengine.cpp" line="477"/>
<source>Folder hierarchy is too deep</source>
- <translation type="unfinished"/>
+ <translation>La hiérarchie du dossier est trop profonde</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="490"/>
<source>Conflict: Server version downloaded, local copy renamed and not uploaded.</source>
- <translation type="unfinished"/>
+ <translation>Conflit : La version du serveur a été téléchargée, la version locale renommée et non téléversée.</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="774"/>
@@ -3203,27 +3204,27 @@ Il est déconseillé de l&apos;utiliser.</translation>
<message>
<location filename="../src/libsync/syncengine.cpp" line="809"/>
<source>Unable to open or create the local sync database. Make sure you have write access in the sync folder.</source>
- <translation type="unfinished"/>
+ <translation>Impossible d&apos;accéder ou de créer une base de données locale de synchronisation. Assurez vous de disposer des droits d&apos;écriture dans le dossier de synchronisation.</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1278"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1287"/>
<source>Not allowed because you don&apos;t have permission to add parent folder</source>
<translation>Non autorisé car vous n&apos;avez pas la permission d&apos;ajouter un dossier parent</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1285"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1294"/>
<source>Not allowed because you don&apos;t have permission to add files in that folder</source>
<translation>Non autorisé car vous n&apos;avez pas la permission d&apos;ajouter des fichiers dans ce dossier</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1588"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1597"/>
<source>Disk space is low: Downloads that would reduce free space below %1 were skipped.</source>
- <translation type="unfinished"/>
+ <translation>L&apos;espace disque est faible : les téléchargements qui amèneraient à réduire l&apos;espace libre en dessous de %1 ont été ignorés.</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1595"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1604"/>
<source>There is insufficient space available on the server for some uploads.</source>
- <translation type="unfinished"/>
+ <translation>Il n&apos;y a pas suffisamment d’espace disponible sur le serveur pour certains téléversements.</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="167"/>
@@ -3313,7 +3314,7 @@ Il est déconseillé de l&apos;utiliser.</translation>
<message>
<location filename="../src/libsync/syncengine.cpp" line="486"/>
<source>Unresolved conflict.</source>
- <translation type="unfinished"/>
+ <translation>conflit non résolu.</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="497"/>
@@ -3346,54 +3347,54 @@ Il est déconseillé de l&apos;utiliser.</translation>
<translation>Impossible d&apos;ouvrir le journal de synchronisation</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="968"/>
+ <location filename="../src/libsync/syncengine.cpp" line="977"/>
<source>File name contains at least one invalid character</source>
<translation>Le nom de fichier contient au moins un caractère non valable</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1204"/>
- <location filename="../src/libsync/syncengine.cpp" line="1244"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1213"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1253"/>
<source>Ignored because of the &quot;choose what to sync&quot; blacklist</source>
<translation>Ignoré en raison de la liste noire &quot;Sélectionner le contenu à synchroniser&quot;.</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1263"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1272"/>
<source>Not allowed because you don&apos;t have permission to add subfolders to that folder</source>
<translation>Non autorisé car vous n&apos;avez pas la permission d&apos;ajouter des sous-dossiers dans ce dossier</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1310"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1319"/>
<source>Not allowed to upload this file because it is read-only on the server, restoring</source>
<translation>Non autorisé à envoyer ce fichier car il est en lecture seule sur le serveur. Restauration</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1326"/>
- <location filename="../src/libsync/syncengine.cpp" line="1345"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1335"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1354"/>
<source>Not allowed to remove, restoring</source>
<translation>Non autorisé à supprimer. Restauration</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1359"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1368"/>
<source>Local files and share folder removed.</source>
<translation>Fichiers locaux et dossier partagé supprimés.</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1413"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1422"/>
<source>Move not allowed, item restored</source>
<translation>Déplacement non autorisé, élément restauré</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1424"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1433"/>
<source>Move not allowed because %1 is read-only</source>
<translation>Déplacement non autorisé car %1 est en mode lecture seule</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1424"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1433"/>
<source>the destination</source>
<translation>la destination</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1424"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1433"/>
<source>the source</source>
<translation>la source</translation>
</message>
@@ -3435,17 +3436,17 @@ Il est déconseillé de l&apos;utiliser.</translation>
<context>
<name>OCC::ValidateChecksumHeader</name>
<message>
- <location filename="../src/common/checksums.cpp" line="205"/>
+ <location filename="../src/common/checksums.cpp" line="218"/>
<source>The checksum header is malformed.</source>
<translation>L&apos;entête de somme de contrôle est mal formée.</translation>
</message>
<message>
- <location filename="../src/common/checksums.cpp" line="220"/>
+ <location filename="../src/common/checksums.cpp" line="233"/>
<source>The checksum header contained an unknown checksum type &apos;%1&apos;</source>
<translation>L&apos;en-tête de la somme de contrôle contenait un type de somme de contrôle inconnu &apos;%1&apos;</translation>
</message>
<message>
- <location filename="../src/common/checksums.cpp" line="224"/>
+ <location filename="../src/common/checksums.cpp" line="237"/>
<source>The downloaded file does not match the checksum, it will be resumed.</source>
<translation>Le fichier téléchargé ne correspond pas à la somme de contrôle, il va être téléchargé à nouveau.</translation>
</message>
@@ -3559,7 +3560,7 @@ Il est déconseillé de l&apos;utiliser.</translation>
<message>
<location filename="../src/gui/owncloudgui.cpp" line="240"/>
<source>Disconnected from some accounts</source>
- <translation type="unfinished"/>
+ <translation>Déconnecté de certains comptes</translation>
</message>
<message>
<location filename="../src/gui/owncloudgui.cpp" line="251"/>
@@ -3585,17 +3586,17 @@ Il est déconseillé de l&apos;utiliser.</translation>
<location filename="../src/gui/owncloudgui.cpp" line="273"/>
<location filename="../src/gui/owncloudgui.cpp" line="304"/>
<source>Synchronization is paused</source>
- <translation type="unfinished"/>
+ <translation>La synchronisation est en pause</translation>
</message>
<message>
<location filename="../src/gui/owncloudgui.cpp" line="306"/>
<source>Error during synchronization</source>
- <translation type="unfinished"/>
+ <translation>Erreur durant la synchronisation</translation>
</message>
<message>
<location filename="../src/gui/owncloudgui.cpp" line="314"/>
<source>No sync folders configured</source>
- <translation type="unfinished"/>
+ <translation>Aucun dossier de synchronisation configuré</translation>
</message>
<message>
<location filename="../src/gui/owncloudgui.cpp" line="360"/>
@@ -3800,7 +3801,7 @@ Il est déconseillé de l&apos;utiliser.</translation>
<message>
<location filename="../src/gui/wizard/owncloudoauthcredspage.ui" line="36"/>
<source>Please switch to your browser to proceed.</source>
- <translation type="unfinished"/>
+ <translation>Merci de basculer vers votre navigateur pour poursuivre.</translation>
</message>
<message>
<location filename="../src/gui/wizard/owncloudoauthcredspage.ui" line="46"/>
@@ -3810,7 +3811,7 @@ Il est déconseillé de l&apos;utiliser.</translation>
<message>
<location filename="../src/gui/wizard/owncloudoauthcredspage.ui" line="56"/>
<source>Re-open Browser</source>
- <translation type="unfinished"/>
+ <translation>Redémarrez votre navigateur</translation>
</message>
</context>
<context>
@@ -4137,12 +4138,12 @@ Il est déconseillé de l&apos;utiliser.</translation>
<message>
<location filename="../src/gui/guiutility.cpp" line="33"/>
<source>Could not open browser</source>
- <translation type="unfinished"/>
+ <translation>Impossible de démarrer le navigateur</translation>
</message>
<message>
<location filename="../src/gui/guiutility.cpp" line="34"/>
<source>There was an error when launching the browser to go to URL %1. Maybe no default browser is configured?</source>
- <translation type="unfinished"/>
+ <translation>Une erreur est survenue au lancement du navigateur pour visiter l&apos;adresse %1. Il est possible qu&apos;aucun navigateur par défaut ne soit configuré.</translation>
</message>
<message>
<location filename="../src/gui/guiutility.cpp" line="55"/>
diff --git a/translations/client_gl.ts b/translations/client_gl.ts
index c7be450b9..46f4bb47a 100644
--- a/translations/client_gl.ts
+++ b/translations/client_gl.ts
@@ -596,7 +596,7 @@
<context>
<name>OCC::CleanupPollsJob</name>
<message>
- <location filename="../src/libsync/owncloudpropagator.cpp" line="990"/>
+ <location filename="../src/libsync/owncloudpropagator.cpp" line="1001"/>
<source>Error writing metadata to the database</source>
<translation type="unfinished"/>
</message>
@@ -744,24 +744,24 @@
<translation>Non foi posíbel ler o ficheiro de exclusión do sistema</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="883"/>
+ <location filename="../src/gui/folder.cpp" line="888"/>
<source>A new folder larger than %1 MB has been added: %2.
</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="886"/>
+ <location filename="../src/gui/folder.cpp" line="891"/>
<source>A folder from an external storage has been added.
</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="887"/>
+ <location filename="../src/gui/folder.cpp" line="892"/>
<source>Please go in the settings to select it if you wish to download it.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="922"/>
+ <location filename="../src/gui/folder.cpp" line="927"/>
<source>All files in the sync folder '%1' folder were deleted on the server.
These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore.
If you decide to keep the files, they will be re-synced with the server if you have rights to do so.
@@ -769,46 +769,46 @@ If you decide to delete the files, they will be unavailable to you, unless you a
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="927"/>
+ <location filename="../src/gui/folder.cpp" line="932"/>
<source>All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored.
Are you sure you want to sync those actions with the server?
If this was an accident and you decide to keep your files, they will be re-synced from the server.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="931"/>
+ <location filename="../src/gui/folder.cpp" line="936"/>
<source>Remove All Files?</source>
<translation>Retirar todos os ficheiros?</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="934"/>
+ <location filename="../src/gui/folder.cpp" line="939"/>
<source>Remove all files</source>
<translation>Retirar todos os ficheiros</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="935"/>
+ <location filename="../src/gui/folder.cpp" line="940"/>
<source>Keep files</source>
<translation>Manter os ficheiros</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="952"/>
+ <location filename="../src/gui/folder.cpp" line="957"/>
<source>This sync would reset the files to an earlier time in the sync folder '%1'.
This might be because a backup was restored on the server.
Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files?</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="957"/>
+ <location filename="../src/gui/folder.cpp" line="962"/>
<source>Backup detected</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="960"/>
+ <location filename="../src/gui/folder.cpp" line="965"/>
<source>Normal Synchronisation</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="961"/>
+ <location filename="../src/gui/folder.cpp" line="966"/>
<source>Keep Local Files as Conflict</source>
<translation type="unfinished"/>
</message>
@@ -1282,22 +1282,22 @@ Continuing the sync as normal will cause all your files to be overwritten by an
<context>
<name>OCC::HttpCredentialsGui</name>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="97"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="98"/>
<source>Please enter %1 password:&lt;br&gt;&lt;br&gt;User: %2&lt;br&gt;Account: %3&lt;br&gt;</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="111"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="112"/>
<source>Reading from keychain failed with error: &apos;%1&apos;</source>
<translation>A lectura do chaveiro fallou co erro: «%1»</translation>
</message>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="117"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="118"/>
<source>Enter Password</source>
<translation>Escriba o contrasinal</translation>
</message>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="154"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="155"/>
<source>&lt;a href=&quot;%1&quot;&gt;Click here&lt;/a&gt; to request an app password from the web interface.</source>
<translation type="unfinished"/>
</message>
@@ -1417,12 +1417,12 @@ Items where deletion is allowed will be deleted if they prevent a directory from
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/issueswidget.ui" line="145"/>
+ <location filename="../src/gui/issueswidget.ui" line="148"/>
<source>Copy the issues list to the clipboard.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/issueswidget.ui" line="148"/>
+ <location filename="../src/gui/issueswidget.ui" line="151"/>
<source>Copy</source>
<translation>Copiar</translation>
</message>
@@ -1908,144 +1908,144 @@ Recomendámoslle que non o use.</translation>
<context>
<name>OCC::OwncloudSetupWizard</name>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="217"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="250"/>
<source>&lt;font color=&quot;green&quot;&gt;Successfully connected to %1: %2 version %3 (%4)&lt;/font&gt;&lt;br/&gt;&lt;br/&gt;</source>
<translation>&lt;font color=&quot;green&quot;&gt;Conectouse correctamente a %1: %2 versión %3 (%4)&lt;/font&gt;&lt;br/&gt;&lt;br/&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="251"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="280"/>
<source>Failed to connect to %1 at %2:&lt;br/&gt;%3</source>
<translation>Non foi posíbel conectar con %1 en %2:&lt;br/&gt;%3</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="285"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="314"/>
<source>Timeout while trying to connect to %1 at %2.</source>
<translation>Esgotouse o tempo tentando conectarse a %1 en %2...</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="296"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="334"/>
<source>Trying to connect to %1 at %2...</source>
<translation>Tentando conectarse a %1 en %2...</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="347"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="385"/>
<source>The authenticated request to the server was redirected to &apos;%1&apos;. The URL is bad, the server is misconfigured.</source>
<translation>A solicitude autenticada no servidor foi redirixida a «%1», O URL é incorrecto, o servidor está mal configurado.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="369"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="407"/>
<source>There was an invalid response to an authenticated webdav request</source>
<translation>Deuse unha resposta incorrecta a unha solicitude de WebDAV autenticada</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="360"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="398"/>
<source>Access forbidden by server. To verify that you have proper access, &lt;a href=&quot;%1&quot;&gt;click here&lt;/a&gt; to access the service with your browser.</source>
<translation>Acceso prohibido polo servidor. Para comprobar que dispón do acceso axeitado, &lt;a href=&quot;%1&quot;&gt;prema aquí&lt;/a&gt; para acceder ao servizo co seu navegador.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="249"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="278"/>
<source>Invalid URL</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="414"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="452"/>
<source>Local sync folder %1 already exists, setting it up for sync.&lt;br/&gt;&lt;br/&gt;</source>
<translation>O cartafol de sincronización local %1 xa existe. Configurándoo para a sincronización.&lt;br/&gt;&lt;br/&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="417"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="455"/>
<source>Creating local sync folder %1...</source>
<translation>Creando un cartafol local de sincronización %1...</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="421"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="459"/>
<source>ok</source>
<translation>aceptar</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="423"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="461"/>
<source>failed.</source>
<translation>fallou.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="425"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="463"/>
<source>Could not create local folder %1</source>
<translation>Non foi posíbel crear o cartafol local %1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="451"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="489"/>
<source>No remote folder specified!</source>
<translation>Non foi especificado o cartafol remoto!</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="457"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="495"/>
<source>Error: %1</source>
<translation>Erro: %1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="470"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="508"/>
<source>creating folder on ownCloud: %1</source>
<translation>creando o cartafol en ownCloud: %1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="486"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="524"/>
<source>Remote folder %1 created successfully.</source>
<translation>O cartafol remoto %1 creouse correctamente.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="488"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="526"/>
<source>The remote folder %1 already exists. Connecting it for syncing.</source>
<translation>O cartafol remoto %1 xa existe. Conectándoo para a sincronización.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="490"/>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="492"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="528"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="530"/>
<source>The folder creation resulted in HTTP error code %1</source>
<translation>A creación do cartafol resultou nun código de erro HTTP %1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="494"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="532"/>
<source>The remote folder creation failed because the provided credentials are wrong!&lt;br/&gt;Please go back and check your credentials.&lt;/p&gt;</source>
<translation>A creación do cartafol remoto fracasou por por de seren incorrectas as credenciais!&lt;br/&gt;Volva atrás e comprobe as súas credenciais.&lt;/p&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="498"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="536"/>
<source>&lt;p&gt;&lt;font color=&quot;red&quot;&gt;Remote folder creation failed probably because the provided credentials are wrong.&lt;/font&gt;&lt;br/&gt;Please go back and check your credentials.&lt;/p&gt;</source>
<translation>&lt;p&gt;&lt;font color=&quot;red&quot;&gt;A creación do cartafol remoto fallou probabelmente debido a que as credenciais que se deron non foran as correctas.&lt;/font&gt;&lt;br/&gt;Volva atrás e comprobe as súas credenciais.&lt;/p&gt; </translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="503"/>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="504"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="541"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="542"/>
<source>Remote folder %1 creation failed with error &lt;tt&gt;%2&lt;/tt&gt;.</source>
<translation>Produciuse un fallo ao crear o cartafol remoto %1 e dou o erro &lt;tt&gt;%2&lt;/tt&gt;.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="521"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="559"/>
<source>A sync connection from %1 to remote directory %2 was set up.</source>
<translation>Estabeleceuse a conexión de sincronización de %1 ao directorio remoto %2.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="526"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="564"/>
<source>Successfully connected to %1!</source>
<translation>Conectou satisfactoriamente con %1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="533"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="571"/>
<source>Connection to %1 could not be established. Please check again.</source>
<translation>Non foi posíbel estabelecer a conexión con %1. Compróbeo de novo.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="547"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="585"/>
<source>Folder rename failed</source>
<translation>Non foi posíbel renomear o cartafol</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="548"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="586"/>
<source>Can&apos;t remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup.</source>
<translation>Non é posíbel retirar e facer unha copia de seguranza do cartafol, xa que o cartafol ou un ficheiro está aberto noutro programa Peche o cartafol ou o ficheiro e ténteo de novo, ou cancele a acción.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="593"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="631"/>
<source>&lt;font color=&quot;green&quot;&gt;&lt;b&gt;Local sync folder %1 successfully created!&lt;/b&gt;&lt;/font&gt;</source>
<translation>&lt;font color=&quot;green&quot;&gt;&lt;b&gt;O cartafol local de sincronización %1 creouse correctamente!&lt;/b&gt;&lt;/font&gt;</translation>
</message>
@@ -2092,7 +2092,7 @@ Recomendámoslle que non o use.</translation>
<context>
<name>OCC::PropagateDirectory</name>
<message>
- <location filename="../src/libsync/owncloudpropagator.cpp" line="942"/>
+ <location filename="../src/libsync/owncloudpropagator.cpp" line="953"/>
<source>Error writing metadata to the database</source>
<translation type="unfinished"/>
</message>
@@ -2130,17 +2130,17 @@ Recomendámoslle que non o use.</translation>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/propagatedownload.cpp" line="772"/>
+ <location filename="../src/libsync/propagatedownload.cpp" line="775"/>
<source>File %1 cannot be saved because of a local file name clash!</source>
<translation>Non foi posíbel gardar o ficheiro %1 por mor dunha colisión co nome dun ficheiro local!</translation>
</message>
<message>
- <location filename="../src/libsync/propagatedownload.cpp" line="820"/>
+ <location filename="../src/libsync/propagatedownload.cpp" line="823"/>
<source>File has changed since discovery</source>
<translation>O ficheiro cambiou após seren atopado</translation>
</message>
<message>
- <location filename="../src/libsync/propagatedownload.cpp" line="871"/>
+ <location filename="../src/libsync/propagatedownload.cpp" line="874"/>
<source>Error writing metadata to the database</source>
<translation type="unfinished"/>
</message>
@@ -2216,12 +2216,12 @@ Recomendámoslle que non o use.</translation>
<context>
<name>OCC::PropagateRemoteDelete</name>
<message>
- <location filename="../src/libsync/propagateremotedelete.cpp" line="96"/>
+ <location filename="../src/libsync/propagateremotedelete.cpp" line="100"/>
<source>The file has been removed from a read only share. It was restored.</source>
<translation>Foi retirado un ficheiro desde unha compartición de só lectura. Foi restaurado.</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotedelete.cpp" line="117"/>
+ <location filename="../src/libsync/propagateremotedelete.cpp" line="121"/>
<source>Wrong HTTP code returned by server. Expected 204, but received &quot;%1 %2&quot;.</source>
<translation>O servidor devolveu código HTTP incorrecto. Agardábase 204, mais recibiuse «%1 %2».</translation>
</message>
@@ -2229,12 +2229,12 @@ Recomendámoslle que non o use.</translation>
<context>
<name>OCC::PropagateRemoteMkdir</name>
<message>
- <location filename="../src/libsync/propagateremotemkdir.cpp" line="95"/>
+ <location filename="../src/libsync/propagateremotemkdir.cpp" line="99"/>
<source>Wrong HTTP code returned by server. Expected 201, but received &quot;%1 %2&quot;.</source>
<translation>O servidor devolveu código HTTP incorrecto. Agardábase 201, mais recibiuse «%1 %2».</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotemkdir.cpp" line="147"/>
+ <location filename="../src/libsync/propagateremotemkdir.cpp" line="151"/>
<source>Error writing metadata to the database</source>
<translation type="unfinished"/>
</message>
@@ -2252,18 +2252,18 @@ Recomendámoslle que non o use.</translation>
<translation>Non é posíbel renomear este cartafol. Devólvalle o nome ao compartido.</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotemove.cpp" line="137"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="141"/>
<source>The file was renamed but is part of a read only share. The original file was restored.</source>
<translation>O ficheiro foi renomeado mais é parte dunha compartición de só lectura. O ficheiro orixinal foi restaurado.</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotemove.cpp" line="154"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="158"/>
<source>Wrong HTTP code returned by server. Expected 201, but received &quot;%1 %2&quot;.</source>
<translation>O servidor devolveu código HTTP incorrecto. Agardábase 201, mais recibiuse «%1 %2».</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotemove.cpp" line="186"/>
- <location filename="../src/libsync/propagateremotemove.cpp" line="192"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="190"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="196"/>
<source>Error writing metadata to the database</source>
<translation type="unfinished"/>
</message>
@@ -2297,7 +2297,7 @@ Recomendámoslle que non o use.</translation>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/propagateupload.cpp" line="618"/>
+ <location filename="../src/libsync/propagateupload.cpp" line="622"/>
<source>Error writing metadata to the database</source>
<translation type="unfinished"/>
</message>
@@ -2371,42 +2371,42 @@ Recomendámoslle que non o use.</translation>
<translation>Etiqueta de texto</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="48"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="61"/>
<source>Time</source>
<translation>Hora</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="49"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="62"/>
<source>File</source>
<translation>Ficheiro</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="50"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="63"/>
<source>Folder</source>
<translation>Cartafol</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="51"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="64"/>
<source>Action</source>
<translation>Acción</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="52"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="65"/>
<source>Size</source>
<translation>Tamaño</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="72"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="85"/>
<source>Local sync protocol</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="74"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="87"/>
<source>Copy</source>
<translation>Copiar</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="75"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="88"/>
<source>Copy the activity list to the clipboard.</source>
<translation>Copiar a lista da actividade no portapapeis.</translation>
</message>
@@ -2538,6 +2538,7 @@ Recomendámoslle que non o use.</translation>
</message>
<message>
<location filename="../src/gui/settingsdialogmac.cpp" line="152"/>
+ <location filename="../src/gui/settingsdialogmac.cpp" line="211"/>
<source>Account</source>
<translation>Conta</translation>
</message>
@@ -3194,22 +3195,22 @@ Recomendámoslle que non o use.</translation>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1278"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1287"/>
<source>Not allowed because you don&apos;t have permission to add parent folder</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1285"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1294"/>
<source>Not allowed because you don&apos;t have permission to add files in that folder</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1588"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1597"/>
<source>Disk space is low: Downloads that would reduce free space below %1 were skipped.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1595"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1604"/>
<source>There is insufficient space available on the server for some uploads.</source>
<translation type="unfinished"/>
</message>
@@ -3334,54 +3335,54 @@ Recomendámoslle que non o use.</translation>
<translation>Non foi posíbel abrir o rexistro de sincronización</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="968"/>
+ <location filename="../src/libsync/syncengine.cpp" line="977"/>
<source>File name contains at least one invalid character</source>
<translation>O nome de ficheiro contén algún carácter incorrecto</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1204"/>
- <location filename="../src/libsync/syncengine.cpp" line="1244"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1213"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1253"/>
<source>Ignored because of the &quot;choose what to sync&quot; blacklist</source>
<translation>Ignorado por mor da lista negra de «escolla que sincronizar»</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1263"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1272"/>
<source>Not allowed because you don&apos;t have permission to add subfolders to that folder</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1310"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1319"/>
<source>Not allowed to upload this file because it is read-only on the server, restoring</source>
<translation>Non está permitido o envío xa que o ficheiro é só de lectura no servidor, restaurando</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1326"/>
- <location filename="../src/libsync/syncengine.cpp" line="1345"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1335"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1354"/>
<source>Not allowed to remove, restoring</source>
<translation>Non está permitido retiralo, restaurando</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1359"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1368"/>
<source>Local files and share folder removed.</source>
<translation>Retirados os ficheiros locais e o cartafol compartido.</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1413"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1422"/>
<source>Move not allowed, item restored</source>
<translation>Nos está permitido movelo, elemento restaurado</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1424"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1433"/>
<source>Move not allowed because %1 is read-only</source>
<translation>Bon está permitido movelo xa que %1 é só de lectura</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1424"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1433"/>
<source>the destination</source>
<translation>o destino</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1424"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1433"/>
<source>the source</source>
<translation>a orixe</translation>
</message>
@@ -3423,17 +3424,17 @@ Recomendámoslle que non o use.</translation>
<context>
<name>OCC::ValidateChecksumHeader</name>
<message>
- <location filename="../src/common/checksums.cpp" line="205"/>
+ <location filename="../src/common/checksums.cpp" line="218"/>
<source>The checksum header is malformed.</source>
<translation>A cabeceira da suma de comprobación é incorrecta.</translation>
</message>
<message>
- <location filename="../src/common/checksums.cpp" line="220"/>
+ <location filename="../src/common/checksums.cpp" line="233"/>
<source>The checksum header contained an unknown checksum type &apos;%1&apos;</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/common/checksums.cpp" line="224"/>
+ <location filename="../src/common/checksums.cpp" line="237"/>
<source>The downloaded file does not match the checksum, it will be resumed.</source>
<translation>O ficheiro descargado non coincide coa suma de comprobación. Retomase.</translation>
</message>
diff --git a/translations/client_hu.ts b/translations/client_hu.ts
index 48382501c..619583905 100644
--- a/translations/client_hu.ts
+++ b/translations/client_hu.ts
@@ -596,7 +596,7 @@
<context>
<name>OCC::CleanupPollsJob</name>
<message>
- <location filename="../src/libsync/owncloudpropagator.cpp" line="990"/>
+ <location filename="../src/libsync/owncloudpropagator.cpp" line="1001"/>
<source>Error writing metadata to the database</source>
<translation type="unfinished"/>
</message>
@@ -744,24 +744,24 @@
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="883"/>
+ <location filename="../src/gui/folder.cpp" line="888"/>
<source>A new folder larger than %1 MB has been added: %2.
</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="886"/>
+ <location filename="../src/gui/folder.cpp" line="891"/>
<source>A folder from an external storage has been added.
</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="887"/>
+ <location filename="../src/gui/folder.cpp" line="892"/>
<source>Please go in the settings to select it if you wish to download it.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="922"/>
+ <location filename="../src/gui/folder.cpp" line="927"/>
<source>All files in the sync folder '%1' folder were deleted on the server.
These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore.
If you decide to keep the files, they will be re-synced with the server if you have rights to do so.
@@ -769,46 +769,46 @@ If you decide to delete the files, they will be unavailable to you, unless you a
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="927"/>
+ <location filename="../src/gui/folder.cpp" line="932"/>
<source>All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored.
Are you sure you want to sync those actions with the server?
If this was an accident and you decide to keep your files, they will be re-synced from the server.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="931"/>
+ <location filename="../src/gui/folder.cpp" line="936"/>
<source>Remove All Files?</source>
<translation>Törli az összes fájlt?</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="934"/>
+ <location filename="../src/gui/folder.cpp" line="939"/>
<source>Remove all files</source>
<translation>Összes fájl eltávolítása</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="935"/>
+ <location filename="../src/gui/folder.cpp" line="940"/>
<source>Keep files</source>
<translation>Fájlok megtartása</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="952"/>
+ <location filename="../src/gui/folder.cpp" line="957"/>
<source>This sync would reset the files to an earlier time in the sync folder '%1'.
This might be because a backup was restored on the server.
Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files?</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="957"/>
+ <location filename="../src/gui/folder.cpp" line="962"/>
<source>Backup detected</source>
<translation>Biztonsági mentés észlelve</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="960"/>
+ <location filename="../src/gui/folder.cpp" line="965"/>
<source>Normal Synchronisation</source>
<translation>Normal szinkronizáció</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="961"/>
+ <location filename="../src/gui/folder.cpp" line="966"/>
<source>Keep Local Files as Conflict</source>
<translation>Helyi file-ok megtartása konfliktusként</translation>
</message>
@@ -1282,22 +1282,22 @@ Continuing the sync as normal will cause all your files to be overwritten by an
<context>
<name>OCC::HttpCredentialsGui</name>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="97"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="98"/>
<source>Please enter %1 password:&lt;br&gt;&lt;br&gt;User: %2&lt;br&gt;Account: %3&lt;br&gt;</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="111"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="112"/>
<source>Reading from keychain failed with error: &apos;%1&apos;</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="117"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="118"/>
<source>Enter Password</source>
<translation>Jelszómegadás</translation>
</message>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="154"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="155"/>
<source>&lt;a href=&quot;%1&quot;&gt;Click here&lt;/a&gt; to request an app password from the web interface.</source>
<translation type="unfinished"/>
</message>
@@ -1417,12 +1417,12 @@ Items where deletion is allowed will be deleted if they prevent a directory from
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/issueswidget.ui" line="145"/>
+ <location filename="../src/gui/issueswidget.ui" line="148"/>
<source>Copy the issues list to the clipboard.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/issueswidget.ui" line="148"/>
+ <location filename="../src/gui/issueswidget.ui" line="151"/>
<source>Copy</source>
<translation>Másolás</translation>
</message>
@@ -1906,144 +1906,144 @@ It is not advisable to use it.</source>
<context>
<name>OCC::OwncloudSetupWizard</name>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="217"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="250"/>
<source>&lt;font color=&quot;green&quot;&gt;Successfully connected to %1: %2 version %3 (%4)&lt;/font&gt;&lt;br/&gt;&lt;br/&gt;</source>
<translation>&lt;font color=&quot;green&quot;&gt;Sikeresen csatlakozott az %1-hoz: %2 verziószám %3 (%4)&lt;/font&gt;&lt;br/&gt;&lt;br/&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="251"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="280"/>
<source>Failed to connect to %1 at %2:&lt;br/&gt;%3</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="285"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="314"/>
<source>Timeout while trying to connect to %1 at %2.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="296"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="334"/>
<source>Trying to connect to %1 at %2...</source>
<translation>Próbál kapcsolódni az %1-hoz: %2...</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="347"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="385"/>
<source>The authenticated request to the server was redirected to &apos;%1&apos;. The URL is bad, the server is misconfigured.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="369"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="407"/>
<source>There was an invalid response to an authenticated webdav request</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="360"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="398"/>
<source>Access forbidden by server. To verify that you have proper access, &lt;a href=&quot;%1&quot;&gt;click here&lt;/a&gt; to access the service with your browser.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="249"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="278"/>
<source>Invalid URL</source>
<translation>Érvénytelen URL</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="414"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="452"/>
<source>Local sync folder %1 already exists, setting it up for sync.&lt;br/&gt;&lt;br/&gt;</source>
<translation>A helyi %1 mappa már létezik, állítsa be a szinkronizálódását.&lt;br/&gt;&lt;br/&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="417"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="455"/>
<source>Creating local sync folder %1...</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="421"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="459"/>
<source>ok</source>
<translation>ok</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="423"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="461"/>
<source>failed.</source>
<translation> sikertelen.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="425"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="463"/>
<source>Could not create local folder %1</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="451"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="489"/>
<source>No remote folder specified!</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="457"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="495"/>
<source>Error: %1</source>
<translation>Hiba: %1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="470"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="508"/>
<source>creating folder on ownCloud: %1</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="486"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="524"/>
<source>Remote folder %1 created successfully.</source>
<translation>%1 távoli nappa sikeresen létrehozva.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="488"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="526"/>
<source>The remote folder %1 already exists. Connecting it for syncing.</source>
<translation>A %1 távoli mappa már létezik. Csatlakoztassa a szinkronizációhoz.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="490"/>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="492"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="528"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="530"/>
<source>The folder creation resulted in HTTP error code %1</source>
<translation>A könyvtár létrehozásakor keletkezett HTTP hibakód %1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="494"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="532"/>
<source>The remote folder creation failed because the provided credentials are wrong!&lt;br/&gt;Please go back and check your credentials.&lt;/p&gt;</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="498"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="536"/>
<source>&lt;p&gt;&lt;font color=&quot;red&quot;&gt;Remote folder creation failed probably because the provided credentials are wrong.&lt;/font&gt;&lt;br/&gt;Please go back and check your credentials.&lt;/p&gt;</source>
<translation>&lt;p&gt;&lt;font color=&quot;red&quot;&gt;A távoli mappa létrehozása sikertelen, valószínűleg mivel hibásak a megdott hitelesítési adatok.&lt;/font&gt;&lt;br/&gt;Lépjen vissza és ellenőrizze a belépési adatokat.&lt;/p&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="503"/>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="504"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="541"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="542"/>
<source>Remote folder %1 creation failed with error &lt;tt&gt;%2&lt;/tt&gt;.</source>
<translation>A távoli %1 mappa létrehozása nem sikerült. Hibaüzenet: &lt;tt&gt;%2&lt;/tt&gt;.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="521"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="559"/>
<source>A sync connection from %1 to remote directory %2 was set up.</source>
<translation>A szinkronizációs kapcsolat a %1 és a %2 távoli mappa között létrejött.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="526"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="564"/>
<source>Successfully connected to %1!</source>
<translation>Sikeresen csatlakozva: %1!</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="533"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="571"/>
<source>Connection to %1 could not be established. Please check again.</source>
<translation>A kapcsolat a %1 kiszolgálóhoz sikertelen. Ellenőrizze újra.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="547"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="585"/>
<source>Folder rename failed</source>
<translation>A mappa átnevezése nem sikerült</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="548"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="586"/>
<source>Can&apos;t remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="593"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="631"/>
<source>&lt;font color=&quot;green&quot;&gt;&lt;b&gt;Local sync folder %1 successfully created!&lt;/b&gt;&lt;/font&gt;</source>
<translation>&lt;font color=&quot;green&quot;&gt;&lt;b&gt;Helyi %1 szinkronizációs mappa sikeresen létrehozva!&lt;/b&gt;&lt;/font&gt;</translation>
</message>
@@ -2090,7 +2090,7 @@ It is not advisable to use it.</source>
<context>
<name>OCC::PropagateDirectory</name>
<message>
- <location filename="../src/libsync/owncloudpropagator.cpp" line="942"/>
+ <location filename="../src/libsync/owncloudpropagator.cpp" line="953"/>
<source>Error writing metadata to the database</source>
<translation type="unfinished"/>
</message>
@@ -2128,17 +2128,17 @@ It is not advisable to use it.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/propagatedownload.cpp" line="772"/>
+ <location filename="../src/libsync/propagatedownload.cpp" line="775"/>
<source>File %1 cannot be saved because of a local file name clash!</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/propagatedownload.cpp" line="820"/>
+ <location filename="../src/libsync/propagatedownload.cpp" line="823"/>
<source>File has changed since discovery</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/propagatedownload.cpp" line="871"/>
+ <location filename="../src/libsync/propagatedownload.cpp" line="874"/>
<source>Error writing metadata to the database</source>
<translation type="unfinished"/>
</message>
@@ -2214,12 +2214,12 @@ It is not advisable to use it.</source>
<context>
<name>OCC::PropagateRemoteDelete</name>
<message>
- <location filename="../src/libsync/propagateremotedelete.cpp" line="96"/>
+ <location filename="../src/libsync/propagateremotedelete.cpp" line="100"/>
<source>The file has been removed from a read only share. It was restored.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/propagateremotedelete.cpp" line="117"/>
+ <location filename="../src/libsync/propagateremotedelete.cpp" line="121"/>
<source>Wrong HTTP code returned by server. Expected 204, but received &quot;%1 %2&quot;.</source>
<translation type="unfinished"/>
</message>
@@ -2227,12 +2227,12 @@ It is not advisable to use it.</source>
<context>
<name>OCC::PropagateRemoteMkdir</name>
<message>
- <location filename="../src/libsync/propagateremotemkdir.cpp" line="95"/>
+ <location filename="../src/libsync/propagateremotemkdir.cpp" line="99"/>
<source>Wrong HTTP code returned by server. Expected 201, but received &quot;%1 %2&quot;.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/propagateremotemkdir.cpp" line="147"/>
+ <location filename="../src/libsync/propagateremotemkdir.cpp" line="151"/>
<source>Error writing metadata to the database</source>
<translation type="unfinished"/>
</message>
@@ -2250,18 +2250,18 @@ It is not advisable to use it.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/propagateremotemove.cpp" line="137"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="141"/>
<source>The file was renamed but is part of a read only share. The original file was restored.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/propagateremotemove.cpp" line="154"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="158"/>
<source>Wrong HTTP code returned by server. Expected 201, but received &quot;%1 %2&quot;.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/propagateremotemove.cpp" line="186"/>
- <location filename="../src/libsync/propagateremotemove.cpp" line="192"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="190"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="196"/>
<source>Error writing metadata to the database</source>
<translation type="unfinished"/>
</message>
@@ -2295,7 +2295,7 @@ It is not advisable to use it.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/propagateupload.cpp" line="618"/>
+ <location filename="../src/libsync/propagateupload.cpp" line="622"/>
<source>Error writing metadata to the database</source>
<translation type="unfinished"/>
</message>
@@ -2369,42 +2369,42 @@ It is not advisable to use it.</source>
<translation>TextLabel</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="48"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="61"/>
<source>Time</source>
<translation>Idő</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="49"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="62"/>
<source>File</source>
<translation>Fájl</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="50"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="63"/>
<source>Folder</source>
<translation>Mappa</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="51"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="64"/>
<source>Action</source>
<translation>Művelet</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="52"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="65"/>
<source>Size</source>
<translation>Méret</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="72"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="85"/>
<source>Local sync protocol</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="74"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="87"/>
<source>Copy</source>
<translation>Másolás</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="75"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="88"/>
<source>Copy the activity list to the clipboard.</source>
<translation>Az aktivitási lista másolása a vágólapra.</translation>
</message>
@@ -2536,6 +2536,7 @@ It is not advisable to use it.</source>
</message>
<message>
<location filename="../src/gui/settingsdialogmac.cpp" line="152"/>
+ <location filename="../src/gui/settingsdialogmac.cpp" line="211"/>
<source>Account</source>
<translation>Fiók</translation>
</message>
@@ -3191,22 +3192,22 @@ It is not advisable to use it.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1278"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1287"/>
<source>Not allowed because you don&apos;t have permission to add parent folder</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1285"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1294"/>
<source>Not allowed because you don&apos;t have permission to add files in that folder</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1588"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1597"/>
<source>Disk space is low: Downloads that would reduce free space below %1 were skipped.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1595"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1604"/>
<source>There is insufficient space available on the server for some uploads.</source>
<translation type="unfinished"/>
</message>
@@ -3331,54 +3332,54 @@ It is not advisable to use it.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="968"/>
+ <location filename="../src/libsync/syncengine.cpp" line="977"/>
<source>File name contains at least one invalid character</source>
<translation>A fájlnév legalább egy érvénytelen karaktert tartalmaz!</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1204"/>
- <location filename="../src/libsync/syncengine.cpp" line="1244"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1213"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1253"/>
<source>Ignored because of the &quot;choose what to sync&quot; blacklist</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1263"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1272"/>
<source>Not allowed because you don&apos;t have permission to add subfolders to that folder</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1310"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1319"/>
<source>Not allowed to upload this file because it is read-only on the server, restoring</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1326"/>
- <location filename="../src/libsync/syncengine.cpp" line="1345"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1335"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1354"/>
<source>Not allowed to remove, restoring</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1359"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1368"/>
<source>Local files and share folder removed.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1413"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1422"/>
<source>Move not allowed, item restored</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1424"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1433"/>
<source>Move not allowed because %1 is read-only</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1424"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1433"/>
<source>the destination</source>
<translation>a cél</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1424"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1433"/>
<source>the source</source>
<translation>a forrás</translation>
</message>
@@ -3420,17 +3421,17 @@ It is not advisable to use it.</source>
<context>
<name>OCC::ValidateChecksumHeader</name>
<message>
- <location filename="../src/common/checksums.cpp" line="205"/>
+ <location filename="../src/common/checksums.cpp" line="218"/>
<source>The checksum header is malformed.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/common/checksums.cpp" line="220"/>
+ <location filename="../src/common/checksums.cpp" line="233"/>
<source>The checksum header contained an unknown checksum type &apos;%1&apos;</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/common/checksums.cpp" line="224"/>
+ <location filename="../src/common/checksums.cpp" line="237"/>
<source>The downloaded file does not match the checksum, it will be resumed.</source>
<translation type="unfinished"/>
</message>
diff --git a/translations/client_it.ts b/translations/client_it.ts
index 169618012..53d37e6c6 100644
--- a/translations/client_it.ts
+++ b/translations/client_it.ts
@@ -596,7 +596,7 @@
<context>
<name>OCC::CleanupPollsJob</name>
<message>
- <location filename="../src/libsync/owncloudpropagator.cpp" line="990"/>
+ <location filename="../src/libsync/owncloudpropagator.cpp" line="1001"/>
<source>Error writing metadata to the database</source>
<translation>Errore durante la scrittura dei metadati nel database</translation>
</message>
@@ -744,14 +744,14 @@
<translation>Impossibile leggere il file di esclusione di sistema</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="883"/>
+ <location filename="../src/gui/folder.cpp" line="888"/>
<source>A new folder larger than %1 MB has been added: %2.
</source>
<translation>Una nuova cartella più grande di %1 MB è stata aggiunta: %2.
</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="886"/>
+ <location filename="../src/gui/folder.cpp" line="891"/>
<source>A folder from an external storage has been added.
</source>
<translation>Una nuova cartella da un&apos;archiviazione esterna è stata aggiunta.
@@ -759,12 +759,12 @@
</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="887"/>
+ <location filename="../src/gui/folder.cpp" line="892"/>
<source>Please go in the settings to select it if you wish to download it.</source>
<translation>Vai nelle impostazioni e selezionala se vuoi scaricarla.</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="922"/>
+ <location filename="../src/gui/folder.cpp" line="927"/>
<source>All files in the sync folder '%1' folder were deleted on the server.
These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore.
If you decide to keep the files, they will be re-synced with the server if you have rights to do so.
@@ -772,29 +772,29 @@ If you decide to delete the files, they will be unavailable to you, unless you a
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="927"/>
+ <location filename="../src/gui/folder.cpp" line="932"/>
<source>All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored.
Are you sure you want to sync those actions with the server?
If this was an accident and you decide to keep your files, they will be re-synced from the server.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="931"/>
+ <location filename="../src/gui/folder.cpp" line="936"/>
<source>Remove All Files?</source>
<translation>Vuoi rimuovere tutti i file?</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="934"/>
+ <location filename="../src/gui/folder.cpp" line="939"/>
<source>Remove all files</source>
<translation>Rimuovi tutti i file</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="935"/>
+ <location filename="../src/gui/folder.cpp" line="940"/>
<source>Keep files</source>
<translation>Mantieni i file</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="952"/>
+ <location filename="../src/gui/folder.cpp" line="957"/>
<source>This sync would reset the files to an earlier time in the sync folder '%1'.
This might be because a backup was restored on the server.
Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files?</source>
@@ -803,17 +803,17 @@ Ciò potrebbe verificarsi in seguito al ripristino di un backup sul server.
Se continui normalmente la sincronizzazione provocherai la sovrascrittura di tutti i tuoi file con file più datati in uno stato precedente. Vuoi mantenere i tuoi file locali più recenti come file di conflitto?</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="957"/>
+ <location filename="../src/gui/folder.cpp" line="962"/>
<source>Backup detected</source>
<translation>Backup rilevato</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="960"/>
+ <location filename="../src/gui/folder.cpp" line="965"/>
<source>Normal Synchronisation</source>
<translation>Sincronizzazione normale</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="961"/>
+ <location filename="../src/gui/folder.cpp" line="966"/>
<source>Keep Local Files as Conflict</source>
<translation>Mantieni i file locali come conflitto</translation>
</message>
@@ -1287,22 +1287,22 @@ Se continui normalmente la sincronizzazione provocherai la sovrascrittura di tut
<context>
<name>OCC::HttpCredentialsGui</name>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="97"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="98"/>
<source>Please enter %1 password:&lt;br&gt;&lt;br&gt;User: %2&lt;br&gt;Account: %3&lt;br&gt;</source>
<translation>Digita la password di %1:&lt;br&gt;&lt;br&gt;Utente: &apos;%2&lt;br&gt;Account: %3&lt;br&gt;</translation>
</message>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="111"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="112"/>
<source>Reading from keychain failed with error: &apos;%1&apos;</source>
<translation>Lettura dal portachiavi non riuscita con errore: &apos;%1&apos;</translation>
</message>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="117"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="118"/>
<source>Enter Password</source>
<translation>Digita password</translation>
</message>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="154"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="155"/>
<source>&lt;a href=&quot;%1&quot;&gt;Click here&lt;/a&gt; to request an app password from the web interface.</source>
<translation>&lt;a href=&quot;%1&quot;&gt;Fai clic qui&lt;/a&gt; per richiedere una password dell&apos;applicazione dall&apos;interfaccia web.</translation>
</message>
@@ -1424,12 +1424,12 @@ Gli elementi per i quali è consentita l&apos;eliminazione, saranno eliminati se
<translation>Mostra i file ignorati</translation>
</message>
<message>
- <location filename="../src/gui/issueswidget.ui" line="145"/>
+ <location filename="../src/gui/issueswidget.ui" line="148"/>
<source>Copy the issues list to the clipboard.</source>
<translation>Copia la lista dei problemi negli appunti.</translation>
</message>
<message>
- <location filename="../src/gui/issueswidget.ui" line="148"/>
+ <location filename="../src/gui/issueswidget.ui" line="151"/>
<source>Copy</source>
<translation>Copia</translation>
</message>
@@ -1686,7 +1686,7 @@ Gli elementi per i quali è consentita l&apos;eliminazione, saranno eliminati se
<message>
<location filename="../src/gui/creds/oauth.cpp" line="112"/>
<source>Error returned from the server: &lt;em&gt;%1&lt;/em&gt;</source>
- <translation type="unfinished"/>
+ <translation>Messaggio di errore dal server: &lt;em&gt;%1&lt;/em&gt;</translation>
</message>
<message>
<location filename="../src/gui/creds/oauth.cpp" line="115"/>
@@ -1914,144 +1914,144 @@ Non è consigliabile utilizzarlo.</translation>
<context>
<name>OCC::OwncloudSetupWizard</name>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="217"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="250"/>
<source>&lt;font color=&quot;green&quot;&gt;Successfully connected to %1: %2 version %3 (%4)&lt;/font&gt;&lt;br/&gt;&lt;br/&gt;</source>
<translation>&lt;font color=&quot;green&quot;&gt;Connesso correttamente a %1: %2 versione %3 (%4)&lt;/font&gt;&lt;br/&gt;&lt;br/&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="251"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="280"/>
<source>Failed to connect to %1 at %2:&lt;br/&gt;%3</source>
<translation>Connessione a %1 su %2:&lt;br/&gt;%3</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="285"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="314"/>
<source>Timeout while trying to connect to %1 at %2.</source>
<translation>Tempo scaduto durante il tentativo di connessione a %1 su %2.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="296"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="334"/>
<source>Trying to connect to %1 at %2...</source>
<translation>Tentativo di connessione a %1 su %2...</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="347"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="385"/>
<source>The authenticated request to the server was redirected to &apos;%1&apos;. The URL is bad, the server is misconfigured.</source>
<translation>La richiesta autenticata al server è stata rediretta a &apos;%1&apos;. L&apos;URL è errato, il server non è configurato correttamente.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="369"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="407"/>
<source>There was an invalid response to an authenticated webdav request</source>
<translation>Ricevuta una risposta non valida a una richiesta webdav autenticata.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="360"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="398"/>
<source>Access forbidden by server. To verify that you have proper access, &lt;a href=&quot;%1&quot;&gt;click here&lt;/a&gt; to access the service with your browser.</source>
<translation>Accesso negato dal server. Per verificare di avere i permessi appropriati, &lt;a href=&quot;%1&quot;&gt;fai clic qui&lt;/a&gt; per accedere al servizio con il tuo browser.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="249"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="278"/>
<source>Invalid URL</source>
<translation>URL non valido</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="414"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="452"/>
<source>Local sync folder %1 already exists, setting it up for sync.&lt;br/&gt;&lt;br/&gt;</source>
<translation>La cartella di sincronizzazione locale %1 esiste già, impostata per la sincronizzazione.&lt;br/&gt;&lt;br/&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="417"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="455"/>
<source>Creating local sync folder %1...</source>
<translation>Creazione della cartella locale di sincronizzazione %1... </translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="421"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="459"/>
<source>ok</source>
<translation>ok</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="423"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="461"/>
<source>failed.</source>
<translation>non riuscita.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="425"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="463"/>
<source>Could not create local folder %1</source>
<translation>Impossibile creare la cartella locale %1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="451"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="489"/>
<source>No remote folder specified!</source>
<translation>Nessuna cartella remota specificata!</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="457"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="495"/>
<source>Error: %1</source>
<translation>Errore: %1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="470"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="508"/>
<source>creating folder on ownCloud: %1</source>
<translation>creazione cartella su ownCloud: %1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="486"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="524"/>
<source>Remote folder %1 created successfully.</source>
<translation>La cartella remota %1 è stata creata correttamente.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="488"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="526"/>
<source>The remote folder %1 already exists. Connecting it for syncing.</source>
<translation>La cartella remota %1 esiste già. Connessione in corso per la sincronizzazione</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="490"/>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="492"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="528"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="530"/>
<source>The folder creation resulted in HTTP error code %1</source>
<translation>La creazione della cartella ha restituito un codice di errore HTTP %1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="494"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="532"/>
<source>The remote folder creation failed because the provided credentials are wrong!&lt;br/&gt;Please go back and check your credentials.&lt;/p&gt;</source>
<translation>La creazione della cartella remota non è riuscita poiché le credenziali fornite sono errate!&lt;br/&gt;Torna indietro e verifica le credenziali.&lt;/p&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="498"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="536"/>
<source>&lt;p&gt;&lt;font color=&quot;red&quot;&gt;Remote folder creation failed probably because the provided credentials are wrong.&lt;/font&gt;&lt;br/&gt;Please go back and check your credentials.&lt;/p&gt;</source>
<translation>&lt;p&gt;&lt;font color=&quot;red&quot;&gt;La creazione della cartella remota non è riuscita probabilmente perché le credenziali fornite non sono corrette.&lt;/font&gt;&lt;br/&gt;Torna indietro e controlla le credenziali inserite.&lt;/p&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="503"/>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="504"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="541"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="542"/>
<source>Remote folder %1 creation failed with error &lt;tt&gt;%2&lt;/tt&gt;.</source>
<translation>Creazione della cartella remota %1 non riuscita con errore &lt;tt&gt;%2&lt;/tt&gt;.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="521"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="559"/>
<source>A sync connection from %1 to remote directory %2 was set up.</source>
<translation>Una connessione di sincronizzazione da %1 alla cartella remota %2 è stata stabilita.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="526"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="564"/>
<source>Successfully connected to %1!</source>
<translation>Connesso con successo a %1!</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="533"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="571"/>
<source>Connection to %1 could not be established. Please check again.</source>
<translation>La connessione a %1 non può essere stabilita. Prova ancora.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="547"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="585"/>
<source>Folder rename failed</source>
<translation>Rinomina della cartella non riuscita</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="548"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="586"/>
<source>Can&apos;t remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup.</source>
<translation>Impossibile rimuovere o creare una copia di sicurezza della cartella poiché la cartella o un file in essa contenuto è aperta in un altro programma. Chiudi la cartella o il file e premi Riprova o annulla la configurazione.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="593"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="631"/>
<source>&lt;font color=&quot;green&quot;&gt;&lt;b&gt;Local sync folder %1 successfully created!&lt;/b&gt;&lt;/font&gt;</source>
<translation>&lt;font color=&quot;green&quot;&gt;&lt;b&gt;Cartella locale %1 creata correttamente!&lt;/b&gt;&lt;/font&gt;</translation>
</message>
@@ -2098,7 +2098,7 @@ Non è consigliabile utilizzarlo.</translation>
<context>
<name>OCC::PropagateDirectory</name>
<message>
- <location filename="../src/libsync/owncloudpropagator.cpp" line="942"/>
+ <location filename="../src/libsync/owncloudpropagator.cpp" line="953"/>
<source>Error writing metadata to the database</source>
<translation>Errore durante la scrittura dei metadati nel database</translation>
</message>
@@ -2136,17 +2136,17 @@ Non è consigliabile utilizzarlo.</translation>
<translation>Il file scaricato è vuoto nonostante il server indicasse una dimensione di %1.</translation>
</message>
<message>
- <location filename="../src/libsync/propagatedownload.cpp" line="772"/>
+ <location filename="../src/libsync/propagatedownload.cpp" line="775"/>
<source>File %1 cannot be saved because of a local file name clash!</source>
<translation>Il file %1 non può essere salvato a causa di un conflitto con un file locale.</translation>
</message>
<message>
- <location filename="../src/libsync/propagatedownload.cpp" line="820"/>
+ <location filename="../src/libsync/propagatedownload.cpp" line="823"/>
<source>File has changed since discovery</source>
<translation>Il file è stato modificato dal suo rilevamento</translation>
</message>
<message>
- <location filename="../src/libsync/propagatedownload.cpp" line="871"/>
+ <location filename="../src/libsync/propagatedownload.cpp" line="874"/>
<source>Error writing metadata to the database</source>
<translation>Errore durante la scrittura dei metadati nel database</translation>
</message>
@@ -2222,12 +2222,12 @@ Non è consigliabile utilizzarlo.</translation>
<context>
<name>OCC::PropagateRemoteDelete</name>
<message>
- <location filename="../src/libsync/propagateremotedelete.cpp" line="96"/>
+ <location filename="../src/libsync/propagateremotedelete.cpp" line="100"/>
<source>The file has been removed from a read only share. It was restored.</source>
<translation>Il file è stato rimosso da una condivisione in sola lettura. È stato ripristinato.</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotedelete.cpp" line="117"/>
+ <location filename="../src/libsync/propagateremotedelete.cpp" line="121"/>
<source>Wrong HTTP code returned by server. Expected 204, but received &quot;%1 %2&quot;.</source>
<translation>Codice HTTP errato restituito dal server. Atteso 204, ma ricevuto &quot;%1 %2&quot;.</translation>
</message>
@@ -2235,12 +2235,12 @@ Non è consigliabile utilizzarlo.</translation>
<context>
<name>OCC::PropagateRemoteMkdir</name>
<message>
- <location filename="../src/libsync/propagateremotemkdir.cpp" line="95"/>
+ <location filename="../src/libsync/propagateremotemkdir.cpp" line="99"/>
<source>Wrong HTTP code returned by server. Expected 201, but received &quot;%1 %2&quot;.</source>
<translation>Codice HTTP errato restituito dal server. Atteso 201, ma ricevuto &quot;%1 %2&quot;.</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotemkdir.cpp" line="147"/>
+ <location filename="../src/libsync/propagateremotemkdir.cpp" line="151"/>
<source>Error writing metadata to the database</source>
<translation>Errore durante la scrittura dei metadati nel database</translation>
</message>
@@ -2258,18 +2258,18 @@ Non è consigliabile utilizzarlo.</translation>
<translation>Questa cartella non può essere rinominata. Ripristina il nome Shared.</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotemove.cpp" line="137"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="141"/>
<source>The file was renamed but is part of a read only share. The original file was restored.</source>
<translation>Il file è stato rinominato, ma è parte di una condivisione in sola lettura. Il file originale è stato ripristinato.</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotemove.cpp" line="154"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="158"/>
<source>Wrong HTTP code returned by server. Expected 201, but received &quot;%1 %2&quot;.</source>
<translation>Codice HTTP errato restituito dal server. Atteso 201, ma ricevuto &quot;%1 %2&quot;.</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotemove.cpp" line="186"/>
- <location filename="../src/libsync/propagateremotemove.cpp" line="192"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="190"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="196"/>
<source>Error writing metadata to the database</source>
<translation>Errore durante la scrittura dei metadati nel database</translation>
</message>
@@ -2303,7 +2303,7 @@ Non è consigliabile utilizzarlo.</translation>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/propagateupload.cpp" line="618"/>
+ <location filename="../src/libsync/propagateupload.cpp" line="622"/>
<source>Error writing metadata to the database</source>
<translation>Errore durante la scrittura dei metadati nel database</translation>
</message>
@@ -2377,42 +2377,42 @@ Non è consigliabile utilizzarlo.</translation>
<translation>EtichettaTesto</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="48"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="61"/>
<source>Time</source>
<translation>Ora</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="49"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="62"/>
<source>File</source>
<translation>File</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="50"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="63"/>
<source>Folder</source>
<translation>Cartella</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="51"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="64"/>
<source>Action</source>
<translation>Azione</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="52"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="65"/>
<source>Size</source>
<translation>Dimensione</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="72"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="85"/>
<source>Local sync protocol</source>
<translation>Protocollo di sincronizzazione locale</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="74"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="87"/>
<source>Copy</source>
<translation>Copia</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="75"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="88"/>
<source>Copy the activity list to the clipboard.</source>
<translation>Copia l&apos;elenco delle attività negli appunti.</translation>
</message>
@@ -2544,6 +2544,7 @@ Non è consigliabile utilizzarlo.</translation>
</message>
<message>
<location filename="../src/gui/settingsdialogmac.cpp" line="152"/>
+ <location filename="../src/gui/settingsdialogmac.cpp" line="211"/>
<source>Account</source>
<translation>Account</translation>
</message>
@@ -2692,22 +2693,22 @@ Non è consigliabile utilizzarlo.</translation>
<message>
<location filename="../src/gui/sharelinkwidget.cpp" line="91"/>
<source>Link shares have been disabled</source>
- <translation type="unfinished"/>
+ <translation>La condivisione tramite link è stata disabilitata</translation>
</message>
<message>
<location filename="../src/gui/sharelinkwidget.cpp" line="105"/>
<source>Create public link share</source>
- <translation type="unfinished"/>
+ <translation>Crea collegamento pubblico</translation>
</message>
<message>
<location filename="../src/gui/sharelinkwidget.cpp" line="161"/>
<source>Open link in browser</source>
- <translation type="unfinished"/>
+ <translation>Apri collegamento nel browser</translation>
</message>
<message>
<location filename="../src/gui/sharelinkwidget.cpp" line="162"/>
<source>Copy link to clipboard</source>
- <translation type="unfinished"/>
+ <translation>Copia link negli appunti</translation>
</message>
<message>
<location filename="../src/gui/sharelinkwidget.cpp" line="163"/>
@@ -2760,17 +2761,17 @@ Non è consigliabile utilizzarlo.</translation>
<message>
<location filename="../src/gui/shareusergroupwidget.cpp" line="186"/>
<source>The item is not shared with any users or groups</source>
- <translation type="unfinished"/>
+ <translation>L&apos;elemento non è condiviso con nessun utente o gruppo</translation>
</message>
<message>
<location filename="../src/gui/shareusergroupwidget.cpp" line="235"/>
<source>Open link in browser</source>
- <translation type="unfinished"/>
+ <translation>Apri collegamento nel browser</translation>
</message>
<message>
<location filename="../src/gui/shareusergroupwidget.cpp" line="237"/>
<source>Copy link to clipboard</source>
- <translation type="unfinished"/>
+ <translation>Copia link negli appunti</translation>
</message>
<message>
<location filename="../src/gui/shareusergroupwidget.cpp" line="239"/>
@@ -2785,7 +2786,7 @@ Non è consigliabile utilizzarlo.</translation>
<message>
<location filename="../src/gui/shareusergroupwidget.cpp" line="337"/>
<source>I shared something with you</source>
- <translation type="unfinished"/>
+ <translation>Ho condiviso qualcosa con te</translation>
</message>
</context>
<context>
@@ -2878,22 +2879,22 @@ Non è consigliabile utilizzarlo.</translation>
<message>
<location filename="../src/gui/socketapi.cpp" line="555"/>
<source>I shared something with you</source>
- <translation type="unfinished"/>
+ <translation>Ho condiviso qualcosa con te</translation>
</message>
<message>
<location filename="../src/gui/socketapi.cpp" line="563"/>
<source>Share...</source>
- <translation type="unfinished"/>
+ <translation>Condividi...</translation>
</message>
<message>
<location filename="../src/gui/socketapi.cpp" line="565"/>
<source>Copy private link to clipboard</source>
- <translation type="unfinished"/>
+ <translation>Copia link privato negli appunti</translation>
</message>
<message>
<location filename="../src/gui/socketapi.cpp" line="566"/>
<source>Send private link by email...</source>
- <translation type="unfinished"/>
+ <translation>Invia link privato per email</translation>
</message>
</context>
<context>
@@ -3200,22 +3201,22 @@ Non è consigliabile utilizzarlo.</translation>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1278"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1287"/>
<source>Not allowed because you don&apos;t have permission to add parent folder</source>
<translation>Non consentito poiché non disponi dei permessi per aggiungere la cartella superiore</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1285"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1294"/>
<source>Not allowed because you don&apos;t have permission to add files in that folder</source>
<translation>Non consentito poiché non disponi dei permessi per aggiungere file in quella cartella</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1588"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1597"/>
<source>Disk space is low: Downloads that would reduce free space below %1 were skipped.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1595"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1604"/>
<source>There is insufficient space available on the server for some uploads.</source>
<translation type="unfinished"/>
</message>
@@ -3340,54 +3341,54 @@ Non è consigliabile utilizzarlo.</translation>
<translation>Impossibile aprire il registro di sincronizzazione</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="968"/>
+ <location filename="../src/libsync/syncengine.cpp" line="977"/>
<source>File name contains at least one invalid character</source>
<translation>Il nome del file contiene almeno un carattere non valido</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1204"/>
- <location filename="../src/libsync/syncengine.cpp" line="1244"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1213"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1253"/>
<source>Ignored because of the &quot;choose what to sync&quot; blacklist</source>
<translation>Ignorato in base alla lista nera per la scelta di cosa sincronizzare</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1263"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1272"/>
<source>Not allowed because you don&apos;t have permission to add subfolders to that folder</source>
<translation>Non consentito poiché non disponi dei permessi per aggiungere sottocartelle in quella cartella</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1310"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1319"/>
<source>Not allowed to upload this file because it is read-only on the server, restoring</source>
<translation>Il caricamento di questo file non è consentito poiché è in sola lettura sul server, ripristino</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1326"/>
- <location filename="../src/libsync/syncengine.cpp" line="1345"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1335"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1354"/>
<source>Not allowed to remove, restoring</source>
<translation>Rimozione non consentita, ripristino</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1359"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1368"/>
<source>Local files and share folder removed.</source>
<translation>I file locali e la cartella condivisa sono stati rimossi.</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1413"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1422"/>
<source>Move not allowed, item restored</source>
<translation>Spostamento non consentito, elemento ripristinato</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1424"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1433"/>
<source>Move not allowed because %1 is read-only</source>
<translation>Spostamento non consentito poiché %1 è in sola lettura</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1424"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1433"/>
<source>the destination</source>
<translation>la destinazione</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1424"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1433"/>
<source>the source</source>
<translation>l&apos;origine</translation>
</message>
@@ -3429,17 +3430,17 @@ Non è consigliabile utilizzarlo.</translation>
<context>
<name>OCC::ValidateChecksumHeader</name>
<message>
- <location filename="../src/common/checksums.cpp" line="205"/>
+ <location filename="../src/common/checksums.cpp" line="218"/>
<source>The checksum header is malformed.</source>
<translation>L&apos;intestazione del codice di controllo non è valida.</translation>
</message>
<message>
- <location filename="../src/common/checksums.cpp" line="220"/>
+ <location filename="../src/common/checksums.cpp" line="233"/>
<source>The checksum header contained an unknown checksum type &apos;%1&apos;</source>
<translation>L&apos;intestazione di controllo conteneva un tipo di codice di controllo &apos;%1&apos; sconosciuto</translation>
</message>
<message>
- <location filename="../src/common/checksums.cpp" line="224"/>
+ <location filename="../src/common/checksums.cpp" line="237"/>
<source>The downloaded file does not match the checksum, it will be resumed.</source>
<translation>Il file scaricato non verifica il codice di controllo, sarà ripristinato.</translation>
</message>
@@ -3553,7 +3554,7 @@ Non è consigliabile utilizzarlo.</translation>
<message>
<location filename="../src/gui/owncloudgui.cpp" line="240"/>
<source>Disconnected from some accounts</source>
- <translation type="unfinished"/>
+ <translation>Disconnesso da un account</translation>
</message>
<message>
<location filename="../src/gui/owncloudgui.cpp" line="251"/>
@@ -3579,17 +3580,17 @@ Non è consigliabile utilizzarlo.</translation>
<location filename="../src/gui/owncloudgui.cpp" line="273"/>
<location filename="../src/gui/owncloudgui.cpp" line="304"/>
<source>Synchronization is paused</source>
- <translation type="unfinished"/>
+ <translation>La sincronizzazione è in pausa</translation>
</message>
<message>
<location filename="../src/gui/owncloudgui.cpp" line="306"/>
<source>Error during synchronization</source>
- <translation type="unfinished"/>
+ <translation>Errore durante la sincronizzazione</translation>
</message>
<message>
<location filename="../src/gui/owncloudgui.cpp" line="314"/>
<source>No sync folders configured</source>
- <translation type="unfinished"/>
+ <translation>Nessuna cartella configurata per la sincronizzazione</translation>
</message>
<message>
<location filename="../src/gui/owncloudgui.cpp" line="360"/>
@@ -3799,7 +3800,7 @@ Non è consigliabile utilizzarlo.</translation>
<message>
<location filename="../src/gui/wizard/owncloudoauthcredspage.ui" line="46"/>
<source>An error occured while connecting. Please try again.</source>
- <translation type="unfinished"/>
+ <translation>Si è verificato un errore durante la connessione. Prova ancora </translation>
</message>
<message>
<location filename="../src/gui/wizard/owncloudoauthcredspage.ui" line="56"/>
@@ -4131,7 +4132,7 @@ Non è consigliabile utilizzarlo.</translation>
<message>
<location filename="../src/gui/guiutility.cpp" line="33"/>
<source>Could not open browser</source>
- <translation type="unfinished"/>
+ <translation>Impossibile aprire il browser</translation>
</message>
<message>
<location filename="../src/gui/guiutility.cpp" line="34"/>
diff --git a/translations/client_ja.ts b/translations/client_ja.ts
index fb706cf3e..ffff1b8f3 100644
--- a/translations/client_ja.ts
+++ b/translations/client_ja.ts
@@ -596,7 +596,7 @@
<context>
<name>OCC::CleanupPollsJob</name>
<message>
- <location filename="../src/libsync/owncloudpropagator.cpp" line="990"/>
+ <location filename="../src/libsync/owncloudpropagator.cpp" line="1001"/>
<source>Error writing metadata to the database</source>
<translation>メタデータのデータベースへの書き込みに失敗</translation>
</message>
@@ -744,26 +744,26 @@
<translation>システム上の除外ファイルを読み込めません</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="883"/>
+ <location filename="../src/gui/folder.cpp" line="888"/>
<source>A new folder larger than %1 MB has been added: %2.
</source>
<translation>%1 MB より大きな新しいフォルダーが追加されました: %2
</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="886"/>
+ <location filename="../src/gui/folder.cpp" line="891"/>
<source>A folder from an external storage has been added.
</source>
<translation>外部ストレージからフォルダーが追加されました。
</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="887"/>
+ <location filename="../src/gui/folder.cpp" line="892"/>
<source>Please go in the settings to select it if you wish to download it.</source>
<translation>このフォルダーをダウンロードするには設定画面で選択してください。</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="922"/>
+ <location filename="../src/gui/folder.cpp" line="927"/>
<source>All files in the sync folder '%1' folder were deleted on the server.
These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore.
If you decide to keep the files, they will be re-synced with the server if you have rights to do so.
@@ -774,7 +774,7 @@ If you decide to delete the files, they will be unavailable to you, unless you a
「すべてのファイルを削除」を選択すると、あなたが所有者でない限り、ファイルは使用できなくなります。</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="927"/>
+ <location filename="../src/gui/folder.cpp" line="932"/>
<source>All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored.
Are you sure you want to sync those actions with the server?
If this was an accident and you decide to keep your files, they will be re-synced from the server.</source>
@@ -783,39 +783,39 @@ If this was an accident and you decide to keep your files, they will be re-synce
「ファイルを残す」を選択した場合、ファイルはサーバーから再同期されます。</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="931"/>
+ <location filename="../src/gui/folder.cpp" line="936"/>
<source>Remove All Files?</source>
<translation>すべてのファイルを削除しますか?</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="934"/>
+ <location filename="../src/gui/folder.cpp" line="939"/>
<source>Remove all files</source>
<translation>すべてのファイルを削除</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="935"/>
+ <location filename="../src/gui/folder.cpp" line="940"/>
<source>Keep files</source>
<translation>ファイルを残す</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="952"/>
+ <location filename="../src/gui/folder.cpp" line="957"/>
<source>This sync would reset the files to an earlier time in the sync folder '%1'.
This might be because a backup was restored on the server.
Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files?</source>
<translation>この同期により同期フォルダー &apos;%1&apos; のファイルが以前のものに戻されます。 これは、バックアップがサーバー上に復元されたためです。 通常と同じように同期を続けると、すべてのファイルが以前の状態の古いファイルによって上書きされます。最新のローカルファイルを競合ファイルとして保存しますか?</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="957"/>
+ <location filename="../src/gui/folder.cpp" line="962"/>
<source>Backup detected</source>
<translation>バックアップが検出されました</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="960"/>
+ <location filename="../src/gui/folder.cpp" line="965"/>
<source>Normal Synchronisation</source>
<translation>正常同期</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="961"/>
+ <location filename="../src/gui/folder.cpp" line="966"/>
<source>Keep Local Files as Conflict</source>
<translation>コンフリクト時にローカルファイルを保持</translation>
</message>
@@ -1289,22 +1289,22 @@ Continuing the sync as normal will cause all your files to be overwritten by an
<context>
<name>OCC::HttpCredentialsGui</name>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="97"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="98"/>
<source>Please enter %1 password:&lt;br&gt;&lt;br&gt;User: %2&lt;br&gt;Account: %3&lt;br&gt;</source>
<translation>%1 のパスワードを入力してください:&lt;br&gt; &lt;br&gt;ユーザー:%2&lt;br&gt;アカウント:%3&lt;br&gt;</translation>
</message>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="111"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="112"/>
<source>Reading from keychain failed with error: &apos;%1&apos;</source>
<translation>鍵情報の読み込みに失敗しました。エラー: &apos;%1&apos;</translation>
</message>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="117"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="118"/>
<source>Enter Password</source>
<translation>パスワードを入力してください</translation>
</message>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="154"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="155"/>
<source>&lt;a href=&quot;%1&quot;&gt;Click here&lt;/a&gt; to request an app password from the web interface.</source>
<translation>&lt;a href=&quot;%1&quot;&gt;ここをクリック&lt;/a&gt;してウェブインターフェースからアプリパスワードをリクエストしてください。</translation>
</message>
@@ -1426,12 +1426,12 @@ Items where deletion is allowed will be deleted if they prevent a directory from
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/issueswidget.ui" line="145"/>
+ <location filename="../src/gui/issueswidget.ui" line="148"/>
<source>Copy the issues list to the clipboard.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/issueswidget.ui" line="148"/>
+ <location filename="../src/gui/issueswidget.ui" line="151"/>
<source>Copy</source>
<translation>コピー</translation>
</message>
@@ -1915,144 +1915,144 @@ It is not advisable to use it.</source>
<context>
<name>OCC::OwncloudSetupWizard</name>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="217"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="250"/>
<source>&lt;font color=&quot;green&quot;&gt;Successfully connected to %1: %2 version %3 (%4)&lt;/font&gt;&lt;br/&gt;&lt;br/&gt;</source>
<translation>&lt;font color=&quot;green&quot;&gt;正常に %1 へ接続されました:%2 バージョン %3 (%4)&lt;/font&gt;&lt;br/&gt;&lt;br/&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="251"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="280"/>
<source>Failed to connect to %1 at %2:&lt;br/&gt;%3</source>
<translation>%2 の %1 に接続に失敗:&lt;br/&gt;%3</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="285"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="314"/>
<source>Timeout while trying to connect to %1 at %2.</source>
<translation>%2 の %1 へ接続を試みた際にタイムアウトしました。</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="296"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="334"/>
<source>Trying to connect to %1 at %2...</source>
<translation>%2 の %1 へ接続を試みています...</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="347"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="385"/>
<source>The authenticated request to the server was redirected to &apos;%1&apos;. The URL is bad, the server is misconfigured.</source>
<translation>サーバーへの認証リクエストは &apos;%1&apos; へリダイレクトされました。URLは不正です、サーバーの設定に誤りがあります。</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="369"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="407"/>
<source>There was an invalid response to an authenticated webdav request</source>
<translation>認証された WebDav リクエストに不正な応答がありました</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="360"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="398"/>
<source>Access forbidden by server. To verify that you have proper access, &lt;a href=&quot;%1&quot;&gt;click here&lt;/a&gt; to access the service with your browser.</source>
<translation>サーバーによってアクセスが拒否されています。適切なアクセス権があるか検証するには、&lt;a href=&quot;%1&quot;&gt;ここをクリック&lt;/a&gt;してブラウザーでサービスにアクセスしてください。</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="249"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="278"/>
<source>Invalid URL</source>
<translation>無効なURL</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="414"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="452"/>
<source>Local sync folder %1 already exists, setting it up for sync.&lt;br/&gt;&lt;br/&gt;</source>
<translation>ローカルの同期フォルダー %1 はすでに存在するため、同期の設定をしてください。&lt;br/&gt;&lt;br/&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="417"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="455"/>
<source>Creating local sync folder %1...</source>
<translation>ローカル同期フォルダー %1 を作成中...</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="421"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="459"/>
<source>ok</source>
<translation>OK</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="423"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="461"/>
<source>failed.</source>
<translation>失敗。</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="425"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="463"/>
<source>Could not create local folder %1</source>
<translation>ローカルフォルダー %1 を作成できませんでした</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="451"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="489"/>
<source>No remote folder specified!</source>
<translation>リモートフォルダーが指定されていません!</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="457"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="495"/>
<source>Error: %1</source>
<translation>エラー: %1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="470"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="508"/>
<source>creating folder on ownCloud: %1</source>
<translation>ownCloud上にフォルダーを作成中: %1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="486"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="524"/>
<source>Remote folder %1 created successfully.</source>
<translation>リモートフォルダー %1 は正常に生成されました。</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="488"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="526"/>
<source>The remote folder %1 already exists. Connecting it for syncing.</source>
<translation>リモートフォルダー %1 はすでに存在します。同期のために接続しています。</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="490"/>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="492"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="528"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="530"/>
<source>The folder creation resulted in HTTP error code %1</source>
<translation>フォルダーの作成はHTTPのエラーコード %1 で終了しました</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="494"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="532"/>
<source>The remote folder creation failed because the provided credentials are wrong!&lt;br/&gt;Please go back and check your credentials.&lt;/p&gt;</source>
<translation>指定された資格情報が間違っているため、リモートフォルダーの作成に失敗しました!&lt;br/&gt;前に戻って資格情報を確認してください。&lt;/p&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="498"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="536"/>
<source>&lt;p&gt;&lt;font color=&quot;red&quot;&gt;Remote folder creation failed probably because the provided credentials are wrong.&lt;/font&gt;&lt;br/&gt;Please go back and check your credentials.&lt;/p&gt;</source>
<translation>&lt;p&gt;&lt;font color=&quot;red&quot;&gt;おそらく資格情報が間違っているため、リモートフォルダーの作成に失敗しました。&lt;/font&gt;&lt;br/&gt;前に戻り、資格情報をチェックしてください。&lt;/p&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="503"/>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="504"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="541"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="542"/>
<source>Remote folder %1 creation failed with error &lt;tt&gt;%2&lt;/tt&gt;.</source>
<translation>リモートフォルダー %1 の作成がエラーで失敗しました。&lt;tt&gt;%2&lt;/tt&gt;.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="521"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="559"/>
<source>A sync connection from %1 to remote directory %2 was set up.</source>
<translation>%1 からリモートディレクトリ %2 への同期接続を設定しました。</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="526"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="564"/>
<source>Successfully connected to %1!</source>
<translation>%1への接続に成功しました!</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="533"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="571"/>
<source>Connection to %1 could not be established. Please check again.</source>
<translation>%1 への接続を確立できませんでした。もう一度確認してください。</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="547"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="585"/>
<source>Folder rename failed</source>
<translation>フォルダー名の変更に失敗しました。</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="548"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="586"/>
<source>Can&apos;t remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup.</source>
<translation>フォルダーまたはその中にあるファイルが他のプログラムで開かれているため、フォルダーの削除やバックアップができません。フォルダーまたはファイルを閉じてから再試行するか、セットアップをキャンセルしてください。</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="593"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="631"/>
<source>&lt;font color=&quot;green&quot;&gt;&lt;b&gt;Local sync folder %1 successfully created!&lt;/b&gt;&lt;/font&gt;</source>
<translation>&lt;font color=&quot;green&quot;&gt;&lt;b&gt;ローカルの同期フォルダー %1 は正常に作成されました!&lt;/b&gt;&lt;/font&gt;</translation>
</message>
@@ -2099,7 +2099,7 @@ It is not advisable to use it.</source>
<context>
<name>OCC::PropagateDirectory</name>
<message>
- <location filename="../src/libsync/owncloudpropagator.cpp" line="942"/>
+ <location filename="../src/libsync/owncloudpropagator.cpp" line="953"/>
<source>Error writing metadata to the database</source>
<translation>メタデータのデータベースへの書き込みに失敗</translation>
</message>
@@ -2137,17 +2137,17 @@ It is not advisable to use it.</source>
<translation>サーバーが通知しているファイルは %1 であるべきですが、ダウンロードファイルは空でした。</translation>
</message>
<message>
- <location filename="../src/libsync/propagatedownload.cpp" line="772"/>
+ <location filename="../src/libsync/propagatedownload.cpp" line="775"/>
<source>File %1 cannot be saved because of a local file name clash!</source>
<translation>%1 はローカルファイル名が衝突しているため保存できません!</translation>
</message>
<message>
- <location filename="../src/libsync/propagatedownload.cpp" line="820"/>
+ <location filename="../src/libsync/propagatedownload.cpp" line="823"/>
<source>File has changed since discovery</source>
<translation>ファイルは発見以降に変更されました</translation>
</message>
<message>
- <location filename="../src/libsync/propagatedownload.cpp" line="871"/>
+ <location filename="../src/libsync/propagatedownload.cpp" line="874"/>
<source>Error writing metadata to the database</source>
<translation>メタデータのデータベースへの書き込みに失敗</translation>
</message>
@@ -2223,12 +2223,12 @@ It is not advisable to use it.</source>
<context>
<name>OCC::PropagateRemoteDelete</name>
<message>
- <location filename="../src/libsync/propagateremotedelete.cpp" line="96"/>
+ <location filename="../src/libsync/propagateremotedelete.cpp" line="100"/>
<source>The file has been removed from a read only share. It was restored.</source>
<translation>ファイルが読み込み専用の共有から削除されました。ファイルは復元されました。</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotedelete.cpp" line="117"/>
+ <location filename="../src/libsync/propagateremotedelete.cpp" line="121"/>
<source>Wrong HTTP code returned by server. Expected 204, but received &quot;%1 %2&quot;.</source>
<translation>誤ったHTTPコードがサーバーから返されました。204のはずが、&quot;%1 %2&quot;が返りました。</translation>
</message>
@@ -2236,12 +2236,12 @@ It is not advisable to use it.</source>
<context>
<name>OCC::PropagateRemoteMkdir</name>
<message>
- <location filename="../src/libsync/propagateremotemkdir.cpp" line="95"/>
+ <location filename="../src/libsync/propagateremotemkdir.cpp" line="99"/>
<source>Wrong HTTP code returned by server. Expected 201, but received &quot;%1 %2&quot;.</source>
<translation>誤ったHTTPコードがサーバーから返されました。201のはずが、&quot;%1 %2&quot;が返りました。</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotemkdir.cpp" line="147"/>
+ <location filename="../src/libsync/propagateremotemkdir.cpp" line="151"/>
<source>Error writing metadata to the database</source>
<translation>メタデータのデータベースへの書き込みに失敗</translation>
</message>
@@ -2259,18 +2259,18 @@ It is not advisable to use it.</source>
<translation>このフォルダー名は変更できません。名前を Shared に戻してください。</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotemove.cpp" line="137"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="141"/>
<source>The file was renamed but is part of a read only share. The original file was restored.</source>
<translation>ファイルの名前が変更されましたが、読み込み専用の共有の一部です。オリジナルのファイルが復元されました。</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotemove.cpp" line="154"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="158"/>
<source>Wrong HTTP code returned by server. Expected 201, but received &quot;%1 %2&quot;.</source>
<translation>誤ったHTTPコードがサーバーから返されました。201のはずが、&quot;%1 %2&quot;が返りました。</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotemove.cpp" line="186"/>
- <location filename="../src/libsync/propagateremotemove.cpp" line="192"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="190"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="196"/>
<source>Error writing metadata to the database</source>
<translation>メタデータのデータベースへの書き込みに失敗</translation>
</message>
@@ -2304,7 +2304,7 @@ It is not advisable to use it.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/propagateupload.cpp" line="618"/>
+ <location filename="../src/libsync/propagateupload.cpp" line="622"/>
<source>Error writing metadata to the database</source>
<translation>メタデータのデータベースへの書き込みに失敗</translation>
</message>
@@ -2378,42 +2378,42 @@ It is not advisable to use it.</source>
<translation>テキストラベル</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="48"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="61"/>
<source>Time</source>
<translation>時刻</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="49"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="62"/>
<source>File</source>
<translation>ファイル</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="50"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="63"/>
<source>Folder</source>
<translation>フォルダー</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="51"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="64"/>
<source>Action</source>
<translation>アクション</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="52"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="65"/>
<source>Size</source>
<translation>サイズ</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="72"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="85"/>
<source>Local sync protocol</source>
<translation>ローカルファイル同期状況</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="74"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="87"/>
<source>Copy</source>
<translation>コピー</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="75"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="88"/>
<source>Copy the activity list to the clipboard.</source>
<translation>アクティビティ一覧をコピーする</translation>
</message>
@@ -2545,6 +2545,7 @@ It is not advisable to use it.</source>
</message>
<message>
<location filename="../src/gui/settingsdialogmac.cpp" line="152"/>
+ <location filename="../src/gui/settingsdialogmac.cpp" line="211"/>
<source>Account</source>
<translation>アカウント</translation>
</message>
@@ -3201,22 +3202,22 @@ It is not advisable to use it.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1278"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1287"/>
<source>Not allowed because you don&apos;t have permission to add parent folder</source>
<translation>親フォルダーを追加する権限がありません</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1285"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1294"/>
<source>Not allowed because you don&apos;t have permission to add files in that folder</source>
<translation>そのフォルダーにファイルを追加する権限がありません</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1588"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1597"/>
<source>Disk space is low: Downloads that would reduce free space below %1 were skipped.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1595"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1604"/>
<source>There is insufficient space available on the server for some uploads.</source>
<translation type="unfinished"/>
</message>
@@ -3341,54 +3342,54 @@ It is not advisable to use it.</source>
<translation>同期ジャーナルを開くことができません</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="968"/>
+ <location filename="../src/libsync/syncengine.cpp" line="977"/>
<source>File name contains at least one invalid character</source>
<translation>ファイル名に1文字以上の無効な文字が含まれています</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1204"/>
- <location filename="../src/libsync/syncengine.cpp" line="1244"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1213"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1253"/>
<source>Ignored because of the &quot;choose what to sync&quot; blacklist</source>
<translation>&quot;同期対象先&quot; ブラックリストにより無視されました。</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1263"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1272"/>
<source>Not allowed because you don&apos;t have permission to add subfolders to that folder</source>
<translation>そのフォルダーにサブフォルダーを追加する権限がありません</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1310"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1319"/>
<source>Not allowed to upload this file because it is read-only on the server, restoring</source>
<translation>サーバーでは読み取り専用となっているため、このファイルをアップロードすることはできません、復元しています</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1326"/>
- <location filename="../src/libsync/syncengine.cpp" line="1345"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1335"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1354"/>
<source>Not allowed to remove, restoring</source>
<translation>削除できないので復元しています</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1359"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1368"/>
<source>Local files and share folder removed.</source>
<translation>ローカルファイルと共有フォルダーを削除しました。</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1413"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1422"/>
<source>Move not allowed, item restored</source>
<translation>移動できないので項目を復元しました</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1424"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1433"/>
<source>Move not allowed because %1 is read-only</source>
<translation>%1 は読み取り専用のため移動できません</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1424"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1433"/>
<source>the destination</source>
<translation>移動先</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1424"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1433"/>
<source>the source</source>
<translation>移動元</translation>
</message>
@@ -3430,17 +3431,17 @@ It is not advisable to use it.</source>
<context>
<name>OCC::ValidateChecksumHeader</name>
<message>
- <location filename="../src/common/checksums.cpp" line="205"/>
+ <location filename="../src/common/checksums.cpp" line="218"/>
<source>The checksum header is malformed.</source>
<translation>ヘッダーのチェックサムが異常です。</translation>
</message>
<message>
- <location filename="../src/common/checksums.cpp" line="220"/>
+ <location filename="../src/common/checksums.cpp" line="233"/>
<source>The checksum header contained an unknown checksum type &apos;%1&apos;</source>
<translation>チェックサムヘッダーに &apos;%1&apos; という未知のチェックサムが含まれていました</translation>
</message>
<message>
- <location filename="../src/common/checksums.cpp" line="224"/>
+ <location filename="../src/common/checksums.cpp" line="237"/>
<source>The downloaded file does not match the checksum, it will be resumed.</source>
<translation>ダウンロードしたファイルがチェックサムエラーです。再ダウンロードします。</translation>
</message>
diff --git a/translations/client_nb_NO.ts b/translations/client_nb_NO.ts
index 0fcd1fca0..3dcda3d38 100644
--- a/translations/client_nb_NO.ts
+++ b/translations/client_nb_NO.ts
@@ -596,7 +596,7 @@
<context>
<name>OCC::CleanupPollsJob</name>
<message>
- <location filename="../src/libsync/owncloudpropagator.cpp" line="990"/>
+ <location filename="../src/libsync/owncloudpropagator.cpp" line="1001"/>
<source>Error writing metadata to the database</source>
<translation>Feil ved skriving av metadata til databasen</translation>
</message>
@@ -744,25 +744,25 @@
<translation>Klarte ikke å lese systemets ekskluderingsfil</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="883"/>
+ <location filename="../src/gui/folder.cpp" line="888"/>
<source>A new folder larger than %1 MB has been added: %2.
</source>
<translation>En ny mappe større enn %1 MB er blitt lagt til: %2.</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="886"/>
+ <location filename="../src/gui/folder.cpp" line="891"/>
<source>A folder from an external storage has been added.
</source>
<translation>En mappe fra et eksternt lager er blitt lagt til.
</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="887"/>
+ <location filename="../src/gui/folder.cpp" line="892"/>
<source>Please go in the settings to select it if you wish to download it.</source>
<translation>Gå til Innstillinger og velg den hvis du ønsker å laste den ned.</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="922"/>
+ <location filename="../src/gui/folder.cpp" line="927"/>
<source>All files in the sync folder '%1' folder were deleted on the server.
These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore.
If you decide to keep the files, they will be re-synced with the server if you have rights to do so.
@@ -773,7 +773,7 @@ Hvis du velger å beholde filene, vil de bli synkronisert tilbake til serveren h
Hvis du velger å slette filene, blir de utilgjengelige for deg hvis du ikke er eieren av filen.</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="927"/>
+ <location filename="../src/gui/folder.cpp" line="932"/>
<source>All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored.
Are you sure you want to sync those actions with the server?
If this was an accident and you decide to keep your files, they will be re-synced from the server.</source>
@@ -782,22 +782,22 @@ Er du sikker på at du ønsker å synkronisere denne handlingen med serveren?
Hvis det var et uhell og du velger å beholde filene, vil de bli synkronisert tilbake fra serveren.</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="931"/>
+ <location filename="../src/gui/folder.cpp" line="936"/>
<source>Remove All Files?</source>
<translation>Fjerne alle filer?</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="934"/>
+ <location filename="../src/gui/folder.cpp" line="939"/>
<source>Remove all files</source>
<translation>Fjern alle filer</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="935"/>
+ <location filename="../src/gui/folder.cpp" line="940"/>
<source>Keep files</source>
<translation>Behold filer</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="952"/>
+ <location filename="../src/gui/folder.cpp" line="957"/>
<source>This sync would reset the files to an earlier time in the sync folder '%1'.
This might be because a backup was restored on the server.
Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files?</source>
@@ -806,17 +806,17 @@ Dette kan være fordi en backup ble gjenopprettet på serveren.
Hvis synkroniseringen fortsetter som normalt, vil alle filene dine bli overskrevet av en eldre fil i en tidligere tilstand. Ønsker du å beholde dine ferskeste lokale filer som konflikt-filer?</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="957"/>
+ <location filename="../src/gui/folder.cpp" line="962"/>
<source>Backup detected</source>
<translation>Backup oppdaget</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="960"/>
+ <location filename="../src/gui/folder.cpp" line="965"/>
<source>Normal Synchronisation</source>
<translation>Normal synkronisering</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="961"/>
+ <location filename="../src/gui/folder.cpp" line="966"/>
<source>Keep Local Files as Conflict</source>
<translation>Behold lokale filer som konflikt</translation>
</message>
@@ -1290,22 +1290,22 @@ Hvis synkroniseringen fortsetter som normalt, vil alle filene dine bli overskrev
<context>
<name>OCC::HttpCredentialsGui</name>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="97"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="98"/>
<source>Please enter %1 password:&lt;br&gt;&lt;br&gt;User: %2&lt;br&gt;Account: %3&lt;br&gt;</source>
<translation>Legg inn %1-passord:&lt;br&gt;&lt;br&gt;Bruker: %2&lt;br&gt;Konto: %3&lt;br&gt;</translation>
</message>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="111"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="112"/>
<source>Reading from keychain failed with error: &apos;%1&apos;</source>
<translation>Lesing fra nøkkelring feilet med feil: &apos;%1&apos;</translation>
</message>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="117"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="118"/>
<source>Enter Password</source>
<translation>Legg inn passord</translation>
</message>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="154"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="155"/>
<source>&lt;a href=&quot;%1&quot;&gt;Click here&lt;/a&gt; to request an app password from the web interface.</source>
<translation>&lt;a href=&quot;%1&quot;&gt;Klikk her&lt;/a&gt; for å be om et app-passord fra web-grensesnittet.</translation>
</message>
@@ -1427,12 +1427,12 @@ Elementer hvor sletting er tillatt, vil bli slettet hvis de forhindrer fjerning
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/issueswidget.ui" line="145"/>
+ <location filename="../src/gui/issueswidget.ui" line="148"/>
<source>Copy the issues list to the clipboard.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/issueswidget.ui" line="148"/>
+ <location filename="../src/gui/issueswidget.ui" line="151"/>
<source>Copy</source>
<translation>Kopier</translation>
</message>
@@ -1918,144 +1918,144 @@ Det er ikke tilrådelig å bruke den.</translation>
<context>
<name>OCC::OwncloudSetupWizard</name>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="217"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="250"/>
<source>&lt;font color=&quot;green&quot;&gt;Successfully connected to %1: %2 version %3 (%4)&lt;/font&gt;&lt;br/&gt;&lt;br/&gt;</source>
<translation>&lt;font color=&quot;green&quot;&gt;Vellykket oppkobling mot %1: %2 versjon %3 (%4)&lt;/font&gt;&lt;br/&gt;&lt;br/&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="251"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="280"/>
<source>Failed to connect to %1 at %2:&lt;br/&gt;%3</source>
<translation>Klarte ikke å koble til %1 på %2:&lt;br/&gt;%3</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="285"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="314"/>
<source>Timeout while trying to connect to %1 at %2.</source>
<translation>Tidsavbrudd ved oppkobling mot %1 på %2.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="296"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="334"/>
<source>Trying to connect to %1 at %2...</source>
<translation>Prøver å koble til %1 på %2...</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="347"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="385"/>
<source>The authenticated request to the server was redirected to &apos;%1&apos;. The URL is bad, the server is misconfigured.</source>
<translation>Autentisert forespørsel til serveren ble omdirigert til &apos;%1&apos;. URL-en er ugyldig, serveren er feilkonfigurert.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="369"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="407"/>
<source>There was an invalid response to an authenticated webdav request</source>
<translation>Det kom et uventet svar fra en autentisert webdav-forespørsel.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="360"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="398"/>
<source>Access forbidden by server. To verify that you have proper access, &lt;a href=&quot;%1&quot;&gt;click here&lt;/a&gt; to access the service with your browser.</source>
<translation>Tilgang forbudt av serveren. For å sjekke om du har gyldig tilgang, &lt;a href=&quot;%1&quot;&gt;klikk her&lt;/a&gt; for å aksessere tjenesten med nettleseren din.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="249"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="278"/>
<source>Invalid URL</source>
<translation>Ugyldig URL</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="414"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="452"/>
<source>Local sync folder %1 already exists, setting it up for sync.&lt;br/&gt;&lt;br/&gt;</source>
<translation>Lokal synkroniseringsmappe %1 finnes allerede. Setter den opp for synkronisering.&lt;br/&gt;&lt;br/&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="417"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="455"/>
<source>Creating local sync folder %1...</source>
<translation>Oppretter lokal synkroniseringsmappe %1...</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="421"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="459"/>
<source>ok</source>
<translation>ok</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="423"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="461"/>
<source>failed.</source>
<translation>feilet.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="425"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="463"/>
<source>Could not create local folder %1</source>
<translation>Klarte ikke å opprette lokal mappe %1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="451"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="489"/>
<source>No remote folder specified!</source>
<translation>Ingen ekstern mappe spesifisert!</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="457"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="495"/>
<source>Error: %1</source>
<translation>Feil: %1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="470"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="508"/>
<source>creating folder on ownCloud: %1</source>
<translation>oppretter mappe på ownCloud: %1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="486"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="524"/>
<source>Remote folder %1 created successfully.</source>
<translation>Ekstern mappe %1 ble opprettet.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="488"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="526"/>
<source>The remote folder %1 already exists. Connecting it for syncing.</source>
<translation>Ekstern mappe %1 finnes allerede. Kobler den til for synkronisering.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="490"/>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="492"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="528"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="530"/>
<source>The folder creation resulted in HTTP error code %1</source>
<translation>Oppretting av mappe resulterte i HTTP-feilkode %1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="494"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="532"/>
<source>The remote folder creation failed because the provided credentials are wrong!&lt;br/&gt;Please go back and check your credentials.&lt;/p&gt;</source>
<translation>Oppretting av ekstern mappe feilet fordi påloggingsinformasjonen er feil!&lt;br/&gt;Gå tilbake og sjekk brukernavnet og passordet ditt.&lt;/p&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="498"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="536"/>
<source>&lt;p&gt;&lt;font color=&quot;red&quot;&gt;Remote folder creation failed probably because the provided credentials are wrong.&lt;/font&gt;&lt;br/&gt;Please go back and check your credentials.&lt;/p&gt;</source>
<translation>&lt;p&gt;&lt;font color=&quot;red&quot;&gt;Oppretting av ekstern mappe feilet, sannsynligvis fordi oppgitt påloggingsinformasjon er feil.&lt;/font&gt;&lt;br/&gt;Vennligst gå tilbake og sjekk ditt brukernavn og passord.&lt;/p&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="503"/>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="504"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="541"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="542"/>
<source>Remote folder %1 creation failed with error &lt;tt&gt;%2&lt;/tt&gt;.</source>
<translation>Oppretting av ekstern mappe %1 feilet med feil &lt;tt&gt;%2&lt;/tt&gt;.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="521"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="559"/>
<source>A sync connection from %1 to remote directory %2 was set up.</source>
<translation>En synkroniseringsforbindelse fra %1 til ekstern mappe %2 ble satt opp.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="526"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="564"/>
<source>Successfully connected to %1!</source>
<translation>Forbindelse til %1 opprettet!</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="533"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="571"/>
<source>Connection to %1 could not be established. Please check again.</source>
<translation>Klarte ikke å etablere forbindelse til %1. Sjekk igjen.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="547"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="585"/>
<source>Folder rename failed</source>
<translation>Omdøping av mappe feilet</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="548"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="586"/>
<source>Can&apos;t remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup.</source>
<translation>Kan ikke fjerne og sikkerhetskopiere mappen fordi mappen eller en fil i mappen er åpen i et annet program. Lukk mappen eller filen og prøv igjen, eller avbryt oppsettet.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="593"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="631"/>
<source>&lt;font color=&quot;green&quot;&gt;&lt;b&gt;Local sync folder %1 successfully created!&lt;/b&gt;&lt;/font&gt;</source>
<translation>&lt;font color=&quot;green&quot;&gt;&lt;b&gt;Oppretting av lokal synkroniseringsmappe %1 vellykket!&lt;/b&gt;&lt;/font&gt;</translation>
</message>
@@ -2102,7 +2102,7 @@ Det er ikke tilrådelig å bruke den.</translation>
<context>
<name>OCC::PropagateDirectory</name>
<message>
- <location filename="../src/libsync/owncloudpropagator.cpp" line="942"/>
+ <location filename="../src/libsync/owncloudpropagator.cpp" line="953"/>
<source>Error writing metadata to the database</source>
<translation>Feil ved skriving av metadata til databasen</translation>
</message>
@@ -2140,17 +2140,17 @@ Det er ikke tilrådelig å bruke den.</translation>
<translation>Nedlastet fil er tom, selv om serveren annonserte at den skulle være %1.</translation>
</message>
<message>
- <location filename="../src/libsync/propagatedownload.cpp" line="772"/>
+ <location filename="../src/libsync/propagatedownload.cpp" line="775"/>
<source>File %1 cannot be saved because of a local file name clash!</source>
<translation>Fil %1 kan ikke lagres på grunn av lokal konflikt med filnavn.</translation>
</message>
<message>
- <location filename="../src/libsync/propagatedownload.cpp" line="820"/>
+ <location filename="../src/libsync/propagatedownload.cpp" line="823"/>
<source>File has changed since discovery</source>
<translation>Filen er endret siden den ble oppdaget</translation>
</message>
<message>
- <location filename="../src/libsync/propagatedownload.cpp" line="871"/>
+ <location filename="../src/libsync/propagatedownload.cpp" line="874"/>
<source>Error writing metadata to the database</source>
<translation>Feil ved skriving av metadata til databasen</translation>
</message>
@@ -2226,12 +2226,12 @@ Det er ikke tilrådelig å bruke den.</translation>
<context>
<name>OCC::PropagateRemoteDelete</name>
<message>
- <location filename="../src/libsync/propagateremotedelete.cpp" line="96"/>
+ <location filename="../src/libsync/propagateremotedelete.cpp" line="100"/>
<source>The file has been removed from a read only share. It was restored.</source>
<translation>Filen er blitt fjernet fra en deling med lesetilgang. Den ble gjenopprettet.</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotedelete.cpp" line="117"/>
+ <location filename="../src/libsync/propagateremotedelete.cpp" line="121"/>
<source>Wrong HTTP code returned by server. Expected 204, but received &quot;%1 %2&quot;.</source>
<translation>Feil HTTP-kode returnert fra server. Ventet 204, men mottok &quot;%1 %2&quot;.</translation>
</message>
@@ -2239,12 +2239,12 @@ Det er ikke tilrådelig å bruke den.</translation>
<context>
<name>OCC::PropagateRemoteMkdir</name>
<message>
- <location filename="../src/libsync/propagateremotemkdir.cpp" line="95"/>
+ <location filename="../src/libsync/propagateremotemkdir.cpp" line="99"/>
<source>Wrong HTTP code returned by server. Expected 201, but received &quot;%1 %2&quot;.</source>
<translation>Feil HTTP-kode returnert fra server. Ventet 201, men mottok &quot;%1 %2&quot;.</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotemkdir.cpp" line="147"/>
+ <location filename="../src/libsync/propagateremotemkdir.cpp" line="151"/>
<source>Error writing metadata to the database</source>
<translation>Feil ved skriving av metadata til databasen</translation>
</message>
@@ -2262,18 +2262,18 @@ Det er ikke tilrådelig å bruke den.</translation>
<translation>Denne mappen må ikke omdøpes. Vennligst omdøp den tilbake til Shared.</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotemove.cpp" line="137"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="141"/>
<source>The file was renamed but is part of a read only share. The original file was restored.</source>
<translation>Filen ble gitt nytt navn mer er en del av en deling med lesetilgang. Den opprinnelige filen ble gjenopprettet.</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotemove.cpp" line="154"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="158"/>
<source>Wrong HTTP code returned by server. Expected 201, but received &quot;%1 %2&quot;.</source>
<translation>Feil HTTP-kode returnert fra server. Ventet 201, men mottok &quot;%1 %2&quot;.</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotemove.cpp" line="186"/>
- <location filename="../src/libsync/propagateremotemove.cpp" line="192"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="190"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="196"/>
<source>Error writing metadata to the database</source>
<translation>Feil ved skriving av metadata til databasen</translation>
</message>
@@ -2307,7 +2307,7 @@ Det er ikke tilrådelig å bruke den.</translation>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/propagateupload.cpp" line="618"/>
+ <location filename="../src/libsync/propagateupload.cpp" line="622"/>
<source>Error writing metadata to the database</source>
<translation>Feil ved skriving av metadata til databasen</translation>
</message>
@@ -2381,42 +2381,42 @@ Det er ikke tilrådelig å bruke den.</translation>
<translation>Tekst-etikett</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="48"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="61"/>
<source>Time</source>
<translation>Tid</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="49"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="62"/>
<source>File</source>
<translation>Fil</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="50"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="63"/>
<source>Folder</source>
<translation>Mappe</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="51"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="64"/>
<source>Action</source>
<translation>Handling</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="52"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="65"/>
<source>Size</source>
<translation>Størrelse</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="72"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="85"/>
<source>Local sync protocol</source>
<translation>Lokal synkroniseringsprotokoll</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="74"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="87"/>
<source>Copy</source>
<translation>Kopier</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="75"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="88"/>
<source>Copy the activity list to the clipboard.</source>
<translation>Kopier aktivitetslisten til utklippstavlen.</translation>
</message>
@@ -2548,6 +2548,7 @@ Det er ikke tilrådelig å bruke den.</translation>
</message>
<message>
<location filename="../src/gui/settingsdialogmac.cpp" line="152"/>
+ <location filename="../src/gui/settingsdialogmac.cpp" line="211"/>
<source>Account</source>
<translation>Konto</translation>
</message>
@@ -3204,22 +3205,22 @@ Det er ikke tilrådelig å bruke den.</translation>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1278"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1287"/>
<source>Not allowed because you don&apos;t have permission to add parent folder</source>
<translation>Ikke tillatt fordi du ikke har lov til å legge til foreldremappe</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1285"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1294"/>
<source>Not allowed because you don&apos;t have permission to add files in that folder</source>
<translation>Ikke tillatt fordi du ikke har lov til å opprette filer i den mappen</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1588"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1597"/>
<source>Disk space is low: Downloads that would reduce free space below %1 were skipped.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1595"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1604"/>
<source>There is insufficient space available on the server for some uploads.</source>
<translation type="unfinished"/>
</message>
@@ -3344,54 +3345,54 @@ Det er ikke tilrådelig å bruke den.</translation>
<translation>Kan ikke åpne synkroniseringsjournalen</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="968"/>
+ <location filename="../src/libsync/syncengine.cpp" line="977"/>
<source>File name contains at least one invalid character</source>
<translation>Filnavnet inneholder minst ett ulovlig tegn</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1204"/>
- <location filename="../src/libsync/syncengine.cpp" line="1244"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1213"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1253"/>
<source>Ignored because of the &quot;choose what to sync&quot; blacklist</source>
<translation>Ignorert på grunn av svartelisten &quot;velg hva som skal synkroniseres&quot;</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1263"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1272"/>
<source>Not allowed because you don&apos;t have permission to add subfolders to that folder</source>
<translation>Ikke tillatt fordi du ikke har lov til å lage undermapper i den mappen</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1310"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1319"/>
<source>Not allowed to upload this file because it is read-only on the server, restoring</source>
<translation>Ikke tillatt å laste opp denne filenfordi den er skrivebeskyttet på serveren, gjenoppretter</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1326"/>
- <location filename="../src/libsync/syncengine.cpp" line="1345"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1335"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1354"/>
<source>Not allowed to remove, restoring</source>
<translation>Ikke tillatt å fjerne, gjenoppretter</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1359"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1368"/>
<source>Local files and share folder removed.</source>
<translation>Lokale filer og delingsmappe fjernet.</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1413"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1422"/>
<source>Move not allowed, item restored</source>
<translation>Flytting ikke tillatt, element gjenopprettet</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1424"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1433"/>
<source>Move not allowed because %1 is read-only</source>
<translation>Flytting ikke tillatt fordi %1 er skrivebeskyttet</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1424"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1433"/>
<source>the destination</source>
<translation>målet</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1424"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1433"/>
<source>the source</source>
<translation>kilden</translation>
</message>
@@ -3433,17 +3434,17 @@ Det er ikke tilrådelig å bruke den.</translation>
<context>
<name>OCC::ValidateChecksumHeader</name>
<message>
- <location filename="../src/common/checksums.cpp" line="205"/>
+ <location filename="../src/common/checksums.cpp" line="218"/>
<source>The checksum header is malformed.</source>
<translation>Sjekksum-headeren har feil format.</translation>
</message>
<message>
- <location filename="../src/common/checksums.cpp" line="220"/>
+ <location filename="../src/common/checksums.cpp" line="233"/>
<source>The checksum header contained an unknown checksum type &apos;%1&apos;</source>
<translation>Sjekksum-header inneholdt ukjent sjekksum-type &apos;%1&apos;</translation>
</message>
<message>
- <location filename="../src/common/checksums.cpp" line="224"/>
+ <location filename="../src/common/checksums.cpp" line="237"/>
<source>The downloaded file does not match the checksum, it will be resumed.</source>
<translation>Den nedlastede filen passer ikke med sjekksummen, den vil bli gjenopptatt.</translation>
</message>
diff --git a/translations/client_nl.ts b/translations/client_nl.ts
index bae7b67e2..19278c7f7 100644
--- a/translations/client_nl.ts
+++ b/translations/client_nl.ts
@@ -596,7 +596,7 @@
<context>
<name>OCC::CleanupPollsJob</name>
<message>
- <location filename="../src/libsync/owncloudpropagator.cpp" line="990"/>
+ <location filename="../src/libsync/owncloudpropagator.cpp" line="1001"/>
<source>Error writing metadata to the database</source>
<translation>Fout bij schrijven van Metadata naar de database</translation>
</message>
@@ -744,26 +744,26 @@
<translation>Kon het systeem-uitsluitingsbestand niet lezen</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="883"/>
+ <location filename="../src/gui/folder.cpp" line="888"/>
<source>A new folder larger than %1 MB has been added: %2.
</source>
<translation>Er is een nieuwe map groter dan %1 MB toegevoegd: %2.
</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="886"/>
+ <location filename="../src/gui/folder.cpp" line="891"/>
<source>A folder from an external storage has been added.
</source>
<translation>Er is een map op externe opslag toegevoegd.
</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="887"/>
+ <location filename="../src/gui/folder.cpp" line="892"/>
<source>Please go in the settings to select it if you wish to download it.</source>
<translation>Ga naar de instellingen om het te selecteren als u deze wilt downloaden.</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="922"/>
+ <location filename="../src/gui/folder.cpp" line="927"/>
<source>All files in the sync folder '%1' folder were deleted on the server.
These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore.
If you decide to keep the files, they will be re-synced with the server if you have rights to do so.
@@ -774,7 +774,7 @@ Als u de bestanden wilt behouden, worden ze opnieuw gesynchroniseerd met de serv
Als u de bestanden wilt verwijderen, worden ze niet beschikbaar, tenzij u de eigenaar bent.</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="927"/>
+ <location filename="../src/gui/folder.cpp" line="932"/>
<source>All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored.
Are you sure you want to sync those actions with the server?
If this was an accident and you decide to keep your files, they will be re-synced from the server.</source>
@@ -782,22 +782,22 @@ If this was an accident and you decide to keep your files, they will be re-synce
Als dit een ongelukje was en u de bestanden wilt behouden, worden ze opnieuw gesynchroniseerd met de server.</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="931"/>
+ <location filename="../src/gui/folder.cpp" line="936"/>
<source>Remove All Files?</source>
<translation>Verwijder alle bestanden?</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="934"/>
+ <location filename="../src/gui/folder.cpp" line="939"/>
<source>Remove all files</source>
<translation>Verwijder alle bestanden</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="935"/>
+ <location filename="../src/gui/folder.cpp" line="940"/>
<source>Keep files</source>
<translation>Bewaar bestanden</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="952"/>
+ <location filename="../src/gui/folder.cpp" line="957"/>
<source>This sync would reset the files to an earlier time in the sync folder '%1'.
This might be because a backup was restored on the server.
Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files?</source>
@@ -806,17 +806,17 @@ Dit kan komen doordat een backup is hersteld op de server.
Doorgaan met deze synchronisatie overschrijft al uw bestanden door een eerdere versie. Wilt u uw lokale meer recente bestanden behouden als conflict bestanden?</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="957"/>
+ <location filename="../src/gui/folder.cpp" line="962"/>
<source>Backup detected</source>
<translation>Backup gedetecteerd</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="960"/>
+ <location filename="../src/gui/folder.cpp" line="965"/>
<source>Normal Synchronisation</source>
<translation>Normale synchronisatie</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="961"/>
+ <location filename="../src/gui/folder.cpp" line="966"/>
<source>Keep Local Files as Conflict</source>
<translation>Behoud lokale bestanden als conflict</translation>
</message>
@@ -1291,7 +1291,7 @@ Doorgaan met deze synchronisatie overschrijft al uw bestanden door een eerdere v
<context>
<name>OCC::HttpCredentialsGui</name>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="97"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="98"/>
<source>Please enter %1 password:&lt;br&gt;&lt;br&gt;User: %2&lt;br&gt;Account: %3&lt;br&gt;</source>
<translation>Voer %1 wachtwoord in:
@@ -1300,17 +1300,17 @@ Account: %3
</translation>
</message>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="111"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="112"/>
<source>Reading from keychain failed with error: &apos;%1&apos;</source>
<translation>Het lezen van de sleutelketen is mislukt met fout: &apos;%1&apos;</translation>
</message>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="117"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="118"/>
<source>Enter Password</source>
<translation>Vul het wachtwoord in</translation>
</message>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="154"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="155"/>
<source>&lt;a href=&quot;%1&quot;&gt;Click here&lt;/a&gt; to request an app password from the web interface.</source>
<translation>&lt;a href=&quot;%1&quot;&gt;Klik hier&lt;/a&gt; om een nieuw app wachtwoord via de web interface op te vragen.</translation>
</message>
@@ -1432,12 +1432,12 @@ Onderdelen die gewist mogen worden worden verwijderd als ze voorkomen dat een ma
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/issueswidget.ui" line="145"/>
+ <location filename="../src/gui/issueswidget.ui" line="148"/>
<source>Copy the issues list to the clipboard.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/issueswidget.ui" line="148"/>
+ <location filename="../src/gui/issueswidget.ui" line="151"/>
<source>Copy</source>
<translation>Kopiëren</translation>
</message>
@@ -1923,144 +1923,144 @@ We adviseren deze site niet te gebruiken.</translation>
<context>
<name>OCC::OwncloudSetupWizard</name>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="217"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="250"/>
<source>&lt;font color=&quot;green&quot;&gt;Successfully connected to %1: %2 version %3 (%4)&lt;/font&gt;&lt;br/&gt;&lt;br/&gt;</source>
<translation>&lt;font color=&quot;green&quot;&gt;Succesvol verbonden met %1: %2 versie %3 (%4)&lt;/font&gt;&lt;br/&gt;&lt;br/&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="251"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="280"/>
<source>Failed to connect to %1 at %2:&lt;br/&gt;%3</source>
<translation>Kon geen verbinding maken met %1 op %2:&lt;br/&gt;%3</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="285"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="314"/>
<source>Timeout while trying to connect to %1 at %2.</source>
<translation>Time-out bij verbinden met %1 om %2.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="296"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="334"/>
<source>Trying to connect to %1 at %2...</source>
<translation>Probeer te verbinden met %1 om %2...</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="347"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="385"/>
<source>The authenticated request to the server was redirected to &apos;%1&apos;. The URL is bad, the server is misconfigured.</source>
<translation>De geauthentiseerde aanvraag voor de server werd omgeleid naar &apos;%1&apos;. De URL is onjuist, de server is verkeerd geconfigureerd.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="369"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="407"/>
<source>There was an invalid response to an authenticated webdav request</source>
<translation>Er was een ongeldig antwoord op een geauthenticeerde webdav opvraging</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="360"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="398"/>
<source>Access forbidden by server. To verify that you have proper access, &lt;a href=&quot;%1&quot;&gt;click here&lt;/a&gt; to access the service with your browser.</source>
<translation>Toegang door server verboden. Om te verifiëren dat u toegang mag hebben, &lt;a href=&quot;%1&quot;&gt;klik hier&lt;/a&gt; om met uw browser toegang tot de service te krijgen.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="249"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="278"/>
<source>Invalid URL</source>
<translation>Ongeldige URL</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="414"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="452"/>
<source>Local sync folder %1 already exists, setting it up for sync.&lt;br/&gt;&lt;br/&gt;</source>
<translation>Lokale synch map %1 bestaat al, deze wordt ingesteld voor synchronisatie.&lt;br/&gt;&lt;br/&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="417"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="455"/>
<source>Creating local sync folder %1...</source>
<translation>Creëren lokale sync map %1...</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="421"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="459"/>
<source>ok</source>
<translation>ok</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="423"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="461"/>
<source>failed.</source>
<translation>mislukt.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="425"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="463"/>
<source>Could not create local folder %1</source>
<translation>Kon lokale map %1 niet aanmaken</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="451"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="489"/>
<source>No remote folder specified!</source>
<translation>Geen externe map opgegeven!</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="457"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="495"/>
<source>Error: %1</source>
<translation>Fout: %1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="470"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="508"/>
<source>creating folder on ownCloud: %1</source>
<translation>aanmaken map op ownCloud: %1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="486"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="524"/>
<source>Remote folder %1 created successfully.</source>
<translation>Externe map %1 succesvol gecreërd.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="488"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="526"/>
<source>The remote folder %1 already exists. Connecting it for syncing.</source>
<translation>De remote map %1 bestaat al. Verbinden voor synchroniseren.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="490"/>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="492"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="528"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="530"/>
<source>The folder creation resulted in HTTP error code %1</source>
<translation>Het aanmaken van de map resulteerde in HTTP foutcode %1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="494"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="532"/>
<source>The remote folder creation failed because the provided credentials are wrong!&lt;br/&gt;Please go back and check your credentials.&lt;/p&gt;</source>
<translation>Het aanmaken van de remote map is mislukt, waarschijnlijk omdat uw inloggegevens fout waren.&lt;br/&gt;Ga terug en controleer uw inloggegevens.&lt;/p&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="498"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="536"/>
<source>&lt;p&gt;&lt;font color=&quot;red&quot;&gt;Remote folder creation failed probably because the provided credentials are wrong.&lt;/font&gt;&lt;br/&gt;Please go back and check your credentials.&lt;/p&gt;</source>
<translation>&lt;p&gt;&lt;font color=&quot;red&quot;&gt;Het aanmaken van de remote map is mislukt, waarschijnlijk omdat uw inloggegevens fout waren.&lt;/font&gt;&lt;br/&gt;ga terug en controleer uw inloggevens.&lt;/p&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="503"/>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="504"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="541"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="542"/>
<source>Remote folder %1 creation failed with error &lt;tt&gt;%2&lt;/tt&gt;.</source>
<translation>Aanmaken van remote map %1 mislukt met fout &lt;tt&gt;%2&lt;/tt&gt;.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="521"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="559"/>
<source>A sync connection from %1 to remote directory %2 was set up.</source>
<translation>Er is een sync verbinding van %1 naar remote directory %2 opgezet.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="526"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="564"/>
<source>Successfully connected to %1!</source>
<translation>Succesvol verbonden met %1!</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="533"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="571"/>
<source>Connection to %1 could not be established. Please check again.</source>
<translation>Verbinding met %1 niet geslaagd. Probeer het nog eens.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="547"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="585"/>
<source>Folder rename failed</source>
<translation>Hernoemen map mislukt</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="548"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="586"/>
<source>Can&apos;t remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup.</source>
<translation>Kan de map niet verwijderen en backuppen, omdat de map of een bestand daarin, geopend is in een ander programma. Sluit de map of het bestand en drup op Opnieuw of annuleer de installatie.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="593"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="631"/>
<source>&lt;font color=&quot;green&quot;&gt;&lt;b&gt;Local sync folder %1 successfully created!&lt;/b&gt;&lt;/font&gt;</source>
<translation>&lt;font color=&quot;green&quot;&gt;&lt;b&gt;Lokale synch map %1 is succesvol aangemaakt!&lt;/b&gt;&lt;/font&gt;</translation>
</message>
@@ -2107,7 +2107,7 @@ We adviseren deze site niet te gebruiken.</translation>
<context>
<name>OCC::PropagateDirectory</name>
<message>
- <location filename="../src/libsync/owncloudpropagator.cpp" line="942"/>
+ <location filename="../src/libsync/owncloudpropagator.cpp" line="953"/>
<source>Error writing metadata to the database</source>
<translation>Fout bij schrijven van Metadata naar de database</translation>
</message>
@@ -2145,17 +2145,17 @@ We adviseren deze site niet te gebruiken.</translation>
<translation>Het gedownloade bestand is leeg, hoewel de server meldde dat het %1 zou moeten zijn.</translation>
</message>
<message>
- <location filename="../src/libsync/propagatedownload.cpp" line="772"/>
+ <location filename="../src/libsync/propagatedownload.cpp" line="775"/>
<source>File %1 cannot be saved because of a local file name clash!</source>
<translation>Bestand %1 kan niet worden opgeslagen wegens een lokaal bestandsnaam conflict!</translation>
</message>
<message>
- <location filename="../src/libsync/propagatedownload.cpp" line="820"/>
+ <location filename="../src/libsync/propagatedownload.cpp" line="823"/>
<source>File has changed since discovery</source>
<translation>Het bestand is gewijzigd sinds het is gevonden</translation>
</message>
<message>
- <location filename="../src/libsync/propagatedownload.cpp" line="871"/>
+ <location filename="../src/libsync/propagatedownload.cpp" line="874"/>
<source>Error writing metadata to the database</source>
<translation>Fout bij schrijven van Metadata naar de database</translation>
</message>
@@ -2231,12 +2231,12 @@ We adviseren deze site niet te gebruiken.</translation>
<context>
<name>OCC::PropagateRemoteDelete</name>
<message>
- <location filename="../src/libsync/propagateremotedelete.cpp" line="96"/>
+ <location filename="../src/libsync/propagateremotedelete.cpp" line="100"/>
<source>The file has been removed from a read only share. It was restored.</source>
<translation>Het bestand is verwijderd van een alleen-lezen share. Het is teruggezet.</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotedelete.cpp" line="117"/>
+ <location filename="../src/libsync/propagateremotedelete.cpp" line="121"/>
<source>Wrong HTTP code returned by server. Expected 204, but received &quot;%1 %2&quot;.</source>
<translation>Foutieve HTTP code ontvangen van de server. Verwacht was 204, maar ontvangen &quot;%1 %2&quot;.</translation>
</message>
@@ -2244,12 +2244,12 @@ We adviseren deze site niet te gebruiken.</translation>
<context>
<name>OCC::PropagateRemoteMkdir</name>
<message>
- <location filename="../src/libsync/propagateremotemkdir.cpp" line="95"/>
+ <location filename="../src/libsync/propagateremotemkdir.cpp" line="99"/>
<source>Wrong HTTP code returned by server. Expected 201, but received &quot;%1 %2&quot;.</source>
<translation>Foutieve HTTP code ontvangen van de server. Verwacht was 201, maar ontvangen &quot;%1 %2&quot;.</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotemkdir.cpp" line="147"/>
+ <location filename="../src/libsync/propagateremotemkdir.cpp" line="151"/>
<source>Error writing metadata to the database</source>
<translation>Fout bij schrijven van Metadata naar de database</translation>
</message>
@@ -2267,18 +2267,18 @@ We adviseren deze site niet te gebruiken.</translation>
<translation>Deze map mag niet worden hernoemd. Verander de naam terug in Gedeeld.</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotemove.cpp" line="137"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="141"/>
<source>The file was renamed but is part of a read only share. The original file was restored.</source>
<translation>Het bestand is hernoemd, maar hoort bij een alleen-lezen share. Het originele bestand is teruggezet.</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotemove.cpp" line="154"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="158"/>
<source>Wrong HTTP code returned by server. Expected 201, but received &quot;%1 %2&quot;.</source>
<translation>Foutieve HTTP code ontvangen van de server. Verwacht werd 201, maar ontvangen &quot;%1 %2&quot;.</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotemove.cpp" line="186"/>
- <location filename="../src/libsync/propagateremotemove.cpp" line="192"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="190"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="196"/>
<source>Error writing metadata to the database</source>
<translation>Fout bij schrijven van Metadata naar de database</translation>
</message>
@@ -2312,7 +2312,7 @@ We adviseren deze site niet te gebruiken.</translation>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/propagateupload.cpp" line="618"/>
+ <location filename="../src/libsync/propagateupload.cpp" line="622"/>
<source>Error writing metadata to the database</source>
<translation>Fout bij schrijven van Metadata naar de database</translation>
</message>
@@ -2386,42 +2386,42 @@ We adviseren deze site niet te gebruiken.</translation>
<translation>Tekstlabel</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="48"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="61"/>
<source>Time</source>
<translation>Tijd</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="49"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="62"/>
<source>File</source>
<translation>Bestand</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="50"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="63"/>
<source>Folder</source>
<translation>Map</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="51"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="64"/>
<source>Action</source>
<translation>Handeling</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="52"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="65"/>
<source>Size</source>
<translation>Grootte</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="72"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="85"/>
<source>Local sync protocol</source>
<translation>Lokaal sync protocol</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="74"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="87"/>
<source>Copy</source>
<translation>Kopiëren</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="75"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="88"/>
<source>Copy the activity list to the clipboard.</source>
<translation>Kopieer de activiteitenlijst naar het klembord.</translation>
</message>
@@ -2553,6 +2553,7 @@ We adviseren deze site niet te gebruiken.</translation>
</message>
<message>
<location filename="../src/gui/settingsdialogmac.cpp" line="152"/>
+ <location filename="../src/gui/settingsdialogmac.cpp" line="211"/>
<source>Account</source>
<translation>Account</translation>
</message>
@@ -3209,22 +3210,22 @@ We adviseren deze site niet te gebruiken.</translation>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1278"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1287"/>
<source>Not allowed because you don&apos;t have permission to add parent folder</source>
<translation>Niet toegestaan omdat u geen rechten hebt om een bovenliggende map toe te voegen</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1285"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1294"/>
<source>Not allowed because you don&apos;t have permission to add files in that folder</source>
<translation>Niet toegestaan omdat u geen rechten hebt om bestanden in die map toe te voegen</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1588"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1597"/>
<source>Disk space is low: Downloads that would reduce free space below %1 were skipped.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1595"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1604"/>
<source>There is insufficient space available on the server for some uploads.</source>
<translation type="unfinished"/>
</message>
@@ -3349,54 +3350,54 @@ We adviseren deze site niet te gebruiken.</translation>
<translation>Kan het sync transactielog niet openen</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="968"/>
+ <location filename="../src/libsync/syncengine.cpp" line="977"/>
<source>File name contains at least one invalid character</source>
<translation>De bestandsnaam bevat ten minste één ongeldig teken</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1204"/>
- <location filename="../src/libsync/syncengine.cpp" line="1244"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1213"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1253"/>
<source>Ignored because of the &quot;choose what to sync&quot; blacklist</source>
<translation>Genegeerd vanwege de &quot;wat synchroniseren&quot; zwarte lijst</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1263"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1272"/>
<source>Not allowed because you don&apos;t have permission to add subfolders to that folder</source>
<translation>Niet toegestaan, omdat je geen permissies hebt om submappen aan die map toe te voegen</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1310"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1319"/>
<source>Not allowed to upload this file because it is read-only on the server, restoring</source>
<translation>Niet toegestaan om dit bestand te uploaden, omdat het alleen-lezen is op de server, herstellen</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1326"/>
- <location filename="../src/libsync/syncengine.cpp" line="1345"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1335"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1354"/>
<source>Not allowed to remove, restoring</source>
<translation>Niet toegestaan om te verwijderen, herstellen</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1359"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1368"/>
<source>Local files and share folder removed.</source>
<translation>Lokale bestanden en share-map verwijderd. </translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1413"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1422"/>
<source>Move not allowed, item restored</source>
<translation>Verplaatsen niet toegestaan, object hersteld</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1424"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1433"/>
<source>Move not allowed because %1 is read-only</source>
<translation>Verplaatsen niet toegestaan, omdat %1 alleen-lezen is</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1424"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1433"/>
<source>the destination</source>
<translation>bestemming</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1424"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1433"/>
<source>the source</source>
<translation>bron</translation>
</message>
@@ -3438,17 +3439,17 @@ We adviseren deze site niet te gebruiken.</translation>
<context>
<name>OCC::ValidateChecksumHeader</name>
<message>
- <location filename="../src/common/checksums.cpp" line="205"/>
+ <location filename="../src/common/checksums.cpp" line="218"/>
<source>The checksum header is malformed.</source>
<translation>De header van het controlegetal is misvormd.</translation>
</message>
<message>
- <location filename="../src/common/checksums.cpp" line="220"/>
+ <location filename="../src/common/checksums.cpp" line="233"/>
<source>The checksum header contained an unknown checksum type &apos;%1&apos;</source>
<translation>Het header controlegetal bevat een onbekend controlegetal type &apos;%1&apos;</translation>
</message>
<message>
- <location filename="../src/common/checksums.cpp" line="224"/>
+ <location filename="../src/common/checksums.cpp" line="237"/>
<source>The downloaded file does not match the checksum, it will be resumed.</source>
<translation>Het gedownloade bestand komt niet overeen met het controlegetal. Het wordt opnieuw verwerkt.</translation>
</message>
diff --git a/translations/client_pl.ts b/translations/client_pl.ts
index a2b6321c7..87c4acc6a 100644
--- a/translations/client_pl.ts
+++ b/translations/client_pl.ts
@@ -596,7 +596,7 @@
<context>
<name>OCC::CleanupPollsJob</name>
<message>
- <location filename="../src/libsync/owncloudpropagator.cpp" line="990"/>
+ <location filename="../src/libsync/owncloudpropagator.cpp" line="1001"/>
<source>Error writing metadata to the database</source>
<translation>Błąd podczas zapisu metadanych do bazy</translation>
</message>
@@ -744,26 +744,26 @@
<translation>Nie można przeczytać pliku wyłączeń</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="883"/>
+ <location filename="../src/gui/folder.cpp" line="888"/>
<source>A new folder larger than %1 MB has been added: %2.
</source>
<translation>Nowy folder większy niż %1MB został dodany: %2
</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="886"/>
+ <location filename="../src/gui/folder.cpp" line="891"/>
<source>A folder from an external storage has been added.
</source>
<translation>Folder z pamięci zewnętrznej został dodany .
</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="887"/>
+ <location filename="../src/gui/folder.cpp" line="892"/>
<source>Please go in the settings to select it if you wish to download it.</source>
<translation>Przejdź do ustawień żeby go zaznaczyć i pobrać.</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="922"/>
+ <location filename="../src/gui/folder.cpp" line="927"/>
<source>All files in the sync folder '%1' folder were deleted on the server.
These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore.
If you decide to keep the files, they will be re-synced with the server if you have rights to do so.
@@ -771,46 +771,46 @@ If you decide to delete the files, they will be unavailable to you, unless you a
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="927"/>
+ <location filename="../src/gui/folder.cpp" line="932"/>
<source>All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored.
Are you sure you want to sync those actions with the server?
If this was an accident and you decide to keep your files, they will be re-synced from the server.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="931"/>
+ <location filename="../src/gui/folder.cpp" line="936"/>
<source>Remove All Files?</source>
<translation>Usunąć wszystkie pliki?</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="934"/>
+ <location filename="../src/gui/folder.cpp" line="939"/>
<source>Remove all files</source>
<translation>Usuń wszystkie pliki</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="935"/>
+ <location filename="../src/gui/folder.cpp" line="940"/>
<source>Keep files</source>
<translation>Pozostaw pliki</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="952"/>
+ <location filename="../src/gui/folder.cpp" line="957"/>
<source>This sync would reset the files to an earlier time in the sync folder '%1'.
This might be because a backup was restored on the server.
Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files?</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="957"/>
+ <location filename="../src/gui/folder.cpp" line="962"/>
<source>Backup detected</source>
<translation>Wykryto kopię zapasową.</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="960"/>
+ <location filename="../src/gui/folder.cpp" line="965"/>
<source>Normal Synchronisation</source>
<translation>Normalna synchronizacja.</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="961"/>
+ <location filename="../src/gui/folder.cpp" line="966"/>
<source>Keep Local Files as Conflict</source>
<translation>Zatrzymaj pliki lokalne i ustaw status konfliktu.</translation>
</message>
@@ -1284,22 +1284,22 @@ Continuing the sync as normal will cause all your files to be overwritten by an
<context>
<name>OCC::HttpCredentialsGui</name>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="97"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="98"/>
<source>Please enter %1 password:&lt;br&gt;&lt;br&gt;User: %2&lt;br&gt;Account: %3&lt;br&gt;</source>
<translation>Wprowadź %1 hasło:&lt;br&gt;&lt;br&gt;Użytkownik:%2&lt;br&gt;Konto:%3&lt;br&gt;</translation>
</message>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="111"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="112"/>
<source>Reading from keychain failed with error: &apos;%1&apos;</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="117"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="118"/>
<source>Enter Password</source>
<translation>Wprowadź hasło</translation>
</message>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="154"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="155"/>
<source>&lt;a href=&quot;%1&quot;&gt;Click here&lt;/a&gt; to request an app password from the web interface.</source>
<translation type="unfinished"/>
</message>
@@ -1421,12 +1421,12 @@ Pozycje, dla których usuwanie jest dozwolone zostaną usunięte, jeżeli uprawn
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/issueswidget.ui" line="145"/>
+ <location filename="../src/gui/issueswidget.ui" line="148"/>
<source>Copy the issues list to the clipboard.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/issueswidget.ui" line="148"/>
+ <location filename="../src/gui/issueswidget.ui" line="151"/>
<source>Copy</source>
<translation>Kopiuj</translation>
</message>
@@ -1912,144 +1912,144 @@ Niezalecane jest jego użycie.</translation>
<context>
<name>OCC::OwncloudSetupWizard</name>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="217"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="250"/>
<source>&lt;font color=&quot;green&quot;&gt;Successfully connected to %1: %2 version %3 (%4)&lt;/font&gt;&lt;br/&gt;&lt;br/&gt;</source>
<translation>&lt;font color=&quot;green&quot;&gt;Udane połączenie z %1: %2 wersja %3 (%4)&lt;/font&gt;&lt;br/&gt;&lt;br/&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="251"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="280"/>
<source>Failed to connect to %1 at %2:&lt;br/&gt;%3</source>
<translation>Nie udało się połączyć do %1 w %2:&lt;br/&gt;%3</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="285"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="314"/>
<source>Timeout while trying to connect to %1 at %2.</source>
<translation>Upłynął czas podczas próby połączenia do %1 na %2.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="296"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="334"/>
<source>Trying to connect to %1 at %2...</source>
<translation>Próba połączenia z %1 w %2...</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="347"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="385"/>
<source>The authenticated request to the server was redirected to &apos;%1&apos;. The URL is bad, the server is misconfigured.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="369"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="407"/>
<source>There was an invalid response to an authenticated webdav request</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="360"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="398"/>
<source>Access forbidden by server. To verify that you have proper access, &lt;a href=&quot;%1&quot;&gt;click here&lt;/a&gt; to access the service with your browser.</source>
<translation>Dostęp zabroniony przez serwer. Aby sprawdzić, czy masz odpowiednie uprawnienia, kliknij &lt;a href=&quot;%1&quot;&gt;tutaj&lt;/a&gt;, aby połączyć się z usługą poprzez przeglądarkę.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="249"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="278"/>
<source>Invalid URL</source>
<translation>Błędny adres url.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="414"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="452"/>
<source>Local sync folder %1 already exists, setting it up for sync.&lt;br/&gt;&lt;br/&gt;</source>
<translation>Lokalny folder synchronizacji %1 już istnieje. Ustawiam go do synchronizacji.&lt;br/&gt;&lt;br/&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="417"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="455"/>
<source>Creating local sync folder %1...</source>
<translation>Tworzenie lokalnego folderu synchronizacji %1...</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="421"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="459"/>
<source>ok</source>
<translation>OK</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="423"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="461"/>
<source>failed.</source>
<translation>Błąd.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="425"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="463"/>
<source>Could not create local folder %1</source>
<translation>Nie udało się utworzyć lokalnego folderu %1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="451"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="489"/>
<source>No remote folder specified!</source>
<translation>Nie określono folderu zdalnego!</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="457"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="495"/>
<source>Error: %1</source>
<translation>Błąd: %1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="470"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="508"/>
<source>creating folder on ownCloud: %1</source>
<translation>tworzę folder na ownCloud: %1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="486"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="524"/>
<source>Remote folder %1 created successfully.</source>
<translation>Zdalny folder %1 został utworzony pomyślnie.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="488"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="526"/>
<source>The remote folder %1 already exists. Connecting it for syncing.</source>
<translation>Zdalny folder %1 już istnieje. Podłączam go do synchronizowania.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="490"/>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="492"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="528"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="530"/>
<source>The folder creation resulted in HTTP error code %1</source>
<translation>Tworzenie folderu spowodowało kod błędu HTTP %1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="494"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="532"/>
<source>The remote folder creation failed because the provided credentials are wrong!&lt;br/&gt;Please go back and check your credentials.&lt;/p&gt;</source>
<translation>Nie udało się utworzyć zdalnego folderu ponieważ podane dane dostępowe są nieprawidłowe!&lt;br/&gt;Wróć i sprawdź podane dane dostępowe.&lt;/p&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="498"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="536"/>
<source>&lt;p&gt;&lt;font color=&quot;red&quot;&gt;Remote folder creation failed probably because the provided credentials are wrong.&lt;/font&gt;&lt;br/&gt;Please go back and check your credentials.&lt;/p&gt;</source>
<translation>&lt;p&gt;&lt;font color=&quot;red&quot;&gt;Tworzenie folderu zdalnego nie powiodło się. Prawdopodobnie dostarczone poświadczenia są błędne.&lt;/font&gt;&lt;br/&gt;Wróć i sprawdź poświadczenia.&lt;/p&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="503"/>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="504"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="541"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="542"/>
<source>Remote folder %1 creation failed with error &lt;tt&gt;%2&lt;/tt&gt;.</source>
<translation>Tworzenie folderu zdalnego %1 nie powiodło się z powodu błędu &lt;tt&gt;%2&lt;/tt&gt;.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="521"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="559"/>
<source>A sync connection from %1 to remote directory %2 was set up.</source>
<translation>Połączenie synchronizacji z %1 do katalogu zdalnego %2 zostało utworzone.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="526"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="564"/>
<source>Successfully connected to %1!</source>
<translation>Udane połączenie z %1!</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="533"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="571"/>
<source>Connection to %1 could not be established. Please check again.</source>
<translation>Połączenie z %1 nie może być nawiązane. Sprawdź ponownie.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="547"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="585"/>
<source>Folder rename failed</source>
<translation>Zmiana nazwy folderu nie powiodła się</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="548"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="586"/>
<source>Can&apos;t remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup.</source>
<translation>Nie można usunąć i zarchiwizować folderu ponieważ znajdujący się w nim plik lub folder jest otwarty przez inny program. Proszę zamknąć folder lub plik albo kliknąć ponów lub anuluj setup.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="593"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="631"/>
<source>&lt;font color=&quot;green&quot;&gt;&lt;b&gt;Local sync folder %1 successfully created!&lt;/b&gt;&lt;/font&gt;</source>
<translation>&lt;font color=&quot;green&quot;&gt;&lt;b&gt;Utworzenie lokalnego folderu synchronizowanego %1 zakończone pomyślnie!&lt;/b&gt;&lt;/font&gt;</translation>
</message>
@@ -2096,7 +2096,7 @@ Niezalecane jest jego użycie.</translation>
<context>
<name>OCC::PropagateDirectory</name>
<message>
- <location filename="../src/libsync/owncloudpropagator.cpp" line="942"/>
+ <location filename="../src/libsync/owncloudpropagator.cpp" line="953"/>
<source>Error writing metadata to the database</source>
<translation>Błąd podczas zapisu metadanych do bazy</translation>
</message>
@@ -2134,17 +2134,17 @@ Niezalecane jest jego użycie.</translation>
<translation>Pobrany plik jest pusty pomimo tego, że według zapowiedzi serwera powinien mieć %1.</translation>
</message>
<message>
- <location filename="../src/libsync/propagatedownload.cpp" line="772"/>
+ <location filename="../src/libsync/propagatedownload.cpp" line="775"/>
<source>File %1 cannot be saved because of a local file name clash!</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/propagatedownload.cpp" line="820"/>
+ <location filename="../src/libsync/propagatedownload.cpp" line="823"/>
<source>File has changed since discovery</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/propagatedownload.cpp" line="871"/>
+ <location filename="../src/libsync/propagatedownload.cpp" line="874"/>
<source>Error writing metadata to the database</source>
<translation>Błąd podczas zapisu metadanych do bazy</translation>
</message>
@@ -2220,12 +2220,12 @@ Niezalecane jest jego użycie.</translation>
<context>
<name>OCC::PropagateRemoteDelete</name>
<message>
- <location filename="../src/libsync/propagateremotedelete.cpp" line="96"/>
+ <location filename="../src/libsync/propagateremotedelete.cpp" line="100"/>
<source>The file has been removed from a read only share. It was restored.</source>
<translation>Plik został usunięty z zasobu z prawem tylko do odczytu. Został przywrócony.</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotedelete.cpp" line="117"/>
+ <location filename="../src/libsync/propagateremotedelete.cpp" line="121"/>
<source>Wrong HTTP code returned by server. Expected 204, but received &quot;%1 %2&quot;.</source>
<translation type="unfinished"/>
</message>
@@ -2233,12 +2233,12 @@ Niezalecane jest jego użycie.</translation>
<context>
<name>OCC::PropagateRemoteMkdir</name>
<message>
- <location filename="../src/libsync/propagateremotemkdir.cpp" line="95"/>
+ <location filename="../src/libsync/propagateremotemkdir.cpp" line="99"/>
<source>Wrong HTTP code returned by server. Expected 201, but received &quot;%1 %2&quot;.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/propagateremotemkdir.cpp" line="147"/>
+ <location filename="../src/libsync/propagateremotemkdir.cpp" line="151"/>
<source>Error writing metadata to the database</source>
<translation>Błąd podczas zapisu metadanych do bazy</translation>
</message>
@@ -2256,18 +2256,18 @@ Niezalecane jest jego użycie.</translation>
<translation>Nie wolno zmieniać nazwy tego folderu. Proszę zmień nazwę z powrotem na Shared.</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotemove.cpp" line="137"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="141"/>
<source>The file was renamed but is part of a read only share. The original file was restored.</source>
<translation>Plik był edytowany lokalnie ale jest częścią udziału z prawem tylko do odczytu. Przywrócono oryginalny plik</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotemove.cpp" line="154"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="158"/>
<source>Wrong HTTP code returned by server. Expected 201, but received &quot;%1 %2&quot;.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/propagateremotemove.cpp" line="186"/>
- <location filename="../src/libsync/propagateremotemove.cpp" line="192"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="190"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="196"/>
<source>Error writing metadata to the database</source>
<translation>Błąd podczas zapisu metadanych do bazy</translation>
</message>
@@ -2301,7 +2301,7 @@ Niezalecane jest jego użycie.</translation>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/propagateupload.cpp" line="618"/>
+ <location filename="../src/libsync/propagateupload.cpp" line="622"/>
<source>Error writing metadata to the database</source>
<translation>Błąd podczas zapisu metadanych do bazy</translation>
</message>
@@ -2375,42 +2375,42 @@ Niezalecane jest jego użycie.</translation>
<translation>Etykieta</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="48"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="61"/>
<source>Time</source>
<translation>Czas</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="49"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="62"/>
<source>File</source>
<translation>Plik</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="50"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="63"/>
<source>Folder</source>
<translation>Folder</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="51"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="64"/>
<source>Action</source>
<translation>Akcja</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="52"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="65"/>
<source>Size</source>
<translation>Rozmiar</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="72"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="85"/>
<source>Local sync protocol</source>
<translation>Lokalny protokół synchronizacji</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="74"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="87"/>
<source>Copy</source>
<translation>Kopiuj</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="75"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="88"/>
<source>Copy the activity list to the clipboard.</source>
<translation>Kopiuj listę aktywności do schowka.</translation>
</message>
@@ -2542,6 +2542,7 @@ Niezalecane jest jego użycie.</translation>
</message>
<message>
<location filename="../src/gui/settingsdialogmac.cpp" line="152"/>
+ <location filename="../src/gui/settingsdialogmac.cpp" line="211"/>
<source>Account</source>
<translation>Konto</translation>
</message>
@@ -3198,22 +3199,22 @@ Niezalecane jest jego użycie.</translation>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1278"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1287"/>
<source>Not allowed because you don&apos;t have permission to add parent folder</source>
<translation>Niedozwolone, ponieważ nie masz uprawnień do dodawania katalogu nadrzędnego</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1285"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1294"/>
<source>Not allowed because you don&apos;t have permission to add files in that folder</source>
<translation>Niedozwolone, ponieważ nie masz uprawnień do dodawania plików w tym katalogu</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1588"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1597"/>
<source>Disk space is low: Downloads that would reduce free space below %1 were skipped.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1595"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1604"/>
<source>There is insufficient space available on the server for some uploads.</source>
<translation type="unfinished"/>
</message>
@@ -3338,54 +3339,54 @@ Niezalecane jest jego użycie.</translation>
<translation>Nie można otworzyć dziennika synchronizacji</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="968"/>
+ <location filename="../src/libsync/syncengine.cpp" line="977"/>
<source>File name contains at least one invalid character</source>
<translation>Nazwa pliku zawiera co najmniej jeden nieprawidłowy znak</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1204"/>
- <location filename="../src/libsync/syncengine.cpp" line="1244"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1213"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1253"/>
<source>Ignored because of the &quot;choose what to sync&quot; blacklist</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1263"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1272"/>
<source>Not allowed because you don&apos;t have permission to add subfolders to that folder</source>
<translation>Niedozwolone, ponieważ nie masz uprawnień do dodawania podkatalogów w tym katalogu</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1310"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1319"/>
<source>Not allowed to upload this file because it is read-only on the server, restoring</source>
<translation>Wgrywanie niedozwolone, ponieważ plik jest tylko do odczytu na serwerze, przywracanie</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1326"/>
- <location filename="../src/libsync/syncengine.cpp" line="1345"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1335"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1354"/>
<source>Not allowed to remove, restoring</source>
<translation>Brak uprawnień by usunąć, przywracanie</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1359"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1368"/>
<source>Local files and share folder removed.</source>
<translation>Lokalne pliki i udostępniane foldery zostały usunięte.</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1413"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1422"/>
<source>Move not allowed, item restored</source>
<translation>Przenoszenie niedozwolone, obiekt przywrócony</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1424"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1433"/>
<source>Move not allowed because %1 is read-only</source>
<translation>Przenoszenie niedozwolone, ponieważ %1 jest tylko do odczytu</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1424"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1433"/>
<source>the destination</source>
<translation>docelowy</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1424"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1433"/>
<source>the source</source>
<translation>źródło</translation>
</message>
@@ -3427,17 +3428,17 @@ Niezalecane jest jego użycie.</translation>
<context>
<name>OCC::ValidateChecksumHeader</name>
<message>
- <location filename="../src/common/checksums.cpp" line="205"/>
+ <location filename="../src/common/checksums.cpp" line="218"/>
<source>The checksum header is malformed.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/common/checksums.cpp" line="220"/>
+ <location filename="../src/common/checksums.cpp" line="233"/>
<source>The checksum header contained an unknown checksum type &apos;%1&apos;</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/common/checksums.cpp" line="224"/>
+ <location filename="../src/common/checksums.cpp" line="237"/>
<source>The downloaded file does not match the checksum, it will be resumed.</source>
<translation type="unfinished"/>
</message>
diff --git a/translations/client_pt.ts b/translations/client_pt.ts
index 587e49e10..7773695ac 100644
--- a/translations/client_pt.ts
+++ b/translations/client_pt.ts
@@ -88,7 +88,7 @@
<message>
<location filename="../src/libsync/abstractnetworkjob.cpp" line="386"/>
<source>Server replied &quot;%1 %2&quot; to &quot;%3 %4&quot;</source>
- <translation type="unfinished"/>
+ <translation>O Servidor respondeu &quot;%1 %2&quot; até &quot;%3 %4&quot;</translation>
</message>
</context>
<context>
@@ -243,7 +243,7 @@
<message>
<location filename="../src/gui/accountsettings.cpp" line="657"/>
<source>Server %1 is currently in maintenance mode.</source>
- <translation type="unfinished"/>
+ <translation>O Servidor %1 encontra-se em manutenção</translation>
</message>
<message>
<location filename="../src/gui/accountsettings.cpp" line="659"/>
@@ -258,7 +258,7 @@
<message>
<location filename="../src/gui/accountsettings.cpp" line="672"/>
<source>Connecting to %1...</source>
- <translation type="unfinished"/>
+ <translation>A Conectar a %1...</translation>
</message>
<message>
<location filename="../src/gui/accountsettings.cpp" line="675"/>
@@ -373,7 +373,7 @@
<message>
<location filename="../src/gui/accountstate.cpp" line="132"/>
<source>Maintenance mode</source>
- <translation type="unfinished"/>
+ <translation>Modo de Manutenção</translation>
</message>
<message>
<location filename="../src/gui/accountstate.cpp" line="134"/>
@@ -596,7 +596,7 @@
<context>
<name>OCC::CleanupPollsJob</name>
<message>
- <location filename="../src/libsync/owncloudpropagator.cpp" line="990"/>
+ <location filename="../src/libsync/owncloudpropagator.cpp" line="1001"/>
<source>Error writing metadata to the database</source>
<translation>Erro ao gravar os metadados para a base de dados</translation>
</message>
@@ -744,26 +744,26 @@
<translation>Não foi possível ler o ficheiro excluir do sistema</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="883"/>
+ <location filename="../src/gui/folder.cpp" line="888"/>
<source>A new folder larger than %1 MB has been added: %2.
</source>
<translation>Foi adicionada uma nova pasta maior que %1 MB: %2.
</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="886"/>
+ <location filename="../src/gui/folder.cpp" line="891"/>
<source>A folder from an external storage has been added.
</source>
<translation>Foi adicionada uma pasta vinda de armazenamento externo.
</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="887"/>
+ <location filename="../src/gui/folder.cpp" line="892"/>
<source>Please go in the settings to select it if you wish to download it.</source>
<translation>Por favor, vá às configurações para a selecionar se a desejar transferir.</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="922"/>
+ <location filename="../src/gui/folder.cpp" line="927"/>
<source>All files in the sync folder '%1' folder were deleted on the server.
These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore.
If you decide to keep the files, they will be re-synced with the server if you have rights to do so.
@@ -774,7 +774,7 @@ Se decidir manter os ficheiros, eles serão sincronizados novamento para o servi
Se decidir apagar os ficheiros, eles ficaram indisponíveis para si, a não ser que seja o seu proprietário.</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="927"/>
+ <location filename="../src/gui/folder.cpp" line="932"/>
<source>All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored.
Are you sure you want to sync those actions with the server?
If this was an accident and you decide to keep your files, they will be re-synced from the server.</source>
@@ -783,22 +783,22 @@ Tem a certeza que deseja sincronizar essas ações com o servidor?
Se foi acidental e decidir manter os seus ficheiros, eles serão sincronizados novamente apartir do servidor.</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="931"/>
+ <location filename="../src/gui/folder.cpp" line="936"/>
<source>Remove All Files?</source>
<translation>Remover todos os ficheiros?</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="934"/>
+ <location filename="../src/gui/folder.cpp" line="939"/>
<source>Remove all files</source>
<translation>Remover todos os ficheiros</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="935"/>
+ <location filename="../src/gui/folder.cpp" line="940"/>
<source>Keep files</source>
<translation>Manter ficheiros</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="952"/>
+ <location filename="../src/gui/folder.cpp" line="957"/>
<source>This sync would reset the files to an earlier time in the sync folder '%1'.
This might be because a backup was restored on the server.
Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files?</source>
@@ -807,17 +807,17 @@ Isto pode ser porque um backup foi restaurado no servidor.
Continuando a sincronização fará com que todos os seus ficheiros sejam substituídos por um ficheiro mais velho num estado anterior. Deseja manter os seus ficheiros locais mais recentes como ficheiros de conflito?</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="957"/>
+ <location filename="../src/gui/folder.cpp" line="962"/>
<source>Backup detected</source>
<translation>Detetada cópia de segurança</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="960"/>
+ <location filename="../src/gui/folder.cpp" line="965"/>
<source>Normal Synchronisation</source>
<translation>Sincronização Normal</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="961"/>
+ <location filename="../src/gui/folder.cpp" line="966"/>
<source>Keep Local Files as Conflict</source>
<translation>Manter Ficheiros Locais como Conflito</translation>
</message>
@@ -1291,22 +1291,22 @@ Continuando a sincronização fará com que todos os seus ficheiros sejam substi
<context>
<name>OCC::HttpCredentialsGui</name>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="97"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="98"/>
<source>Please enter %1 password:&lt;br&gt;&lt;br&gt;User: %2&lt;br&gt;Account: %3&lt;br&gt;</source>
<translation>Por favor, insira a palavra-passe %1:&lt;br&gt;&lt;br&gt;Utilizador: %2&lt;br&gt;Conta: %3&lt;br&gt;</translation>
</message>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="111"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="112"/>
<source>Reading from keychain failed with error: &apos;%1&apos;</source>
<translation>A leitura da cadeia de dados falhou com um erro: &apos;%1&apos;</translation>
</message>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="117"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="118"/>
<source>Enter Password</source>
<translation>Insira a Palavra-passe</translation>
</message>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="154"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="155"/>
<source>&lt;a href=&quot;%1&quot;&gt;Click here&lt;/a&gt; to request an app password from the web interface.</source>
<translation>&lt;a href=&quot;%1&quot;&gt;Clique aqui&lt;/a&gt; para solicitar uma palavra-passe da aplicação a partir da interface da Web.</translation>
</message>
@@ -1420,7 +1420,7 @@ Os itens onde é permitido a eliminação serão eliminados se estes impedirem a
<message>
<location filename="../src/gui/issueswidget.ui" line="73"/>
<source>Show warnings</source>
- <translation type="unfinished"/>
+ <translation>Mostrar Avisos</translation>
</message>
<message>
<location filename="../src/gui/issueswidget.ui" line="83"/>
@@ -1428,12 +1428,12 @@ Os itens onde é permitido a eliminação serão eliminados se estes impedirem a
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/issueswidget.ui" line="145"/>
+ <location filename="../src/gui/issueswidget.ui" line="148"/>
<source>Copy the issues list to the clipboard.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/issueswidget.ui" line="148"/>
+ <location filename="../src/gui/issueswidget.ui" line="151"/>
<source>Copy</source>
<translation>Copiar</translation>
</message>
@@ -1450,7 +1450,7 @@ Os itens onde é permitido a eliminação serão eliminados se estes impedirem a
<message>
<location filename="../src/gui/issueswidget.cpp" line="78"/>
<source>Issue</source>
- <translation type="unfinished"/>
+ <translation>Situação</translation>
</message>
</context>
<context>
@@ -1919,144 +1919,144 @@ Não é aconselhada a sua utilização.</translation>
<context>
<name>OCC::OwncloudSetupWizard</name>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="217"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="250"/>
<source>&lt;font color=&quot;green&quot;&gt;Successfully connected to %1: %2 version %3 (%4)&lt;/font&gt;&lt;br/&gt;&lt;br/&gt;</source>
<translation>&lt;font color=&quot;green&quot;&gt;Ligado com sucesso a %1: %2 - versão: %3 (%4)&lt;/font&gt;&lt;br/&gt;&lt;br/&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="251"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="280"/>
<source>Failed to connect to %1 at %2:&lt;br/&gt;%3</source>
<translation>Não foi possível ligar a %1 em %2:&lt;br/&gt;%3</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="285"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="314"/>
<source>Timeout while trying to connect to %1 at %2.</source>
<translation>Tempo expirou enquanto tentava ligar a %1 em %2.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="296"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="334"/>
<source>Trying to connect to %1 at %2...</source>
<translation>A tentar ligar a %1 em %2...</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="347"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="385"/>
<source>The authenticated request to the server was redirected to &apos;%1&apos;. The URL is bad, the server is misconfigured.</source>
<translation>O pedido de autenticação para o servidor foi redirecionado para &apos;%1&apos;. O URL é mau, o servidor está mal configurado. </translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="369"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="407"/>
<source>There was an invalid response to an authenticated webdav request</source>
<translation>Houve uma resposta inválida para o pedido de autenticação webdav</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="360"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="398"/>
<source>Access forbidden by server. To verify that you have proper access, &lt;a href=&quot;%1&quot;&gt;click here&lt;/a&gt; to access the service with your browser.</source>
<translation>Acesso proibido pelo servidor. Para verificar que tem o acesso adequado, &lt;a href=&quot;%1&quot;&gt;clique aqui&lt;/a&gt; para aceder ao serviço com o seu navegador.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="249"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="278"/>
<source>Invalid URL</source>
<translation>URL inválido</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="414"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="452"/>
<source>Local sync folder %1 already exists, setting it up for sync.&lt;br/&gt;&lt;br/&gt;</source>
<translation>A pasta de sincronização local %1 já existe, a configurar para sincronizar.&lt;br/&gt;&lt;br/&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="417"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="455"/>
<source>Creating local sync folder %1...</source>
<translation>A criar a pasta de sincronização local %1...</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="421"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="459"/>
<source>ok</source>
<translation>ok</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="423"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="461"/>
<source>failed.</source>
<translation>Falhou.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="425"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="463"/>
<source>Could not create local folder %1</source>
<translation>Não foi possível criar a pasta local %1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="451"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="489"/>
<source>No remote folder specified!</source>
<translation>Não foi indicada a pasta remota!</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="457"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="495"/>
<source>Error: %1</source>
<translation>Erro: %1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="470"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="508"/>
<source>creating folder on ownCloud: %1</source>
<translation>a criar a pasta na ownCloud: %1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="486"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="524"/>
<source>Remote folder %1 created successfully.</source>
<translation>Criação da pasta remota %1 com sucesso!</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="488"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="526"/>
<source>The remote folder %1 already exists. Connecting it for syncing.</source>
<translation>A pasta remota %1 já existe. Ligue-a para sincronizar.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="490"/>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="492"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="528"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="530"/>
<source>The folder creation resulted in HTTP error code %1</source>
<translation>A criação da pasta resultou num erro HTTP com o código %1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="494"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="532"/>
<source>The remote folder creation failed because the provided credentials are wrong!&lt;br/&gt;Please go back and check your credentials.&lt;/p&gt;</source>
<translation>A criação da pasta remota falhou, provavelmente por ter introduzido as credenciais erradas.&lt;br/&gt;Por favor, verifique as suas credenciais.&lt;/p&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="498"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="536"/>
<source>&lt;p&gt;&lt;font color=&quot;red&quot;&gt;Remote folder creation failed probably because the provided credentials are wrong.&lt;/font&gt;&lt;br/&gt;Please go back and check your credentials.&lt;/p&gt;</source>
<translation>&lt;p&gt;&lt;font color=&quot;red&quot;&gt;A criação da pasta remota falhou, provavelmente por ter introduzido as credenciais erradas.&lt;/font&gt;&lt;br/&gt;Por favor, verifique as suas credenciais.&lt;/p&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="503"/>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="504"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="541"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="542"/>
<source>Remote folder %1 creation failed with error &lt;tt&gt;%2&lt;/tt&gt;.</source>
<translation>A criação da pasta remota %1 falhou com o erro &lt;tt&gt;%2&lt;/tt&gt;.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="521"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="559"/>
<source>A sync connection from %1 to remote directory %2 was set up.</source>
<translation>A sincronização de %1 com a pasta remota %2 foi criada com sucesso.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="526"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="564"/>
<source>Successfully connected to %1!</source>
<translation>Conectado com sucesso a %1!</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="533"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="571"/>
<source>Connection to %1 could not be established. Please check again.</source>
<translation>Não foi possível ligar a %1 . Por Favor verifique novamente.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="547"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="585"/>
<source>Folder rename failed</source>
<translation>Erro ao renomear a pasta</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="548"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="586"/>
<source>Can&apos;t remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup.</source>
<translation>Não é possível remover e fazer backup à pasta porque a pasta ou um ficheiro nesta está aberto em outro programa. Por favor, feche a pasta ou o ficheiro e clique novamente ou cancele a configuração.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="593"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="631"/>
<source>&lt;font color=&quot;green&quot;&gt;&lt;b&gt;Local sync folder %1 successfully created!&lt;/b&gt;&lt;/font&gt;</source>
<translation>&lt;font color=&quot;green&quot;&gt;&lt;b&gt;Pasta de sincronização local %1 criada com sucesso!&lt;/b&gt;&lt;/font&gt;</translation>
</message>
@@ -2103,7 +2103,7 @@ Não é aconselhada a sua utilização.</translation>
<context>
<name>OCC::PropagateDirectory</name>
<message>
- <location filename="../src/libsync/owncloudpropagator.cpp" line="942"/>
+ <location filename="../src/libsync/owncloudpropagator.cpp" line="953"/>
<source>Error writing metadata to the database</source>
<translation>Erro ao escrever a meta-informação par a base de dados</translation>
</message>
@@ -2141,17 +2141,17 @@ Não é aconselhada a sua utilização.</translation>
<translation>O ficheiro transferido está vazio, apesar do servidor indicar que este deveria ter %1.</translation>
</message>
<message>
- <location filename="../src/libsync/propagatedownload.cpp" line="772"/>
+ <location filename="../src/libsync/propagatedownload.cpp" line="775"/>
<source>File %1 cannot be saved because of a local file name clash!</source>
<translation>Ficheiro %1 não pode ser guardado devido à existência de um ficheiro local com o mesmo nome.</translation>
</message>
<message>
- <location filename="../src/libsync/propagatedownload.cpp" line="820"/>
+ <location filename="../src/libsync/propagatedownload.cpp" line="823"/>
<source>File has changed since discovery</source>
<translation>O ficheiro alterou-se desde a sua descoberta</translation>
</message>
<message>
- <location filename="../src/libsync/propagatedownload.cpp" line="871"/>
+ <location filename="../src/libsync/propagatedownload.cpp" line="874"/>
<source>Error writing metadata to the database</source>
<translation>Erro ao gravar os metadados para a base de dados</translation>
</message>
@@ -2227,12 +2227,12 @@ Não é aconselhada a sua utilização.</translation>
<context>
<name>OCC::PropagateRemoteDelete</name>
<message>
- <location filename="../src/libsync/propagateremotedelete.cpp" line="96"/>
+ <location filename="../src/libsync/propagateremotedelete.cpp" line="100"/>
<source>The file has been removed from a read only share. It was restored.</source>
<translation>O ficheiro havia sido removido de uma partilha apenas de leitura. Ficheiro restaurado. </translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotedelete.cpp" line="117"/>
+ <location filename="../src/libsync/propagateremotedelete.cpp" line="121"/>
<source>Wrong HTTP code returned by server. Expected 204, but received &quot;%1 %2&quot;.</source>
<translation>Código HTTP errado devolvido pelo servidor. Esperado 204, mas foi recebido &quot;%1 %2&quot;.</translation>
</message>
@@ -2240,12 +2240,12 @@ Não é aconselhada a sua utilização.</translation>
<context>
<name>OCC::PropagateRemoteMkdir</name>
<message>
- <location filename="../src/libsync/propagateremotemkdir.cpp" line="95"/>
+ <location filename="../src/libsync/propagateremotemkdir.cpp" line="99"/>
<source>Wrong HTTP code returned by server. Expected 201, but received &quot;%1 %2&quot;.</source>
<translation>Código HTTP errado devolvido pelo servidor. Esperado 201, mas foi recebido &quot;%1 %2&quot;.</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotemkdir.cpp" line="147"/>
+ <location filename="../src/libsync/propagateremotemkdir.cpp" line="151"/>
<source>Error writing metadata to the database</source>
<translation>Erro ao escrever a meta-informação par a base de dados</translation>
</message>
@@ -2263,18 +2263,18 @@ Não é aconselhada a sua utilização.</translation>
<translation>Esta pasta não pode ser renomeada. Por favor renomeie para o seu nome original: Shared.</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotemove.cpp" line="137"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="141"/>
<source>The file was renamed but is part of a read only share. The original file was restored.</source>
<translation>O ficheiro foi renomeado mas faz parte de uma partilha só de leitura. O ficheiro original foi restaurado.</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotemove.cpp" line="154"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="158"/>
<source>Wrong HTTP code returned by server. Expected 201, but received &quot;%1 %2&quot;.</source>
<translation>Código HTTP errado devolvido pelo servidor. Esperado 201, mas foi recebido &quot;%1 %2&quot;.</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotemove.cpp" line="186"/>
- <location filename="../src/libsync/propagateremotemove.cpp" line="192"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="190"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="196"/>
<source>Error writing metadata to the database</source>
<translation>Erro ao escrever a meta-informação par a base de dados</translation>
</message>
@@ -2308,7 +2308,7 @@ Não é aconselhada a sua utilização.</translation>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/propagateupload.cpp" line="618"/>
+ <location filename="../src/libsync/propagateupload.cpp" line="622"/>
<source>Error writing metadata to the database</source>
<translation>Erro ao gravar os metadados para a base de dados</translation>
</message>
@@ -2382,42 +2382,42 @@ Não é aconselhada a sua utilização.</translation>
<translation>TextLabel</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="48"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="61"/>
<source>Time</source>
<translation>Tempo</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="49"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="62"/>
<source>File</source>
<translation>Ficheiro</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="50"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="63"/>
<source>Folder</source>
<translation>Pasta</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="51"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="64"/>
<source>Action</source>
<translation>Ação</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="52"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="65"/>
<source>Size</source>
<translation>Tamanho</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="72"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="85"/>
<source>Local sync protocol</source>
<translation>Protocolo de sincronização local</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="74"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="87"/>
<source>Copy</source>
<translation>Copiar</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="75"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="88"/>
<source>Copy the activity list to the clipboard.</source>
<translation>Copiar lista de actividades para a área de transferência.</translation>
</message>
@@ -2549,6 +2549,7 @@ Não é aconselhada a sua utilização.</translation>
</message>
<message>
<location filename="../src/gui/settingsdialogmac.cpp" line="152"/>
+ <location filename="../src/gui/settingsdialogmac.cpp" line="211"/>
<source>Account</source>
<translation>Conta</translation>
</message>
@@ -2641,7 +2642,7 @@ Não é aconselhada a sua utilização.</translation>
<message>
<location filename="../src/gui/sharelinkwidget.ui" line="42"/>
<source>&amp;Create new</source>
- <translation type="unfinished"/>
+ <translation>&amp;Criar novo</translation>
</message>
<message>
<location filename="../src/gui/sharelinkwidget.ui" line="105"/>
@@ -2888,7 +2889,7 @@ Não é aconselhada a sua utilização.</translation>
<message>
<location filename="../src/gui/socketapi.cpp" line="563"/>
<source>Share...</source>
- <translation type="unfinished"/>
+ <translation>Partilhar...</translation>
</message>
<message>
<location filename="../src/gui/socketapi.cpp" line="565"/>
@@ -3205,22 +3206,22 @@ Não é aconselhada a sua utilização.</translation>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1278"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1287"/>
<source>Not allowed because you don&apos;t have permission to add parent folder</source>
<translation>Não permitido, porque não tem permissão para adicionar a pasta fonte</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1285"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1294"/>
<source>Not allowed because you don&apos;t have permission to add files in that folder</source>
<translation>Não permitido, porque não tem permissão para adicionar os ficheiros nessa pasta</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1588"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1597"/>
<source>Disk space is low: Downloads that would reduce free space below %1 were skipped.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1595"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1604"/>
<source>There is insufficient space available on the server for some uploads.</source>
<translation type="unfinished"/>
</message>
@@ -3345,54 +3346,54 @@ Não é aconselhada a sua utilização.</translation>
<translation>Impossível abrir o jornal de sincronismo</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="968"/>
+ <location filename="../src/libsync/syncengine.cpp" line="977"/>
<source>File name contains at least one invalid character</source>
<translation>O nome de ficheiro contém pelo menos um caráter inválido</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1204"/>
- <location filename="../src/libsync/syncengine.cpp" line="1244"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1213"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1253"/>
<source>Ignored because of the &quot;choose what to sync&quot; blacklist</source>
<translation>Ignorado devido à blacklist de escolha para sincronização</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1263"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1272"/>
<source>Not allowed because you don&apos;t have permission to add subfolders to that folder</source>
<translation>Não permitido, porque não tem permissão para adicionar as subpastas nessa pasta</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1310"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1319"/>
<source>Not allowed to upload this file because it is read-only on the server, restoring</source>
<translation>Não é permitido enviar este ficheiro porque este é só de leitura no servidor, a restaurar</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1326"/>
- <location filename="../src/libsync/syncengine.cpp" line="1345"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1335"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1354"/>
<source>Not allowed to remove, restoring</source>
<translation>Não autorizado para remoção, restaurando</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1359"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1368"/>
<source>Local files and share folder removed.</source>
<translation>Ficheiros locais e pasta partilhada removidos.</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1413"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1422"/>
<source>Move not allowed, item restored</source>
<translation>Mover não foi permitido, item restaurado</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1424"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1433"/>
<source>Move not allowed because %1 is read-only</source>
<translation>Mover não foi autorizado porque %1 é só de leitura</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1424"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1433"/>
<source>the destination</source>
<translation>o destino</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1424"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1433"/>
<source>the source</source>
<translation>a origem</translation>
</message>
@@ -3434,17 +3435,17 @@ Não é aconselhada a sua utilização.</translation>
<context>
<name>OCC::ValidateChecksumHeader</name>
<message>
- <location filename="../src/common/checksums.cpp" line="205"/>
+ <location filename="../src/common/checksums.cpp" line="218"/>
<source>The checksum header is malformed.</source>
<translation>O cabeçalho de &quot;checksum&quot; está com problemas.</translation>
</message>
<message>
- <location filename="../src/common/checksums.cpp" line="220"/>
+ <location filename="../src/common/checksums.cpp" line="233"/>
<source>The checksum header contained an unknown checksum type &apos;%1&apos;</source>
<translation>O header checksum continha um tipo de checksum desconhecido &apos;%1&apos;</translation>
</message>
<message>
- <location filename="../src/common/checksums.cpp" line="224"/>
+ <location filename="../src/common/checksums.cpp" line="237"/>
<source>The downloaded file does not match the checksum, it will be resumed.</source>
<translation>O ficheiro transferido não corresponde ao &quot;checksum&quot;, Este irá ser retomado.</translation>
</message>
diff --git a/translations/client_pt_BR.ts b/translations/client_pt_BR.ts
index cd1646820..bfa6701a2 100644
--- a/translations/client_pt_BR.ts
+++ b/translations/client_pt_BR.ts
@@ -596,7 +596,7 @@
<context>
<name>OCC::CleanupPollsJob</name>
<message>
- <location filename="../src/libsync/owncloudpropagator.cpp" line="990"/>
+ <location filename="../src/libsync/owncloudpropagator.cpp" line="1001"/>
<source>Error writing metadata to the database</source>
<translation>Ocorreu um erro ao escrever metadados ao banco de dados</translation>
</message>
@@ -744,26 +744,26 @@
<translation>Não foi possível ler o sistema de arquivo de exclusão</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="883"/>
+ <location filename="../src/gui/folder.cpp" line="888"/>
<source>A new folder larger than %1 MB has been added: %2.
</source>
<translation>Uma nova pasta maior que %1 MB foi adicionada: %2
</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="886"/>
+ <location filename="../src/gui/folder.cpp" line="891"/>
<source>A folder from an external storage has been added.
</source>
<translation>Uma pasta de um armazenamento externo foi adicionada.
</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="887"/>
+ <location filename="../src/gui/folder.cpp" line="892"/>
<source>Please go in the settings to select it if you wish to download it.</source>
<translation>Por favor, vá nas configurações para selecioná-lo se você deseja baixá-lo.</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="922"/>
+ <location filename="../src/gui/folder.cpp" line="927"/>
<source>All files in the sync folder '%1' folder were deleted on the server.
These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore.
If you decide to keep the files, they will be re-synced with the server if you have rights to do so.
@@ -774,29 +774,29 @@ If you decide to delete the files, they will be unavailable to you, unless you a
Se você decidir excluir os arquivos, eles não estarão disponíveis para você, a menos que você seja o proprietário.</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="927"/>
+ <location filename="../src/gui/folder.cpp" line="932"/>
<source>All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored.
Are you sure you want to sync those actions with the server?
If this was an accident and you decide to keep your files, they will be re-synced from the server.</source>
<translation>Todos os arquivos na pasta de sincronização local &apos;%1&apos; foram excluídos. Essas exclusões serão sincronizadas com o servidor, tornando tais arquivos indisponíveis, a menos que restaurados.Tem certeza de que deseja sincronizar essas ações com o servidor?Se isso foi um acidente e você decidir manter seus arquivos, eles serão re-sincronizados a partir do servidor.</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="931"/>
+ <location filename="../src/gui/folder.cpp" line="936"/>
<source>Remove All Files?</source>
<translation>Deseja Remover Todos os Arquivos?</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="934"/>
+ <location filename="../src/gui/folder.cpp" line="939"/>
<source>Remove all files</source>
<translation>Remover todos os arquivos</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="935"/>
+ <location filename="../src/gui/folder.cpp" line="940"/>
<source>Keep files</source>
<translation>Manter arquivos</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="952"/>
+ <location filename="../src/gui/folder.cpp" line="957"/>
<source>This sync would reset the files to an earlier time in the sync folder '%1'.
This might be because a backup was restored on the server.
Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files?</source>
@@ -805,17 +805,17 @@ Isso pode ser porque um backup foi restaurado no servidor.
Continuar a sincronização como normal fará com que todos os seus arquivos sejam substituídos por um arquivo antigo em um estado anterior. Deseja manter seus arquivos mais recentes locais como arquivos de conflito?</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="957"/>
+ <location filename="../src/gui/folder.cpp" line="962"/>
<source>Backup detected</source>
<translation>Backup detectado</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="960"/>
+ <location filename="../src/gui/folder.cpp" line="965"/>
<source>Normal Synchronisation</source>
<translation>Sincronização Normal</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="961"/>
+ <location filename="../src/gui/folder.cpp" line="966"/>
<source>Keep Local Files as Conflict</source>
<translation>Manter Arquivos Locais como Conflito</translation>
</message>
@@ -1290,22 +1290,22 @@ Continuar a sincronização como normal fará com que todos os seus arquivos sej
<context>
<name>OCC::HttpCredentialsGui</name>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="97"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="98"/>
<source>Please enter %1 password:&lt;br&gt;&lt;br&gt;User: %2&lt;br&gt;Account: %3&lt;br&gt;</source>
<translation>Por favor entre uma senha %1:&lt;br&gt;&lt;br&gt;Usuário: %2&lt;br&gt;Conta: %3&lt;br&gt;</translation>
</message>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="111"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="112"/>
<source>Reading from keychain failed with error: &apos;%1&apos;</source>
<translation>Leitura de chaveiro falhou com o erro: &apos;%1&apos;</translation>
</message>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="117"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="118"/>
<source>Enter Password</source>
<translation>Entrar Senha</translation>
</message>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="154"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="155"/>
<source>&lt;a href=&quot;%1&quot;&gt;Click here&lt;/a&gt; to request an app password from the web interface.</source>
<translation>&lt;a href=&quot;%1&quot;&gt;Clique aqui&lt;/a&gt; para solicitar uma senha de aplicativo na interface da web.</translation>
</message>
@@ -1427,12 +1427,12 @@ Itens onde a eliminação é permitida serão excluídos se eles evitarem que um
<translation>Mostrar arquivos ignorados</translation>
</message>
<message>
- <location filename="../src/gui/issueswidget.ui" line="145"/>
+ <location filename="../src/gui/issueswidget.ui" line="148"/>
<source>Copy the issues list to the clipboard.</source>
<translation>Copie a lista de problemas para a área de transferência.</translation>
</message>
<message>
- <location filename="../src/gui/issueswidget.ui" line="148"/>
+ <location filename="../src/gui/issueswidget.ui" line="151"/>
<source>Copy</source>
<translation>Copiar</translation>
</message>
@@ -1916,144 +1916,144 @@ It is not advisable to use it.</source>
<context>
<name>OCC::OwncloudSetupWizard</name>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="217"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="250"/>
<source>&lt;font color=&quot;green&quot;&gt;Successfully connected to %1: %2 version %3 (%4)&lt;/font&gt;&lt;br/&gt;&lt;br/&gt;</source>
<translation>&lt;font color=&quot;green&quot;&gt;Conectado com sucesso a %1: %2 versão %3 (%4)&lt;/font&gt;&lt;br/&gt;&lt;br/&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="251"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="280"/>
<source>Failed to connect to %1 at %2:&lt;br/&gt;%3</source>
<translation>Falha ao conectar a %1 em %2:&lt;br/&gt;%3</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="285"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="314"/>
<source>Timeout while trying to connect to %1 at %2.</source>
<translation>O tempo expirou ao tentar contactar %1 e %2.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="296"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="334"/>
<source>Trying to connect to %1 at %2...</source>
<translation>Tentando conectar a %1 em %2...</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="347"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="385"/>
<source>The authenticated request to the server was redirected to &apos;%1&apos;. The URL is bad, the server is misconfigured.</source>
<translation>A solicitação de autenticação ao servidor foi direcionada para &apos;%1&apos;. A URL está errada, a configuração do servidor está errada.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="369"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="407"/>
<source>There was an invalid response to an authenticated webdav request</source>
<translation>Houve uma resposta inválida a um pedido de autenticação WebDAV</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="360"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="398"/>
<source>Access forbidden by server. To verify that you have proper access, &lt;a href=&quot;%1&quot;&gt;click here&lt;/a&gt; to access the service with your browser.</source>
<translation>Acesso proibido pelo servidor. Para verificar se você tem acesso adequado, &lt;a href=&quot;%1&quot;&gt;clique aqui&lt;/a&gt; para acessar o serviço com o seu navegador.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="249"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="278"/>
<source>Invalid URL</source>
<translation>URL inválida</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="414"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="452"/>
<source>Local sync folder %1 already exists, setting it up for sync.&lt;br/&gt;&lt;br/&gt;</source>
<translation>Pasta local de sincronização %1 já existe, configurando para sincronização. &lt;br/&gt;&lt;br/&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="417"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="455"/>
<source>Creating local sync folder %1...</source>
<translation>Criação de pasta de sincronização local %1...</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="421"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="459"/>
<source>ok</source>
<translation>ok</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="423"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="461"/>
<source>failed.</source>
<translation>falhou.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="425"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="463"/>
<source>Could not create local folder %1</source>
<translation>Não foi possível criar pasta local %1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="451"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="489"/>
<source>No remote folder specified!</source>
<translation>Nenhuma pasta remota foi especificada!</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="457"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="495"/>
<source>Error: %1</source>
<translation>Erro: %1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="470"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="508"/>
<source>creating folder on ownCloud: %1</source>
<translation>criar pasta no ownCloud: %1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="486"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="524"/>
<source>Remote folder %1 created successfully.</source>
<translation>Pasta remota %1 criada com sucesso.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="488"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="526"/>
<source>The remote folder %1 already exists. Connecting it for syncing.</source>
<translation>Pasta remota %1 já existe. Conectando para sincronizar.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="490"/>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="492"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="528"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="530"/>
<source>The folder creation resulted in HTTP error code %1</source>
<translation>A criação da pasta resultou em um erro do código HTTP %1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="494"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="532"/>
<source>The remote folder creation failed because the provided credentials are wrong!&lt;br/&gt;Please go back and check your credentials.&lt;/p&gt;</source>
<translation>A criação da pasta remota falhou porque as credenciais fornecidas estão erradas!&lt;br/&gt;Por favor, volte e verifique suas credenciais.&lt;/p&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="498"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="536"/>
<source>&lt;p&gt;&lt;font color=&quot;red&quot;&gt;Remote folder creation failed probably because the provided credentials are wrong.&lt;/font&gt;&lt;br/&gt;Please go back and check your credentials.&lt;/p&gt;</source>
<translation>&lt;p&gt;&lt;font color=&quot;red&quot;&gt;A criação remota de pasta falhou provavelmente as causas da falha na criação da pasta remota são credenciais erradas&lt;/font&gt;&lt;br/&gt;Volte e verifique suas credenciais, por favor.&lt;/p&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="503"/>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="504"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="541"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="542"/>
<source>Remote folder %1 creation failed with error &lt;tt&gt;%2&lt;/tt&gt;.</source>
<translation>Falha na criação da pasta remota %1 com erro &lt;tt&gt;%2&lt;/tt&gt;.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="521"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="559"/>
<source>A sync connection from %1 to remote directory %2 was set up.</source>
<translation>Uma conexão de sincronização de %1 para o diretório remoto %2 foi realizada.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="526"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="564"/>
<source>Successfully connected to %1!</source>
<translation>Conectado com sucesso a %1!</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="533"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="571"/>
<source>Connection to %1 could not be established. Please check again.</source>
<translation>Conexão à %1 não foi estabelecida. Por favor, verifique novamente.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="547"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="585"/>
<source>Folder rename failed</source>
<translation>Falha no nome da pasta</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="548"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="586"/>
<source>Can&apos;t remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup.</source>
<translation>Não é possível remover e fazer backup da pasta porque a pasta ou um arquivo que está nesta pasta está aberto em outro programa. Por favor, feche a pasta ou arquivo e clique tentar novamente ou cancelar a operação.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="593"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="631"/>
<source>&lt;font color=&quot;green&quot;&gt;&lt;b&gt;Local sync folder %1 successfully created!&lt;/b&gt;&lt;/font&gt;</source>
<translation>&lt;font color=&quot;green&quot;&gt;&lt;b&gt;Pasta de sincronização local %1 criada com sucesso!&lt;/b&gt;&lt;/font&gt;</translation>
</message>
@@ -2100,7 +2100,7 @@ It is not advisable to use it.</source>
<context>
<name>OCC::PropagateDirectory</name>
<message>
- <location filename="../src/libsync/owncloudpropagator.cpp" line="942"/>
+ <location filename="../src/libsync/owncloudpropagator.cpp" line="953"/>
<source>Error writing metadata to the database</source>
<translation>Ocorreu um erro ao escrever metadados ao banco de dados</translation>
</message>
@@ -2138,17 +2138,17 @@ It is not advisable to use it.</source>
<translation>O arquivo baixado está vazio apesar do servidor anunciou que deveria ter %1.</translation>
</message>
<message>
- <location filename="../src/libsync/propagatedownload.cpp" line="772"/>
+ <location filename="../src/libsync/propagatedownload.cpp" line="775"/>
<source>File %1 cannot be saved because of a local file name clash!</source>
<translation>O arquivo %1 não pode ser salvo devido a um confronto com um nome de arquivo local!</translation>
</message>
<message>
- <location filename="../src/libsync/propagatedownload.cpp" line="820"/>
+ <location filename="../src/libsync/propagatedownload.cpp" line="823"/>
<source>File has changed since discovery</source>
<translation>Arquivo foi alterado desde a descoberta</translation>
</message>
<message>
- <location filename="../src/libsync/propagatedownload.cpp" line="871"/>
+ <location filename="../src/libsync/propagatedownload.cpp" line="874"/>
<source>Error writing metadata to the database</source>
<translation>Ocorreu um erro ao escrever metadados ao banco de dados</translation>
</message>
@@ -2224,12 +2224,12 @@ It is not advisable to use it.</source>
<context>
<name>OCC::PropagateRemoteDelete</name>
<message>
- <location filename="../src/libsync/propagateremotedelete.cpp" line="96"/>
+ <location filename="../src/libsync/propagateremotedelete.cpp" line="100"/>
<source>The file has been removed from a read only share. It was restored.</source>
<translation>O arquivo foi removido de um compartilhamento somente de leitura. Ele foi restaurado.</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotedelete.cpp" line="117"/>
+ <location filename="../src/libsync/propagateremotedelete.cpp" line="121"/>
<source>Wrong HTTP code returned by server. Expected 204, but received &quot;%1 %2&quot;.</source>
<translation>Código HTTP retornado errado pelo servidor. 204 esperado, mas recebeu &quot;%1 %2&quot;.</translation>
</message>
@@ -2237,12 +2237,12 @@ It is not advisable to use it.</source>
<context>
<name>OCC::PropagateRemoteMkdir</name>
<message>
- <location filename="../src/libsync/propagateremotemkdir.cpp" line="95"/>
+ <location filename="../src/libsync/propagateremotemkdir.cpp" line="99"/>
<source>Wrong HTTP code returned by server. Expected 201, but received &quot;%1 %2&quot;.</source>
<translation>Código HTTP retornado errado pelo servidor. 201 esperado, mas recebeu &quot;%1 %2&quot;.</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotemkdir.cpp" line="147"/>
+ <location filename="../src/libsync/propagateremotemkdir.cpp" line="151"/>
<source>Error writing metadata to the database</source>
<translation>Ocorreu um erro ao escrever metadados ao banco de dados</translation>
</message>
@@ -2260,18 +2260,18 @@ It is not advisable to use it.</source>
<translation>Esta pasta não pode ser renomeada. Por favor, nomeie-a de volta para Compartilhada.</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotemove.cpp" line="137"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="141"/>
<source>The file was renamed but is part of a read only share. The original file was restored.</source>
<translation>O arquivo foi renomeado mas faz parte de compartilhamento só de leitura. O arquivo original foi restaurado.</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotemove.cpp" line="154"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="158"/>
<source>Wrong HTTP code returned by server. Expected 201, but received &quot;%1 %2&quot;.</source>
<translation>Código HTTP retornado errado pelo servidor. 201 esperado, mas recebeu &quot;%1 %2&quot;.</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotemove.cpp" line="186"/>
- <location filename="../src/libsync/propagateremotemove.cpp" line="192"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="190"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="196"/>
<source>Error writing metadata to the database</source>
<translation>Ocorreu um erro ao escrever metadados ao banco de dados</translation>
</message>
@@ -2305,7 +2305,7 @@ It is not advisable to use it.</source>
<translation>O envio de %1 excede a quota da pasta</translation>
</message>
<message>
- <location filename="../src/libsync/propagateupload.cpp" line="618"/>
+ <location filename="../src/libsync/propagateupload.cpp" line="622"/>
<source>Error writing metadata to the database</source>
<translation>Ocorreu um erro ao escrever metadados ao banco de dados</translation>
</message>
@@ -2379,42 +2379,42 @@ It is not advisable to use it.</source>
<translation>RótuloTexto</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="48"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="61"/>
<source>Time</source>
<translation>Tempo</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="49"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="62"/>
<source>File</source>
<translation>Arquivo</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="50"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="63"/>
<source>Folder</source>
<translation>Pasta</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="51"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="64"/>
<source>Action</source>
<translation>Ação</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="52"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="65"/>
<source>Size</source>
<translation>Tamanho</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="72"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="85"/>
<source>Local sync protocol</source>
<translation>Protocolo de sincronização local</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="74"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="87"/>
<source>Copy</source>
<translation>Copiar</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="75"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="88"/>
<source>Copy the activity list to the clipboard.</source>
<translation>Copiar a lista de atividades para a área de transferência.</translation>
</message>
@@ -2546,6 +2546,7 @@ It is not advisable to use it.</source>
</message>
<message>
<location filename="../src/gui/settingsdialogmac.cpp" line="152"/>
+ <location filename="../src/gui/settingsdialogmac.cpp" line="211"/>
<source>Account</source>
<translation>Conta</translation>
</message>
@@ -3202,22 +3203,22 @@ It is not advisable to use it.</source>
<translation>Não é possível abrir ou criar o banco de dados de sincronização local. Certifique-se de ter acesso de gravação na pasta de sincronização.</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1278"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1287"/>
<source>Not allowed because you don&apos;t have permission to add parent folder</source>
<translation>Não permitido porque você não tem permissão para adicionar pasta mãe</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1285"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1294"/>
<source>Not allowed because you don&apos;t have permission to add files in that folder</source>
<translation>Não permitido porque você não tem permissão para adicionar arquivos na pasta</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1588"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1597"/>
<source>Disk space is low: Downloads that would reduce free space below %1 were skipped.</source>
<translation>O espaço em disco é pequeno: Os downloads que reduzam o espaço livre abaixo de %1 foram ignorados.</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1595"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1604"/>
<source>There is insufficient space available on the server for some uploads.</source>
<translation>Há espaço disponível no servidor para alguns envios.</translation>
</message>
@@ -3342,54 +3343,54 @@ It is not advisable to use it.</source>
<translation>Não é possível abrir o arquivo de sincronização</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="968"/>
+ <location filename="../src/libsync/syncengine.cpp" line="977"/>
<source>File name contains at least one invalid character</source>
<translation>O nome do arquivo contem pelo menos um caractere inválido </translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1204"/>
- <location filename="../src/libsync/syncengine.cpp" line="1244"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1213"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1253"/>
<source>Ignored because of the &quot;choose what to sync&quot; blacklist</source>
<translation>Ignorado por causa da lista negra &quot;escolher o que sincronizar&quot;</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1263"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1272"/>
<source>Not allowed because you don&apos;t have permission to add subfolders to that folder</source>
<translation>Não permitido porque você não tem permissão para adicionar subpastas para essa pasta</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1310"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1319"/>
<source>Not allowed to upload this file because it is read-only on the server, restoring</source>
<translation>Não é permitido fazer o upload deste arquivo porque ele é somente leitura no servidor, restaurando</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1326"/>
- <location filename="../src/libsync/syncengine.cpp" line="1345"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1335"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1354"/>
<source>Not allowed to remove, restoring</source>
<translation>Não é permitido remover, restaurando</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1359"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1368"/>
<source>Local files and share folder removed.</source>
<translation>Arquivos locais e pasta compartilhada removida.</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1413"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1422"/>
<source>Move not allowed, item restored</source>
<translation>Não é permitido mover, item restaurado</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1424"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1433"/>
<source>Move not allowed because %1 is read-only</source>
<translation>Não é permitido mover porque %1 é somente para leitura</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1424"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1433"/>
<source>the destination</source>
<translation>o destino</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1424"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1433"/>
<source>the source</source>
<translation>a fonte</translation>
</message>
@@ -3431,17 +3432,17 @@ It is not advisable to use it.</source>
<context>
<name>OCC::ValidateChecksumHeader</name>
<message>
- <location filename="../src/common/checksums.cpp" line="205"/>
+ <location filename="../src/common/checksums.cpp" line="218"/>
<source>The checksum header is malformed.</source>
<translation>O cabeçalho da soma de verificação está incorreto.</translation>
</message>
<message>
- <location filename="../src/common/checksums.cpp" line="220"/>
+ <location filename="../src/common/checksums.cpp" line="233"/>
<source>The checksum header contained an unknown checksum type &apos;%1&apos;</source>
<translation>A cabeçalho da soma de verificação continha um tipo de soma de verificação desconhecido &apos;%1&apos;</translation>
</message>
<message>
- <location filename="../src/common/checksums.cpp" line="224"/>
+ <location filename="../src/common/checksums.cpp" line="237"/>
<source>The downloaded file does not match the checksum, it will be resumed.</source>
<translation>O arquivo baixado não coincide com o checksum, ele será retomado.</translation>
</message>
diff --git a/translations/client_ru.ts b/translations/client_ru.ts
index 48473ae35..be56d1769 100644
--- a/translations/client_ru.ts
+++ b/translations/client_ru.ts
@@ -596,7 +596,7 @@
<context>
<name>OCC::CleanupPollsJob</name>
<message>
- <location filename="../src/libsync/owncloudpropagator.cpp" line="990"/>
+ <location filename="../src/libsync/owncloudpropagator.cpp" line="1001"/>
<source>Error writing metadata to the database</source>
<translation>Ошибка записи метаданных в базу данных</translation>
</message>
@@ -744,26 +744,26 @@
<translation>Невозможно прочесть системный файл исключений</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="883"/>
+ <location filename="../src/gui/folder.cpp" line="888"/>
<source>A new folder larger than %1 MB has been added: %2.
</source>
<translation>Был добавлен новый каталог размером более %1 МБ: %2.
</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="886"/>
+ <location filename="../src/gui/folder.cpp" line="891"/>
<source>A folder from an external storage has been added.
</source>
<translation>Добавлен каталог из внешнего хранилища.
</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="887"/>
+ <location filename="../src/gui/folder.cpp" line="892"/>
<source>Please go in the settings to select it if you wish to download it.</source>
<translation>Пожалуйста, перейдите в настройки, чтобы выбрать его, если вы хотите его скачать.</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="922"/>
+ <location filename="../src/gui/folder.cpp" line="927"/>
<source>All files in the sync folder '%1' folder were deleted on the server.
These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore.
If you decide to keep the files, they will be re-synced with the server if you have rights to do so.
@@ -774,7 +774,7 @@ If you decide to delete the files, they will be unavailable to you, unless you a
Если вы решили удалить файлы, они станут вам недоступны, крмое случая, когда вы сам владелец.</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="927"/>
+ <location filename="../src/gui/folder.cpp" line="932"/>
<source>All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored.
Are you sure you want to sync those actions with the server?
If this was an accident and you decide to keep your files, they will be re-synced from the server.</source>
@@ -783,39 +783,39 @@ If this was an accident and you decide to keep your files, they will be re-synce
Если это произошло случайно и вы решите сохранить файлы, они будут перезакачаны с сервера.</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="931"/>
+ <location filename="../src/gui/folder.cpp" line="936"/>
<source>Remove All Files?</source>
<translation>Удалить все файлы?</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="934"/>
+ <location filename="../src/gui/folder.cpp" line="939"/>
<source>Remove all files</source>
<translation>Удалить все файлы</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="935"/>
+ <location filename="../src/gui/folder.cpp" line="940"/>
<source>Keep files</source>
<translation>Сохранить файлы</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="952"/>
+ <location filename="../src/gui/folder.cpp" line="957"/>
<source>This sync would reset the files to an earlier time in the sync folder '%1'.
This might be because a backup was restored on the server.
Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files?</source>
<translation>Эта синхронизация собирается сбросить файлы в катлоге &apos;%1&apos; в более ранее состояние. Такое может случиться, если на сервере восстановлена резервная копия. Если продолжать синхронизацию как обычно, то ваши файлы будут перетёрты более старыми версиями. Хотите сохранить ваши локальные свежие файлы в качестве конфликтных?</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="957"/>
+ <location filename="../src/gui/folder.cpp" line="962"/>
<source>Backup detected</source>
<translation>Обнаружена резервная копия</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="960"/>
+ <location filename="../src/gui/folder.cpp" line="965"/>
<source>Normal Synchronisation</source>
<translation>Обычная синхронизация</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="961"/>
+ <location filename="../src/gui/folder.cpp" line="966"/>
<source>Keep Local Files as Conflict</source>
<translation>Сохранить локальные файлы как конфликтующие</translation>
</message>
@@ -1289,22 +1289,22 @@ Continuing the sync as normal will cause all your files to be overwritten by an
<context>
<name>OCC::HttpCredentialsGui</name>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="97"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="98"/>
<source>Please enter %1 password:&lt;br&gt;&lt;br&gt;User: %2&lt;br&gt;Account: %3&lt;br&gt;</source>
<translation>Пожалуйста введите пароль для %1:&lt;br&gt;&lt;br&gt;Пользователь: %2&lt;br&gt;Учётная запись: %3&lt;br&gt;</translation>
</message>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="111"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="112"/>
<source>Reading from keychain failed with error: &apos;%1&apos;</source>
<translation>Чтение из брелока завершилось с ошибкой: &apos;%1&apos;</translation>
</message>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="117"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="118"/>
<source>Enter Password</source>
<translation>Введите пароль</translation>
</message>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="154"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="155"/>
<source>&lt;a href=&quot;%1&quot;&gt;Click here&lt;/a&gt; to request an app password from the web interface.</source>
<translation>&lt;a href=&quot;%1&quot;&gt;Кликните здесь&lt;/a&gt; чтобы запросить пароль приложения через веб-интерфейс.</translation>
</message>
@@ -1425,12 +1425,12 @@ Items where deletion is allowed will be deleted if they prevent a directory from
<translation>Показать игнорируемые файлы</translation>
</message>
<message>
- <location filename="../src/gui/issueswidget.ui" line="145"/>
+ <location filename="../src/gui/issueswidget.ui" line="148"/>
<source>Copy the issues list to the clipboard.</source>
<translation>Скопировать список проблем в буфер обмена.</translation>
</message>
<message>
- <location filename="../src/gui/issueswidget.ui" line="148"/>
+ <location filename="../src/gui/issueswidget.ui" line="151"/>
<source>Copy</source>
<translation>Копировать</translation>
</message>
@@ -1916,144 +1916,144 @@ It is not advisable to use it.</source>
<context>
<name>OCC::OwncloudSetupWizard</name>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="217"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="250"/>
<source>&lt;font color=&quot;green&quot;&gt;Successfully connected to %1: %2 version %3 (%4)&lt;/font&gt;&lt;br/&gt;&lt;br/&gt;</source>
<translation>&lt;font color=&quot;green&quot;&gt;Успешное подключение к %1: %2 версия %3 (%4)&lt;/font&gt;&lt;br/&gt;&lt;br/&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="251"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="280"/>
<source>Failed to connect to %1 at %2:&lt;br/&gt;%3</source>
<translation>Не удалось подключиться к %1 в %2:&lt;br/&gt;%3</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="285"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="314"/>
<source>Timeout while trying to connect to %1 at %2.</source>
<translation>Превышено время ожидания соединения к %1 на %2.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="296"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="334"/>
<source>Trying to connect to %1 at %2...</source>
<translation>Попытка соединиться с %1 на %2...</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="347"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="385"/>
<source>The authenticated request to the server was redirected to &apos;%1&apos;. The URL is bad, the server is misconfigured.</source>
<translation>Запрос авторизации с сервера перенаправлен на &apos;%1&apos;. Ссылка не верна, сервер не настроен.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="369"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="407"/>
<source>There was an invalid response to an authenticated webdav request</source>
<translation>Обнаружен не верный ответ на авторизованный запрос WebDAV</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="360"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="398"/>
<source>Access forbidden by server. To verify that you have proper access, &lt;a href=&quot;%1&quot;&gt;click here&lt;/a&gt; to access the service with your browser.</source>
<translation>Доступ запрещён сервером. Чтобы доказать, что у Вас есть права доступа, &lt;a href=&quot;%1&quot;&gt;нажмите здесь&lt;/a&gt; для входа через Ваш браузер.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="249"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="278"/>
<source>Invalid URL</source>
<translation>Неверная ссылка</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="414"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="452"/>
<source>Local sync folder %1 already exists, setting it up for sync.&lt;br/&gt;&lt;br/&gt;</source>
<translation>Локальный каталог синхронизации %1 уже существует, используем его для синхронизации.&lt;br/&gt;&lt;br/&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="417"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="455"/>
<source>Creating local sync folder %1...</source>
<translation>Создание локальной папки синхронизации %1... </translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="421"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="459"/>
<source>ok</source>
<translation>ок</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="423"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="461"/>
<source>failed.</source>
<translation>не удалось.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="425"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="463"/>
<source>Could not create local folder %1</source>
<translation>Не удалось создать локальный каталог синхронизации %1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="451"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="489"/>
<source>No remote folder specified!</source>
<translation>Не указан удалённый каталог!</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="457"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="495"/>
<source>Error: %1</source>
<translation>Ошибка: %1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="470"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="508"/>
<source>creating folder on ownCloud: %1</source>
<translation>создание каталога на ownCloud: %1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="486"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="524"/>
<source>Remote folder %1 created successfully.</source>
<translation>Удалённый каталог %1 успешно создан.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="488"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="526"/>
<source>The remote folder %1 already exists. Connecting it for syncing.</source>
<translation>Удалённый каталог %1 уже существует. Подключение к нему для синхронизации.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="490"/>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="492"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="528"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="530"/>
<source>The folder creation resulted in HTTP error code %1</source>
<translation>Создание каталога завершилось с HTTP-ошибкой %1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="494"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="532"/>
<source>The remote folder creation failed because the provided credentials are wrong!&lt;br/&gt;Please go back and check your credentials.&lt;/p&gt;</source>
<translation>Не удалось создать удаленный каталог, так как представленные параметры доступа неверны!&lt;br/&gt;Пожалуйста, вернитесь назад и проверьте учетные данные.&lt;/p&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="498"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="536"/>
<source>&lt;p&gt;&lt;font color=&quot;red&quot;&gt;Remote folder creation failed probably because the provided credentials are wrong.&lt;/font&gt;&lt;br/&gt;Please go back and check your credentials.&lt;/p&gt;</source>
<translation>&lt;p&gt;&lt;font color=&quot;red&quot;&gt;Не удалось создать удаленный каталог, возможно, указанные учетные данные неверны.&lt;/font&gt;&lt;br/&gt;Вернитесь назад и проверьте учетные данные.&lt;/p&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="503"/>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="504"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="541"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="542"/>
<source>Remote folder %1 creation failed with error &lt;tt&gt;%2&lt;/tt&gt;.</source>
<translation>Удаленный каталог %1 не создан из-за ошибки &lt;tt&gt;%2&lt;/tt&gt;.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="521"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="559"/>
<source>A sync connection from %1 to remote directory %2 was set up.</source>
<translation>Установлено соединение синхронизации %1 к удалённому каталогу %2.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="526"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="564"/>
<source>Successfully connected to %1!</source>
<translation>Соединение с %1 установлено успешно!</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="533"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="571"/>
<source>Connection to %1 could not be established. Please check again.</source>
<translation>Не удалось соединиться с %1. Попробуйте снова.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="547"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="585"/>
<source>Folder rename failed</source>
<translation>Ошибка переименования каталога</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="548"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="586"/>
<source>Can&apos;t remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup.</source>
<translation>Невозможно удалить каталог и создать его резервную копию, каталог или файл в ней открыт в другой программе. Закройте каталог или файл и нажмите &quot;Повторить попытку&quot;, либо прервите мастер настройки.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="593"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="631"/>
<source>&lt;font color=&quot;green&quot;&gt;&lt;b&gt;Local sync folder %1 successfully created!&lt;/b&gt;&lt;/font&gt;</source>
<translation>&lt;font color=&quot;green&quot;&gt;&lt;b&gt;Локальный каталог синхронизации %1 успешно создан!&lt;/b&gt;&lt;/font&gt;</translation>
</message>
@@ -2100,7 +2100,7 @@ It is not advisable to use it.</source>
<context>
<name>OCC::PropagateDirectory</name>
<message>
- <location filename="../src/libsync/owncloudpropagator.cpp" line="942"/>
+ <location filename="../src/libsync/owncloudpropagator.cpp" line="953"/>
<source>Error writing metadata to the database</source>
<translation>Ошибка записи метаданных в базу данных</translation>
</message>
@@ -2138,17 +2138,17 @@ It is not advisable to use it.</source>
<translation>Скачанный файл пуст, хотя сервер заявил, что он должен быть %1.</translation>
</message>
<message>
- <location filename="../src/libsync/propagatedownload.cpp" line="772"/>
+ <location filename="../src/libsync/propagatedownload.cpp" line="775"/>
<source>File %1 cannot be saved because of a local file name clash!</source>
<translation>Файл %1 не может быть сохранён из-за локального конфликта имен!</translation>
</message>
<message>
- <location filename="../src/libsync/propagatedownload.cpp" line="820"/>
+ <location filename="../src/libsync/propagatedownload.cpp" line="823"/>
<source>File has changed since discovery</source>
<translation>После обнаружения файл был изменен</translation>
</message>
<message>
- <location filename="../src/libsync/propagatedownload.cpp" line="871"/>
+ <location filename="../src/libsync/propagatedownload.cpp" line="874"/>
<source>Error writing metadata to the database</source>
<translation>Ошибка записи метаданных в базу данных</translation>
</message>
@@ -2224,12 +2224,12 @@ It is not advisable to use it.</source>
<context>
<name>OCC::PropagateRemoteDelete</name>
<message>
- <location filename="../src/libsync/propagateremotedelete.cpp" line="96"/>
+ <location filename="../src/libsync/propagateremotedelete.cpp" line="100"/>
<source>The file has been removed from a read only share. It was restored.</source>
<translation>Файл удалён с удаленного общего ресурса только для чтения. Файл был восстановлен.</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotedelete.cpp" line="117"/>
+ <location filename="../src/libsync/propagateremotedelete.cpp" line="121"/>
<source>Wrong HTTP code returned by server. Expected 204, but received &quot;%1 %2&quot;.</source>
<translation>Сервер ответил не правильным HTTP кодом. Ожидался 204, но получен &quot;%1 %2&quot;.</translation>
</message>
@@ -2237,12 +2237,12 @@ It is not advisable to use it.</source>
<context>
<name>OCC::PropagateRemoteMkdir</name>
<message>
- <location filename="../src/libsync/propagateremotemkdir.cpp" line="95"/>
+ <location filename="../src/libsync/propagateremotemkdir.cpp" line="99"/>
<source>Wrong HTTP code returned by server. Expected 201, but received &quot;%1 %2&quot;.</source>
<translation>Сервер ответил не правильным HTTP кодом. Ожидался 201, но получен &quot;%1 %2&quot;.</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotemkdir.cpp" line="147"/>
+ <location filename="../src/libsync/propagateremotemkdir.cpp" line="151"/>
<source>Error writing metadata to the database</source>
<translation>Ошибка записи метаданных в базу данных</translation>
</message>
@@ -2260,18 +2260,18 @@ It is not advisable to use it.</source>
<translation>Этот каталог не должен переименовываться. Присвойте ему изначальное имя: Shared. </translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotemove.cpp" line="137"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="141"/>
<source>The file was renamed but is part of a read only share. The original file was restored.</source>
<translation>Файл переименован на удаленном общем ресурсе только для чтения. Файл был восстановлен.</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotemove.cpp" line="154"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="158"/>
<source>Wrong HTTP code returned by server. Expected 201, but received &quot;%1 %2&quot;.</source>
<translation>Сервер ответил не правильным HTTP кодом. Ожидался 201, но получен &quot;%1 %2&quot;.</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotemove.cpp" line="186"/>
- <location filename="../src/libsync/propagateremotemove.cpp" line="192"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="190"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="196"/>
<source>Error writing metadata to the database</source>
<translation>Ошибка записи метаданных в базу данных</translation>
</message>
@@ -2305,7 +2305,7 @@ It is not advisable to use it.</source>
<translation>Закачка %1 превышает квоту для каталога</translation>
</message>
<message>
- <location filename="../src/libsync/propagateupload.cpp" line="618"/>
+ <location filename="../src/libsync/propagateupload.cpp" line="622"/>
<source>Error writing metadata to the database</source>
<translation>Ошибка записи метаданных в базу данных</translation>
</message>
@@ -2379,42 +2379,42 @@ It is not advisable to use it.</source>
<translation>TextLabel</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="48"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="61"/>
<source>Time</source>
<translation>Время</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="49"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="62"/>
<source>File</source>
<translation>Файл</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="50"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="63"/>
<source>Folder</source>
<translation>Каталог</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="51"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="64"/>
<source>Action</source>
<translation>Действие</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="52"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="65"/>
<source>Size</source>
<translation>Размер</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="72"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="85"/>
<source>Local sync protocol</source>
<translation>Локальный протокол синхронизации</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="74"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="87"/>
<source>Copy</source>
<translation>Копировать</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="75"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="88"/>
<source>Copy the activity list to the clipboard.</source>
<translation>Скопировать журнал синхронизации в буфер обмена.</translation>
</message>
@@ -2546,6 +2546,7 @@ It is not advisable to use it.</source>
</message>
<message>
<location filename="../src/gui/settingsdialogmac.cpp" line="152"/>
+ <location filename="../src/gui/settingsdialogmac.cpp" line="211"/>
<source>Account</source>
<translation>Уч.запись</translation>
</message>
@@ -3202,22 +3203,22 @@ It is not advisable to use it.</source>
<translation>Не могу открыть или создать локальную базу данных синхронизации. Удостоверьтесь, что у вас есть доступ на запись в каталог синхронизации.</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1278"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1287"/>
<source>Not allowed because you don&apos;t have permission to add parent folder</source>
<translation>Не разрешается, так как у вас нет полномочий на добавление родительской папки</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1285"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1294"/>
<source>Not allowed because you don&apos;t have permission to add files in that folder</source>
<translation>Не разрешается, так как у вас нет полномочий на добавление файлов в эту папку</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1588"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1597"/>
<source>Disk space is low: Downloads that would reduce free space below %1 were skipped.</source>
<translation>Мало места на диске: Скачивания, которые сократят свободное место ниже %1, будут пропущены.</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1595"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1604"/>
<source>There is insufficient space available on the server for some uploads.</source>
<translation>На сервере недостаточно места для некоторых закачек.</translation>
</message>
@@ -3342,54 +3343,54 @@ It is not advisable to use it.</source>
<translation>Не удаётся открыть журнал синхронизации</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="968"/>
+ <location filename="../src/libsync/syncengine.cpp" line="977"/>
<source>File name contains at least one invalid character</source>
<translation>Имя файла содержит по крайней мере один некорректный символ</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1204"/>
- <location filename="../src/libsync/syncengine.cpp" line="1244"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1213"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1253"/>
<source>Ignored because of the &quot;choose what to sync&quot; blacklist</source>
<translation>Игнорируется из-за черного списка в &quot;что синхронизировать&quot;</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1263"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1272"/>
<source>Not allowed because you don&apos;t have permission to add subfolders to that folder</source>
<translation>Не разрешается, так как у вас нет полномочий на добавление подпапок в папку.</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1310"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1319"/>
<source>Not allowed to upload this file because it is read-only on the server, restoring</source>
<translation>Не допускается загрузка этого файла, так как на сервере он помечен только для чтения, восстанавливаем</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1326"/>
- <location filename="../src/libsync/syncengine.cpp" line="1345"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1335"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1354"/>
<source>Not allowed to remove, restoring</source>
<translation>Не допускается удаление, восстанавливаем</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1359"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1368"/>
<source>Local files and share folder removed.</source>
<translation>Локальные файлы и общий каталог удалены.</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1413"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1422"/>
<source>Move not allowed, item restored</source>
<translation>Перемещение не допускается, элемент восстановлен</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1424"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1433"/>
<source>Move not allowed because %1 is read-only</source>
<translation>Перемещение не допускается, поскольку %1 помечен только для чтения</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1424"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1433"/>
<source>the destination</source>
<translation>назначение</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1424"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1433"/>
<source>the source</source>
<translation>источник</translation>
</message>
@@ -3431,17 +3432,17 @@ It is not advisable to use it.</source>
<context>
<name>OCC::ValidateChecksumHeader</name>
<message>
- <location filename="../src/common/checksums.cpp" line="205"/>
+ <location filename="../src/common/checksums.cpp" line="218"/>
<source>The checksum header is malformed.</source>
<translation>Некорректная контрольная сумма заголовка</translation>
</message>
<message>
- <location filename="../src/common/checksums.cpp" line="220"/>
+ <location filename="../src/common/checksums.cpp" line="233"/>
<source>The checksum header contained an unknown checksum type &apos;%1&apos;</source>
<translation>Заголовок контрольной суммы содержал неизвестный тип &apos;%1&apos; контрольной суммы</translation>
</message>
<message>
- <location filename="../src/common/checksums.cpp" line="224"/>
+ <location filename="../src/common/checksums.cpp" line="237"/>
<source>The downloaded file does not match the checksum, it will be resumed.</source>
<translation>Загруженный файл не соответствует контрольной сумме, операция будет возобновлена.</translation>
</message>
@@ -3555,7 +3556,7 @@ It is not advisable to use it.</source>
<message>
<location filename="../src/gui/owncloudgui.cpp" line="240"/>
<source>Disconnected from some accounts</source>
- <translation type="unfinished"/>
+ <translation>Отключено от некоторых учётных записей</translation>
</message>
<message>
<location filename="../src/gui/owncloudgui.cpp" line="251"/>
@@ -3581,17 +3582,17 @@ It is not advisable to use it.</source>
<location filename="../src/gui/owncloudgui.cpp" line="273"/>
<location filename="../src/gui/owncloudgui.cpp" line="304"/>
<source>Synchronization is paused</source>
- <translation type="unfinished"/>
+ <translation>Синхронизация приостановлена</translation>
</message>
<message>
<location filename="../src/gui/owncloudgui.cpp" line="306"/>
<source>Error during synchronization</source>
- <translation type="unfinished"/>
+ <translation>Ошибка во время синхронизации</translation>
</message>
<message>
<location filename="../src/gui/owncloudgui.cpp" line="314"/>
<source>No sync folders configured</source>
- <translation type="unfinished"/>
+ <translation>Не настроено ни одного каталога для синхронизации</translation>
</message>
<message>
<location filename="../src/gui/owncloudgui.cpp" line="360"/>
diff --git a/translations/client_sk.ts b/translations/client_sk.ts
index 81edf3b48..bb60fab4e 100644
--- a/translations/client_sk.ts
+++ b/translations/client_sk.ts
@@ -596,7 +596,7 @@
<context>
<name>OCC::CleanupPollsJob</name>
<message>
- <location filename="../src/libsync/owncloudpropagator.cpp" line="990"/>
+ <location filename="../src/libsync/owncloudpropagator.cpp" line="1001"/>
<source>Error writing metadata to the database</source>
<translation>Chyba pri zápise metadát do databázy</translation>
</message>
@@ -744,24 +744,24 @@
<translation>Nemožno čítať systémový exclude file</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="883"/>
+ <location filename="../src/gui/folder.cpp" line="888"/>
<source>A new folder larger than %1 MB has been added: %2.
</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="886"/>
+ <location filename="../src/gui/folder.cpp" line="891"/>
<source>A folder from an external storage has been added.
</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="887"/>
+ <location filename="../src/gui/folder.cpp" line="892"/>
<source>Please go in the settings to select it if you wish to download it.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="922"/>
+ <location filename="../src/gui/folder.cpp" line="927"/>
<source>All files in the sync folder '%1' folder were deleted on the server.
These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore.
If you decide to keep the files, they will be re-synced with the server if you have rights to do so.
@@ -769,46 +769,46 @@ If you decide to delete the files, they will be unavailable to you, unless you a
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="927"/>
+ <location filename="../src/gui/folder.cpp" line="932"/>
<source>All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored.
Are you sure you want to sync those actions with the server?
If this was an accident and you decide to keep your files, they will be re-synced from the server.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="931"/>
+ <location filename="../src/gui/folder.cpp" line="936"/>
<source>Remove All Files?</source>
<translation>Odstrániť všetky súbory?</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="934"/>
+ <location filename="../src/gui/folder.cpp" line="939"/>
<source>Remove all files</source>
<translation>Odstrániť všetky súbory</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="935"/>
+ <location filename="../src/gui/folder.cpp" line="940"/>
<source>Keep files</source>
<translation>Ponechať súbory</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="952"/>
+ <location filename="../src/gui/folder.cpp" line="957"/>
<source>This sync would reset the files to an earlier time in the sync folder '%1'.
This might be because a backup was restored on the server.
Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files?</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="957"/>
+ <location filename="../src/gui/folder.cpp" line="962"/>
<source>Backup detected</source>
<translation>Záloha je dostupná</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="960"/>
+ <location filename="../src/gui/folder.cpp" line="965"/>
<source>Normal Synchronisation</source>
<translation>Bežná synchronizácia</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="961"/>
+ <location filename="../src/gui/folder.cpp" line="966"/>
<source>Keep Local Files as Conflict</source>
<translation>Ponechať lokálne súbory ako konfliktné</translation>
</message>
@@ -1282,22 +1282,22 @@ Continuing the sync as normal will cause all your files to be overwritten by an
<context>
<name>OCC::HttpCredentialsGui</name>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="97"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="98"/>
<source>Please enter %1 password:&lt;br&gt;&lt;br&gt;User: %2&lt;br&gt;Account: %3&lt;br&gt;</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="111"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="112"/>
<source>Reading from keychain failed with error: &apos;%1&apos;</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="117"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="118"/>
<source>Enter Password</source>
<translation>Vložte heslo</translation>
</message>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="154"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="155"/>
<source>&lt;a href=&quot;%1&quot;&gt;Click here&lt;/a&gt; to request an app password from the web interface.</source>
<translation type="unfinished"/>
</message>
@@ -1417,12 +1417,12 @@ Items where deletion is allowed will be deleted if they prevent a directory from
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/issueswidget.ui" line="145"/>
+ <location filename="../src/gui/issueswidget.ui" line="148"/>
<source>Copy the issues list to the clipboard.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/issueswidget.ui" line="148"/>
+ <location filename="../src/gui/issueswidget.ui" line="151"/>
<source>Copy</source>
<translation>Kopírovať</translation>
</message>
@@ -1908,144 +1908,144 @@ Nie je vhodné ju používať.</translation>
<context>
<name>OCC::OwncloudSetupWizard</name>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="217"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="250"/>
<source>&lt;font color=&quot;green&quot;&gt;Successfully connected to %1: %2 version %3 (%4)&lt;/font&gt;&lt;br/&gt;&lt;br/&gt;</source>
<translation>&lt;font color=&quot;green&quot;&gt;Úspešne pripojené k %1: %2 verzie %3 (%4)&lt;/font&gt;&lt;br/&gt;&lt;br/&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="251"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="280"/>
<source>Failed to connect to %1 at %2:&lt;br/&gt;%3</source>
<translation>Zlyhalo spojenie s %1 o %2:&lt;br/&gt;%3</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="285"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="314"/>
<source>Timeout while trying to connect to %1 at %2.</source>
<translation>Časový limit vypršal pri pokuse o pripojenie k %1 na %2.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="296"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="334"/>
<source>Trying to connect to %1 at %2...</source>
<translation>Pokúšam sa o pripojenie k %1 na %2...</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="347"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="385"/>
<source>The authenticated request to the server was redirected to &apos;%1&apos;. The URL is bad, the server is misconfigured.</source>
<translation>Overená požiadavka na server bola presmerovaná na &apos;%1&apos;. URL je zlá, server nie je správne nakonfigurovaný.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="369"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="407"/>
<source>There was an invalid response to an authenticated webdav request</source>
<translation>Neplatná odpoveď na overenú webdav požiadavku</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="360"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="398"/>
<source>Access forbidden by server. To verify that you have proper access, &lt;a href=&quot;%1&quot;&gt;click here&lt;/a&gt; to access the service with your browser.</source>
<translation>Prístup zamietnutý serverom. Po overení správnych prístupových práv, &lt;a href=&quot;%1&quot;&gt;kliknite sem&lt;/a&gt; a otvorte službu v svojom prezerači.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="249"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="278"/>
<source>Invalid URL</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="414"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="452"/>
<source>Local sync folder %1 already exists, setting it up for sync.&lt;br/&gt;&lt;br/&gt;</source>
<translation>Lokálny synchronizačný priečinok %1 už existuje, prebieha jeho nastavovanie pre synchronizáciu.&lt;br/&gt;&lt;br/&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="417"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="455"/>
<source>Creating local sync folder %1...</source>
<translation>Vytváranie lokálneho synchronizačného priečinka %1 ...</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="421"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="459"/>
<source>ok</source>
<translation>v poriadku</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="423"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="461"/>
<source>failed.</source>
<translation>neúspešné.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="425"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="463"/>
<source>Could not create local folder %1</source>
<translation>Nemožno vytvoriť lokálny priečinok %1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="451"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="489"/>
<source>No remote folder specified!</source>
<translation>Vzdialený priečinok nie je nastavený!</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="457"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="495"/>
<source>Error: %1</source>
<translation>Chyba: %1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="470"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="508"/>
<source>creating folder on ownCloud: %1</source>
<translation>vytváram priečinok v ownCloude: %1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="486"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="524"/>
<source>Remote folder %1 created successfully.</source>
<translation>Vzdialený priečinok %1 bol úspešne vytvorený.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="488"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="526"/>
<source>The remote folder %1 already exists. Connecting it for syncing.</source>
<translation>Vzdialený priečinok %1 už existuje. Prebieha jeho pripájanie pre synchronizáciu.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="490"/>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="492"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="528"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="530"/>
<source>The folder creation resulted in HTTP error code %1</source>
<translation>Vytváranie priečinka skončilo s HTTP chybovým kódom %1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="494"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="532"/>
<source>The remote folder creation failed because the provided credentials are wrong!&lt;br/&gt;Please go back and check your credentials.&lt;/p&gt;</source>
<translation>Proces vytvárania vzdialeného priečinka zlyhal, lebo použité prihlasovacie údaje nie sú správne!&lt;br/&gt;Prosím skontrolujte si vaše údaje a skúste to znovu.&lt;/p&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="498"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="536"/>
<source>&lt;p&gt;&lt;font color=&quot;red&quot;&gt;Remote folder creation failed probably because the provided credentials are wrong.&lt;/font&gt;&lt;br/&gt;Please go back and check your credentials.&lt;/p&gt;</source>
<translation>&lt;p&gt;&lt;font color=&quot;red&quot;&gt;Vytvorenie vzdialeného priečinka pravdepodobne zlyhalo kvôli nesprávnym prihlasovacím údajom.&lt;/font&gt;&lt;br/&gt;Prosím choďte späť a skontrolujte ich.&lt;/p&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="503"/>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="504"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="541"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="542"/>
<source>Remote folder %1 creation failed with error &lt;tt&gt;%2&lt;/tt&gt;.</source>
<translation>Vytvorenie vzdialeného priečinka %1 zlyhalo s chybou &lt;tt&gt;%2&lt;/tt&gt;.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="521"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="559"/>
<source>A sync connection from %1 to remote directory %2 was set up.</source>
<translation>Synchronizačné spojenie z %1 do vzdialeného priečinka %2 bolo práve nastavené.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="526"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="564"/>
<source>Successfully connected to %1!</source>
<translation>Úspešne pripojené s %1!</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="533"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="571"/>
<source>Connection to %1 could not be established. Please check again.</source>
<translation>Pripojenie k %1 nemohlo byť iniciované. Prosím skontrolujte to znovu.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="547"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="585"/>
<source>Folder rename failed</source>
<translation>Premenovanie priečinka zlyhalo</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="548"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="586"/>
<source>Can&apos;t remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup.</source>
<translation>Nemožno odstrániť a zazálohovať priečinok, pretože priečinok alebo súbor je otvorený v inom programe. Prosím zatvorte priečinok nebo súbor a skúste to znovu alebo zrušte akciu.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="593"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="631"/>
<source>&lt;font color=&quot;green&quot;&gt;&lt;b&gt;Local sync folder %1 successfully created!&lt;/b&gt;&lt;/font&gt;</source>
<translation>&lt;font color=&quot;green&quot;&gt;&lt;b&gt;Lokálny synchronizačný priečinok %1 bol úspešne vytvorený!&lt;/b&gt;&lt;/font&gt;</translation>
</message>
@@ -2092,7 +2092,7 @@ Nie je vhodné ju používať.</translation>
<context>
<name>OCC::PropagateDirectory</name>
<message>
- <location filename="../src/libsync/owncloudpropagator.cpp" line="942"/>
+ <location filename="../src/libsync/owncloudpropagator.cpp" line="953"/>
<source>Error writing metadata to the database</source>
<translation>Chyba pri zápise metadát do databázy</translation>
</message>
@@ -2130,17 +2130,17 @@ Nie je vhodné ju používať.</translation>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/propagatedownload.cpp" line="772"/>
+ <location filename="../src/libsync/propagatedownload.cpp" line="775"/>
<source>File %1 cannot be saved because of a local file name clash!</source>
<translation>Súbor %1 nie je možné uložiť, pretože jeho názov koliduje s názvom lokálneho súboru!</translation>
</message>
<message>
- <location filename="../src/libsync/propagatedownload.cpp" line="820"/>
+ <location filename="../src/libsync/propagatedownload.cpp" line="823"/>
<source>File has changed since discovery</source>
<translation>Súbor sa medzitým zmenil</translation>
</message>
<message>
- <location filename="../src/libsync/propagatedownload.cpp" line="871"/>
+ <location filename="../src/libsync/propagatedownload.cpp" line="874"/>
<source>Error writing metadata to the database</source>
<translation>Chyba pri zápise metadát do databázy</translation>
</message>
@@ -2216,12 +2216,12 @@ Nie je vhodné ju používať.</translation>
<context>
<name>OCC::PropagateRemoteDelete</name>
<message>
- <location filename="../src/libsync/propagateremotedelete.cpp" line="96"/>
+ <location filename="../src/libsync/propagateremotedelete.cpp" line="100"/>
<source>The file has been removed from a read only share. It was restored.</source>
<translation>Súbor bol odobratý zo zdieľania len na čítanie. Súbor bol obnovený.</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotedelete.cpp" line="117"/>
+ <location filename="../src/libsync/propagateremotedelete.cpp" line="121"/>
<source>Wrong HTTP code returned by server. Expected 204, but received &quot;%1 %2&quot;.</source>
<translation>Server vrátil neplatný HTTP kód. Očakávaný bol 204, ale vrátený bol &quot;%1 %2&quot;.</translation>
</message>
@@ -2229,12 +2229,12 @@ Nie je vhodné ju používať.</translation>
<context>
<name>OCC::PropagateRemoteMkdir</name>
<message>
- <location filename="../src/libsync/propagateremotemkdir.cpp" line="95"/>
+ <location filename="../src/libsync/propagateremotemkdir.cpp" line="99"/>
<source>Wrong HTTP code returned by server. Expected 201, but received &quot;%1 %2&quot;.</source>
<translation>Server vrátil neplatný HTTP kód. Očakávaný bol 201, ale vrátený bol &quot;%1 %2&quot;.</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotemkdir.cpp" line="147"/>
+ <location filename="../src/libsync/propagateremotemkdir.cpp" line="151"/>
<source>Error writing metadata to the database</source>
<translation>Chyba pri zápise metadát do databázy</translation>
</message>
@@ -2252,18 +2252,18 @@ Nie je vhodné ju používať.</translation>
<translation>Tento priečinok nemôže byť premenovaný. Prosím, vráťte mu meno Shared.</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotemove.cpp" line="137"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="141"/>
<source>The file was renamed but is part of a read only share. The original file was restored.</source>
<translation>Súbor bol premenovaný, ale je súčasťou zdieľania len na čítanie. Pôvodný súbor bol obnovený.</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotemove.cpp" line="154"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="158"/>
<source>Wrong HTTP code returned by server. Expected 201, but received &quot;%1 %2&quot;.</source>
<translation>Server vrátil neplatný HTTP kód. Očakávaný bol 201, ale vrátený bol &quot;%1 %2&quot;.</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotemove.cpp" line="186"/>
- <location filename="../src/libsync/propagateremotemove.cpp" line="192"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="190"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="196"/>
<source>Error writing metadata to the database</source>
<translation>Chyba pri zápise metadát do databázy</translation>
</message>
@@ -2297,7 +2297,7 @@ Nie je vhodné ju používať.</translation>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/propagateupload.cpp" line="618"/>
+ <location filename="../src/libsync/propagateupload.cpp" line="622"/>
<source>Error writing metadata to the database</source>
<translation>Chyba pri zápise metadát do databázy</translation>
</message>
@@ -2371,42 +2371,42 @@ Nie je vhodné ju používať.</translation>
<translation>Štítok</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="48"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="61"/>
<source>Time</source>
<translation>Čas</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="49"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="62"/>
<source>File</source>
<translation>Súbor</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="50"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="63"/>
<source>Folder</source>
<translation>Priečinok</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="51"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="64"/>
<source>Action</source>
<translation>Akcia</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="52"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="65"/>
<source>Size</source>
<translation>Veľkosť</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="72"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="85"/>
<source>Local sync protocol</source>
<translation>Lokálny protokol synchronizácie</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="74"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="87"/>
<source>Copy</source>
<translation>Kopírovať</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="75"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="88"/>
<source>Copy the activity list to the clipboard.</source>
<translation>Skopírovať zoznam aktivít do schránky.</translation>
</message>
@@ -2538,6 +2538,7 @@ Nie je vhodné ju používať.</translation>
</message>
<message>
<location filename="../src/gui/settingsdialogmac.cpp" line="152"/>
+ <location filename="../src/gui/settingsdialogmac.cpp" line="211"/>
<source>Account</source>
<translation>Účet</translation>
</message>
@@ -3194,22 +3195,22 @@ Nie je vhodné ju používať.</translation>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1278"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1287"/>
<source>Not allowed because you don&apos;t have permission to add parent folder</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1285"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1294"/>
<source>Not allowed because you don&apos;t have permission to add files in that folder</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1588"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1597"/>
<source>Disk space is low: Downloads that would reduce free space below %1 were skipped.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1595"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1604"/>
<source>There is insufficient space available on the server for some uploads.</source>
<translation type="unfinished"/>
</message>
@@ -3334,54 +3335,54 @@ Nie je vhodné ju používať.</translation>
<translation>Nemožno otvoriť sync žurnál</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="968"/>
+ <location filename="../src/libsync/syncengine.cpp" line="977"/>
<source>File name contains at least one invalid character</source>
<translation>Názov súboru obsahuje nevhodný znak</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1204"/>
- <location filename="../src/libsync/syncengine.cpp" line="1244"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1213"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1253"/>
<source>Ignored because of the &quot;choose what to sync&quot; blacklist</source>
<translation>Ignorované podľa nastavenia &quot;vybrať čo synchronizovať&quot;</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1263"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1272"/>
<source>Not allowed because you don&apos;t have permission to add subfolders to that folder</source>
<translation>Nie je dovolené, lebo nemáte oprávnenie pridávať podpriečinky do tohto priečinka</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1310"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1319"/>
<source>Not allowed to upload this file because it is read-only on the server, restoring</source>
<translation>Nie je dovolené tento súbor nahrať, pretože je na serveri iba na čítanie. Obnovuje sa.</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1326"/>
- <location filename="../src/libsync/syncengine.cpp" line="1345"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1335"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1354"/>
<source>Not allowed to remove, restoring</source>
<translation>Nie je dovolené odstrániť. Obnovuje sa.</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1359"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1368"/>
<source>Local files and share folder removed.</source>
<translation>Lokálne súbory a zdieľaný priečinok boli odstránené.</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1413"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1422"/>
<source>Move not allowed, item restored</source>
<translation>Presunutie nie je dovolené. Položka obnovená.</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1424"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1433"/>
<source>Move not allowed because %1 is read-only</source>
<translation>Presunutie nie je dovolené, pretože %1 je na serveri iba na čítanie</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1424"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1433"/>
<source>the destination</source>
<translation>cieľ</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1424"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1433"/>
<source>the source</source>
<translation>zdroj</translation>
</message>
@@ -3423,17 +3424,17 @@ Nie je vhodné ju používať.</translation>
<context>
<name>OCC::ValidateChecksumHeader</name>
<message>
- <location filename="../src/common/checksums.cpp" line="205"/>
+ <location filename="../src/common/checksums.cpp" line="218"/>
<source>The checksum header is malformed.</source>
<translation>Hlavička kontrolného súčtu je poškodená.</translation>
</message>
<message>
- <location filename="../src/common/checksums.cpp" line="220"/>
+ <location filename="../src/common/checksums.cpp" line="233"/>
<source>The checksum header contained an unknown checksum type &apos;%1&apos;</source>
<translation>Hlavička kontrolného súčtu obsahovala neznámy typ kontrolného súčtu „%1“</translation>
</message>
<message>
- <location filename="../src/common/checksums.cpp" line="224"/>
+ <location filename="../src/common/checksums.cpp" line="237"/>
<source>The downloaded file does not match the checksum, it will be resumed.</source>
<translation>Stiahnutý súbor nemá správny kontrolný súčet, bude stiahnutý znovu.</translation>
</message>
diff --git a/translations/client_sl.ts b/translations/client_sl.ts
index 4e9686459..b4816b3ae 100644
--- a/translations/client_sl.ts
+++ b/translations/client_sl.ts
@@ -596,7 +596,7 @@
<context>
<name>OCC::CleanupPollsJob</name>
<message>
- <location filename="../src/libsync/owncloudpropagator.cpp" line="990"/>
+ <location filename="../src/libsync/owncloudpropagator.cpp" line="1001"/>
<source>Error writing metadata to the database</source>
<translation>Napaka zapisovanja metapodatkov v podatkovno zbirko</translation>
</message>
@@ -744,26 +744,26 @@
<translation>Ni mogoče prebrati sistemske izločitvene datoteke</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="883"/>
+ <location filename="../src/gui/folder.cpp" line="888"/>
<source>A new folder larger than %1 MB has been added: %2.
</source>
<translation>Dodana je nova mapa, ki presega %1 MB: %2.
</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="886"/>
+ <location filename="../src/gui/folder.cpp" line="891"/>
<source>A folder from an external storage has been added.
</source>
<translation>Dodana je mapa iz zunanje shrambe.
</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="887"/>
+ <location filename="../src/gui/folder.cpp" line="892"/>
<source>Please go in the settings to select it if you wish to download it.</source>
<translation>Med nastavitvami jo lahko izberete in označite za prejem.</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="922"/>
+ <location filename="../src/gui/folder.cpp" line="927"/>
<source>All files in the sync folder '%1' folder were deleted on the server.
These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore.
If you decide to keep the files, they will be re-synced with the server if you have rights to do so.
@@ -774,7 +774,7 @@ V kolikor se odločite te datoteke ohraniti, in so na voljo ustrezna dovoljenja,
Nasprotno, če potrdite izbris in niste lastnik datotek, te ne bodo več na voljo.</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="927"/>
+ <location filename="../src/gui/folder.cpp" line="932"/>
<source>All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored.
Are you sure you want to sync those actions with the server?
If this was an accident and you decide to keep your files, they will be re-synced from the server.</source>
@@ -783,22 +783,22 @@ Ali ste prepričani, da želite posodobiti spremembe s strežnikom?
Če je prišlo do napake in se odločite datoteke ohraniti, bodo te ponovno usklajene s strežnika.</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="931"/>
+ <location filename="../src/gui/folder.cpp" line="936"/>
<source>Remove All Files?</source>
<translation>Ali naj bodo odstranjene vse datoteke?</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="934"/>
+ <location filename="../src/gui/folder.cpp" line="939"/>
<source>Remove all files</source>
<translation>Odstrani vse datoteke</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="935"/>
+ <location filename="../src/gui/folder.cpp" line="940"/>
<source>Keep files</source>
<translation>Ohrani datoteke</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="952"/>
+ <location filename="../src/gui/folder.cpp" line="957"/>
<source>This sync would reset the files to an earlier time in the sync folder '%1'.
This might be because a backup was restored on the server.
Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files?</source>
@@ -807,17 +807,17 @@ To se lahko zgodi, če je na strežniku na primer obnovljena varnostna kopija.
Z nadaljevanjem usklajevanja bodo vse trenutne datoteke prepisane s starejšimi različicami. Ali želite ohraniti trenutne krajevne datoteke kot preimenovane datoteke v usklajevalnem sporu?</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="957"/>
+ <location filename="../src/gui/folder.cpp" line="962"/>
<source>Backup detected</source>
<translation>Varnostna kopija je zaznana</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="960"/>
+ <location filename="../src/gui/folder.cpp" line="965"/>
<source>Normal Synchronisation</source>
<translation>Običajno usklajevanje</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="961"/>
+ <location filename="../src/gui/folder.cpp" line="966"/>
<source>Keep Local Files as Conflict</source>
<translation>Ohrani krajevne datoteke kot datoteke v sporu</translation>
</message>
@@ -1291,22 +1291,22 @@ Z nadaljevanjem usklajevanja bodo vse trenutne datoteke prepisane s starejšimi
<context>
<name>OCC::HttpCredentialsGui</name>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="97"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="98"/>
<source>Please enter %1 password:&lt;br&gt;&lt;br&gt;User: %2&lt;br&gt;Account: %3&lt;br&gt;</source>
<translation>Vnesite geslo %1:&lt;br&gt;&lt;br&gt;Uporabnik: %2&lt;br&gt;Račun: %3&lt;br&gt;</translation>
</message>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="111"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="112"/>
<source>Reading from keychain failed with error: &apos;%1&apos;</source>
<translation>Branje iz ključa je spodletelo z napako: &apos;%1&apos;</translation>
</message>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="117"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="118"/>
<source>Enter Password</source>
<translation>Vnos gesla</translation>
</message>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="154"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="155"/>
<source>&lt;a href=&quot;%1&quot;&gt;Click here&lt;/a&gt; to request an app password from the web interface.</source>
<translation>&lt;a href=&quot;%1&quot;&gt;Kliknite tu&lt;/a&gt; za dodelitev gesla za program prek spletnega vmesnika.</translation>
</message>
@@ -1428,12 +1428,12 @@ Predmeti na mestu, kjer je brisanje dovoljeno, bodo izbisani, v kolikor zaradi n
<translation>Pokaži prezrte datoteke</translation>
</message>
<message>
- <location filename="../src/gui/issueswidget.ui" line="145"/>
+ <location filename="../src/gui/issueswidget.ui" line="148"/>
<source>Copy the issues list to the clipboard.</source>
<translation>Kopiraj seznam napak v odložišče.</translation>
</message>
<message>
- <location filename="../src/gui/issueswidget.ui" line="148"/>
+ <location filename="../src/gui/issueswidget.ui" line="151"/>
<source>Copy</source>
<translation>Kopiraj</translation>
</message>
@@ -1919,144 +1919,144 @@ Uporaba ni priporočljiva.</translation>
<context>
<name>OCC::OwncloudSetupWizard</name>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="217"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="250"/>
<source>&lt;font color=&quot;green&quot;&gt;Successfully connected to %1: %2 version %3 (%4)&lt;/font&gt;&lt;br/&gt;&lt;br/&gt;</source>
<translation>&lt;font color=&quot;green&quot;&gt;Uspešno vzpostavljena povezava z %1: %2 različica %3 (%4)&lt;/font&gt;&lt;br/&gt;&lt;br/&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="251"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="280"/>
<source>Failed to connect to %1 at %2:&lt;br/&gt;%3</source>
<translation>Povezava z %1 pri %2 je spodletela:&lt;br/&gt;%3</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="285"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="314"/>
<source>Timeout while trying to connect to %1 at %2.</source>
<translation>Prekinitev med poskusom povezave na %1 pri %2.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="296"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="334"/>
<source>Trying to connect to %1 at %2...</source>
<translation>Poteka poskus povezave z %1 na %2 ...</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="347"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="385"/>
<source>The authenticated request to the server was redirected to &apos;%1&apos;. The URL is bad, the server is misconfigured.</source>
<translation>Zahteva za overitev s strežnikom je bila preusmerjena na &apos;%1&apos;. Naslov URL ni veljaven ali pa strežnik ni ustrezno nastavljen.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="369"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="407"/>
<source>There was an invalid response to an authenticated webdav request</source>
<translation>Prejet je neveljaven odziv na zahtevo overitve webdav</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="360"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="398"/>
<source>Access forbidden by server. To verify that you have proper access, &lt;a href=&quot;%1&quot;&gt;click here&lt;/a&gt; to access the service with your browser.</source>
<translation>Strežnik ne dovoli dostopa. Če želite preveriti, ali imate ustrezen dostop, &lt;a href=&quot;%1&quot;&gt;kliknite tu&lt;/a&gt; za dostop do te storitve z brskalnikom.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="249"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="278"/>
<source>Invalid URL</source>
<translation>Neveljaven naslov URL</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="414"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="452"/>
<source>Local sync folder %1 already exists, setting it up for sync.&lt;br/&gt;&lt;br/&gt;</source>
<translation>Krajevna mapa %1 že obstaja. Nastavljena bo za usklajevanje.&lt;br/&gt;&lt;br/&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="417"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="455"/>
<source>Creating local sync folder %1...</source>
<translation>Ustvarjanje mape za krajevno usklajevanje %1 ... </translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="421"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="459"/>
<source>ok</source>
<translation>je v redu</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="423"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="461"/>
<source>failed.</source>
<translation>je spodletelo.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="425"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="463"/>
<source>Could not create local folder %1</source>
<translation>Krajevne mape %1 ni mogoče ustvariti.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="451"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="489"/>
<source>No remote folder specified!</source>
<translation>Ni navedenega oddaljenega strežnika!</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="457"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="495"/>
<source>Error: %1</source>
<translation>Napaka: %1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="470"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="508"/>
<source>creating folder on ownCloud: %1</source>
<translation>ustvarjanje mape v oblaku ownCloud: %1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="486"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="524"/>
<source>Remote folder %1 created successfully.</source>
<translation>Oddaljena mapa %1 je uspešno ustvarjena.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="488"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="526"/>
<source>The remote folder %1 already exists. Connecting it for syncing.</source>
<translation>Oddaljena mapa %1 že obstaja. Vzpostavljena bo povezava za usklajevanje.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="490"/>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="492"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="528"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="530"/>
<source>The folder creation resulted in HTTP error code %1</source>
<translation>Ustvarjanje mape je povzročilo napako HTTP %1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="494"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="532"/>
<source>The remote folder creation failed because the provided credentials are wrong!&lt;br/&gt;Please go back and check your credentials.&lt;/p&gt;</source>
<translation>Ustvarjanje mape na oddaljenem naslovu je spodletelo zaradi napačnih poveril. &lt;br/&gt;Vrnite se in preverite zahtevana gesla.&lt;/p&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="498"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="536"/>
<source>&lt;p&gt;&lt;font color=&quot;red&quot;&gt;Remote folder creation failed probably because the provided credentials are wrong.&lt;/font&gt;&lt;br/&gt;Please go back and check your credentials.&lt;/p&gt;</source>
<translation>&lt;p&gt;&lt;font color=&quot;red&quot;&gt;Ustvarjanje oddaljene mape je spodletelo. Najverjetneje je vzrok v neustreznih poverilih.&lt;/font&gt;&lt;br/&gt;Vrnite se na predhodno stran in jih preverite.&lt;/p&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="503"/>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="504"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="541"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="542"/>
<source>Remote folder %1 creation failed with error &lt;tt&gt;%2&lt;/tt&gt;.</source>
<translation>Ustvarjanje oddaljene mape %1 je spodletelo z napako &lt;tt&gt;%2&lt;/tt&gt;.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="521"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="559"/>
<source>A sync connection from %1 to remote directory %2 was set up.</source>
<translation>Povezava za usklajevanje med %1 in oddaljeno mapo %2 je vzpostavljena.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="526"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="564"/>
<source>Successfully connected to %1!</source>
<translation>Povezava z %1 je uspešno vzpostavljena!</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="533"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="571"/>
<source>Connection to %1 could not be established. Please check again.</source>
<translation>Povezave z %1 ni mogoče vzpostaviti. Preveriti je treba nastavitve.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="547"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="585"/>
<source>Folder rename failed</source>
<translation>Preimenovanje mape je spodletelo</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="548"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="586"/>
<source>Can&apos;t remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup.</source>
<translation>Mape ni mogoče odstraniti niti ni mogoče ustvariti varnostne kopije, saj je mapa oziroma dokument v njej odprt z drugim programom. Zaprite mapo/dokument ali prekinite namestitev.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="593"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="631"/>
<source>&lt;font color=&quot;green&quot;&gt;&lt;b&gt;Local sync folder %1 successfully created!&lt;/b&gt;&lt;/font&gt;</source>
<translation>&lt;font color=&quot;green&quot;&gt;&lt;b&gt;Krajevno usklajena mapa %1 je uspešno ustvarjena!&lt;/b&gt;&lt;/font&gt;</translation>
</message>
@@ -2103,7 +2103,7 @@ Uporaba ni priporočljiva.</translation>
<context>
<name>OCC::PropagateDirectory</name>
<message>
- <location filename="../src/libsync/owncloudpropagator.cpp" line="942"/>
+ <location filename="../src/libsync/owncloudpropagator.cpp" line="953"/>
<source>Error writing metadata to the database</source>
<translation>Napaka zapisovanja metapodatkov v podatkovno zbirko</translation>
</message>
@@ -2141,17 +2141,17 @@ Uporaba ni priporočljiva.</translation>
<translation>Prejeta datoteka je prazna, čeprav je na strežniku velikosti %1.</translation>
</message>
<message>
- <location filename="../src/libsync/propagatedownload.cpp" line="772"/>
+ <location filename="../src/libsync/propagatedownload.cpp" line="775"/>
<source>File %1 cannot be saved because of a local file name clash!</source>
<translation>Datoteke %1 ni mogoče shraniti zaradi neskladja z imenom obstoječe datoteke!</translation>
</message>
<message>
- <location filename="../src/libsync/propagatedownload.cpp" line="820"/>
+ <location filename="../src/libsync/propagatedownload.cpp" line="823"/>
<source>File has changed since discovery</source>
<translation>Datoteka je bila spremenjena po usklajevanju seznama datotek</translation>
</message>
<message>
- <location filename="../src/libsync/propagatedownload.cpp" line="871"/>
+ <location filename="../src/libsync/propagatedownload.cpp" line="874"/>
<source>Error writing metadata to the database</source>
<translation>Napaka zapisovanja metapodatkov v podatkovno zbirko</translation>
</message>
@@ -2227,12 +2227,12 @@ Uporaba ni priporočljiva.</translation>
<context>
<name>OCC::PropagateRemoteDelete</name>
<message>
- <location filename="../src/libsync/propagateremotedelete.cpp" line="96"/>
+ <location filename="../src/libsync/propagateremotedelete.cpp" line="100"/>
<source>The file has been removed from a read only share. It was restored.</source>
<translation>Datoteka je bila odstranjena iz mesta v souporabi, vendar je uspešno obnovljena.</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotedelete.cpp" line="117"/>
+ <location filename="../src/libsync/propagateremotedelete.cpp" line="121"/>
<source>Wrong HTTP code returned by server. Expected 204, but received &quot;%1 %2&quot;.</source>
<translation>S strežnika je vrnjen neveljaven odziv HTTP. Pričakovan je 204, prejet pa je bil &quot;%1 %2&quot;.</translation>
</message>
@@ -2240,12 +2240,12 @@ Uporaba ni priporočljiva.</translation>
<context>
<name>OCC::PropagateRemoteMkdir</name>
<message>
- <location filename="../src/libsync/propagateremotemkdir.cpp" line="95"/>
+ <location filename="../src/libsync/propagateremotemkdir.cpp" line="99"/>
<source>Wrong HTTP code returned by server. Expected 201, but received &quot;%1 %2&quot;.</source>
<translation>S strežnika je vrnjen neveljaven odziv HTTP. Pričakovan je 201, prejet pa je bil &quot;%1 %2&quot;.</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotemkdir.cpp" line="147"/>
+ <location filename="../src/libsync/propagateremotemkdir.cpp" line="151"/>
<source>Error writing metadata to the database</source>
<translation>Napaka zapisovanja metapodatkov v podatkovno zbirko</translation>
</message>
@@ -2263,18 +2263,18 @@ Uporaba ni priporočljiva.</translation>
<translation>Te mape ni dovoljeno preimenovati. Preimenujte jo nazaj na privzeto vrednost.</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotemove.cpp" line="137"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="141"/>
<source>The file was renamed but is part of a read only share. The original file was restored.</source>
<translation>Datoteka je preimenovana, vendar je označena za souporabo le za branje. Obnovljena je izvirna datoteka.</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotemove.cpp" line="154"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="158"/>
<source>Wrong HTTP code returned by server. Expected 201, but received &quot;%1 %2&quot;.</source>
<translation>S strežnika je vrnjen neveljaven odziv HTTP. Pričakovan je 201, prejet pa je bil &quot;%1 %2&quot;.</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotemove.cpp" line="186"/>
- <location filename="../src/libsync/propagateremotemove.cpp" line="192"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="190"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="196"/>
<source>Error writing metadata to the database</source>
<translation>Napaka zapisovanja metapodatkov v podatkovno zbirko</translation>
</message>
@@ -2308,7 +2308,7 @@ Uporaba ni priporočljiva.</translation>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/propagateupload.cpp" line="618"/>
+ <location filename="../src/libsync/propagateupload.cpp" line="622"/>
<source>Error writing metadata to the database</source>
<translation>Napaka zapisovanja metapodatkov v podatkovno zbirko</translation>
</message>
@@ -2382,42 +2382,42 @@ Uporaba ni priporočljiva.</translation>
<translation>Besedilna oznaka</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="48"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="61"/>
<source>Time</source>
<translation>Čas</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="49"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="62"/>
<source>File</source>
<translation>Datoteka</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="50"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="63"/>
<source>Folder</source>
<translation>Mapa</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="51"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="64"/>
<source>Action</source>
<translation>Dejanje</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="52"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="65"/>
<source>Size</source>
<translation>Velikost</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="72"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="85"/>
<source>Local sync protocol</source>
<translation>Krajevni protokol usklajevanja</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="74"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="87"/>
<source>Copy</source>
<translation>Kopiraj</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="75"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="88"/>
<source>Copy the activity list to the clipboard.</source>
<translation>Kopiraj seznam opravil v odložišče.</translation>
</message>
@@ -2549,6 +2549,7 @@ Uporaba ni priporočljiva.</translation>
</message>
<message>
<location filename="../src/gui/settingsdialogmac.cpp" line="152"/>
+ <location filename="../src/gui/settingsdialogmac.cpp" line="211"/>
<source>Account</source>
<translation>Račun</translation>
</message>
@@ -3205,22 +3206,22 @@ Uporaba ni priporočljiva.</translation>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1278"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1287"/>
<source>Not allowed because you don&apos;t have permission to add parent folder</source>
<translation>Dejanje ni dovoljeno, ker ni ustreznih dovoljenj za dodajanje starševske mape</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1285"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1294"/>
<source>Not allowed because you don&apos;t have permission to add files in that folder</source>
<translation>Dejanje ni dovoljeno, ker ni ustreznih dovoljenj za dodajanje datotek v to mapo</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1588"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1597"/>
<source>Disk space is low: Downloads that would reduce free space below %1 were skipped.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1595"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1604"/>
<source>There is insufficient space available on the server for some uploads.</source>
<translation type="unfinished"/>
</message>
@@ -3345,54 +3346,54 @@ Uporaba ni priporočljiva.</translation>
<translation>Ni mogoče odpreti dnevnika usklajevanja</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="968"/>
+ <location filename="../src/libsync/syncengine.cpp" line="977"/>
<source>File name contains at least one invalid character</source>
<translation>Ime datoteke vsebuje vsaj en neveljaven znak.</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1204"/>
- <location filename="../src/libsync/syncengine.cpp" line="1244"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1213"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1253"/>
<source>Ignored because of the &quot;choose what to sync&quot; blacklist</source>
<translation>Prezrto, ker je predmet označen na črni listi za usklajevanje</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1263"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1272"/>
<source>Not allowed because you don&apos;t have permission to add subfolders to that folder</source>
<translation>Dejanje ni dovoljeno! Ni ustreznih dovoljenj za dodajanje podmap v to mapo.</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1310"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1319"/>
<source>Not allowed to upload this file because it is read-only on the server, restoring</source>
<translation>Ni dovoljeno pošiljati te datoteke, ker ima določena dovoljenja le za branje. Datoteka bo obnovljena na izvorno različico.</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1326"/>
- <location filename="../src/libsync/syncengine.cpp" line="1345"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1335"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1354"/>
<source>Not allowed to remove, restoring</source>
<translation>Odstranitev ni dovoljena, datoteka bo obnovljena.</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1359"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1368"/>
<source>Local files and share folder removed.</source>
<translation>Krajevne datoteke in mape v souporabi so odstranjene.</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1413"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1422"/>
<source>Move not allowed, item restored</source>
<translation>Premikanje ni dovoljeno, datoteka bo obnovljena.</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1424"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1433"/>
<source>Move not allowed because %1 is read-only</source>
<translation>Premikanje ni dovoljeno, ker je nastavljeno določilo %1 le za branje.</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1424"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1433"/>
<source>the destination</source>
<translation>cilj</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1424"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1433"/>
<source>the source</source>
<translation>vir</translation>
</message>
@@ -3434,17 +3435,17 @@ Uporaba ni priporočljiva.</translation>
<context>
<name>OCC::ValidateChecksumHeader</name>
<message>
- <location filename="../src/common/checksums.cpp" line="205"/>
+ <location filename="../src/common/checksums.cpp" line="218"/>
<source>The checksum header is malformed.</source>
<translation>Glava nadzorne vsote je napačno oblikovana.</translation>
</message>
<message>
- <location filename="../src/common/checksums.cpp" line="220"/>
+ <location filename="../src/common/checksums.cpp" line="233"/>
<source>The checksum header contained an unknown checksum type &apos;%1&apos;</source>
<translation>Glava nadzorne vsote vsebuje neznano vrsto zapisa &apos;%1&apos;</translation>
</message>
<message>
- <location filename="../src/common/checksums.cpp" line="224"/>
+ <location filename="../src/common/checksums.cpp" line="237"/>
<source>The downloaded file does not match the checksum, it will be resumed.</source>
<translation>Prejeta datoteka ni skladna z nadzorno vsoto te datoteke, zato bo prenos ponovljen.</translation>
</message>
diff --git a/translations/client_sr.ts b/translations/client_sr.ts
index 7ba439af9..82506cba4 100644
--- a/translations/client_sr.ts
+++ b/translations/client_sr.ts
@@ -596,7 +596,7 @@
<context>
<name>OCC::CleanupPollsJob</name>
<message>
- <location filename="../src/libsync/owncloudpropagator.cpp" line="990"/>
+ <location filename="../src/libsync/owncloudpropagator.cpp" line="1001"/>
<source>Error writing metadata to the database</source>
<translation type="unfinished"/>
</message>
@@ -744,24 +744,24 @@
<translation>Не могу да прочитам системски списак за игнорисање</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="883"/>
+ <location filename="../src/gui/folder.cpp" line="888"/>
<source>A new folder larger than %1 MB has been added: %2.
</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="886"/>
+ <location filename="../src/gui/folder.cpp" line="891"/>
<source>A folder from an external storage has been added.
</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="887"/>
+ <location filename="../src/gui/folder.cpp" line="892"/>
<source>Please go in the settings to select it if you wish to download it.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="922"/>
+ <location filename="../src/gui/folder.cpp" line="927"/>
<source>All files in the sync folder '%1' folder were deleted on the server.
These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore.
If you decide to keep the files, they will be re-synced with the server if you have rights to do so.
@@ -769,46 +769,46 @@ If you decide to delete the files, they will be unavailable to you, unless you a
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="927"/>
+ <location filename="../src/gui/folder.cpp" line="932"/>
<source>All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored.
Are you sure you want to sync those actions with the server?
If this was an accident and you decide to keep your files, they will be re-synced from the server.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="931"/>
+ <location filename="../src/gui/folder.cpp" line="936"/>
<source>Remove All Files?</source>
<translation>Уклонити све фајлове?</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="934"/>
+ <location filename="../src/gui/folder.cpp" line="939"/>
<source>Remove all files</source>
<translation>Уклони све фајлове</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="935"/>
+ <location filename="../src/gui/folder.cpp" line="940"/>
<source>Keep files</source>
<translation>Остави фајлове</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="952"/>
+ <location filename="../src/gui/folder.cpp" line="957"/>
<source>This sync would reset the files to an earlier time in the sync folder '%1'.
This might be because a backup was restored on the server.
Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files?</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="957"/>
+ <location filename="../src/gui/folder.cpp" line="962"/>
<source>Backup detected</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="960"/>
+ <location filename="../src/gui/folder.cpp" line="965"/>
<source>Normal Synchronisation</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="961"/>
+ <location filename="../src/gui/folder.cpp" line="966"/>
<source>Keep Local Files as Conflict</source>
<translation type="unfinished"/>
</message>
@@ -1282,22 +1282,22 @@ Continuing the sync as normal will cause all your files to be overwritten by an
<context>
<name>OCC::HttpCredentialsGui</name>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="97"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="98"/>
<source>Please enter %1 password:&lt;br&gt;&lt;br&gt;User: %2&lt;br&gt;Account: %3&lt;br&gt;</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="111"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="112"/>
<source>Reading from keychain failed with error: &apos;%1&apos;</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="117"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="118"/>
<source>Enter Password</source>
<translation>Унесите лозинку</translation>
</message>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="154"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="155"/>
<source>&lt;a href=&quot;%1&quot;&gt;Click here&lt;/a&gt; to request an app password from the web interface.</source>
<translation type="unfinished"/>
</message>
@@ -1417,12 +1417,12 @@ Items where deletion is allowed will be deleted if they prevent a directory from
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/issueswidget.ui" line="145"/>
+ <location filename="../src/gui/issueswidget.ui" line="148"/>
<source>Copy the issues list to the clipboard.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/issueswidget.ui" line="148"/>
+ <location filename="../src/gui/issueswidget.ui" line="151"/>
<source>Copy</source>
<translation>Копирај</translation>
</message>
@@ -1908,144 +1908,144 @@ It is not advisable to use it.</source>
<context>
<name>OCC::OwncloudSetupWizard</name>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="217"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="250"/>
<source>&lt;font color=&quot;green&quot;&gt;Successfully connected to %1: %2 version %3 (%4)&lt;/font&gt;&lt;br/&gt;&lt;br/&gt;</source>
<translation>&lt;font color=&quot;green&quot;&gt;Успешно повезан са %1: %2 верзија %3 (%4)&lt;/font&gt;&lt;br/&gt;&lt;br/&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="251"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="280"/>
<source>Failed to connect to %1 at %2:&lt;br/&gt;%3</source>
<translation>Неуспешно повезивање са %1 на %2:&lt;br/&gt;%3</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="285"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="314"/>
<source>Timeout while trying to connect to %1 at %2.</source>
<translation>Време је истекло у покушају повезивања са %1 на %2.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="296"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="334"/>
<source>Trying to connect to %1 at %2...</source>
<translation>Покушавам да се повежем са %1 на %2...</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="347"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="385"/>
<source>The authenticated request to the server was redirected to &apos;%1&apos;. The URL is bad, the server is misconfigured.</source>
<translation>Аутентификован захтев серверу је преусмерен на %1. УРЛ је лош, сервер је лоше подешен.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="369"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="407"/>
<source>There was an invalid response to an authenticated webdav request</source>
<translation>Добијен је неисправан одговор на аутентификовани ВебДАВ захтев</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="360"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="398"/>
<source>Access forbidden by server. To verify that you have proper access, &lt;a href=&quot;%1&quot;&gt;click here&lt;/a&gt; to access the service with your browser.</source>
<translation>Сервер није дозволио приступ. Да проверите имате ли исправан приступ, &lt;a href=&quot;%1&quot;&gt;кликните овде&lt;/a&gt; да бисте приступили услузи из прегледача.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="249"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="278"/>
<source>Invalid URL</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="414"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="452"/>
<source>Local sync folder %1 already exists, setting it up for sync.&lt;br/&gt;&lt;br/&gt;</source>
<translation>Локална фасцикла %1 већ постоји. Одређујем је за синхронизацију.&lt;br/&gt;&lt;br/&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="417"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="455"/>
<source>Creating local sync folder %1...</source>
<translation>Правим локалну фасциклу синхронизације %1...</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="421"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="459"/>
<source>ok</source>
<translation>у реду</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="423"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="461"/>
<source>failed.</source>
<translation>неуспешно</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="425"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="463"/>
<source>Could not create local folder %1</source>
<translation>Не могу да направим локалну фасциклу %1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="451"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="489"/>
<source>No remote folder specified!</source>
<translation>Није наведена удаљена фасцикла!</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="457"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="495"/>
<source>Error: %1</source>
<translation>Грешка: %1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="470"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="508"/>
<source>creating folder on ownCloud: %1</source>
<translation>правим фасциклу у облаку: % 1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="486"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="524"/>
<source>Remote folder %1 created successfully.</source>
<translation>Удаљена фасцикла %1 је успешно направљена.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="488"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="526"/>
<source>The remote folder %1 already exists. Connecting it for syncing.</source>
<translation>Удаљена фасцикла %1 већ постоји. Повезујем се ради синхронизовања.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="490"/>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="492"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="528"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="530"/>
<source>The folder creation resulted in HTTP error code %1</source>
<translation>Прављење фасцикле довело је до ХТТП грешке са кодом %1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="494"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="532"/>
<source>The remote folder creation failed because the provided credentials are wrong!&lt;br/&gt;Please go back and check your credentials.&lt;/p&gt;</source>
<translation>Прављење удаљене фасцикле није успело због погрешних акредитива!&lt;br/&gt;Идите назад и проверите ваше акредитиве.&lt;/p&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="498"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="536"/>
<source>&lt;p&gt;&lt;font color=&quot;red&quot;&gt;Remote folder creation failed probably because the provided credentials are wrong.&lt;/font&gt;&lt;br/&gt;Please go back and check your credentials.&lt;/p&gt;</source>
<translation>&lt;p&gt;&lt;font color=&quot;red&quot;&gt;Прављење удаљене фасцикле није успело због погрешних акредитива.&lt;/font&gt;&lt;br/&gt;Идите назад и проверите ваше акредитиве.&lt;/p&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="503"/>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="504"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="541"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="542"/>
<source>Remote folder %1 creation failed with error &lt;tt&gt;%2&lt;/tt&gt;.</source>
<translation>Прављење удаљене фасцикле %1 није успело због грешке &lt;tt&gt;%2&lt;/tt&gt;.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="521"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="559"/>
<source>A sync connection from %1 to remote directory %2 was set up.</source>
<translation>Веза за синхронизацију %1 до удаљеног директоријума %2 је подешена.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="526"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="564"/>
<source>Successfully connected to %1!</source>
<translation>Успешно повезан са %1!</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="533"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="571"/>
<source>Connection to %1 could not be established. Please check again.</source>
<translation>Не може се успоставити веза са %1. Проверите поново.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="547"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="585"/>
<source>Folder rename failed</source>
<translation>Преименовање није успело</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="548"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="586"/>
<source>Can&apos;t remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup.</source>
<translation>Не могу да уклоним и направим резервну копију фасцикле јер су фасцикла или фајл отворени у другом програму. Затворите фасциклу или фајл и покушајте поново или одустаните од подешавања.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="593"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="631"/>
<source>&lt;font color=&quot;green&quot;&gt;&lt;b&gt;Local sync folder %1 successfully created!&lt;/b&gt;&lt;/font&gt;</source>
<translation>&lt;font color=&quot;green&quot;&gt;&lt;b&gt;Локална фасцикла за синхронизовање %1 је успешно направљена!&lt;/b&gt;&lt;/font&gt;</translation>
</message>
@@ -2092,7 +2092,7 @@ It is not advisable to use it.</source>
<context>
<name>OCC::PropagateDirectory</name>
<message>
- <location filename="../src/libsync/owncloudpropagator.cpp" line="942"/>
+ <location filename="../src/libsync/owncloudpropagator.cpp" line="953"/>
<source>Error writing metadata to the database</source>
<translation type="unfinished"/>
</message>
@@ -2130,17 +2130,17 @@ It is not advisable to use it.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/propagatedownload.cpp" line="772"/>
+ <location filename="../src/libsync/propagatedownload.cpp" line="775"/>
<source>File %1 cannot be saved because of a local file name clash!</source>
<translation>Фајл %1 се не може сачувати јер се судара са називом локалног фајла!</translation>
</message>
<message>
- <location filename="../src/libsync/propagatedownload.cpp" line="820"/>
+ <location filename="../src/libsync/propagatedownload.cpp" line="823"/>
<source>File has changed since discovery</source>
<translation>Фајл је измењен у међувремену</translation>
</message>
<message>
- <location filename="../src/libsync/propagatedownload.cpp" line="871"/>
+ <location filename="../src/libsync/propagatedownload.cpp" line="874"/>
<source>Error writing metadata to the database</source>
<translation type="unfinished"/>
</message>
@@ -2216,12 +2216,12 @@ It is not advisable to use it.</source>
<context>
<name>OCC::PropagateRemoteDelete</name>
<message>
- <location filename="../src/libsync/propagateremotedelete.cpp" line="96"/>
+ <location filename="../src/libsync/propagateremotedelete.cpp" line="100"/>
<source>The file has been removed from a read only share. It was restored.</source>
<translation>Фајл је уклоњен из дељења које је само за читање. Зато је враћен.</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotedelete.cpp" line="117"/>
+ <location filename="../src/libsync/propagateremotedelete.cpp" line="121"/>
<source>Wrong HTTP code returned by server. Expected 204, but received &quot;%1 %2&quot;.</source>
<translation>Сервер је вратио лош ХТТП код. Очекивано је 204 али је примљено „%1 %2“.</translation>
</message>
@@ -2229,12 +2229,12 @@ It is not advisable to use it.</source>
<context>
<name>OCC::PropagateRemoteMkdir</name>
<message>
- <location filename="../src/libsync/propagateremotemkdir.cpp" line="95"/>
+ <location filename="../src/libsync/propagateremotemkdir.cpp" line="99"/>
<source>Wrong HTTP code returned by server. Expected 201, but received &quot;%1 %2&quot;.</source>
<translation>Сервер је вратио лош ХТТП код. Очекивано је 201 али је примљено „%1 %2“.</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotemkdir.cpp" line="147"/>
+ <location filename="../src/libsync/propagateremotemkdir.cpp" line="151"/>
<source>Error writing metadata to the database</source>
<translation type="unfinished"/>
</message>
@@ -2252,18 +2252,18 @@ It is not advisable to use it.</source>
<translation>Ова фасцикла се не сме преименовати. Молим вас вратите назив у „Shared“.</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotemove.cpp" line="137"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="141"/>
<source>The file was renamed but is part of a read only share. The original file was restored.</source>
<translation>Фајл је био преименован али је део дељења које је само за читање. Оригинални фајл је враћен.</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotemove.cpp" line="154"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="158"/>
<source>Wrong HTTP code returned by server. Expected 201, but received &quot;%1 %2&quot;.</source>
<translation>Сервер је вратио лош ХТТП код. Очекивано је 201 али је примљено „%1 %2“.</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotemove.cpp" line="186"/>
- <location filename="../src/libsync/propagateremotemove.cpp" line="192"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="190"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="196"/>
<source>Error writing metadata to the database</source>
<translation type="unfinished"/>
</message>
@@ -2297,7 +2297,7 @@ It is not advisable to use it.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/propagateupload.cpp" line="618"/>
+ <location filename="../src/libsync/propagateupload.cpp" line="622"/>
<source>Error writing metadata to the database</source>
<translation type="unfinished"/>
</message>
@@ -2371,42 +2371,42 @@ It is not advisable to use it.</source>
<translation>Текст ознака</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="48"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="61"/>
<source>Time</source>
<translation>време</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="49"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="62"/>
<source>File</source>
<translation>фајл</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="50"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="63"/>
<source>Folder</source>
<translation>фасцикла</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="51"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="64"/>
<source>Action</source>
<translation>радња</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="52"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="65"/>
<source>Size</source>
<translation>величина</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="72"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="85"/>
<source>Local sync protocol</source>
<translation>Локални протокол синхронизације</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="74"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="87"/>
<source>Copy</source>
<translation>Копирај</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="75"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="88"/>
<source>Copy the activity list to the clipboard.</source>
<translation>Копирај активност у клипборд.</translation>
</message>
@@ -2538,6 +2538,7 @@ It is not advisable to use it.</source>
</message>
<message>
<location filename="../src/gui/settingsdialogmac.cpp" line="152"/>
+ <location filename="../src/gui/settingsdialogmac.cpp" line="211"/>
<source>Account</source>
<translation>Налог</translation>
</message>
@@ -3194,22 +3195,22 @@ It is not advisable to use it.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1278"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1287"/>
<source>Not allowed because you don&apos;t have permission to add parent folder</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1285"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1294"/>
<source>Not allowed because you don&apos;t have permission to add files in that folder</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1588"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1597"/>
<source>Disk space is low: Downloads that would reduce free space below %1 were skipped.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1595"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1604"/>
<source>There is insufficient space available on the server for some uploads.</source>
<translation type="unfinished"/>
</message>
@@ -3334,54 +3335,54 @@ It is not advisable to use it.</source>
<translation>Не могу да отворим дневник синхронизације</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="968"/>
+ <location filename="../src/libsync/syncengine.cpp" line="977"/>
<source>File name contains at least one invalid character</source>
<translation>Назив садржи бар један недозвољен карактер</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1204"/>
- <location filename="../src/libsync/syncengine.cpp" line="1244"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1213"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1253"/>
<source>Ignored because of the &quot;choose what to sync&quot; blacklist</source>
<translation>Игнорисано јер се не налази на листи за синхронизацију</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1263"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1272"/>
<source>Not allowed because you don&apos;t have permission to add subfolders to that folder</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1310"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1319"/>
<source>Not allowed to upload this file because it is read-only on the server, restoring</source>
<translation>Није могуће отпремити овај фајл јер је на серверу само за читање. Враћам</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1326"/>
- <location filename="../src/libsync/syncengine.cpp" line="1345"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1335"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1354"/>
<source>Not allowed to remove, restoring</source>
<translation>Није могуће уклањање. Враћам</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1359"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1368"/>
<source>Local files and share folder removed.</source>
<translation>Локални фајлови и дељена фасцикла су уклоњени.</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1413"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1422"/>
<source>Move not allowed, item restored</source>
<translation>Премештање није дозвољено. Ставка је враћена</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1424"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1433"/>
<source>Move not allowed because %1 is read-only</source>
<translation>Премештање није дозвољено јер %1 је само за читање</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1424"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1433"/>
<source>the destination</source>
<translation>одредиште</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1424"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1433"/>
<source>the source</source>
<translation>извор</translation>
</message>
@@ -3423,17 +3424,17 @@ It is not advisable to use it.</source>
<context>
<name>OCC::ValidateChecksumHeader</name>
<message>
- <location filename="../src/common/checksums.cpp" line="205"/>
+ <location filename="../src/common/checksums.cpp" line="218"/>
<source>The checksum header is malformed.</source>
<translation>Заглавље контролне суме је лоше формирано.</translation>
</message>
<message>
- <location filename="../src/common/checksums.cpp" line="220"/>
+ <location filename="../src/common/checksums.cpp" line="233"/>
<source>The checksum header contained an unknown checksum type &apos;%1&apos;</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/common/checksums.cpp" line="224"/>
+ <location filename="../src/common/checksums.cpp" line="237"/>
<source>The downloaded file does not match the checksum, it will be resumed.</source>
<translation>Преузети фајл се не поклапа с контролном сумом. Биће настављено.</translation>
</message>
diff --git a/translations/client_sv.ts b/translations/client_sv.ts
index 9b08dfd01..b13076f21 100644
--- a/translations/client_sv.ts
+++ b/translations/client_sv.ts
@@ -596,7 +596,7 @@
<context>
<name>OCC::CleanupPollsJob</name>
<message>
- <location filename="../src/libsync/owncloudpropagator.cpp" line="990"/>
+ <location filename="../src/libsync/owncloudpropagator.cpp" line="1001"/>
<source>Error writing metadata to the database</source>
<translation>Fel vid skrivning av metadata till databasen</translation>
</message>
@@ -744,26 +744,26 @@
<translation>Kunde inte läsa systemets exkluderings-fil</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="883"/>
+ <location filename="../src/gui/folder.cpp" line="888"/>
<source>A new folder larger than %1 MB has been added: %2.
</source>
<translation>En ny mapp större än %1 MB har lagts till: %2.
</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="886"/>
+ <location filename="../src/gui/folder.cpp" line="891"/>
<source>A folder from an external storage has been added.
</source>
<translation>En mapp från en extern lagringsyta har lagts till.
</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="887"/>
+ <location filename="../src/gui/folder.cpp" line="892"/>
<source>Please go in the settings to select it if you wish to download it.</source>
<translation>Vänligen gå till inställningar och välj den om du önskar att ladda ner den.</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="922"/>
+ <location filename="../src/gui/folder.cpp" line="927"/>
<source>All files in the sync folder '%1' folder were deleted on the server.
These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore.
If you decide to keep the files, they will be re-synced with the server if you have rights to do so.
@@ -771,29 +771,29 @@ If you decide to delete the files, they will be unavailable to you, unless you a
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="927"/>
+ <location filename="../src/gui/folder.cpp" line="932"/>
<source>All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored.
Are you sure you want to sync those actions with the server?
If this was an accident and you decide to keep your files, they will be re-synced from the server.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="931"/>
+ <location filename="../src/gui/folder.cpp" line="936"/>
<source>Remove All Files?</source>
<translation>Ta bort alla filer?</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="934"/>
+ <location filename="../src/gui/folder.cpp" line="939"/>
<source>Remove all files</source>
<translation>Ta bort alla filer</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="935"/>
+ <location filename="../src/gui/folder.cpp" line="940"/>
<source>Keep files</source>
<translation>Behåll filer</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="952"/>
+ <location filename="../src/gui/folder.cpp" line="957"/>
<source>This sync would reset the files to an earlier time in the sync folder '%1'.
This might be because a backup was restored on the server.
Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files?</source>
@@ -802,17 +802,17 @@ Detta kan vara för att en säkerhetskopia har återställts på servern.
Om du fortsätter synkningen kommer alla dina filer återställas med en äldre version av filen. Vill du behålla dina nyare lokala filer som konfliktfiler?</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="957"/>
+ <location filename="../src/gui/folder.cpp" line="962"/>
<source>Backup detected</source>
<translation>Backup upptäckt</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="960"/>
+ <location filename="../src/gui/folder.cpp" line="965"/>
<source>Normal Synchronisation</source>
<translation>Normal synkronisation</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="961"/>
+ <location filename="../src/gui/folder.cpp" line="966"/>
<source>Keep Local Files as Conflict</source>
<translation>Behåll lokala filer som konflikt</translation>
</message>
@@ -1286,22 +1286,22 @@ Om du fortsätter synkningen kommer alla dina filer återställas med en äldre
<context>
<name>OCC::HttpCredentialsGui</name>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="97"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="98"/>
<source>Please enter %1 password:&lt;br&gt;&lt;br&gt;User: %2&lt;br&gt;Account: %3&lt;br&gt;</source>
<translation>Vänligen ange %1 lösenord:&lt;br&gt;&lt;br&gt;Användare: %2&lt;br&gt;Konto: %3&lt;br&gt;</translation>
</message>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="111"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="112"/>
<source>Reading from keychain failed with error: &apos;%1&apos;</source>
<translation>Avläsning från kedjan misslyckades med felkod: &apos;%1&apos;</translation>
</message>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="117"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="118"/>
<source>Enter Password</source>
<translation>Ange lösenord</translation>
</message>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="154"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="155"/>
<source>&lt;a href=&quot;%1&quot;&gt;Click here&lt;/a&gt; to request an app password from the web interface.</source>
<translation>&lt;a href=&quot;%1&quot;&gt;Klicka här&lt;/a&gt; för att begära ett app-lösenord från webbgränssnittet.</translation>
</message>
@@ -1423,12 +1423,12 @@ Objekt som tillåter radering kommer tas bort om de förhindrar en mapp att tas
<translation>Visa ignorerade filer</translation>
</message>
<message>
- <location filename="../src/gui/issueswidget.ui" line="145"/>
+ <location filename="../src/gui/issueswidget.ui" line="148"/>
<source>Copy the issues list to the clipboard.</source>
<translation>Kopiera fellistan till klippbordet.</translation>
</message>
<message>
- <location filename="../src/gui/issueswidget.ui" line="148"/>
+ <location filename="../src/gui/issueswidget.ui" line="151"/>
<source>Copy</source>
<translation>Kopiera</translation>
</message>
@@ -1914,144 +1914,144 @@ Det är inte lämpligt använda den.</translation>
<context>
<name>OCC::OwncloudSetupWizard</name>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="217"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="250"/>
<source>&lt;font color=&quot;green&quot;&gt;Successfully connected to %1: %2 version %3 (%4)&lt;/font&gt;&lt;br/&gt;&lt;br/&gt;</source>
<translation>&lt;font color=&quot;green&quot;&gt;Lyckades ansluta till %1: %2 version %3 (%4)&lt;/font&gt;&lt;br/&gt;&lt;br/&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="251"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="280"/>
<source>Failed to connect to %1 at %2:&lt;br/&gt;%3</source>
<translation>Misslyckades att ansluta till %1 vid %2:&lt;br/&gt;%3</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="285"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="314"/>
<source>Timeout while trying to connect to %1 at %2.</source>
<translation>Försök att ansluta till %1 på %2 tog för lång tid.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="296"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="334"/>
<source>Trying to connect to %1 at %2...</source>
<translation>Försöker ansluta till %1 på %2...</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="347"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="385"/>
<source>The authenticated request to the server was redirected to &apos;%1&apos;. The URL is bad, the server is misconfigured.</source>
<translation>Den autentiserade begäran till servern omdirigerades till &apos;%1&apos;. Den URLen är ogiltig, server är felkonfigurerad.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="369"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="407"/>
<source>There was an invalid response to an authenticated webdav request</source>
<translation>Det kom ett ogiltigt svar på en autentiserad webdav-begäran</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="360"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="398"/>
<source>Access forbidden by server. To verify that you have proper access, &lt;a href=&quot;%1&quot;&gt;click here&lt;/a&gt; to access the service with your browser.</source>
<translation>Åtkomst förbjuden av servern. För att bekräfta att du har korrekta rättigheter, &lt;a href=&quot;%1&quot;&gt;klicka här&lt;/a&gt; för att ansluta till tjänsten med din webb-läsare.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="249"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="278"/>
<source>Invalid URL</source>
<translation>Ogiltig URL</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="414"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="452"/>
<source>Local sync folder %1 already exists, setting it up for sync.&lt;br/&gt;&lt;br/&gt;</source>
<translation>Lokal synkmapp %1 finns redan, aktiverar den för synk.&lt;br/&gt;&lt;br/&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="417"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="455"/>
<source>Creating local sync folder %1...</source>
<translation>Skapar lokal synk-mapp %1...</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="421"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="459"/>
<source>ok</source>
<translation>ok</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="423"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="461"/>
<source>failed.</source>
<translation>misslyckades.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="425"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="463"/>
<source>Could not create local folder %1</source>
<translation>Kunde inte skapa lokal mapp %1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="451"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="489"/>
<source>No remote folder specified!</source>
<translation>Ingen fjärrmapp specificerad! </translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="457"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="495"/>
<source>Error: %1</source>
<translation>Fel: %1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="470"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="508"/>
<source>creating folder on ownCloud: %1</source>
<translation>skapar mapp på ownCloud: %1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="486"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="524"/>
<source>Remote folder %1 created successfully.</source>
<translation>Fjärrmapp %1 har skapats.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="488"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="526"/>
<source>The remote folder %1 already exists. Connecting it for syncing.</source>
<translation>Fjärrmappen %1 finns redan. Ansluter den för synkronisering.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="490"/>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="492"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="528"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="530"/>
<source>The folder creation resulted in HTTP error code %1</source>
<translation>Skapande av mapp resulterade i HTTP felkod %1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="494"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="532"/>
<source>The remote folder creation failed because the provided credentials are wrong!&lt;br/&gt;Please go back and check your credentials.&lt;/p&gt;</source>
<translation>Det gick inte att skapa mappen efter som du inte har tillräckliga rättigheter!&lt;br/&gt;Vänligen återvänd och kontrollera dina rättigheter.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="498"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="536"/>
<source>&lt;p&gt;&lt;font color=&quot;red&quot;&gt;Remote folder creation failed probably because the provided credentials are wrong.&lt;/font&gt;&lt;br/&gt;Please go back and check your credentials.&lt;/p&gt;</source>
<translation>&lt;p&gt;&lt;font color=&quot;red&quot;&gt;Misslyckades skapa fjärrmappen, troligen p.g.a felaktiga inloggningsuppgifter.&lt;/font&gt;&lt;br/&gt;Kontrollera dina inloggningsuppgifter.&lt;/p&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="503"/>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="504"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="541"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="542"/>
<source>Remote folder %1 creation failed with error &lt;tt&gt;%2&lt;/tt&gt;.</source>
<translation>Misslyckades skapa fjärrmapp %1 med fel &lt;tt&gt;%2&lt;/tt&gt;.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="521"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="559"/>
<source>A sync connection from %1 to remote directory %2 was set up.</source>
<translation>En synkroniseringsanslutning från %1 till fjärrmappen %2 har skapats.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="526"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="564"/>
<source>Successfully connected to %1!</source>
<translation>Ansluten till %1!</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="533"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="571"/>
<source>Connection to %1 could not be established. Please check again.</source>
<translation>Anslutningen till %1 kunde inte etableras. Var god kontrollera och försök igen.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="547"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="585"/>
<source>Folder rename failed</source>
<translation>Omdöpning av mapp misslyckades</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="548"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="586"/>
<source>Can&apos;t remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup.</source>
<translation>Kan inte ta bort och göra en säkerhetskopia av mappen på grund av att mappen eller en fil i den används av ett annat program. Vänligen stäng mappen eller filen och försök igen eller avbryt installationen.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="593"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="631"/>
<source>&lt;font color=&quot;green&quot;&gt;&lt;b&gt;Local sync folder %1 successfully created!&lt;/b&gt;&lt;/font&gt;</source>
<translation>&lt;font color=&quot;green&quot;&gt;&lt;b&gt;Lokal synkmapp %1 skapad!&lt;/b&gt;&lt;/font&gt;</translation>
</message>
@@ -2098,7 +2098,7 @@ Det är inte lämpligt använda den.</translation>
<context>
<name>OCC::PropagateDirectory</name>
<message>
- <location filename="../src/libsync/owncloudpropagator.cpp" line="942"/>
+ <location filename="../src/libsync/owncloudpropagator.cpp" line="953"/>
<source>Error writing metadata to the database</source>
<translation>Fel vid skrivning av metadata till databasen</translation>
</message>
@@ -2136,17 +2136,17 @@ Det är inte lämpligt använda den.</translation>
<translation>Den nedladdade filen är tom men servern sa att den skulle vara %1.</translation>
</message>
<message>
- <location filename="../src/libsync/propagatedownload.cpp" line="772"/>
+ <location filename="../src/libsync/propagatedownload.cpp" line="775"/>
<source>File %1 cannot be saved because of a local file name clash!</source>
<translation>Fil %1 kan inte sparas eftersom namnet krockar med en lokal fil!</translation>
</message>
<message>
- <location filename="../src/libsync/propagatedownload.cpp" line="820"/>
+ <location filename="../src/libsync/propagatedownload.cpp" line="823"/>
<source>File has changed since discovery</source>
<translation>Filen har ändrats sedan upptäckten</translation>
</message>
<message>
- <location filename="../src/libsync/propagatedownload.cpp" line="871"/>
+ <location filename="../src/libsync/propagatedownload.cpp" line="874"/>
<source>Error writing metadata to the database</source>
<translation>Fel vid skrivning av metadata till databasen</translation>
</message>
@@ -2222,12 +2222,12 @@ Det är inte lämpligt använda den.</translation>
<context>
<name>OCC::PropagateRemoteDelete</name>
<message>
- <location filename="../src/libsync/propagateremotedelete.cpp" line="96"/>
+ <location filename="../src/libsync/propagateremotedelete.cpp" line="100"/>
<source>The file has been removed from a read only share. It was restored.</source>
<translation>Den här filen har tagits bort från en endast-läsbar delning. Den återställdes.</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotedelete.cpp" line="117"/>
+ <location filename="../src/libsync/propagateremotedelete.cpp" line="121"/>
<source>Wrong HTTP code returned by server. Expected 204, but received &quot;%1 %2&quot;.</source>
<translation>Felaktig HTTP-kod i svaret från servern. &apos;204&apos; förväntades, men &quot;%1 %2&quot; mottogs.</translation>
</message>
@@ -2235,12 +2235,12 @@ Det är inte lämpligt använda den.</translation>
<context>
<name>OCC::PropagateRemoteMkdir</name>
<message>
- <location filename="../src/libsync/propagateremotemkdir.cpp" line="95"/>
+ <location filename="../src/libsync/propagateremotemkdir.cpp" line="99"/>
<source>Wrong HTTP code returned by server. Expected 201, but received &quot;%1 %2&quot;.</source>
<translation>Felaktig HTTP-kod i svaret från servern. &apos;201&apos; förväntades, men &quot;%1 %2&quot; mottogs.</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotemkdir.cpp" line="147"/>
+ <location filename="../src/libsync/propagateremotemkdir.cpp" line="151"/>
<source>Error writing metadata to the database</source>
<translation>Fel vid skrivning av metadata till databasen</translation>
</message>
@@ -2258,18 +2258,18 @@ Det är inte lämpligt använda den.</translation>
<translation>Denna mapp får ej döpas om. Vänligen döp den till Delad igen.</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotemove.cpp" line="137"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="141"/>
<source>The file was renamed but is part of a read only share. The original file was restored.</source>
<translation>En fil döptes om men är en del av en endast-läsbar delning. Original filen återställdes.</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotemove.cpp" line="154"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="158"/>
<source>Wrong HTTP code returned by server. Expected 201, but received &quot;%1 %2&quot;.</source>
<translation>Felaktig HTTP-kod i svaret från servern. &apos;201&apos; förväntades, men &quot;%1 %2&quot; mottogs.</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotemove.cpp" line="186"/>
- <location filename="../src/libsync/propagateremotemove.cpp" line="192"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="190"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="196"/>
<source>Error writing metadata to the database</source>
<translation>Fel vid skrivning av metadata till databasen</translation>
</message>
@@ -2303,7 +2303,7 @@ Det är inte lämpligt använda den.</translation>
<translation>Uppladdningen av %1 överstiger kvoten för mappen</translation>
</message>
<message>
- <location filename="../src/libsync/propagateupload.cpp" line="618"/>
+ <location filename="../src/libsync/propagateupload.cpp" line="622"/>
<source>Error writing metadata to the database</source>
<translation>Fel vid skrivning av metadata till databasen</translation>
</message>
@@ -2377,42 +2377,42 @@ Det är inte lämpligt använda den.</translation>
<translation>Textetikett</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="48"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="61"/>
<source>Time</source>
<translation>Tid</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="49"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="62"/>
<source>File</source>
<translation>Fil</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="50"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="63"/>
<source>Folder</source>
<translation>Mapp</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="51"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="64"/>
<source>Action</source>
<translation>Ågärd</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="52"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="65"/>
<source>Size</source>
<translation>Storlek</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="72"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="85"/>
<source>Local sync protocol</source>
<translation>Lokalt synkprotokoll</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="74"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="87"/>
<source>Copy</source>
<translation>Kopiera</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="75"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="88"/>
<source>Copy the activity list to the clipboard.</source>
<translation>Kopiera aktivitetslistan till urklipp.</translation>
</message>
@@ -2544,6 +2544,7 @@ Det är inte lämpligt använda den.</translation>
</message>
<message>
<location filename="../src/gui/settingsdialogmac.cpp" line="152"/>
+ <location filename="../src/gui/settingsdialogmac.cpp" line="211"/>
<source>Account</source>
<translation>Konto</translation>
</message>
@@ -3200,22 +3201,22 @@ Det är inte lämpligt använda den.</translation>
<translation>Kunde inte öppna eller återskapa den lokala synkroniseringsdatabasen. Säkerställ att du har skrivrättigheter till synkroniseringsmappen.</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1278"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1287"/>
<source>Not allowed because you don&apos;t have permission to add parent folder</source>
<translation>Otillåtet eftersom du inte har rättigheter att lägga till övermappar</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1285"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1294"/>
<source>Not allowed because you don&apos;t have permission to add files in that folder</source>
<translation>Otillåtet eftersom du inte har rättigheter att lägga till filer i den mappen.</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1588"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1597"/>
<source>Disk space is low: Downloads that would reduce free space below %1 were skipped.</source>
<translation>Diskutrymmet är lågt: Nedladdningar som reduceringar det fria utrymmet under %1 skippades.</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1595"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1604"/>
<source>There is insufficient space available on the server for some uploads.</source>
<translation>Det finns inte tillräckligt med utrymme på servern för vissa uppladdningar.</translation>
</message>
@@ -3340,54 +3341,54 @@ Det är inte lämpligt använda den.</translation>
<translation>Kunde inte öppna synk journalen</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="968"/>
+ <location filename="../src/libsync/syncengine.cpp" line="977"/>
<source>File name contains at least one invalid character</source>
<translation>Filnamnet innehåller minst ett ogiltigt tecken</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1204"/>
- <location filename="../src/libsync/syncengine.cpp" line="1244"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1213"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1253"/>
<source>Ignored because of the &quot;choose what to sync&quot; blacklist</source>
<translation>Ignorerad eftersom den är svartlistad i &quot;välj vad som ska synkas&quot; </translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1263"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1272"/>
<source>Not allowed because you don&apos;t have permission to add subfolders to that folder</source>
<translation>Otillåtet eftersom du inte har rättigheter att lägga till undermappar i den mappen.</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1310"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1319"/>
<source>Not allowed to upload this file because it is read-only on the server, restoring</source>
<translation>Inte behörig att ladda upp denna fil då den är skrivskyddad på servern, återställer </translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1326"/>
- <location filename="../src/libsync/syncengine.cpp" line="1345"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1335"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1354"/>
<source>Not allowed to remove, restoring</source>
<translation>Inte behörig att radera, återställer</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1359"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1368"/>
<source>Local files and share folder removed.</source>
<translation>Lokala filer och mappar som är delade är borttagna.</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1413"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1422"/>
<source>Move not allowed, item restored</source>
<translation>Det gick inte att genomföra flytten, objektet återställs</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1424"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1433"/>
<source>Move not allowed because %1 is read-only</source>
<translation>Det gick inte att genomföra flytten då %1 är skrivskyddad</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1424"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1433"/>
<source>the destination</source>
<translation>destinationen</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1424"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1433"/>
<source>the source</source>
<translation>källan</translation>
</message>
@@ -3429,17 +3430,17 @@ Det är inte lämpligt använda den.</translation>
<context>
<name>OCC::ValidateChecksumHeader</name>
<message>
- <location filename="../src/common/checksums.cpp" line="205"/>
+ <location filename="../src/common/checksums.cpp" line="218"/>
<source>The checksum header is malformed.</source>
<translation>Checksummans huvud är felformaterad.</translation>
</message>
<message>
- <location filename="../src/common/checksums.cpp" line="220"/>
+ <location filename="../src/common/checksums.cpp" line="233"/>
<source>The checksum header contained an unknown checksum type &apos;%1&apos;</source>
<translation>Checksummans huvud innehåller en okänd checksumma av typ &apos;%1&apos;</translation>
</message>
<message>
- <location filename="../src/common/checksums.cpp" line="224"/>
+ <location filename="../src/common/checksums.cpp" line="237"/>
<source>The downloaded file does not match the checksum, it will be resumed.</source>
<translation>Den nedladdade filen stämmer inte med checksumman, den kommer startas om.</translation>
</message>
diff --git a/translations/client_th.ts b/translations/client_th.ts
index 842bb02d1..6f0a5fcf3 100644
--- a/translations/client_th.ts
+++ b/translations/client_th.ts
@@ -596,7 +596,7 @@
<context>
<name>OCC::CleanupPollsJob</name>
<message>
- <location filename="../src/libsync/owncloudpropagator.cpp" line="990"/>
+ <location filename="../src/libsync/owncloudpropagator.cpp" line="1001"/>
<source>Error writing metadata to the database</source>
<translation>ข้อผิดพลาดในการเขียนข้อมูลเมตาไปยังฐานข้อมูล</translation>
</message>
@@ -744,26 +744,26 @@
<translation>ไม่สามารถอ่าน ยกเว้นไฟล์ระบบ</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="883"/>
+ <location filename="../src/gui/folder.cpp" line="888"/>
<source>A new folder larger than %1 MB has been added: %2.
</source>
<translation>โฟลเดอร์ใหม่มีขนาดใหญ่กว่า %1 เมกะไบต์ ได้ถูกเพิ่ม: %2
</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="886"/>
+ <location filename="../src/gui/folder.cpp" line="891"/>
<source>A folder from an external storage has been added.
</source>
<translation>โฟลเดอร์ที่มีพื้นที่จัดเก็บข้อมูลภายนอกได้ถูกเพิ่ม
</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="887"/>
+ <location filename="../src/gui/folder.cpp" line="892"/>
<source>Please go in the settings to select it if you wish to download it.</source>
<translation>กรุณาไปในส่วนของการตั้งค่าเพื่อเลือก ถ้าคุณต้องการจะดาวน์โหลด</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="922"/>
+ <location filename="../src/gui/folder.cpp" line="927"/>
<source>All files in the sync folder '%1' folder were deleted on the server.
These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore.
If you decide to keep the files, they will be re-synced with the server if you have rights to do so.
@@ -774,7 +774,7 @@ If you decide to delete the files, they will be unavailable to you, unless you a
หากคุณตัดสินใจที่จะลบไฟล์ก็จะทำให้ไม่มีใครสามารถใช้งานโฟลเดอร์นี้ได้เพราะคุณเป็นเจ้าของ</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="927"/>
+ <location filename="../src/gui/folder.cpp" line="932"/>
<source>All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored.
Are you sure you want to sync those actions with the server?
If this was an accident and you decide to keep your files, they will be re-synced from the server.</source>
@@ -784,22 +784,22 @@ If this was an accident and you decide to keep your files, they will be re-synce
ถ้าเรื่องนี้เป็นอุบัติเหตุและคุณตัดสินใจที่จะเก็บไฟล์ของคุณ ไฟล์ของคุณก็จะถูกประสานข้อมูลใหม่อีกครั้ง</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="931"/>
+ <location filename="../src/gui/folder.cpp" line="936"/>
<source>Remove All Files?</source>
<translation>ลบไฟล์ทั้งหมด?</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="934"/>
+ <location filename="../src/gui/folder.cpp" line="939"/>
<source>Remove all files</source>
<translation>ลบไฟล์ทั้งหมด</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="935"/>
+ <location filename="../src/gui/folder.cpp" line="940"/>
<source>Keep files</source>
<translation>เก็บไฟล์เอาไว้</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="952"/>
+ <location filename="../src/gui/folder.cpp" line="957"/>
<source>This sync would reset the files to an earlier time in the sync folder '%1'.
This might be because a backup was restored on the server.
Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files?</source>
@@ -808,17 +808,17 @@ Continuing the sync as normal will cause all your files to be overwritten by an
ไฟล์ปัจจุบันของคุณทั้งหมดจะถูกเขียนทับด้วยไฟล์เก่า คุณต้องการเก็บไฟล์ไว้?</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="957"/>
+ <location filename="../src/gui/folder.cpp" line="962"/>
<source>Backup detected</source>
<translation>ตรวจพบการสำรองข้อมูล</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="960"/>
+ <location filename="../src/gui/folder.cpp" line="965"/>
<source>Normal Synchronisation</source>
<translation>ประสานข้อมูลปกติ</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="961"/>
+ <location filename="../src/gui/folder.cpp" line="966"/>
<source>Keep Local Files as Conflict</source>
<translation>เก็บไฟล์ต้นทางเป็นไฟล์ที่มีปัญหา</translation>
</message>
@@ -1293,22 +1293,22 @@ Continuing the sync as normal will cause all your files to be overwritten by an
<context>
<name>OCC::HttpCredentialsGui</name>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="97"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="98"/>
<source>Please enter %1 password:&lt;br&gt;&lt;br&gt;User: %2&lt;br&gt;Account: %3&lt;br&gt;</source>
<translation>กรุณากรอกรหัสผ่าน %1:&lt;br&gt;&lt;br&gt;ผู้ใช้: %2&lt;br&gt;บัญชี: %3&lt;br&gt;</translation>
</message>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="111"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="112"/>
<source>Reading from keychain failed with error: &apos;%1&apos;</source>
<translation>อ่านจาก Keychain ล้มเหลวด้วยข้อผิดพลาด: &apos;%1&apos;</translation>
</message>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="117"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="118"/>
<source>Enter Password</source>
<translation>ป้อนรหัสผ่าน</translation>
</message>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="154"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="155"/>
<source>&lt;a href=&quot;%1&quot;&gt;Click here&lt;/a&gt; to request an app password from the web interface.</source>
<translation>&lt;a href=&quot;%1&quot;&gt;คลิกที่นี่&lt;/a&gt; เพื่อขอรหัสผ่านแอพฯ จากเว็บอินเตอร์เฟส</translation>
</message>
@@ -1430,12 +1430,12 @@ Items where deletion is allowed will be deleted if they prevent a directory from
<translation>แสดงไฟล์ที่ถูกเพิกเฉย</translation>
</message>
<message>
- <location filename="../src/gui/issueswidget.ui" line="145"/>
+ <location filename="../src/gui/issueswidget.ui" line="148"/>
<source>Copy the issues list to the clipboard.</source>
<translation>คัดลอกรายการปัญหาไปยังคลิปบอร์ด</translation>
</message>
<message>
- <location filename="../src/gui/issueswidget.ui" line="148"/>
+ <location filename="../src/gui/issueswidget.ui" line="151"/>
<source>Copy</source>
<translation>คัดลอก</translation>
</message>
@@ -1920,144 +1920,144 @@ It is not advisable to use it.</source>
<context>
<name>OCC::OwncloudSetupWizard</name>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="217"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="250"/>
<source>&lt;font color=&quot;green&quot;&gt;Successfully connected to %1: %2 version %3 (%4)&lt;/font&gt;&lt;br/&gt;&lt;br/&gt;</source>
<translation>&lt;font color=&quot;green&quot;&gt;เชื่อมต่อกับ %1: %2 รุ่น %3 (%4) เสร็จเรียบร้อยแล้ว&lt;/font&gt;&lt;br/&gt;&lt;br/&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="251"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="280"/>
<source>Failed to connect to %1 at %2:&lt;br/&gt;%3</source>
<translation>ล้มเหลวในการเชื่อมต่อไปยัง %1 ที่ %2:&lt;br/&gt;%3</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="285"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="314"/>
<source>Timeout while trying to connect to %1 at %2.</source>
<translation>หมดเวลาขณะที่พยายามเชื่อมต่อไปยัง %1 ที่ %2</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="296"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="334"/>
<source>Trying to connect to %1 at %2...</source>
<translation>กำลังพยายามเชื่อมต่อไปที่ %1 ที่ %2...</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="347"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="385"/>
<source>The authenticated request to the server was redirected to &apos;%1&apos;. The URL is bad, the server is misconfigured.</source>
<translation>คำขอการรับรองความถูกต้องไปยังเซิร์ฟเวอร์ที่ถูกเปลี่ยนเส้นทางไปยัง</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="369"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="407"/>
<source>There was an invalid response to an authenticated webdav request</source>
<translation>มีการตอบสนองที่ไม่ถูกต้องที่จะร้องขอการรับรองความถูกต้องของ WebDAV</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="360"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="398"/>
<source>Access forbidden by server. To verify that you have proper access, &lt;a href=&quot;%1&quot;&gt;click here&lt;/a&gt; to access the service with your browser.</source>
<translation>การเข้าถึงถูกระงับโดยเซิร์ฟเวอร์ เพื่อตรวจสอบว่าคุณมีการเข้าถึงที่เหมาะสม &lt;a href=&quot;%1&quot;&gt;คลิกที่นี่&lt;/a&gt; เพื่อรเข้าถึงบริการกับเบราว์เซอร์ของคุณ</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="249"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="278"/>
<source>Invalid URL</source>
<translation>URL ไม่ถูกต้อง</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="414"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="452"/>
<source>Local sync folder %1 already exists, setting it up for sync.&lt;br/&gt;&lt;br/&gt;</source>
<translation>ประสานข้อมูลโฟลเดอร์ต้นทาง %1 มีอยู่แล้ว กรุณาตั้งค่าเพื่อถ่ายข้อมูล &lt;br/&lt;br/&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="417"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="455"/>
<source>Creating local sync folder %1...</source>
<translation>สร้างประสานข้อมูลโฟลเดอร์ต้นทาง %1...</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="421"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="459"/>
<source>ok</source>
<translation>ตกลง</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="423"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="461"/>
<source>failed.</source>
<translation>ล้มเหลว</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="425"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="463"/>
<source>Could not create local folder %1</source>
<translation>ไม่สามารถสร้างผสานข้อมูลโฟลเดอร์ต้นทาง %1...</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="451"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="489"/>
<source>No remote folder specified!</source>
<translation>ไม่มีโฟลเดอร์รีโมทที่ระบุ!</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="457"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="495"/>
<source>Error: %1</source>
<translation>ข้อผิดพลาด: %1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="470"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="508"/>
<source>creating folder on ownCloud: %1</source>
<translation>กำลังสร้างโฟลเดอร์ใหม่บน ownCloud: %1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="486"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="524"/>
<source>Remote folder %1 created successfully.</source>
<translation>โฟลเดอร์รีโมท %1 ถูกสร้างเรียบร้อยแล้ว</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="488"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="526"/>
<source>The remote folder %1 already exists. Connecting it for syncing.</source>
<translation>โฟลเดอร์รีโมทมี %1 อยู่แล้ว กำลังเชื่อมต่อเพื่อถ่ายโอนข้อมูล</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="490"/>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="492"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="528"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="530"/>
<source>The folder creation resulted in HTTP error code %1</source>
<translation>การสร้างโฟลเดอร์ดังกล่าวส่งผลให้เกิดรหัสข้อผิดพลาด HTTP error code %1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="494"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="532"/>
<source>The remote folder creation failed because the provided credentials are wrong!&lt;br/&gt;Please go back and check your credentials.&lt;/p&gt;</source>
<translation>สร้างโฟลเดอร์ระยะไกลล้มเหลวเนื่องจากมีข้อมูลผิดพลาด!</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="498"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="536"/>
<source>&lt;p&gt;&lt;font color=&quot;red&quot;&gt;Remote folder creation failed probably because the provided credentials are wrong.&lt;/font&gt;&lt;br/&gt;Please go back and check your credentials.&lt;/p&gt;</source>
<translation>&lt;p&gt;&lt;font color=&quot;red&quot;&gt;การสร้างโฟลเดอร์รีโมทล้มเหลว ซึ่งอาจมีสาเหตุมาจากการกรอกข้อมูลส่วนตัวเพื่อเข้าใช้งานไม่ถูกต้อง.&lt;/font&gt;&lt;br/&gt;กรุณาย้อนกลับไปแล้วตรวจสอบข้อมูลส่วนตัวของคุณอีกครั้ง.&lt;/p&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="503"/>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="504"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="541"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="542"/>
<source>Remote folder %1 creation failed with error &lt;tt&gt;%2&lt;/tt&gt;.</source>
<translation>การสร้างโฟลเดอร์ระยะไกล %1 ล้มเหลวเนื่องข้อผิดพลาด &lt;tt&gt;%2&lt;/tt&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="521"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="559"/>
<source>A sync connection from %1 to remote directory %2 was set up.</source>
<translation>การเชื่อมต่อเผื่อประสานข้อมูลจาก %1 ไปที่ไดเร็กทอรี่ระยะไกล %2 ได้ถูกติดตั้งแล้ว</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="526"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="564"/>
<source>Successfully connected to %1!</source>
<translation>เชื่อมต่อไปที่ %1! สำเร็จ</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="533"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="571"/>
<source>Connection to %1 could not be established. Please check again.</source>
<translation>การเชื่อมต่อกับ %1 ไม่สามารถดำเนินการได้ กรุณาตรวจสอบอีกครั้ง</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="547"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="585"/>
<source>Folder rename failed</source>
<translation>เปลี่ยนชื่อโฟลเดอร์ล้มเหลว</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="548"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="586"/>
<source>Can&apos;t remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup.</source>
<translation>ไม่สามารถลบและสำรองข้อมูลโฟลเดอร์เพราะโฟลเดอร์หรือไฟล์ในนั้นจะเปิดในโปรแกรมอื่นอยู่ กรุณาปิดโฟลเดอร์หรือไฟล์และกดลองใหม่อีกครั้งหรือยกเลิกการติดตั้ง</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="593"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="631"/>
<source>&lt;font color=&quot;green&quot;&gt;&lt;b&gt;Local sync folder %1 successfully created!&lt;/b&gt;&lt;/font&gt;</source>
<translation>&lt;font color=&quot;green&quot;&gt;&lt;b&gt;ประสานข้อมูลโฟลเดอร์ต้นทาง %1 ได้ถูกสร้างขึ้นเรียบร้อยแล้ว!&lt;/b&gt;&lt;/font&gt;</translation>
</message>
@@ -2104,7 +2104,7 @@ It is not advisable to use it.</source>
<context>
<name>OCC::PropagateDirectory</name>
<message>
- <location filename="../src/libsync/owncloudpropagator.cpp" line="942"/>
+ <location filename="../src/libsync/owncloudpropagator.cpp" line="953"/>
<source>Error writing metadata to the database</source>
<translation>ข้อผิดพลาดในการเขียนข้อมูลเมตาไปยังฐานข้อมูล</translation>
</message>
@@ -2142,17 +2142,17 @@ It is not advisable to use it.</source>
<translation>ไฟล์ที่ดาวน์โหลดว่างเปล่าแม้ว่าเซิร์ฟเวอร์ประกาศว่าควรจะเป็น %1</translation>
</message>
<message>
- <location filename="../src/libsync/propagatedownload.cpp" line="772"/>
+ <location filename="../src/libsync/propagatedownload.cpp" line="775"/>
<source>File %1 cannot be saved because of a local file name clash!</source>
<translation>ไฟล์ %1 ไม่สามารถบันทึกได้เพราะชื่อไฟล์ต้นทางเหมือนกัน!</translation>
</message>
<message>
- <location filename="../src/libsync/propagatedownload.cpp" line="820"/>
+ <location filename="../src/libsync/propagatedownload.cpp" line="823"/>
<source>File has changed since discovery</source>
<translation>ไฟล์มีการเปลี่ยนแปลงตั้งแต่ถูกพบ</translation>
</message>
<message>
- <location filename="../src/libsync/propagatedownload.cpp" line="871"/>
+ <location filename="../src/libsync/propagatedownload.cpp" line="874"/>
<source>Error writing metadata to the database</source>
<translation>ข้อผิดพลาดในการเขียนข้อมูลเมตาไปยังฐานข้อมูล</translation>
</message>
@@ -2228,12 +2228,12 @@ It is not advisable to use it.</source>
<context>
<name>OCC::PropagateRemoteDelete</name>
<message>
- <location filename="../src/libsync/propagateremotedelete.cpp" line="96"/>
+ <location filename="../src/libsync/propagateremotedelete.cpp" line="100"/>
<source>The file has been removed from a read only share. It was restored.</source>
<translation>ไฟล์ถูกลบออกจากการแชร์เพื่ออ่านเพียงอย่างเดียว ได้รับการกู้คืน</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotedelete.cpp" line="117"/>
+ <location filename="../src/libsync/propagateremotedelete.cpp" line="121"/>
<source>Wrong HTTP code returned by server. Expected 204, but received &quot;%1 %2&quot;.</source>
<translation>รหัส HTTP ผิดพลาด โดยเซิร์ฟเวอร์คาดว่าจะได้รับรหัส 204 แต่กลับได้รับ &quot;%1 %2&quot;</translation>
</message>
@@ -2241,12 +2241,12 @@ It is not advisable to use it.</source>
<context>
<name>OCC::PropagateRemoteMkdir</name>
<message>
- <location filename="../src/libsync/propagateremotemkdir.cpp" line="95"/>
+ <location filename="../src/libsync/propagateremotemkdir.cpp" line="99"/>
<source>Wrong HTTP code returned by server. Expected 201, but received &quot;%1 %2&quot;.</source>
<translation>รหัส HTTP ผิดพลาด โดยเซิร์ฟเวอร์คาดว่าจะได้รับรหัส 201 แต่กลับได้รับ &quot;%1 %2&quot;</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotemkdir.cpp" line="147"/>
+ <location filename="../src/libsync/propagateremotemkdir.cpp" line="151"/>
<source>Error writing metadata to the database</source>
<translation>ข้อผิดพลาดในการเขียนข้อมูลเมตาไปยังฐานข้อมูล</translation>
</message>
@@ -2264,18 +2264,18 @@ It is not advisable to use it.</source>
<translation>โฟลเดอร์นี้จะต้องไม่ถูกเปลี่ยนชื่อ กรุณาตั้งชื่อมันให้เหมือนตอนที่แชร์</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotemove.cpp" line="137"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="141"/>
<source>The file was renamed but is part of a read only share. The original file was restored.</source>
<translation>ไฟล์ที่ถูกเปลี่ยนชื่อ แต่เป็นส่วนหนึ่งของการแชร์เพื่ออ่านเพียงอย่างเดียว ไฟล์ต้นฉบับจะถูกกู้คืน</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotemove.cpp" line="154"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="158"/>
<source>Wrong HTTP code returned by server. Expected 201, but received &quot;%1 %2&quot;.</source>
<translation>รหัส HTTP ผิดพลาด โดยเซิร์ฟเวอร์คาดว่าจะได้รับรหัส 201 แต่กลับได้รับ &quot;%1 %2&quot;</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotemove.cpp" line="186"/>
- <location filename="../src/libsync/propagateremotemove.cpp" line="192"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="190"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="196"/>
<source>Error writing metadata to the database</source>
<translation>ข้อผิดพลาดในการเขียนข้อมูลเมตาไปยังฐานข้อมูล</translation>
</message>
@@ -2309,7 +2309,7 @@ It is not advisable to use it.</source>
<translation>การอัพโหลด %1 เกินโควต้าของโฟลเดอร์</translation>
</message>
<message>
- <location filename="../src/libsync/propagateupload.cpp" line="618"/>
+ <location filename="../src/libsync/propagateupload.cpp" line="622"/>
<source>Error writing metadata to the database</source>
<translation>ข้อผิดพลาดในการเขียนข้อมูลเมตาไปยังฐานข้อมูล</translation>
</message>
@@ -2383,42 +2383,42 @@ It is not advisable to use it.</source>
<translation>ป้ายข้อความ</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="48"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="61"/>
<source>Time</source>
<translation>เวลา</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="49"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="62"/>
<source>File</source>
<translation>ไฟล์</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="50"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="63"/>
<source>Folder</source>
<translation>แฟ้มเอกสาร</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="51"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="64"/>
<source>Action</source>
<translation>การกระทำ</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="52"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="65"/>
<source>Size</source>
<translation>ขนาด</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="72"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="85"/>
<source>Local sync protocol</source>
<translation>โปรโตคอลการประสานข้อมูลต้นทาง</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="74"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="87"/>
<source>Copy</source>
<translation>คัดลอก</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="75"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="88"/>
<source>Copy the activity list to the clipboard.</source>
<translation>คัดลอกรายชื่อกิจกรรมไปยังคลิปบอร์ด</translation>
</message>
@@ -2550,6 +2550,7 @@ It is not advisable to use it.</source>
</message>
<message>
<location filename="../src/gui/settingsdialogmac.cpp" line="152"/>
+ <location filename="../src/gui/settingsdialogmac.cpp" line="211"/>
<source>Account</source>
<translation>บัญชี</translation>
</message>
@@ -3205,22 +3206,22 @@ It is not advisable to use it.</source>
ไม่สามารถเปิดหรือสร้างฐานข้อมูลการประสานข้อมูลในเครื่อง ตรวจสอบว่าคุณมีสิทธิ์การเขียนในโฟลเดอร์ซิงค์</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1278"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1287"/>
<source>Not allowed because you don&apos;t have permission to add parent folder</source>
<translation>ไม่ได้รับอนุญาต เพราะคุณไม่มีสิทธิ์ที่จะเพิ่มโฟลเดอร์หลัก</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1285"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1294"/>
<source>Not allowed because you don&apos;t have permission to add files in that folder</source>
<translation>ไม่ได้รับอนุญาต เพราะคุณไม่มีสิทธิ์ที่จะเพิ่มไฟล์ในโฟลเดอร์นั้น</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1588"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1597"/>
<source>Disk space is low: Downloads that would reduce free space below %1 were skipped.</source>
<translation>พื้นที่จัดเก็บเหลือน้อย: การดาวน์โหลดจะช่วยลดพื้นที่ว่างด้านล่าง %1 ที่ถูกข้ามไป</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1595"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1604"/>
<source>There is insufficient space available on the server for some uploads.</source>
<translation>มีพื้นที่ว่างไม่เพียงพอบนเซิร์ฟเวอร์สำหรับการอัพโหลดบางรายการ</translation>
</message>
@@ -3345,54 +3346,54 @@ It is not advisable to use it.</source>
<translation>ไม่สามารถเปิดการผสานข้อมูลเจอร์นัล</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="968"/>
+ <location filename="../src/libsync/syncengine.cpp" line="977"/>
<source>File name contains at least one invalid character</source>
<translation>มีชื่อแฟ้มอย่างน้อยหนึ่งตัวอักษรที่ไม่ถูกต้อง</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1204"/>
- <location filename="../src/libsync/syncengine.cpp" line="1244"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1213"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1253"/>
<source>Ignored because of the &quot;choose what to sync&quot; blacklist</source>
<translation>ถูกละเว้นเพราะ &quot;ข้อมูลที่เลือกประสาน&quot; ติดบัญชีดำ</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1263"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1272"/>
<source>Not allowed because you don&apos;t have permission to add subfolders to that folder</source>
<translation>ไม่อนุญาติเพราะคุณไม่มีสิทธิ์ที่จะเพิ่มโฟลเดอร์ย่อยของโฟลเดอร์นั้น</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1310"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1319"/>
<source>Not allowed to upload this file because it is read-only on the server, restoring</source>
<translation>ไม่อนุญาตให้อัพโหลดไฟล์นี้เพราะมันจะอ่านได้เพียงอย่างเดียวบนเซิร์ฟเวอร์ กำลังฟื้นฟู</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1326"/>
- <location filename="../src/libsync/syncengine.cpp" line="1345"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1335"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1354"/>
<source>Not allowed to remove, restoring</source>
<translation>ไม่อนุญาตให้ลบเพราะกำลังฟื้นฟู</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1359"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1368"/>
<source>Local files and share folder removed.</source>
<translation>ไฟล์ต้นทางและโฟลเดอร์ที่แชร์ถูกลบออก</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1413"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1422"/>
<source>Move not allowed, item restored</source>
<translation>ไม่ได้รับอนุญาตให้ย้าย เพราะกำลังกู้คืนรายการ</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1424"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1433"/>
<source>Move not allowed because %1 is read-only</source>
<translation>ไม่อนุญาตให้ย้ายเพราะ %1 จะอ่านได้เพียงอย่างเดียว</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1424"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1433"/>
<source>the destination</source>
<translation>ปลายทาง</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1424"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1433"/>
<source>the source</source>
<translation>แหล่งที่มา</translation>
</message>
@@ -3434,17 +3435,17 @@ It is not advisable to use it.</source>
<context>
<name>OCC::ValidateChecksumHeader</name>
<message>
- <location filename="../src/common/checksums.cpp" line="205"/>
+ <location filename="../src/common/checksums.cpp" line="218"/>
<source>The checksum header is malformed.</source>
<translation>การตรวจสอบส่วนหัวผิดรูปแบบ</translation>
</message>
<message>
- <location filename="../src/common/checksums.cpp" line="220"/>
+ <location filename="../src/common/checksums.cpp" line="233"/>
<source>The checksum header contained an unknown checksum type &apos;%1&apos;</source>
<translation>จากการตรวจสอบส่วนหัวมีประเภทที่ไม่รู้จัก &apos;%1&apos;</translation>
</message>
<message>
- <location filename="../src/common/checksums.cpp" line="224"/>
+ <location filename="../src/common/checksums.cpp" line="237"/>
<source>The downloaded file does not match the checksum, it will be resumed.</source>
<translation>ไฟล์ที่ดาวน์โหลดมาไม่ตรงกับการตรวจสอบที่จะกลับมา</translation>
</message>
diff --git a/translations/client_tr.ts b/translations/client_tr.ts
index 50b0f11dc..49b9f5020 100644
--- a/translations/client_tr.ts
+++ b/translations/client_tr.ts
@@ -596,7 +596,7 @@
<context>
<name>OCC::CleanupPollsJob</name>
<message>
- <location filename="../src/libsync/owncloudpropagator.cpp" line="990"/>
+ <location filename="../src/libsync/owncloudpropagator.cpp" line="1001"/>
<source>Error writing metadata to the database</source>
<translation>Veritabanına üstveri yazma hatası</translation>
</message>
@@ -744,24 +744,24 @@
<translation>Sistem hariç tutulma dosyası okunamadı</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="883"/>
+ <location filename="../src/gui/folder.cpp" line="888"/>
<source>A new folder larger than %1 MB has been added: %2.
</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="886"/>
+ <location filename="../src/gui/folder.cpp" line="891"/>
<source>A folder from an external storage has been added.
</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="887"/>
+ <location filename="../src/gui/folder.cpp" line="892"/>
<source>Please go in the settings to select it if you wish to download it.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="922"/>
+ <location filename="../src/gui/folder.cpp" line="927"/>
<source>All files in the sync folder '%1' folder were deleted on the server.
These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore.
If you decide to keep the files, they will be re-synced with the server if you have rights to do so.
@@ -769,46 +769,46 @@ If you decide to delete the files, they will be unavailable to you, unless you a
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="927"/>
+ <location filename="../src/gui/folder.cpp" line="932"/>
<source>All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored.
Are you sure you want to sync those actions with the server?
If this was an accident and you decide to keep your files, they will be re-synced from the server.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="931"/>
+ <location filename="../src/gui/folder.cpp" line="936"/>
<source>Remove All Files?</source>
<translation>Tüm Dosyalar Kaldırılsın mı?</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="934"/>
+ <location filename="../src/gui/folder.cpp" line="939"/>
<source>Remove all files</source>
<translation>Tüm dosyaları kaldır</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="935"/>
+ <location filename="../src/gui/folder.cpp" line="940"/>
<source>Keep files</source>
<translation>Dosyaları koru</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="952"/>
+ <location filename="../src/gui/folder.cpp" line="957"/>
<source>This sync would reset the files to an earlier time in the sync folder '%1'.
This might be because a backup was restored on the server.
Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files?</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="957"/>
+ <location filename="../src/gui/folder.cpp" line="962"/>
<source>Backup detected</source>
<translation>Yedek bulundu</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="960"/>
+ <location filename="../src/gui/folder.cpp" line="965"/>
<source>Normal Synchronisation</source>
<translation>Normal Eşitleme</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="961"/>
+ <location filename="../src/gui/folder.cpp" line="966"/>
<source>Keep Local Files as Conflict</source>
<translation>Çakışma Durumunda Yerel Dosyaları Tut</translation>
</message>
@@ -1282,22 +1282,22 @@ Continuing the sync as normal will cause all your files to be overwritten by an
<context>
<name>OCC::HttpCredentialsGui</name>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="97"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="98"/>
<source>Please enter %1 password:&lt;br&gt;&lt;br&gt;User: %2&lt;br&gt;Account: %3&lt;br&gt;</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="111"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="112"/>
<source>Reading from keychain failed with error: &apos;%1&apos;</source>
<translation>Anahtar zinciri okuması hatayla sonuçlandı: &apos;%1&apos;</translation>
</message>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="117"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="118"/>
<source>Enter Password</source>
<translation>Parolayı Girin</translation>
</message>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="154"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="155"/>
<source>&lt;a href=&quot;%1&quot;&gt;Click here&lt;/a&gt; to request an app password from the web interface.</source>
<translation type="unfinished"/>
</message>
@@ -1419,12 +1419,12 @@ Bir dizinin silinmesine engel oluyorsa silmeye izin verilen yerlerdeki ögeler s
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/issueswidget.ui" line="145"/>
+ <location filename="../src/gui/issueswidget.ui" line="148"/>
<source>Copy the issues list to the clipboard.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/issueswidget.ui" line="148"/>
+ <location filename="../src/gui/issueswidget.ui" line="151"/>
<source>Copy</source>
<translation>Kopyala</translation>
</message>
@@ -1909,144 +1909,144 @@ Kullanmanız önerilmez.</translation>
<context>
<name>OCC::OwncloudSetupWizard</name>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="217"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="250"/>
<source>&lt;font color=&quot;green&quot;&gt;Successfully connected to %1: %2 version %3 (%4)&lt;/font&gt;&lt;br/&gt;&lt;br/&gt;</source>
<translation>&lt;font color=&quot;green&quot;&gt;%1 bağlantısı başarılı: %2 sürüm %3 (%4)&lt;/font&gt;&lt;br/&gt;&lt;br/&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="251"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="280"/>
<source>Failed to connect to %1 at %2:&lt;br/&gt;%3</source>
<translation>%2 üzerinde %1 adresine bağlanılamadı:&lt;br/&gt;%3</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="285"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="314"/>
<source>Timeout while trying to connect to %1 at %2.</source>
<translation>%2 üzerinde %1 bağlantısı yapılırken zaman aşımı.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="296"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="334"/>
<source>Trying to connect to %1 at %2...</source>
<translation>%2 üzerinde %1 bağlantısı deneniyor...</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="347"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="385"/>
<source>The authenticated request to the server was redirected to &apos;%1&apos;. The URL is bad, the server is misconfigured.</source>
<translation>Sunucuda giriş sırasında istek &apos;%1&apos; adresine yönlendirilmiş. Adres hatalı veya sunucu yanlış ayarlanmış.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="369"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="407"/>
<source>There was an invalid response to an authenticated webdav request</source>
<translation>Yetkilendirilmiş webdav isteği geçersiz bir cevap alındı</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="360"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="398"/>
<source>Access forbidden by server. To verify that you have proper access, &lt;a href=&quot;%1&quot;&gt;click here&lt;/a&gt; to access the service with your browser.</source>
<translation>Erişim sunucu tarafından yasaklandı. Geçerli erişime sahip olup olmadığınızı doğrulamak için hizmete web tarayıcınızla erişmek üzere &lt;a href=&quot;%1&quot;&gt;buraya tıklayın&lt;/a&gt;.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="249"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="278"/>
<source>Invalid URL</source>
<translation>Geçersiz URL</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="414"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="452"/>
<source>Local sync folder %1 already exists, setting it up for sync.&lt;br/&gt;&lt;br/&gt;</source>
<translation>Yerel eşitleme klasörü %1 zaten mevcut, eşitlemek için ayarlanıyor.&lt;br/&gt;&lt;br/&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="417"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="455"/>
<source>Creating local sync folder %1...</source>
<translation>Yerel eşitleme klasörü %1 oluşturuluyor...</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="421"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="459"/>
<source>ok</source>
<translation>tamam</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="423"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="461"/>
<source>failed.</source>
<translation>başarısız.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="425"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="463"/>
<source>Could not create local folder %1</source>
<translation>%1 yerel klasörü oluşturulamadı</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="451"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="489"/>
<source>No remote folder specified!</source>
<translation>Uzak klasör belirtilmemiş!</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="457"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="495"/>
<source>Error: %1</source>
<translation>Hata: %1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="470"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="508"/>
<source>creating folder on ownCloud: %1</source>
<translation>ownCloud üzerinde klasör oluşturuluyor: %1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="486"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="524"/>
<source>Remote folder %1 created successfully.</source>
<translation>%1 uzak klasörü başarıyla oluşturuldu.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="488"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="526"/>
<source>The remote folder %1 already exists. Connecting it for syncing.</source>
<translation>Uzak klasör %1 zaten mevcut. Eşitlemek için bağlanılıyor.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="490"/>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="492"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="528"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="530"/>
<source>The folder creation resulted in HTTP error code %1</source>
<translation>Klasör oluşturma %1 HTTP hata kodu ile sonuçlandı</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="494"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="532"/>
<source>The remote folder creation failed because the provided credentials are wrong!&lt;br/&gt;Please go back and check your credentials.&lt;/p&gt;</source>
<translation>Uzak klasör oluşturması, geçersiz kimlik bilgileri nedeniyle başarısız!&lt;br/&gt;Lütfen geri gidin ve bilgileri denetleyin.&lt;/p&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="498"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="536"/>
<source>&lt;p&gt;&lt;font color=&quot;red&quot;&gt;Remote folder creation failed probably because the provided credentials are wrong.&lt;/font&gt;&lt;br/&gt;Please go back and check your credentials.&lt;/p&gt;</source>
<translation>&lt;p&gt;&lt;font color=&quot;red&quot;&gt;Uzak klasör oluşturma muhtemelen hatalı kimlik bilgilerinden dolayı başarısız oldu.&lt;/font&gt;&lt;br/&gt;Lütfen geri gidip kimlik bilgilerini doğrulayın.&lt;/p&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="503"/>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="504"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="541"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="542"/>
<source>Remote folder %1 creation failed with error &lt;tt&gt;%2&lt;/tt&gt;.</source>
<translation>Uzak klasör %1 oluşturma işlemi &lt;tt&gt;%2&lt;/tt&gt; hatası ile başarısız oldu.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="521"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="559"/>
<source>A sync connection from %1 to remote directory %2 was set up.</source>
<translation>%1 kaynaklı %2 uzak dizinine bir eşitleme bağlantısı ayarlandı.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="526"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="564"/>
<source>Successfully connected to %1!</source>
<translation>%1 bağlantısı başarılı!</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="533"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="571"/>
<source>Connection to %1 could not be established. Please check again.</source>
<translation>%1 bağlantısı kurulamadı. Lütfen tekrar denetleyin.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="547"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="585"/>
<source>Folder rename failed</source>
<translation>Klasör adlandırma başarısız</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="548"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="586"/>
<source>Can&apos;t remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup.</source>
<translation>Klasör veya içerisindeki bir dosya farklı bir program içerisinde açık olduğundan, kaldırma ve yedekleme işlemi yapılamıyor. Lütfen klasör veya dosyayı kapatıp yeniden deneyin veya kurulumu iptal edin.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="593"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="631"/>
<source>&lt;font color=&quot;green&quot;&gt;&lt;b&gt;Local sync folder %1 successfully created!&lt;/b&gt;&lt;/font&gt;</source>
<translation>&lt;font color=&quot;green&quot;&gt;&lt;b&gt;Yerel eşitleme klasörü %1 başarıyla oluşturuldu!&lt;/b&gt;&lt;/font&gt;</translation>
</message>
@@ -2093,7 +2093,7 @@ Kullanmanız önerilmez.</translation>
<context>
<name>OCC::PropagateDirectory</name>
<message>
- <location filename="../src/libsync/owncloudpropagator.cpp" line="942"/>
+ <location filename="../src/libsync/owncloudpropagator.cpp" line="953"/>
<source>Error writing metadata to the database</source>
<translation>Veritabanına üstveri yazma hatası</translation>
</message>
@@ -2131,17 +2131,17 @@ Kullanmanız önerilmez.</translation>
<translation>Sunucu boyutunu %1 olarak duyurmasına rağmen indirilen dosya boş.</translation>
</message>
<message>
- <location filename="../src/libsync/propagatedownload.cpp" line="772"/>
+ <location filename="../src/libsync/propagatedownload.cpp" line="775"/>
<source>File %1 cannot be saved because of a local file name clash!</source>
<translation>Yerel bir dosya ismi ile çakıştığından, %1 dosyası kaydedilemedi!</translation>
</message>
<message>
- <location filename="../src/libsync/propagatedownload.cpp" line="820"/>
+ <location filename="../src/libsync/propagatedownload.cpp" line="823"/>
<source>File has changed since discovery</source>
<translation>Dosya, bulunduğundan itibaren değişmiş</translation>
</message>
<message>
- <location filename="../src/libsync/propagatedownload.cpp" line="871"/>
+ <location filename="../src/libsync/propagatedownload.cpp" line="874"/>
<source>Error writing metadata to the database</source>
<translation>Veritabanına üstveri yazma hatası</translation>
</message>
@@ -2217,12 +2217,12 @@ Kullanmanız önerilmez.</translation>
<context>
<name>OCC::PropagateRemoteDelete</name>
<message>
- <location filename="../src/libsync/propagateremotedelete.cpp" line="96"/>
+ <location filename="../src/libsync/propagateremotedelete.cpp" line="100"/>
<source>The file has been removed from a read only share. It was restored.</source>
<translation>Dosya salt okunur bir paylaşımdan kaldırılmıştı. Geri yüklendi.</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotedelete.cpp" line="117"/>
+ <location filename="../src/libsync/propagateremotedelete.cpp" line="121"/>
<source>Wrong HTTP code returned by server. Expected 204, but received &quot;%1 %2&quot;.</source>
<translation>Sunucudan yanlış HTTP kodu döndü. 204 bekleniyordu, ancak &quot;%1 %2&quot; geldi.</translation>
</message>
@@ -2230,12 +2230,12 @@ Kullanmanız önerilmez.</translation>
<context>
<name>OCC::PropagateRemoteMkdir</name>
<message>
- <location filename="../src/libsync/propagateremotemkdir.cpp" line="95"/>
+ <location filename="../src/libsync/propagateremotemkdir.cpp" line="99"/>
<source>Wrong HTTP code returned by server. Expected 201, but received &quot;%1 %2&quot;.</source>
<translation>Sunucudan yanlış HTTP kodu döndü. 201 bekleniyordu, ancak &quot;%1 %2&quot; geldi.</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotemkdir.cpp" line="147"/>
+ <location filename="../src/libsync/propagateremotemkdir.cpp" line="151"/>
<source>Error writing metadata to the database</source>
<translation>Veritabanına üstveri yazma hatası</translation>
</message>
@@ -2253,18 +2253,18 @@ Kullanmanız önerilmez.</translation>
<translation>Bu klasörün adı değiştirilmemelidir. Lütfen Shared olarak geri adlandırın.</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotemove.cpp" line="137"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="141"/>
<source>The file was renamed but is part of a read only share. The original file was restored.</source>
<translation>Dosya adlandırıldı ancak salt okunur paylaşımın bir parçası. Özgün dosya geri yüklendi.</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotemove.cpp" line="154"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="158"/>
<source>Wrong HTTP code returned by server. Expected 201, but received &quot;%1 %2&quot;.</source>
<translation>Sunucudan yanlış HTTP kodu döndü. 201 bekleniyordu, ancak &quot;%1 %2&quot; geldi.</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotemove.cpp" line="186"/>
- <location filename="../src/libsync/propagateremotemove.cpp" line="192"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="190"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="196"/>
<source>Error writing metadata to the database</source>
<translation>Veritabanına üstveri yazma hatası</translation>
</message>
@@ -2298,7 +2298,7 @@ Kullanmanız önerilmez.</translation>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/propagateupload.cpp" line="618"/>
+ <location filename="../src/libsync/propagateupload.cpp" line="622"/>
<source>Error writing metadata to the database</source>
<translation>Veritabanına üstveri yazma hatası</translation>
</message>
@@ -2372,42 +2372,42 @@ Kullanmanız önerilmez.</translation>
<translation>MetinEtiketi</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="48"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="61"/>
<source>Time</source>
<translation>Zaman</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="49"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="62"/>
<source>File</source>
<translation>Dosya</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="50"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="63"/>
<source>Folder</source>
<translation>Klasör</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="51"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="64"/>
<source>Action</source>
<translation>Eylem</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="52"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="65"/>
<source>Size</source>
<translation>Boyut</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="72"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="85"/>
<source>Local sync protocol</source>
<translation>Yerel eşitleme protokolü</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="74"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="87"/>
<source>Copy</source>
<translation>Kopyala</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="75"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="88"/>
<source>Copy the activity list to the clipboard.</source>
<translation>Etkinlik listesini panoya kopyala.</translation>
</message>
@@ -2539,6 +2539,7 @@ Kullanmanız önerilmez.</translation>
</message>
<message>
<location filename="../src/gui/settingsdialogmac.cpp" line="152"/>
+ <location filename="../src/gui/settingsdialogmac.cpp" line="211"/>
<source>Account</source>
<translation>Hesap</translation>
</message>
@@ -3195,22 +3196,22 @@ Kullanmanız önerilmez.</translation>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1278"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1287"/>
<source>Not allowed because you don&apos;t have permission to add parent folder</source>
<translation>Üst dizin ekleme yetkiniz olmadığından izin verilmedi</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1285"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1294"/>
<source>Not allowed because you don&apos;t have permission to add files in that folder</source>
<translation>Bu klasöre dosya ekleme yetkiniz olmadığından izin verilmedi</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1588"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1597"/>
<source>Disk space is low: Downloads that would reduce free space below %1 were skipped.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1595"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1604"/>
<source>There is insufficient space available on the server for some uploads.</source>
<translation type="unfinished"/>
</message>
@@ -3335,54 +3336,54 @@ Kullanmanız önerilmez.</translation>
<translation>Eşitleme günlüğü açılamıyor</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="968"/>
+ <location filename="../src/libsync/syncengine.cpp" line="977"/>
<source>File name contains at least one invalid character</source>
<translation>Dosya adı en az bir geçersiz karakter içeriyor</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1204"/>
- <location filename="../src/libsync/syncengine.cpp" line="1244"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1213"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1253"/>
<source>Ignored because of the &quot;choose what to sync&quot; blacklist</source>
<translation>&quot;Eşitlenecekleri seçin&quot; kara listesinde olduğundan yoksayıldı.</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1263"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1272"/>
<source>Not allowed because you don&apos;t have permission to add subfolders to that folder</source>
<translation>Bu dizine alt dizin ekleme yetkiniz olmadığından izin verilmedi</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1310"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1319"/>
<source>Not allowed to upload this file because it is read-only on the server, restoring</source>
<translation>Sunucuda salt okunur olduğundan, bu dosya yüklenemedi, geri alınıyor</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1326"/>
- <location filename="../src/libsync/syncengine.cpp" line="1345"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1335"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1354"/>
<source>Not allowed to remove, restoring</source>
<translation>Kaldırmaya izin verilmedi, geri alınıyor</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1359"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1368"/>
<source>Local files and share folder removed.</source>
<translation>Yerel dosyalar ve paylaşım klasörü kaldırıldı.</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1413"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1422"/>
<source>Move not allowed, item restored</source>
<translation>Taşımaya izin verilmedi, öge geri alındı</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1424"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1433"/>
<source>Move not allowed because %1 is read-only</source>
<translation>%1 salt okunur olduğundan taşımaya izin verilmedi</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1424"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1433"/>
<source>the destination</source>
<translation>hedef</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1424"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1433"/>
<source>the source</source>
<translation>kaynak</translation>
</message>
@@ -3424,17 +3425,17 @@ Kullanmanız önerilmez.</translation>
<context>
<name>OCC::ValidateChecksumHeader</name>
<message>
- <location filename="../src/common/checksums.cpp" line="205"/>
+ <location filename="../src/common/checksums.cpp" line="218"/>
<source>The checksum header is malformed.</source>
<translation>Sağlama toplam başlığı bozulmuş.</translation>
</message>
<message>
- <location filename="../src/common/checksums.cpp" line="220"/>
+ <location filename="../src/common/checksums.cpp" line="233"/>
<source>The checksum header contained an unknown checksum type &apos;%1&apos;</source>
<translation>Sağlama başlığı bilinmeyen &apos;%1&apos; sağlama tipi içeriyor</translation>
</message>
<message>
- <location filename="../src/common/checksums.cpp" line="224"/>
+ <location filename="../src/common/checksums.cpp" line="237"/>
<source>The downloaded file does not match the checksum, it will be resumed.</source>
<translation>İndirilen dosya sağlama toplamı ile eşleşmiyor, devam edilecek.</translation>
</message>
diff --git a/translations/client_uk.ts b/translations/client_uk.ts
index fdcaa653c..776eab971 100644
--- a/translations/client_uk.ts
+++ b/translations/client_uk.ts
@@ -596,7 +596,7 @@
<context>
<name>OCC::CleanupPollsJob</name>
<message>
- <location filename="../src/libsync/owncloudpropagator.cpp" line="990"/>
+ <location filename="../src/libsync/owncloudpropagator.cpp" line="1001"/>
<source>Error writing metadata to the database</source>
<translation type="unfinished"/>
</message>
@@ -744,24 +744,24 @@
<translation>Неможливо прочитати виключений системний файл</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="883"/>
+ <location filename="../src/gui/folder.cpp" line="888"/>
<source>A new folder larger than %1 MB has been added: %2.
</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="886"/>
+ <location filename="../src/gui/folder.cpp" line="891"/>
<source>A folder from an external storage has been added.
</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="887"/>
+ <location filename="../src/gui/folder.cpp" line="892"/>
<source>Please go in the settings to select it if you wish to download it.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="922"/>
+ <location filename="../src/gui/folder.cpp" line="927"/>
<source>All files in the sync folder '%1' folder were deleted on the server.
These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore.
If you decide to keep the files, they will be re-synced with the server if you have rights to do so.
@@ -769,46 +769,46 @@ If you decide to delete the files, they will be unavailable to you, unless you a
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="927"/>
+ <location filename="../src/gui/folder.cpp" line="932"/>
<source>All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored.
Are you sure you want to sync those actions with the server?
If this was an accident and you decide to keep your files, they will be re-synced from the server.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="931"/>
+ <location filename="../src/gui/folder.cpp" line="936"/>
<source>Remove All Files?</source>
<translation>Видалити усі файли?</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="934"/>
+ <location filename="../src/gui/folder.cpp" line="939"/>
<source>Remove all files</source>
<translation>Видалити усі файли</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="935"/>
+ <location filename="../src/gui/folder.cpp" line="940"/>
<source>Keep files</source>
<translation>Зберегти файли</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="952"/>
+ <location filename="../src/gui/folder.cpp" line="957"/>
<source>This sync would reset the files to an earlier time in the sync folder '%1'.
This might be because a backup was restored on the server.
Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files?</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="957"/>
+ <location filename="../src/gui/folder.cpp" line="962"/>
<source>Backup detected</source>
<translation>Резервну копію знайдено</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="960"/>
+ <location filename="../src/gui/folder.cpp" line="965"/>
<source>Normal Synchronisation</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="961"/>
+ <location filename="../src/gui/folder.cpp" line="966"/>
<source>Keep Local Files as Conflict</source>
<translation type="unfinished"/>
</message>
@@ -1282,22 +1282,22 @@ Continuing the sync as normal will cause all your files to be overwritten by an
<context>
<name>OCC::HttpCredentialsGui</name>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="97"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="98"/>
<source>Please enter %1 password:&lt;br&gt;&lt;br&gt;User: %2&lt;br&gt;Account: %3&lt;br&gt;</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="111"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="112"/>
<source>Reading from keychain failed with error: &apos;%1&apos;</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="117"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="118"/>
<source>Enter Password</source>
<translation>Введіть Пароль</translation>
</message>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="154"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="155"/>
<source>&lt;a href=&quot;%1&quot;&gt;Click here&lt;/a&gt; to request an app password from the web interface.</source>
<translation type="unfinished"/>
</message>
@@ -1417,12 +1417,12 @@ Items where deletion is allowed will be deleted if they prevent a directory from
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/issueswidget.ui" line="145"/>
+ <location filename="../src/gui/issueswidget.ui" line="148"/>
<source>Copy the issues list to the clipboard.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/issueswidget.ui" line="148"/>
+ <location filename="../src/gui/issueswidget.ui" line="151"/>
<source>Copy</source>
<translation>Копіювати</translation>
</message>
@@ -1907,144 +1907,144 @@ It is not advisable to use it.</source>
<context>
<name>OCC::OwncloudSetupWizard</name>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="217"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="250"/>
<source>&lt;font color=&quot;green&quot;&gt;Successfully connected to %1: %2 version %3 (%4)&lt;/font&gt;&lt;br/&gt;&lt;br/&gt;</source>
<translation>&lt;font color=&quot;green&quot;&gt;Успішно підключено до %1: %2 версія %3 (%4)&lt;/font&gt;&lt;br/&gt;&lt;br/&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="251"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="280"/>
<source>Failed to connect to %1 at %2:&lt;br/&gt;%3</source>
<translation>Не вдалося з&apos;єднатися з %1 в %2:&lt;br/&gt;%3</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="285"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="314"/>
<source>Timeout while trying to connect to %1 at %2.</source>
<translation>Перевищено час очікування з&apos;єднання до %1 на %2.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="296"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="334"/>
<source>Trying to connect to %1 at %2...</source>
<translation>Спроба підключення до %1 на %2...</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="347"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="385"/>
<source>The authenticated request to the server was redirected to &apos;%1&apos;. The URL is bad, the server is misconfigured.</source>
<translation>Запит аутентифікації до серверу було переадресовано до &apos;%1&apos;. Поганий URL, сервер сконфігуровано неправильно.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="369"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="407"/>
<source>There was an invalid response to an authenticated webdav request</source>
<translation>Неправильна відповідь на автентифікований запит webdav</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="360"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="398"/>
<source>Access forbidden by server. To verify that you have proper access, &lt;a href=&quot;%1&quot;&gt;click here&lt;/a&gt; to access the service with your browser.</source>
<translation>Доступ заборонений сервером. Щоб довести, що у Вас є права доступу, &lt;a href=&quot;%1&quot;&gt;клікніть тут&lt;/a&gt; для входу через Ваш браузер.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="249"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="278"/>
<source>Invalid URL</source>
<translation>Невірний URL</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="414"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="452"/>
<source>Local sync folder %1 already exists, setting it up for sync.&lt;br/&gt;&lt;br/&gt;</source>
<translation>Локальна тека синхронізації %1 вже існує, налаштування її для синхронізації.&lt;br/&gt;&lt;br/&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="417"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="455"/>
<source>Creating local sync folder %1...</source>
<translation>Створення локальної теки для синхронізації %1...</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="421"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="459"/>
<source>ok</source>
<translation>ok</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="423"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="461"/>
<source>failed.</source>
<translation>не вдалося.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="425"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="463"/>
<source>Could not create local folder %1</source>
<translation>Не вдалося створити локальну теку $1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="451"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="489"/>
<source>No remote folder specified!</source>
<translation>Не вказано віддалену теку!</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="457"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="495"/>
<source>Error: %1</source>
<translation>Помилка: %1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="470"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="508"/>
<source>creating folder on ownCloud: %1</source>
<translation>створення теки на ownCloud: %1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="486"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="524"/>
<source>Remote folder %1 created successfully.</source>
<translation>Віддалена тека %1 успішно створена.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="488"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="526"/>
<source>The remote folder %1 already exists. Connecting it for syncing.</source>
<translation>Віддалена тека %1 вже існує. Під&apos;єднання для синхронізації.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="490"/>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="492"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="528"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="530"/>
<source>The folder creation resulted in HTTP error code %1</source>
<translation>Створення теки завершилось HTTP помилкою %1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="494"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="532"/>
<source>The remote folder creation failed because the provided credentials are wrong!&lt;br/&gt;Please go back and check your credentials.&lt;/p&gt;</source>
<translation>Створити віддалену теку не вдалося через невірно вказані облікові дані.&lt;br/&gt;Поверніться назад та перевірте облікові дані.&lt;/p&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="498"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="536"/>
<source>&lt;p&gt;&lt;font color=&quot;red&quot;&gt;Remote folder creation failed probably because the provided credentials are wrong.&lt;/font&gt;&lt;br/&gt;Please go back and check your credentials.&lt;/p&gt;</source>
<translation>&lt;p&gt;&lt;font color=&quot;red&quot;&gt;Створити віддалену теку не вдалося, можливо, через невірно вказані облікові дані.&lt;/font&gt;&lt;br/&gt;Будь ласка, поверніться назад та перевірте облікові дані.&lt;/p&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="503"/>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="504"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="541"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="542"/>
<source>Remote folder %1 creation failed with error &lt;tt&gt;%2&lt;/tt&gt;.</source>
<translation>Не вдалося створити віддалену теку %1 через помилку &lt;tt&gt;%2&lt;/tt&gt;.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="521"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="559"/>
<source>A sync connection from %1 to remote directory %2 was set up.</source>
<translation>З&apos;єднання для синхронізації %1 з віддаленою текою %2 було встановлено.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="526"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="564"/>
<source>Successfully connected to %1!</source>
<translation>Успішно під&apos;єднано до %1!</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="533"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="571"/>
<source>Connection to %1 could not be established. Please check again.</source>
<translation>Підключення до %1 встановити не вдалося. Будь ласка, перевірте ще раз.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="547"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="585"/>
<source>Folder rename failed</source>
<translation>Не вдалося перейменувати теку</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="548"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="586"/>
<source>Can&apos;t remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup.</source>
<translation>Неможливо видалити теку та створити її резервну копію, оскільки тека або файли, що в ній розташовані, використовуються. Будь ласка, закрийте всі програми, що можуть використовувати цю теку та спробуйте ще раз, або скасуйте встановлення.</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="593"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="631"/>
<source>&lt;font color=&quot;green&quot;&gt;&lt;b&gt;Local sync folder %1 successfully created!&lt;/b&gt;&lt;/font&gt;</source>
<translation>&lt;font color=&quot;green&quot;&gt;&lt;b&gt;Локальна тека синхронізації %1 успішно створена!&lt;/b&gt;&lt;/font&gt;</translation>
</message>
@@ -2091,7 +2091,7 @@ It is not advisable to use it.</source>
<context>
<name>OCC::PropagateDirectory</name>
<message>
- <location filename="../src/libsync/owncloudpropagator.cpp" line="942"/>
+ <location filename="../src/libsync/owncloudpropagator.cpp" line="953"/>
<source>Error writing metadata to the database</source>
<translation type="unfinished"/>
</message>
@@ -2129,17 +2129,17 @@ It is not advisable to use it.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/propagatedownload.cpp" line="772"/>
+ <location filename="../src/libsync/propagatedownload.cpp" line="775"/>
<source>File %1 cannot be saved because of a local file name clash!</source>
<translation>Файл %1 не збережено через локальний конфлікт назви файлу! </translation>
</message>
<message>
- <location filename="../src/libsync/propagatedownload.cpp" line="820"/>
+ <location filename="../src/libsync/propagatedownload.cpp" line="823"/>
<source>File has changed since discovery</source>
<translation>Файл змінився з моменту знаходження</translation>
</message>
<message>
- <location filename="../src/libsync/propagatedownload.cpp" line="871"/>
+ <location filename="../src/libsync/propagatedownload.cpp" line="874"/>
<source>Error writing metadata to the database</source>
<translation type="unfinished"/>
</message>
@@ -2215,12 +2215,12 @@ It is not advisable to use it.</source>
<context>
<name>OCC::PropagateRemoteDelete</name>
<message>
- <location filename="../src/libsync/propagateremotedelete.cpp" line="96"/>
+ <location filename="../src/libsync/propagateremotedelete.cpp" line="100"/>
<source>The file has been removed from a read only share. It was restored.</source>
<translation>Файл видалено з опублікованої теки з правами тільки на перегляд. Файл відновлено.</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotedelete.cpp" line="117"/>
+ <location filename="../src/libsync/propagateremotedelete.cpp" line="121"/>
<source>Wrong HTTP code returned by server. Expected 204, but received &quot;%1 %2&quot;.</source>
<translation>Сервер відповів неправильним HTTP кодом. Очікувався 204, але отримано &quot;%1 %2&quot;.</translation>
</message>
@@ -2228,12 +2228,12 @@ It is not advisable to use it.</source>
<context>
<name>OCC::PropagateRemoteMkdir</name>
<message>
- <location filename="../src/libsync/propagateremotemkdir.cpp" line="95"/>
+ <location filename="../src/libsync/propagateremotemkdir.cpp" line="99"/>
<source>Wrong HTTP code returned by server. Expected 201, but received &quot;%1 %2&quot;.</source>
<translation>Сервер відповів неправильним HTTP кодом. Очікувався 201, але отримано &quot;%1 %2&quot;.</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotemkdir.cpp" line="147"/>
+ <location filename="../src/libsync/propagateremotemkdir.cpp" line="151"/>
<source>Error writing metadata to the database</source>
<translation type="unfinished"/>
</message>
@@ -2251,18 +2251,18 @@ It is not advisable to use it.</source>
<translation>Цю теку не можна перейменувати. Будь ласка, поверніть їй ім&apos;я Shared.</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotemove.cpp" line="137"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="141"/>
<source>The file was renamed but is part of a read only share. The original file was restored.</source>
<translation>Файл було перейменовано, але він розташований в теці з правами лише на перегляд. Відновлено оригінальний файл. </translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotemove.cpp" line="154"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="158"/>
<source>Wrong HTTP code returned by server. Expected 201, but received &quot;%1 %2&quot;.</source>
<translation>Сервер відповів неправильним HTTP кодом. Очікувався 201, але отримано &quot;%1 %2&quot;.</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotemove.cpp" line="186"/>
- <location filename="../src/libsync/propagateremotemove.cpp" line="192"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="190"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="196"/>
<source>Error writing metadata to the database</source>
<translation type="unfinished"/>
</message>
@@ -2296,7 +2296,7 @@ It is not advisable to use it.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/propagateupload.cpp" line="618"/>
+ <location filename="../src/libsync/propagateupload.cpp" line="622"/>
<source>Error writing metadata to the database</source>
<translation type="unfinished"/>
</message>
@@ -2370,42 +2370,42 @@ It is not advisable to use it.</source>
<translation>Мітка</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="48"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="61"/>
<source>Time</source>
<translation>Час</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="49"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="62"/>
<source>File</source>
<translation>Файл</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="50"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="63"/>
<source>Folder</source>
<translation>Тека</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="51"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="64"/>
<source>Action</source>
<translation>Дія</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="52"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="65"/>
<source>Size</source>
<translation>Розмір</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="72"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="85"/>
<source>Local sync protocol</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="74"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="87"/>
<source>Copy</source>
<translation>Копіювати</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="75"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="88"/>
<source>Copy the activity list to the clipboard.</source>
<translation>Скопіювати протокол синхронізації до буферу обміну.</translation>
</message>
@@ -2537,6 +2537,7 @@ It is not advisable to use it.</source>
</message>
<message>
<location filename="../src/gui/settingsdialogmac.cpp" line="152"/>
+ <location filename="../src/gui/settingsdialogmac.cpp" line="211"/>
<source>Account</source>
<translation>Обліковий запис</translation>
</message>
@@ -3193,22 +3194,22 @@ It is not advisable to use it.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1278"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1287"/>
<source>Not allowed because you don&apos;t have permission to add parent folder</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1285"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1294"/>
<source>Not allowed because you don&apos;t have permission to add files in that folder</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1588"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1597"/>
<source>Disk space is low: Downloads that would reduce free space below %1 were skipped.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1595"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1604"/>
<source>There is insufficient space available on the server for some uploads.</source>
<translation type="unfinished"/>
</message>
@@ -3333,54 +3334,54 @@ It is not advisable to use it.</source>
<translation>Не вдається відкрити протокол синхронізації</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="968"/>
+ <location filename="../src/libsync/syncengine.cpp" line="977"/>
<source>File name contains at least one invalid character</source>
<translation>Ім’я файлу містить принаймні один некоректний символ</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1204"/>
- <location filename="../src/libsync/syncengine.cpp" line="1244"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1213"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1253"/>
<source>Ignored because of the &quot;choose what to sync&quot; blacklist</source>
<translation>Ігнорується через чорний список в &quot;обрати що синхронізувати&quot;</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1263"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1272"/>
<source>Not allowed because you don&apos;t have permission to add subfolders to that folder</source>
<translation>Заборонено через відсутність прав додавання підкаталогів в цю теку.</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1310"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1319"/>
<source>Not allowed to upload this file because it is read-only on the server, restoring</source>
<translation>Не дозволено завантажувати цей файл, оскільки він має дозвіл лише на перегляд, відновлюємо</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1326"/>
- <location filename="../src/libsync/syncengine.cpp" line="1345"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1335"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1354"/>
<source>Not allowed to remove, restoring</source>
<translation>Не дозволено видаляти, відновлюємо</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1359"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1368"/>
<source>Local files and share folder removed.</source>
<translation>Локальні файли та теки в загальному доступі було видалено.</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1413"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1422"/>
<source>Move not allowed, item restored</source>
<translation>Переміщення не дозволено, елемент відновлено </translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1424"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1433"/>
<source>Move not allowed because %1 is read-only</source>
<translation>Переміщення не дозволено, оскільки %1 помічений тільки для перегляду</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1424"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1433"/>
<source>the destination</source>
<translation>призначення</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1424"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1433"/>
<source>the source</source>
<translation>джерело</translation>
</message>
@@ -3422,17 +3423,17 @@ It is not advisable to use it.</source>
<context>
<name>OCC::ValidateChecksumHeader</name>
<message>
- <location filename="../src/common/checksums.cpp" line="205"/>
+ <location filename="../src/common/checksums.cpp" line="218"/>
<source>The checksum header is malformed.</source>
<translation>Заголовок контрольної суми пошкоджено.</translation>
</message>
<message>
- <location filename="../src/common/checksums.cpp" line="220"/>
+ <location filename="../src/common/checksums.cpp" line="233"/>
<source>The checksum header contained an unknown checksum type &apos;%1&apos;</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/common/checksums.cpp" line="224"/>
+ <location filename="../src/common/checksums.cpp" line="237"/>
<source>The downloaded file does not match the checksum, it will be resumed.</source>
<translation>Завантажений файл не відповідає контрольній сумі, його буде відновлено.</translation>
</message>
diff --git a/translations/client_zh_CN.ts b/translations/client_zh_CN.ts
index 6ccee25e8..b8d9530f8 100644
--- a/translations/client_zh_CN.ts
+++ b/translations/client_zh_CN.ts
@@ -596,7 +596,7 @@
<context>
<name>OCC::CleanupPollsJob</name>
<message>
- <location filename="../src/libsync/owncloudpropagator.cpp" line="990"/>
+ <location filename="../src/libsync/owncloudpropagator.cpp" line="1001"/>
<source>Error writing metadata to the database</source>
<translation>向数据库写入元数据错误</translation>
</message>
@@ -744,26 +744,26 @@
<translation>无法读取系统排除的文件</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="883"/>
+ <location filename="../src/gui/folder.cpp" line="888"/>
<source>A new folder larger than %1 MB has been added: %2.
</source>
<translation>一个大于 %1 MB 的新文件夹 %2 已被添加。
</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="886"/>
+ <location filename="../src/gui/folder.cpp" line="891"/>
<source>A folder from an external storage has been added.
</source>
<translation>一个来自外部存储的文件夹已被添加。
</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="887"/>
+ <location filename="../src/gui/folder.cpp" line="892"/>
<source>Please go in the settings to select it if you wish to download it.</source>
<translation>如果您想下载,请到设置页面选择它。</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="922"/>
+ <location filename="../src/gui/folder.cpp" line="927"/>
<source>All files in the sync folder '%1' folder were deleted on the server.
These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore.
If you decide to keep the files, they will be re-synced with the server if you have rights to do so.
@@ -774,7 +774,7 @@ If you decide to delete the files, they will be unavailable to you, unless you a
如果您决定删除这些文件,它们将不再可用,除非您是其所有者。</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="927"/>
+ <location filename="../src/gui/folder.cpp" line="932"/>
<source>All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored.
Are you sure you want to sync those actions with the server?
If this was an accident and you decide to keep your files, they will be re-synced from the server.</source>
@@ -783,22 +783,22 @@ If this was an accident and you decide to keep your files, they will be re-synce
如果这是一个意外而您想要保留这些文件,他们会被重新从服务器同步过来。</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="931"/>
+ <location filename="../src/gui/folder.cpp" line="936"/>
<source>Remove All Files?</source>
<translation>删除所有文件?</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="934"/>
+ <location filename="../src/gui/folder.cpp" line="939"/>
<source>Remove all files</source>
<translation>删除所有文件</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="935"/>
+ <location filename="../src/gui/folder.cpp" line="940"/>
<source>Keep files</source>
<translation>保持所有文件</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="952"/>
+ <location filename="../src/gui/folder.cpp" line="957"/>
<source>This sync would reset the files to an earlier time in the sync folder '%1'.
This might be because a backup was restored on the server.
Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files?</source>
@@ -807,17 +807,17 @@ Continuing the sync as normal will cause all your files to be overwritten by an
继续正常同步将导致您全部文件被更早状态的旧文件覆盖。您想要保留冲突文件的本地最新版本吗?</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="957"/>
+ <location filename="../src/gui/folder.cpp" line="962"/>
<source>Backup detected</source>
<translation>备份已删除</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="960"/>
+ <location filename="../src/gui/folder.cpp" line="965"/>
<source>Normal Synchronisation</source>
<translation>正常同步</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="961"/>
+ <location filename="../src/gui/folder.cpp" line="966"/>
<source>Keep Local Files as Conflict</source>
<translation>保留本地文件为冲突文件</translation>
</message>
@@ -1291,22 +1291,22 @@ Continuing the sync as normal will cause all your files to be overwritten by an
<context>
<name>OCC::HttpCredentialsGui</name>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="97"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="98"/>
<source>Please enter %1 password:&lt;br&gt;&lt;br&gt;User: %2&lt;br&gt;Account: %3&lt;br&gt;</source>
<translation>请输入 %1 密码:&lt;br&gt;&lt;br&gt;用户:%2&lt;br&gt;账户:%3&lt;br&gt;</translation>
</message>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="111"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="112"/>
<source>Reading from keychain failed with error: &apos;%1&apos;</source>
<translation>获取密钥链失败,错误: &apos;%1&apos;</translation>
</message>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="117"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="118"/>
<source>Enter Password</source>
<translation>输入密码</translation>
</message>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="154"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="155"/>
<source>&lt;a href=&quot;%1&quot;&gt;Click here&lt;/a&gt; to request an app password from the web interface.</source>
<translation>&lt;a href=&quot;%1&quot;&gt;点击这里&lt;/a&gt;从 web 界面请求一个 app 密码。</translation>
</message>
@@ -1428,12 +1428,12 @@ Items where deletion is allowed will be deleted if they prevent a directory from
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/issueswidget.ui" line="145"/>
+ <location filename="../src/gui/issueswidget.ui" line="148"/>
<source>Copy the issues list to the clipboard.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/issueswidget.ui" line="148"/>
+ <location filename="../src/gui/issueswidget.ui" line="151"/>
<source>Copy</source>
<translation>复制</translation>
</message>
@@ -1918,144 +1918,144 @@ It is not advisable to use it.</source>
<context>
<name>OCC::OwncloudSetupWizard</name>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="217"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="250"/>
<source>&lt;font color=&quot;green&quot;&gt;Successfully connected to %1: %2 version %3 (%4)&lt;/font&gt;&lt;br/&gt;&lt;br/&gt;</source>
<translation>&lt;font color=&quot;green&quot;&gt;成功连接到 %1:%2 版本 %3 (%4)&lt;/font&gt;&lt;br/&gt;&lt;br/&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="251"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="280"/>
<source>Failed to connect to %1 at %2:&lt;br/&gt;%3</source>
<translation>连接到 %1 (%2)失败:&lt;br /&gt;%3</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="285"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="314"/>
<source>Timeout while trying to connect to %1 at %2.</source>
<translation>连接到 %1 (%2) 时超时。</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="296"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="334"/>
<source>Trying to connect to %1 at %2...</source>
<translation>尝试连接位于 %2 的 %1...</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="347"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="385"/>
<source>The authenticated request to the server was redirected to &apos;%1&apos;. The URL is bad, the server is misconfigured.</source>
<translation>被发送到服务器的认证请求被重定向到&apos;%1&apos;。此URL无效,服务器配置错误。</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="369"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="407"/>
<source>There was an invalid response to an authenticated webdav request</source>
<translation>对于一个验证的 webdav 请求,有一个无效的响应</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="360"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="398"/>
<source>Access forbidden by server. To verify that you have proper access, &lt;a href=&quot;%1&quot;&gt;click here&lt;/a&gt; to access the service with your browser.</source>
<translation>服务器拒绝了访问。&lt;a href=&quot;%1&quot;&gt;点击这里打开浏览器&lt;/a&gt; 来确认您是否有权访问。</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="249"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="278"/>
<source>Invalid URL</source>
<translation>无效URL</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="414"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="452"/>
<source>Local sync folder %1 already exists, setting it up for sync.&lt;br/&gt;&lt;br/&gt;</source>
<translation>本地同步文件夹 %1 已存在,将使用它来同步。&lt;br/&gt;&lt;br/&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="417"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="455"/>
<source>Creating local sync folder %1...</source>
<translation>创建本地同步目录%1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="421"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="459"/>
<source>ok</source>
<translation>成功</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="423"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="461"/>
<source>failed.</source>
<translation>失败</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="425"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="463"/>
<source>Could not create local folder %1</source>
<translation>不能创建本地文件夹 %1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="451"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="489"/>
<source>No remote folder specified!</source>
<translation>未指定远程文件夹!</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="457"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="495"/>
<source>Error: %1</source>
<translation>错误:%1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="470"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="508"/>
<source>creating folder on ownCloud: %1</source>
<translation>在 ownCloud 创建文件夹:%1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="486"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="524"/>
<source>Remote folder %1 created successfully.</source>
<translation>远程目录%1成功创建。</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="488"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="526"/>
<source>The remote folder %1 already exists. Connecting it for syncing.</source>
<translation>远程文件夹 %1 已存在。连接它以供同步。</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="490"/>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="492"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="528"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="530"/>
<source>The folder creation resulted in HTTP error code %1</source>
<translation>创建文件夹出现 HTTP 错误代码 %1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="494"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="532"/>
<source>The remote folder creation failed because the provided credentials are wrong!&lt;br/&gt;Please go back and check your credentials.&lt;/p&gt;</source>
<translation>远程文件夹创建失败,因为提供的凭证有误!&lt;br/&gt;请返回并检查您的凭证。&lt;/p&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="498"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="536"/>
<source>&lt;p&gt;&lt;font color=&quot;red&quot;&gt;Remote folder creation failed probably because the provided credentials are wrong.&lt;/font&gt;&lt;br/&gt;Please go back and check your credentials.&lt;/p&gt;</source>
<translation>&lt;p&gt;&lt;font color=&quot;red&quot;&gt;远程文件夹创建失败,可能是由于提供的用户名密码不正确。&lt;/font&gt;&lt;br/&gt;请返回并检查它们。&lt;/p&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="503"/>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="504"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="541"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="542"/>
<source>Remote folder %1 creation failed with error &lt;tt&gt;%2&lt;/tt&gt;.</source>
<translation>创建远程文件夹 %1 失败,错误为 &lt;tt&gt;%2&lt;/tt&gt;。</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="521"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="559"/>
<source>A sync connection from %1 to remote directory %2 was set up.</source>
<translation>已经设置了一个 %1 到远程文件夹 %2 的同步连接</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="526"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="564"/>
<source>Successfully connected to %1!</source>
<translation>成功连接到了 %1!</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="533"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="571"/>
<source>Connection to %1 could not be established. Please check again.</source>
<translation>无法建立到 %1的链接,请稍后重试(这里“稍后”用对了,赞!)。</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="547"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="585"/>
<source>Folder rename failed</source>
<translation>文件夹更名失败</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="548"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="586"/>
<source>Can&apos;t remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup.</source>
<translation>无法移除和备份文件夹,由于文件夹或文件正在被另一程序占用。请关闭程序后重试,或取消安装。</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="593"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="631"/>
<source>&lt;font color=&quot;green&quot;&gt;&lt;b&gt;Local sync folder %1 successfully created!&lt;/b&gt;&lt;/font&gt;</source>
<translation>&lt;font color=&quot;green&quot;&gt;&lt;b&gt;本地同步目录 %1 已成功创建&lt;/b&gt;&lt;/font&gt;</translation>
</message>
@@ -2102,7 +2102,7 @@ It is not advisable to use it.</source>
<context>
<name>OCC::PropagateDirectory</name>
<message>
- <location filename="../src/libsync/owncloudpropagator.cpp" line="942"/>
+ <location filename="../src/libsync/owncloudpropagator.cpp" line="953"/>
<source>Error writing metadata to the database</source>
<translation>向数据库写入元数据错误</translation>
</message>
@@ -2140,17 +2140,17 @@ It is not advisable to use it.</source>
<translation>虽然服务器宣称已完成 %1,但实际下载文件为空。</translation>
</message>
<message>
- <location filename="../src/libsync/propagatedownload.cpp" line="772"/>
+ <location filename="../src/libsync/propagatedownload.cpp" line="775"/>
<source>File %1 cannot be saved because of a local file name clash!</source>
<translation>由于本地文件名冲突,文件 %1 无法保存。</translation>
</message>
<message>
- <location filename="../src/libsync/propagatedownload.cpp" line="820"/>
+ <location filename="../src/libsync/propagatedownload.cpp" line="823"/>
<source>File has changed since discovery</source>
<translation>自从发现文件以来,它已经被改变了</translation>
</message>
<message>
- <location filename="../src/libsync/propagatedownload.cpp" line="871"/>
+ <location filename="../src/libsync/propagatedownload.cpp" line="874"/>
<source>Error writing metadata to the database</source>
<translation>向数据库写入元数据错误</translation>
</message>
@@ -2226,12 +2226,12 @@ It is not advisable to use it.</source>
<context>
<name>OCC::PropagateRemoteDelete</name>
<message>
- <location filename="../src/libsync/propagateremotedelete.cpp" line="96"/>
+ <location filename="../src/libsync/propagateremotedelete.cpp" line="100"/>
<source>The file has been removed from a read only share. It was restored.</source>
<translation>文件已经移除只读共享,并已经恢复。</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotedelete.cpp" line="117"/>
+ <location filename="../src/libsync/propagateremotedelete.cpp" line="121"/>
<source>Wrong HTTP code returned by server. Expected 204, but received &quot;%1 %2&quot;.</source>
<translation>服务器返回的 HTTP 状态错误,应返回 204,但返回的是“%1 %2”。</translation>
</message>
@@ -2239,12 +2239,12 @@ It is not advisable to use it.</source>
<context>
<name>OCC::PropagateRemoteMkdir</name>
<message>
- <location filename="../src/libsync/propagateremotemkdir.cpp" line="95"/>
+ <location filename="../src/libsync/propagateremotemkdir.cpp" line="99"/>
<source>Wrong HTTP code returned by server. Expected 201, but received &quot;%1 %2&quot;.</source>
<translation>服务器返回的 HTTP 状态错误,应返回 201,但返回的是“%1 %2”。</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotemkdir.cpp" line="147"/>
+ <location filename="../src/libsync/propagateremotemkdir.cpp" line="151"/>
<source>Error writing metadata to the database</source>
<translation>向数据库写入元数据错误</translation>
</message>
@@ -2262,18 +2262,18 @@ It is not advisable to use it.</source>
<translation>文件无法更名,请改回“Shared”。</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotemove.cpp" line="137"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="141"/>
<source>The file was renamed but is part of a read only share. The original file was restored.</source>
<translation>文件已经更名,但这是某个只读分享的一部分,原文件已经恢复。</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotemove.cpp" line="154"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="158"/>
<source>Wrong HTTP code returned by server. Expected 201, but received &quot;%1 %2&quot;.</source>
<translation>服务器返回的 HTTP 状态错误,应返回 201,但返回的是“%1 %2”。</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotemove.cpp" line="186"/>
- <location filename="../src/libsync/propagateremotemove.cpp" line="192"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="190"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="196"/>
<source>Error writing metadata to the database</source>
<translation>向数据库写入元数据错误</translation>
</message>
@@ -2307,7 +2307,7 @@ It is not advisable to use it.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/propagateupload.cpp" line="618"/>
+ <location filename="../src/libsync/propagateupload.cpp" line="622"/>
<source>Error writing metadata to the database</source>
<translation>向数据库写入元数据错误</translation>
</message>
@@ -2381,42 +2381,42 @@ It is not advisable to use it.</source>
<translation>文本标签</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="48"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="61"/>
<source>Time</source>
<translation>时间</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="49"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="62"/>
<source>File</source>
<translation>文件</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="50"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="63"/>
<source>Folder</source>
<translation>文件夹</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="51"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="64"/>
<source>Action</source>
<translation>动作</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="52"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="65"/>
<source>Size</source>
<translation>大小</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="72"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="85"/>
<source>Local sync protocol</source>
<translation>本地同步协议</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="74"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="87"/>
<source>Copy</source>
<translation>复制</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="75"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="88"/>
<source>Copy the activity list to the clipboard.</source>
<translation>复制动态列表到剪贴板。</translation>
</message>
@@ -2548,6 +2548,7 @@ It is not advisable to use it.</source>
</message>
<message>
<location filename="../src/gui/settingsdialogmac.cpp" line="152"/>
+ <location filename="../src/gui/settingsdialogmac.cpp" line="211"/>
<source>Account</source>
<translation>账户</translation>
</message>
@@ -3204,22 +3205,22 @@ It is not advisable to use it.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1278"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1287"/>
<source>Not allowed because you don&apos;t have permission to add parent folder</source>
<translation>你没有权限增加父目录</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1285"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1294"/>
<source>Not allowed because you don&apos;t have permission to add files in that folder</source>
<translation>你没有权限增加文件</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1588"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1597"/>
<source>Disk space is low: Downloads that would reduce free space below %1 were skipped.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1595"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1604"/>
<source>There is insufficient space available on the server for some uploads.</source>
<translation type="unfinished"/>
</message>
@@ -3344,54 +3345,54 @@ It is not advisable to use it.</source>
<translation>无法打开同步日志</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="968"/>
+ <location filename="../src/libsync/syncengine.cpp" line="977"/>
<source>File name contains at least one invalid character</source>
<translation>文件名中存在至少一个非法字符</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1204"/>
- <location filename="../src/libsync/syncengine.cpp" line="1244"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1213"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1253"/>
<source>Ignored because of the &quot;choose what to sync&quot; blacklist</source>
<translation>已忽略(“选择同步内容”黑名单)</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1263"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1272"/>
<source>Not allowed because you don&apos;t have permission to add subfolders to that folder</source>
<translation>你没有权限增加子目录</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1310"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1319"/>
<source>Not allowed to upload this file because it is read-only on the server, restoring</source>
<translation>无法上传文件,因为服务器端此文件为只读,正在回退</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1326"/>
- <location filename="../src/libsync/syncengine.cpp" line="1345"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1335"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1354"/>
<source>Not allowed to remove, restoring</source>
<translation>无法删除,正在回退</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1359"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1368"/>
<source>Local files and share folder removed.</source>
<translation>本地文件和共享文件夹已被删除。</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1413"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1422"/>
<source>Move not allowed, item restored</source>
<translation>无法移动,正在回退</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1424"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1433"/>
<source>Move not allowed because %1 is read-only</source>
<translation>无法移动,%1为是只读的</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1424"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1433"/>
<source>the destination</source>
<translation>目标</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1424"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1433"/>
<source>the source</source>
<translation>源</translation>
</message>
@@ -3433,17 +3434,17 @@ It is not advisable to use it.</source>
<context>
<name>OCC::ValidateChecksumHeader</name>
<message>
- <location filename="../src/common/checksums.cpp" line="205"/>
+ <location filename="../src/common/checksums.cpp" line="218"/>
<source>The checksum header is malformed.</source>
<translation>校验异常</translation>
</message>
<message>
- <location filename="../src/common/checksums.cpp" line="220"/>
+ <location filename="../src/common/checksums.cpp" line="233"/>
<source>The checksum header contained an unknown checksum type &apos;%1&apos;</source>
<translation>校验头包含未知的校验类型 &apos;%1&apos;</translation>
</message>
<message>
- <location filename="../src/common/checksums.cpp" line="224"/>
+ <location filename="../src/common/checksums.cpp" line="237"/>
<source>The downloaded file does not match the checksum, it will be resumed.</source>
<translation>下载的文件校验失败,将会回退。</translation>
</message>
diff --git a/translations/client_zh_TW.ts b/translations/client_zh_TW.ts
index 17235c7dd..a3dddf6d7 100644
--- a/translations/client_zh_TW.ts
+++ b/translations/client_zh_TW.ts
@@ -596,7 +596,7 @@
<context>
<name>OCC::CleanupPollsJob</name>
<message>
- <location filename="../src/libsync/owncloudpropagator.cpp" line="990"/>
+ <location filename="../src/libsync/owncloudpropagator.cpp" line="1001"/>
<source>Error writing metadata to the database</source>
<translation>寫入後設資料(metadata) 時發生錯誤</translation>
</message>
@@ -744,24 +744,24 @@
<translation>無法讀取系統的排除檔案</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="883"/>
+ <location filename="../src/gui/folder.cpp" line="888"/>
<source>A new folder larger than %1 MB has been added: %2.
</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="886"/>
+ <location filename="../src/gui/folder.cpp" line="891"/>
<source>A folder from an external storage has been added.
</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="887"/>
+ <location filename="../src/gui/folder.cpp" line="892"/>
<source>Please go in the settings to select it if you wish to download it.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="922"/>
+ <location filename="../src/gui/folder.cpp" line="927"/>
<source>All files in the sync folder '%1' folder were deleted on the server.
These deletes will be synchronized to your local sync folder, making such files unavailable unless you have a right to restore.
If you decide to keep the files, they will be re-synced with the server if you have rights to do so.
@@ -769,46 +769,46 @@ If you decide to delete the files, they will be unavailable to you, unless you a
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="927"/>
+ <location filename="../src/gui/folder.cpp" line="932"/>
<source>All the files in your local sync folder '%1' were deleted. These deletes will be synchronized with your server, making such files unavailable unless restored.
Are you sure you want to sync those actions with the server?
If this was an accident and you decide to keep your files, they will be re-synced from the server.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="931"/>
+ <location filename="../src/gui/folder.cpp" line="936"/>
<source>Remove All Files?</source>
<translation>移除所有檔案?</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="934"/>
+ <location filename="../src/gui/folder.cpp" line="939"/>
<source>Remove all files</source>
<translation>移除所有檔案</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="935"/>
+ <location filename="../src/gui/folder.cpp" line="940"/>
<source>Keep files</source>
<translation>保留檔案</translation>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="952"/>
+ <location filename="../src/gui/folder.cpp" line="957"/>
<source>This sync would reset the files to an earlier time in the sync folder '%1'.
This might be because a backup was restored on the server.
Continuing the sync as normal will cause all your files to be overwritten by an older file in an earlier state. Do you want to keep your local most recent files as conflict files?</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="957"/>
+ <location filename="../src/gui/folder.cpp" line="962"/>
<source>Backup detected</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="960"/>
+ <location filename="../src/gui/folder.cpp" line="965"/>
<source>Normal Synchronisation</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/folder.cpp" line="961"/>
+ <location filename="../src/gui/folder.cpp" line="966"/>
<source>Keep Local Files as Conflict</source>
<translation type="unfinished"/>
</message>
@@ -1282,22 +1282,22 @@ Continuing the sync as normal will cause all your files to be overwritten by an
<context>
<name>OCC::HttpCredentialsGui</name>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="97"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="98"/>
<source>Please enter %1 password:&lt;br&gt;&lt;br&gt;User: %2&lt;br&gt;Account: %3&lt;br&gt;</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="111"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="112"/>
<source>Reading from keychain failed with error: &apos;%1&apos;</source>
<translation>從授權碼讀取資料時失敗,錯誤: &apos;%1&apos;</translation>
</message>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="117"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="118"/>
<source>Enter Password</source>
<translation>輸入密碼</translation>
</message>
<message>
- <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="154"/>
+ <location filename="../src/gui/creds/httpcredentialsgui.cpp" line="155"/>
<source>&lt;a href=&quot;%1&quot;&gt;Click here&lt;/a&gt; to request an app password from the web interface.</source>
<translation type="unfinished"/>
</message>
@@ -1419,12 +1419,12 @@ Items where deletion is allowed will be deleted if they prevent a directory from
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/issueswidget.ui" line="145"/>
+ <location filename="../src/gui/issueswidget.ui" line="148"/>
<source>Copy the issues list to the clipboard.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/issueswidget.ui" line="148"/>
+ <location filename="../src/gui/issueswidget.ui" line="151"/>
<source>Copy</source>
<translation>複製</translation>
</message>
@@ -1910,144 +1910,144 @@ It is not advisable to use it.</source>
<context>
<name>OCC::OwncloudSetupWizard</name>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="217"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="250"/>
<source>&lt;font color=&quot;green&quot;&gt;Successfully connected to %1: %2 version %3 (%4)&lt;/font&gt;&lt;br/&gt;&lt;br/&gt;</source>
<translation>&lt;font color=&quot;green&quot;&gt;成功連線到 %1: %2 版本 %3 (%4)&lt;/font&gt;&lt;br/&gt;&lt;br/&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="251"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="280"/>
<source>Failed to connect to %1 at %2:&lt;br/&gt;%3</source>
<translation>從 %2 連線到 %1 失敗:&lt;br/&gt;%3</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="285"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="314"/>
<source>Timeout while trying to connect to %1 at %2.</source>
<translation>從 %2 嘗試連線到 %1 逾時。</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="296"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="334"/>
<source>Trying to connect to %1 at %2...</source>
<translation>嘗試連線到%1從%2</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="347"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="385"/>
<source>The authenticated request to the server was redirected to &apos;%1&apos;. The URL is bad, the server is misconfigured.</source>
<translation>伺服器要求的認證請求被導向 &apos;%1&apos;,這個URL可能不安全,此伺服器可能設定有錯。</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="369"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="407"/>
<source>There was an invalid response to an authenticated webdav request</source>
<translation>從webdav的認證要求中有無效的回傳值</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="360"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="398"/>
<source>Access forbidden by server. To verify that you have proper access, &lt;a href=&quot;%1&quot;&gt;click here&lt;/a&gt; to access the service with your browser.</source>
<translation>從伺服器存取被拒絕。為了正確驗證您的存取資訊 &lt;a href=&quot;%1&quot;&gt;請點選這裡&lt;/a&gt; 透過瀏覽器來存取服務</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="249"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="278"/>
<source>Invalid URL</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="414"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="452"/>
<source>Local sync folder %1 already exists, setting it up for sync.&lt;br/&gt;&lt;br/&gt;</source>
<translation>本地同步資料夾%1已存在, 將其設置為同步&lt;br/&gt;&lt;br/&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="417"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="455"/>
<source>Creating local sync folder %1...</source>
<translation>建立本地同步資料夾 %1...</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="421"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="459"/>
<source>ok</source>
<translation>ok</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="423"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="461"/>
<source>failed.</source>
<translation>失敗</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="425"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="463"/>
<source>Could not create local folder %1</source>
<translation>無法建立本地資料夾 %1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="451"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="489"/>
<source>No remote folder specified!</source>
<translation>沒有指定遠端資料夾!</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="457"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="495"/>
<source>Error: %1</source>
<translation>錯誤: %1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="470"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="508"/>
<source>creating folder on ownCloud: %1</source>
<translation>在 ownCloud 建立資料夾: %1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="486"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="524"/>
<source>Remote folder %1 created successfully.</source>
<translation>遠端資料夾%1建立成功!</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="488"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="526"/>
<source>The remote folder %1 already exists. Connecting it for syncing.</source>
<translation>遠端資料夾%1已存在,連線同步中</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="490"/>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="492"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="528"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="530"/>
<source>The folder creation resulted in HTTP error code %1</source>
<translation>在HTTP建立資料夾失敗, error code %1</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="494"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="532"/>
<source>The remote folder creation failed because the provided credentials are wrong!&lt;br/&gt;Please go back and check your credentials.&lt;/p&gt;</source>
<translation>由於帳號或密碼錯誤,遠端資料夾建立失敗&lt;br/&gt;請檢查您的帳號密碼。&lt;/p&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="498"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="536"/>
<source>&lt;p&gt;&lt;font color=&quot;red&quot;&gt;Remote folder creation failed probably because the provided credentials are wrong.&lt;/font&gt;&lt;br/&gt;Please go back and check your credentials.&lt;/p&gt;</source>
<translation>&lt;p&gt;&lt;font color=&quot;red&quot;&gt;遠端資料夾建立失敗,也許是因為所提供的帳號密碼錯誤&lt;/font&gt;&lt;br/&gt;請重新檢查您的帳號密碼&lt;/p&gt;</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="503"/>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="504"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="541"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="542"/>
<source>Remote folder %1 creation failed with error &lt;tt&gt;%2&lt;/tt&gt;.</source>
<translation>建立遠端資料夾%1發生錯誤&lt;tt&gt;%2&lt;/tt&gt;失敗</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="521"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="559"/>
<source>A sync connection from %1 to remote directory %2 was set up.</source>
<translation>從%1到遠端資料夾%2的連線已建立</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="526"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="564"/>
<source>Successfully connected to %1!</source>
<translation>成功連接到 %1 !</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="533"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="571"/>
<source>Connection to %1 could not be established. Please check again.</source>
<translation>無法建立連線%1, 請重新檢查</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="547"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="585"/>
<source>Folder rename failed</source>
<translation>重新命名資料夾失敗</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="548"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="586"/>
<source>Can&apos;t remove and back up the folder because the folder or a file in it is open in another program. Please close the folder or file and hit retry or cancel the setup.</source>
<translation>無法移除與備份此資料夾,因為有其他的程式正在使用其中的資料夾或者檔案。請關閉使用中的資料夾或檔案並重試或者取消設定。</translation>
</message>
<message>
- <location filename="../src/gui/owncloudsetupwizard.cpp" line="593"/>
+ <location filename="../src/gui/owncloudsetupwizard.cpp" line="631"/>
<source>&lt;font color=&quot;green&quot;&gt;&lt;b&gt;Local sync folder %1 successfully created!&lt;/b&gt;&lt;/font&gt;</source>
<translation>&lt;font color=&quot;green&quot;&gt;&lt;b&gt;本地同步資料夾 %1 建立成功!&lt;/b&gt;&lt;/font&gt;</translation>
</message>
@@ -2094,7 +2094,7 @@ It is not advisable to use it.</source>
<context>
<name>OCC::PropagateDirectory</name>
<message>
- <location filename="../src/libsync/owncloudpropagator.cpp" line="942"/>
+ <location filename="../src/libsync/owncloudpropagator.cpp" line="953"/>
<source>Error writing metadata to the database</source>
<translation>寫入後設資料(metadata) 時發生錯誤</translation>
</message>
@@ -2132,17 +2132,17 @@ It is not advisable to use it.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/propagatedownload.cpp" line="772"/>
+ <location filename="../src/libsync/propagatedownload.cpp" line="775"/>
<source>File %1 cannot be saved because of a local file name clash!</source>
<translation>檔案 %1 無法存檔,因為本地端的檔案名稱已毀損!</translation>
</message>
<message>
- <location filename="../src/libsync/propagatedownload.cpp" line="820"/>
+ <location filename="../src/libsync/propagatedownload.cpp" line="823"/>
<source>File has changed since discovery</source>
<translation>尋找的過程中檔案已經被更改</translation>
</message>
<message>
- <location filename="../src/libsync/propagatedownload.cpp" line="871"/>
+ <location filename="../src/libsync/propagatedownload.cpp" line="874"/>
<source>Error writing metadata to the database</source>
<translation>寫入後設資料(metadata) 時發生錯誤</translation>
</message>
@@ -2218,12 +2218,12 @@ It is not advisable to use it.</source>
<context>
<name>OCC::PropagateRemoteDelete</name>
<message>
- <location filename="../src/libsync/propagateremotedelete.cpp" line="96"/>
+ <location filename="../src/libsync/propagateremotedelete.cpp" line="100"/>
<source>The file has been removed from a read only share. It was restored.</source>
<translation>已復原從只供讀取的分享中被移除檔案</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotedelete.cpp" line="117"/>
+ <location filename="../src/libsync/propagateremotedelete.cpp" line="121"/>
<source>Wrong HTTP code returned by server. Expected 204, but received &quot;%1 %2&quot;.</source>
<translation>從伺服器端回傳錯誤的 HTTP 代碼, 預期是 204, 但是接收到的是 &quot;%1 %2&quot;.</translation>
</message>
@@ -2231,12 +2231,12 @@ It is not advisable to use it.</source>
<context>
<name>OCC::PropagateRemoteMkdir</name>
<message>
- <location filename="../src/libsync/propagateremotemkdir.cpp" line="95"/>
+ <location filename="../src/libsync/propagateremotemkdir.cpp" line="99"/>
<source>Wrong HTTP code returned by server. Expected 201, but received &quot;%1 %2&quot;.</source>
<translation>從伺服器端回傳錯誤的 HTTP 代碼, 預期是 201, 但是接收到的是 &quot;%1 %2&quot;.</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotemkdir.cpp" line="147"/>
+ <location filename="../src/libsync/propagateremotemkdir.cpp" line="151"/>
<source>Error writing metadata to the database</source>
<translation>寫入後設資料(metadata) 時發生錯誤</translation>
</message>
@@ -2254,18 +2254,18 @@ It is not advisable to use it.</source>
<translation>這個資料夾已經被分享,不應該被更名,請改回原本的名稱。</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotemove.cpp" line="137"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="141"/>
<source>The file was renamed but is part of a read only share. The original file was restored.</source>
<translation>檔案更名完成,但這檔案是只供讀取的分享,原始檔案已被還原</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotemove.cpp" line="154"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="158"/>
<source>Wrong HTTP code returned by server. Expected 201, but received &quot;%1 %2&quot;.</source>
<translation>從伺服器端回傳錯誤的 HTTP 代碼, 預期是 201, 但是接收到的是 &quot;%1 %2&quot;.</translation>
</message>
<message>
- <location filename="../src/libsync/propagateremotemove.cpp" line="186"/>
- <location filename="../src/libsync/propagateremotemove.cpp" line="192"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="190"/>
+ <location filename="../src/libsync/propagateremotemove.cpp" line="196"/>
<source>Error writing metadata to the database</source>
<translation>寫入後設資料(metadata) 時發生錯誤</translation>
</message>
@@ -2299,7 +2299,7 @@ It is not advisable to use it.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/propagateupload.cpp" line="618"/>
+ <location filename="../src/libsync/propagateupload.cpp" line="622"/>
<source>Error writing metadata to the database</source>
<translation>寫入後設資料(metadata) 時發生錯誤</translation>
</message>
@@ -2373,42 +2373,42 @@ It is not advisable to use it.</source>
<translation>文字標籤</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="48"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="61"/>
<source>Time</source>
<translation>時間</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="49"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="62"/>
<source>File</source>
<translation>檔案</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="50"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="63"/>
<source>Folder</source>
<translation>資料夾</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="51"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="64"/>
<source>Action</source>
<translation>動作</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="52"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="65"/>
<source>Size</source>
<translation>大小</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="72"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="85"/>
<source>Local sync protocol</source>
<translation>本機同步協定</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="74"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="87"/>
<source>Copy</source>
<translation>複製</translation>
</message>
<message>
- <location filename="../src/gui/protocolwidget.cpp" line="75"/>
+ <location filename="../src/gui/protocolwidget.cpp" line="88"/>
<source>Copy the activity list to the clipboard.</source>
<translation>複製活動列表到剪貼簿。</translation>
</message>
@@ -2540,6 +2540,7 @@ It is not advisable to use it.</source>
</message>
<message>
<location filename="../src/gui/settingsdialogmac.cpp" line="152"/>
+ <location filename="../src/gui/settingsdialogmac.cpp" line="211"/>
<source>Account</source>
<translation>帳號</translation>
</message>
@@ -2599,12 +2600,12 @@ It is not advisable to use it.</source>
<message>
<location filename="../src/gui/sharedialog.cpp" line="206"/>
<source>Users and Groups</source>
- <translation type="unfinished"/>
+ <translation>使用者及群組</translation>
</message>
<message>
<location filename="../src/gui/sharedialog.cpp" line="213"/>
<source>Public Links</source>
- <translation type="unfinished"/>
+ <translation>公共連結</translation>
</message>
</context>
<context>
@@ -3196,22 +3197,22 @@ It is not advisable to use it.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1278"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1287"/>
<source>Not allowed because you don&apos;t have permission to add parent folder</source>
<translation>拒絕此操作,您沒有新增母資料夾的權限。</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1285"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1294"/>
<source>Not allowed because you don&apos;t have permission to add files in that folder</source>
<translation>拒絕此操作,您沒有新增檔案在此資料夾的權限。</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1588"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1597"/>
<source>Disk space is low: Downloads that would reduce free space below %1 were skipped.</source>
<translation type="unfinished"/>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1595"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1604"/>
<source>There is insufficient space available on the server for some uploads.</source>
<translation type="unfinished"/>
</message>
@@ -3336,54 +3337,54 @@ It is not advisable to use it.</source>
<translation>同步處理日誌無法開啟</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="968"/>
+ <location filename="../src/libsync/syncengine.cpp" line="977"/>
<source>File name contains at least one invalid character</source>
<translation>檔案名稱含有不合法的字元</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1204"/>
- <location filename="../src/libsync/syncengine.cpp" line="1244"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1213"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1253"/>
<source>Ignored because of the &quot;choose what to sync&quot; blacklist</source>
<translation>已忽略。根據 &quot;選擇要同步的項目&quot;的黑名單</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1263"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1272"/>
<source>Not allowed because you don&apos;t have permission to add subfolders to that folder</source>
<translation>拒絕此操作,您沒有在此新增子資料夾的權限。</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1310"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1319"/>
<source>Not allowed to upload this file because it is read-only on the server, restoring</source>
<translation>拒絕上傳此檔案,此檔案在伺服器是唯讀檔,復原中</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1326"/>
- <location filename="../src/libsync/syncengine.cpp" line="1345"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1335"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1354"/>
<source>Not allowed to remove, restoring</source>
<translation>不允許刪除,復原中</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1359"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1368"/>
<source>Local files and share folder removed.</source>
<translation>本地端檔案和共享資料夾已被刪除。</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1413"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1422"/>
<source>Move not allowed, item restored</source>
<translation>不允許移動,物件復原中</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1424"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1433"/>
<source>Move not allowed because %1 is read-only</source>
<translation>不允許移動,因為 %1 是唯讀的</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1424"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1433"/>
<source>the destination</source>
<translation>目標</translation>
</message>
<message>
- <location filename="../src/libsync/syncengine.cpp" line="1424"/>
+ <location filename="../src/libsync/syncengine.cpp" line="1433"/>
<source>the source</source>
<translation>來源</translation>
</message>
@@ -3425,17 +3426,17 @@ It is not advisable to use it.</source>
<context>
<name>OCC::ValidateChecksumHeader</name>
<message>
- <location filename="../src/common/checksums.cpp" line="205"/>
+ <location filename="../src/common/checksums.cpp" line="218"/>
<source>The checksum header is malformed.</source>
<translation>校驗碼異常。</translation>
</message>
<message>
- <location filename="../src/common/checksums.cpp" line="220"/>
+ <location filename="../src/common/checksums.cpp" line="233"/>
<source>The checksum header contained an unknown checksum type &apos;%1&apos;</source>
<translation>校正資料含有未知的型態 &apos;%1&apos;</translation>
</message>
<message>
- <location filename="../src/common/checksums.cpp" line="224"/>
+ <location filename="../src/common/checksums.cpp" line="237"/>
<source>The downloaded file does not match the checksum, it will be resumed.</source>
<translation>下載的檔案驗證失敗,將會被還原</translation>
</message>