Comparar commits

..

3 Commits

Autor SHA1 Mensagem Data
Piotr M 0e58dd79da Group requests to ensure balance between bandwidth utilization and bookkeeping #5391 #5390 #4498 #1633 #4454 2017-01-22 21:10:45 +01:00
Jenkins for ownCloud 83dfbb933b [tx-robot] updated from transifex 2017-01-22 02:18:27 +01:00
Jenkins for ownCloud 100603fdc0 [tx-robot] updated from transifex 2017-01-21 02:18:28 +01:00
65 arquivos alterados com 610 adições e 577 exclusões
+1 -1
Ver Arquivo
@@ -89,7 +89,7 @@ struct csync_s {
/* hooks for checking the white list (uses the update_callback_userdata) */
int (*checkSelectiveSyncBlackListHook)(void*, const char*);
int (*checkSelectiveSyncNewFolderHook)(void*, const char* /* path */, const char* /* remotePerm */);
int (*checkSelectiveSyncNewFolderHook)(void*, const char*);
csync_vio_opendir_hook remote_opendir_hook;
+1 -1
Ver Arquivo
@@ -436,7 +436,7 @@ static int _csync_detect_update(CSYNC *ctx, const char *file,
st->instruction = CSYNC_INSTRUCTION_NEW;
if (fs->type == CSYNC_VIO_FILE_TYPE_DIRECTORY && ctx->current == REMOTE_REPLICA && ctx->callbacks.checkSelectiveSyncNewFolderHook) {
if (ctx->callbacks.checkSelectiveSyncNewFolderHook(ctx->callbacks.update_callback_userdata, path, fs->remotePerm)) {
if (ctx->callbacks.checkSelectiveSyncNewFolderHook(ctx->callbacks.update_callback_userdata, path)) {
csync_file_stat_free(st);
return 1;
}
+6
Ver Arquivo
@@ -646,6 +646,12 @@ X-GNOME-Autostart-Delay=3
# Translations
# Translations
# Translations
# Translations
Comment[oc]=@APPLICATION_NAME@ sincronizacion del client
GenericName[oc]=Dorsièr de Sincronizacion
+2 -7
Ver Arquivo
@@ -675,13 +675,8 @@ void AccountSettings::refreshSelectiveSyncStatus()
ui->selectiveSyncButtons->setVisible(true);
ui->bigFolderUi->setVisible(false);
} else {
ConfigFile cfg;
QString info =
!cfg.confirmExternalStorage() ? tr("There are folders that were not synchronized because they are too big: ") :
!cfg.newBigFolderSizeLimit().first ? tr("There are folders that were not synchronized because they are external storages: ") :
tr("There are folders that were not synchronized because they are too big or external storages: ");
ui->selectiveSyncNotification->setText(info + msg);
QString wholeMsg = tr("There are new folders that were not synchronized because they are too big: ") + msg;
ui->selectiveSyncNotification->setText(wholeMsg);
ui->selectiveSyncButtons->setVisible(false);
ui->bigFolderUi->setVisible(true);
shouldBeVisible = true;
+7 -12
Ver Arquivo
@@ -104,8 +104,7 @@ Folder::Folder(const FolderDefinition& definition,
connect(_engine.data(), SIGNAL(transmissionProgress(ProgressInfo)), this, SLOT(slotTransmissionProgress(ProgressInfo)));
connect(_engine.data(), SIGNAL(itemCompleted(const SyncFileItem &, const PropagatorJob &)),
this, SLOT(slotItemCompleted(const SyncFileItem &, const PropagatorJob &)));
connect(_engine.data(), SIGNAL(newBigFolder(QString,bool)),
this, SLOT(slotNewBigFolderDiscovered(QString,bool)));
connect(_engine.data(), SIGNAL(newBigFolder(QString)), this, SLOT(slotNewBigFolderDiscovered(QString)));
connect(_engine.data(), SIGNAL(seenLockedFile(QString)), FolderMan::instance(), SLOT(slotSyncOnceFileUnlocks(QString)));
connect(_engine.data(), SIGNAL(aboutToPropagate(SyncFileItemVector&)),
SLOT(slotLogPropagationStart()));
@@ -749,12 +748,10 @@ void Folder::startSync(const QStringList &pathList)
setDirtyNetworkLimits();
SyncOptions opt;
ConfigFile cfgFile;
auto newFolderLimit = cfgFile.newBigFolderSizeLimit();
opt._newBigFolderSizeLimit = newFolderLimit.first ? newFolderLimit.second * 1000LL * 1000LL : -1; // convert from MB to B
opt._confirmExternalStorage = cfgFile.confirmExternalStorage();
_engine->setSyncOptions(opt);
quint64 limit = newFolderLimit.first ? newFolderLimit.second * 1000 * 1000 : -1; // convert from MB to B
_engine->setNewBigFolderSizeLimit(limit);
_engine->setIgnoreHiddenFiles(_definition.ignoreHiddenFiles);
@@ -931,7 +928,7 @@ void Folder::slotItemCompleted(const SyncFileItem &item, const PropagatorJob& jo
emit ProgressDispatcher::instance()->itemCompleted(alias(), item, job);
}
void Folder::slotNewBigFolderDiscovered(const QString &newF, bool isExternal)
void Folder::slotNewBigFolderDiscovered(const QString &newF)
{
auto newFolder = newF;
if (!newFolder.endsWith(QLatin1Char('/'))) {
@@ -956,11 +953,9 @@ void Folder::slotNewBigFolderDiscovered(const QString &newF, bool isExternal)
journal->setSelectiveSyncList(SyncJournalDb::SelectiveSyncUndecidedList, undecidedList);
emit newBigFolderDiscovered(newFolder);
}
QString message = !isExternal ?
(tr("A new folder larger than %1 MB has been added: %2.\n")
.arg(ConfigFile().newBigFolderSizeLimit().second).arg(newF))
: (tr("A folder from an external storage has been added.\n"));
message += tr("Please go in the settings to select it if you wish to download it.");
QString message = tr("A new folder larger than %1 MB has been added: %2.\n"
"Please go in the settings to select it if you wish to download it.")
.arg(ConfigFile().newBigFolderSizeLimit().second).arg(newF);
auto logger = Logger::instance();
logger->postOptionalGuiLog(Theme::instance()->appNameGUI(), message);
+1 -1
Ver Arquivo
@@ -290,7 +290,7 @@ private slots:
void slotEmitFinishedDelayed();
void slotNewBigFolderDiscovered(const QString &, bool isExternal);
void slotNewBigFolderDiscovered(const QString &);
void slotLogPropagationStart();
+4 -33
Ver Arquivo
@@ -29,14 +29,6 @@ Q_DECLARE_METATYPE(QPersistentModelIndex)
namespace OCC {
static const char propertyParentIndexC[] = "oc_parentIndex";
static const char propertyPermissionMap[] = "oc_permissionMap";
static QString removeTrailingSlash(const QString &s) {
if (s.endsWith('/')) {
return s.left(s.size() - 1);
}
return s;
}
FolderStatusModel::FolderStatusModel(QObject *parent)
:QAbstractItemModel(parent), _accountState(0), _dirty(false)
@@ -170,7 +162,7 @@ QVariant FolderStatusModel::data(const QModelIndex &index, int role) const
case Qt::CheckStateRole:
return x._checked;
case Qt::DecorationRole:
return QFileIconProvider().icon(x._isExternal ? QFileIconProvider::Network : QFileIconProvider::Folder);
return QFileIconProvider().icon(QFileIconProvider::Folder);
case Qt::ForegroundRole:
if (x._isUndecided) {
return QColor(Qt::red);
@@ -376,9 +368,6 @@ FolderStatusModel::SubFolderInfo* FolderStatusModel::infoForIndex(const QModelIn
if (parentInfo->hasLabel()) {
return 0;
}
if (index.row() >= parentInfo->_subs.size()) {
return 0;
}
return &parentInfo->_subs[index.row()];
} else {
if (index.row() >= _folders.count()) {
@@ -548,15 +537,12 @@ void FolderStatusModel::fetchMore(const QModelIndex& parent)
path += info->_path;
}
LsColJob *job = new LsColJob(_accountState->account(), path, this);
job->setProperties(QList<QByteArray>() << "resourcetype" << "http://owncloud.org/ns:size" << "http://owncloud.org/ns:permissions");
job->setProperties(QList<QByteArray>() << "resourcetype" << "http://owncloud.org/ns:size");
job->setTimeout(60 * 1000);
connect(job, SIGNAL(directoryListingSubfolders(QStringList)),
SLOT(slotUpdateDirectories(QStringList)));
connect(job, SIGNAL(finishedWithError(QNetworkReply*)),
this, SLOT(slotLscolFinishedWithError(QNetworkReply*)));
connect(job, SIGNAL(directoryListingIterated(const QString&, const QMap<QString,QString>&)),
this, SLOT(slotGatherPermissions(const QString&, const QMap<QString,QString>&)));
job->start();
QPersistentModelIndex persistentIndex(parent);
@@ -567,20 +553,6 @@ void FolderStatusModel::fetchMore(const QModelIndex& parent)
QTimer::singleShot(1000, this, SLOT(slotShowFetchProgress()));
}
void FolderStatusModel::slotGatherPermissions(const QString &href, const QMap<QString,QString> &map)
{
auto it = map.find("permissions");
if (it == map.end())
return;
auto job = sender();
auto permissionMap = job->property(propertyPermissionMap).toMap();
job->setProperty(propertyPermissionMap, QVariant()); // avoid a detach of the map while it is modified
Q_ASSERT(!href.endsWith(QLatin1Char('/'))); // LsColXMLParser::parse removes the trailing slash before calling us.
permissionMap[href] = *it;
job->setProperty(propertyPermissionMap, permissionMap);
}
void FolderStatusModel::slotUpdateDirectories(const QStringList &list)
{
auto job = qobject_cast<LsColJob *>(sender());
@@ -626,7 +598,6 @@ void FolderStatusModel::slotUpdateDirectories(const QStringList &list)
selectiveSyncUndecidedSet.insert(str);
}
}
const auto permissionMap = job->property(propertyPermissionMap).toMap();
QStringList sortedSubfolders = list;
// skip the parent item (first in the list)
@@ -647,8 +618,8 @@ void FolderStatusModel::slotUpdateDirectories(const QStringList &list)
newInfo._folder = parentInfo->_folder;
newInfo._pathIdx = parentInfo->_pathIdx;
newInfo._pathIdx << newSubs.size();
newInfo._size = job->_sizes.value(path);
newInfo._isExternal = permissionMap.value(removeTrailingSlash(path)).toString().contains("M");
auto size = job ? job->_sizes.value(path) : 0;
newInfo._size = size;
newInfo._path = relativePath;
newInfo._name = relativePath.split('/', QString::SkipEmptyParts).last();
+1 -3
Ver Arquivo
@@ -51,7 +51,7 @@ public:
struct SubFolderInfo {
SubFolderInfo()
: _folder(0), _size(0), _isExternal(false), _fetched(false), _fetching(false),
: _folder(0), _size(0), _fetched(false), _fetching(false),
_hasError(false), _fetchingLabel(false), _isUndecided(false), _checked(Qt::Checked) {}
Folder *_folder;
QString _name;
@@ -59,7 +59,6 @@ public:
QVector<int> _pathIdx;
QVector<SubFolderInfo> _subs;
qint64 _size;
bool _isExternal;
bool _fetched; // If we did the LSCOL for this folder already
bool _fetching; // Whether a LSCOL job is currently running
@@ -114,7 +113,6 @@ public slots:
private slots:
void slotUpdateDirectories(const QStringList &);
void slotGatherPermissions(const QString &name, const QMap<QString,QString> &properties);
void slotLscolFinishedWithError(QNetworkReply *r);
void slotFolderSyncStateChange(Folder* f);
void slotFolderScheduleQueueChanged();
-11
Ver Arquivo
@@ -32,7 +32,6 @@
#include <QNetworkProxy>
#include <QDir>
#include <QScopedValueRollback>
namespace OCC {
@@ -67,7 +66,6 @@ GeneralSettings::GeneralSettings(QWidget *parent) :
connect(_ui->crashreporterCheckBox, SIGNAL(toggled(bool)), SLOT(saveMiscSettings()));
connect(_ui->newFolderLimitCheckBox, SIGNAL(toggled(bool)), SLOT(saveMiscSettings()));
connect(_ui->newFolderLimitSpinBox, SIGNAL(valueChanged(int)), SLOT(saveMiscSettings()));
connect(_ui->newExternalStorage, SIGNAL(toggled(bool)), SLOT(saveMiscSettings()));
#ifndef WITH_CRASHREPORTER
_ui->crashreporterCheckBox->setVisible(false);
@@ -87,9 +85,6 @@ GeneralSettings::GeneralSettings(QWidget *parent) :
_ui->monoIconsCheckBox->setVisible(QDir(themeDir).exists());
connect(_ui->ignoredFilesButton, SIGNAL(clicked()), SLOT(slotIgnoreFilesEditor()));
// accountAdded means the wizard was finished and the wizard might change some options.
connect(AccountManager::instance(), SIGNAL(accountAdded(AccountState*)), this, SLOT(loadMiscSettings()));
}
GeneralSettings::~GeneralSettings()
@@ -104,7 +99,6 @@ QSize GeneralSettings::sizeHint() const {
void GeneralSettings::loadMiscSettings()
{
QScopedValueRollback<bool> scope(_currentlyLoading, true);
ConfigFile cfgFile;
_ui->monoIconsCheckBox->setChecked(cfgFile.monoIcons());
_ui->desktopNotificationsCheckBox->setChecked(cfgFile.optionalDesktopNotifications());
@@ -112,8 +106,6 @@ void GeneralSettings::loadMiscSettings()
auto newFolderLimit = cfgFile.newBigFolderSizeLimit();
_ui->newFolderLimitCheckBox->setChecked(newFolderLimit.first);
_ui->newFolderLimitSpinBox->setValue(newFolderLimit.second);
_ui->newExternalStorage->setChecked(cfgFile.confirmExternalStorage());
_ui->monoIconsCheckBox->setChecked(cfgFile.monoIcons());
}
void GeneralSettings::slotUpdateInfo()
@@ -138,8 +130,6 @@ void GeneralSettings::slotUpdateInfo()
void GeneralSettings::saveMiscSettings()
{
if (_currentlyLoading)
return;
ConfigFile cfgFile;
bool isChecked = _ui->monoIconsCheckBox->isChecked();
cfgFile.setMonoIcons(isChecked);
@@ -148,7 +138,6 @@ void GeneralSettings::saveMiscSettings()
cfgFile.setNewBigFolderSizeLimit(_ui->newFolderLimitCheckBox->isChecked(),
_ui->newFolderLimitSpinBox->value());
cfgFile.setConfirmExternalStorage(_ui->newExternalStorage->isChecked());
}
void GeneralSettings::slotToggleLaunchOnStartup(bool enable)
+1 -2
Ver Arquivo
@@ -45,14 +45,13 @@ private slots:
void slotToggleOptionalDesktopNotifications(bool);
void slotUpdateInfo();
void slotIgnoreFilesEditor();
void loadMiscSettings();
private:
void loadMiscSettings();
Ui::GeneralSettings *_ui;
QPointer<IgnoreListEditor> _ignoreEditor;
QPointer<SyncLogDialog> _syncLogDialog;
bool _currentlyLoading = false;
};
+42 -36
Ver Arquivo
@@ -6,7 +6,7 @@
<rect>
<x>0</x>
<y>0</y>
<width>785</width>
<width>706</width>
<height>523</height>
</rect>
</property>
@@ -52,37 +52,33 @@
<property name="title">
<string>Advanced</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<layout class="QHBoxLayout" name="horizontalLayout_4">
<item>
<widget class="QPushButton" name="ignoredFilesButton">
<property name="text">
<string>Edit &amp;Ignored Files</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_4">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>555</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="0">
<widget class="QPushButton" name="ignoredFilesButton">
<property name="text">
<string>Edit &amp;Ignored Files</string>
</property>
</widget>
</item>
<item>
<item row="0" column="1" colspan="2">
<spacer name="horizontalSpacer_4">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>555</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="1" column="0" colspan="3">
<layout class="QHBoxLayout" name="horizontalLayout_3">
<item>
<widget class="QCheckBox" name="newFolderLimitCheckBox">
<property name="text">
<string>Ask for confirmation before synchronizing folders larger than</string>
<string>Ask &amp;confirmation before downloading folders larger than</string>
</property>
<property name="checked">
<bool>true</bool>
@@ -102,7 +98,7 @@
<item>
<widget class="QLabel" name="label">
<property name="text">
<string extracomment="Trailing part of &quot;Ask confirmation before syncing folder larger than&quot; ">MB</string>
<string>MB</string>
</property>
</widget>
</item>
@@ -121,14 +117,7 @@
</item>
</layout>
</item>
<item>
<widget class="QCheckBox" name="newExternalStorage">
<property name="text">
<string>Ask for confirmation before synchronizing external storages</string>
</property>
</widget>
</item>
<item>
<item row="2" column="0" colspan="2">
<widget class="QCheckBox" name="crashreporterCheckBox">
<property name="sizePolicy">
<sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
@@ -141,6 +130,23 @@
</property>
</widget>
</item>
<item row="2" column="2">
<layout class="QHBoxLayout" name="horizontalLayout_5">
<item>
<spacer name="horizontalSpacer_5">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
</layout>
</widget>
</item>
+2 -4
Ver Arquivo
@@ -533,11 +533,9 @@ void OwncloudSetupWizard::slotAssistantFinished( int result )
if (f) {
f->journalDb()->setSelectiveSyncList(SyncJournalDb::SelectiveSyncBlackList,
_ocWizard->selectiveSyncBlacklist());
if (!_ocWizard->isConfirmBigFolderChecked()) {
// The user already accepted the selective sync dialog. everything is in the white list
f->journalDb()->setSelectiveSyncList(SyncJournalDb::SelectiveSyncWhiteList,
// The user already accepted the selective sync dialog. everything is in the white list
f->journalDb()->setSelectiveSyncList(SyncJournalDb::SelectiveSyncWhiteList,
QStringList() << QLatin1String("/"));
}
}
_ocWizard->appendToConfigurationLog(tr("<font color=\"green\"><b>Local sync folder %1 successfully created!</b></font>").arg(localFolder));
}
-27
Ver Arquivo
@@ -68,15 +68,6 @@ OwncloudAdvancedSetupPage::OwncloudAdvancedSetupPage()
_ui.lServerIcon->setPixmap(appIcon.pixmap(48));
_ui.lLocalIcon->setText(QString());
_ui.lLocalIcon->setPixmap(QPixmap(Theme::hidpiFileName(":/client/resources/folder-sync.png")));
if (theme->wizardHideExternalStorageConfirmationCheckbox()) {
_ui.confCheckBoxExternal->hide();
}
if (theme->wizardHideFolderSizeLimitCheckbox()) {
_ui.confCheckBoxSize->hide();
_ui.confSpinBox->hide();
_ui.confTraillingSizeLabel->hide();
}
}
void OwncloudAdvancedSetupPage::setupCustomization()
@@ -127,12 +118,6 @@ void OwncloudAdvancedSetupPage::initializePage()
_selectiveSyncBlacklist = QStringList("/");
QTimer::singleShot(0, this, SLOT(slotSelectiveSyncClicked()));
}
ConfigFile cfgFile;
auto newFolderLimit = cfgFile.newBigFolderSizeLimit();
_ui.confCheckBoxSize->setChecked(newFolderLimit.first);
_ui.confSpinBox->setValue(newFolderLimit.second);
_ui.confCheckBoxExternal->setChecked(cfgFile.confirmExternalStorage());
}
// Called if the user changes the user- or url field. Adjust the texts and
@@ -215,11 +200,6 @@ QStringList OwncloudAdvancedSetupPage::selectiveSyncBlacklist() const
return _selectiveSyncBlacklist;
}
bool OwncloudAdvancedSetupPage::isConfirmBigFolderChecked() const
{
return _ui.rSyncEverything->isChecked() && _ui.confCheckBoxSize->isChecked();
}
bool OwncloudAdvancedSetupPage::validatePage()
{
if(!_created) {
@@ -228,13 +208,6 @@ bool OwncloudAdvancedSetupPage::validatePage()
startSpinner();
emit completeChanged();
if (_ui.rSyncEverything->isChecked()) {
ConfigFile cfgFile;
cfgFile.setNewBigFolderSizeLimit(_ui.confCheckBoxSize->isChecked(),
_ui.confSpinBox->value());
cfgFile.setConfirmExternalStorage(_ui.confCheckBoxExternal->isChecked());
}
emit createLocalAndRemoteFolders(localFolder(), _remoteFolder);
return false;
} else {
-1
Ver Arquivo
@@ -41,7 +41,6 @@ public:
bool validatePage() Q_DECL_OVERRIDE;
QString localFolder() const;
QStringList selectiveSyncBlacklist() const;
bool isConfirmBigFolderChecked() const;
void setRemoteFolder( const QString& remoteFolder);
void setMultipleFoldersExist( bool exist );
void directoriesCreated();
+7 -133
Ver Arquivo
@@ -6,12 +6,12 @@
<rect>
<x>0</x>
<y>0</y>
<width>912</width>
<height>633</height>
<width>917</width>
<height>493</height>
</rect>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Maximum">
<sizepolicy hsizetype="Preferred" vsizetype="Maximum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
@@ -226,14 +226,11 @@
<item row="0" column="1" colspan="2">
<widget class="QWidget" name="widget" native="true">
<layout class="QVBoxLayout" name="verticalLayout">
<property name="leftMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<property name="spacing">
<number>0</number>
</property>
<item>
<widget class="QRadioButton" name="rSyncEverything">
<property name="text">
@@ -266,64 +263,6 @@
</item>
</layout>
</item>
<item>
<layout class="QGridLayout" name="gridLayout_2">
<property name="horizontalSpacing">
<number>0</number>
</property>
<item row="0" column="0">
<spacer name="horizontalSpacer_4">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Minimum</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>10</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="0" column="1">
<layout class="QHBoxLayout" name="horizontalLayout_3">
<item>
<widget class="QCheckBox" name="confCheckBoxSize">
<property name="text">
<string>Ask for confirmation before synchroni&amp;zing folders larger than</string>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="confSpinBox">
<property name="maximum">
<number>999999</number>
</property>
<property name="value">
<number>99</number>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="confTraillingSizeLabel">
<property name="text">
<string extracomment="Trailing part of &quot;Ask confirmation before syncing folder larger than&quot; ">MB</string>
</property>
</widget>
</item>
</layout>
</item>
<item row="1" column="1">
<widget class="QCheckBox" name="confCheckBoxExternal">
<property name="text">
<string>Ask for confirmation before synchronizing e&amp;xternal storages</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
@@ -406,70 +345,5 @@
</layout>
</widget>
<resources/>
<connections>
<connection>
<sender>rSyncEverything</sender>
<signal>toggled(bool)</signal>
<receiver>confCheckBoxSize</receiver>
<slot>setEnabled(bool)</slot>
<hints>
<hint type="sourcelabel">
<x>217</x>
<y>78</y>
</hint>
<hint type="destinationlabel">
<x>298</x>
<y>126</y>
</hint>
</hints>
</connection>
<connection>
<sender>rSyncEverything</sender>
<signal>toggled(bool)</signal>
<receiver>confSpinBox</receiver>
<slot>setEnabled(bool)</slot>
<hints>
<hint type="sourcelabel">
<x>311</x>
<y>83</y>
</hint>
<hint type="destinationlabel">
<x>952</x>
<y>134</y>
</hint>
</hints>
</connection>
<connection>
<sender>rSyncEverything</sender>
<signal>toggled(bool)</signal>
<receiver>confTraillingSizeLabel</receiver>
<slot>setEnabled(bool)</slot>
<hints>
<hint type="sourcelabel">
<x>277</x>
<y>76</y>
</hint>
<hint type="destinationlabel">
<x>1076</x>
<y>136</y>
</hint>
</hints>
</connection>
<connection>
<sender>rSyncEverything</sender>
<signal>toggled(bool)</signal>
<receiver>confCheckBoxExternal</receiver>
<slot>setEnabled(bool)</slot>
<hints>
<hint type="sourcelabel">
<x>181</x>
<y>78</y>
</hint>
<hint type="destinationlabel">
<x>382</x>
<y>174</y>
</hint>
</hints>
</connection>
</connections>
<connections/>
</ui>
+4 -7
Ver Arquivo
@@ -6,8 +6,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>506</width>
<height>515</height>
<width>602</width>
<height>193</height>
</rect>
</property>
<property name="sizePolicy">
@@ -80,7 +80,7 @@
<item>
<widget class="QLabel" name="label_2">
<property name="text">
<string>Ser&amp;ver Address</string>
<string>Server &amp;Address</string>
</property>
<property name="buddy">
<cstring>leUrl</cstring>
@@ -166,13 +166,10 @@
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::MinimumExpanding</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>200</height>
<height>40</height>
</size>
</property>
</spacer>
+1 -4
Ver Arquivo
@@ -86,6 +86,7 @@ OwncloudWizard::OwncloudWizard(QWidget *parent)
setTitleFormat(Qt::RichText);
setSubTitleFormat(Qt::RichText);
setButtonText(QWizard::CustomButton1, tr("Skip folders configuration"));
}
void OwncloudWizard::setAccount(AccountPtr account)
@@ -108,10 +109,6 @@ QStringList OwncloudWizard::selectiveSyncBlacklist() const
return _advancedSetupPage->selectiveSyncBlacklist();
}
bool OwncloudWizard::isConfirmBigFolderChecked() const
{
return _advancedSetupPage->isConfirmBigFolderChecked();
}
QString OwncloudWizard::ocUrl() const
{
-1
Ver Arquivo
@@ -59,7 +59,6 @@ public:
QString ocUrl() const;
QString localFolder() const;
QStringList selectiveSyncBlacklist() const;
bool isConfirmBigFolderChecked() const;
void enableFinishOnResultWidget(bool enable);
+1
Ver Arquivo
@@ -57,6 +57,7 @@ set(libsync_SRCS
propagateremotedelete.cpp
propagateremotemove.cpp
propagateremotemkdir.cpp
propagatefiles.cpp
syncengine.cpp
syncfilestatus.cpp
syncfilestatustracker.cpp
+9
Ver Arquivo
@@ -116,6 +116,15 @@ bool Capabilities::chunkingNg() const
return _capabilities["dav"].toMap()["chunking"].toByteArray() >= "1.0";
}
bool Capabilities::scheduling() const
{
static const auto scheduling = qgetenv("OWNCLOUD_SCHEDULING");
if (scheduling == "0") return false;
if (scheduling == "1") return true;
return _capabilities["dav"].toMap()["scheduling"].toByteArray() >= "1.0";
}
bool Capabilities::chunkingParallelUploadDisabled() const
{
return _capabilities["dav"].toMap()["chunkingParallelUploadDisabled"].toBool();
+1
Ver Arquivo
@@ -41,6 +41,7 @@ public:
int sharePublicLinkExpireDateDays() const;
bool shareResharing() const;
bool chunkingNg() const;
bool scheduling() const;
/// disable parallel upload in chunking
bool chunkingParallelUploadDisabled() const;
+7 -11
Ver Arquivo
@@ -52,6 +52,7 @@ static const char updateCheckIntervalC[] = "updateCheckInterval";
static const char geometryC[] = "geometry";
static const char timeoutC[] = "timeout";
static const char chunkSizeC[] = "chunkSize";
static const char smallFileSizeC[] = "smallFileSize";
static const char proxyHostC[] = "Proxy/host";
static const char proxyTypeC[] = "Proxy/type";
@@ -67,7 +68,6 @@ static const char downloadLimitC[] = "BWLimit/downloadLimit";
static const char newBigFolderSizeLimitC[] = "newBigFolderSizeLimit";
static const char useNewBigFolderSizeLimitC[] = "useNewBigFolderSizeLimit";
static const char confirmExternalStorageC[] = "confirmExternalStorage";
static const char maxLogLinesC[] = "Logging/maxLogLines";
@@ -129,6 +129,12 @@ quint64 ConfigFile::chunkSize() const
return settings.value(QLatin1String(chunkSizeC), 10*1000*1000).toLongLong(); // default to 10 MB
}
quint64 ConfigFile::smallFileSize() const
{
QSettings settings(configFile(), QSettings::IniFormat);
return settings.value(QLatin1String(smallFileSizeC), 500*1000).toLongLong(); // default to 500 kB
}
void ConfigFile::setOptionalDesktopNotifications(bool show)
{
QSettings settings(configFile(), QSettings::IniFormat);
@@ -597,16 +603,6 @@ void ConfigFile::setNewBigFolderSizeLimit(bool isChecked, quint64 mbytes)
setValue(useNewBigFolderSizeLimitC, isChecked);
}
bool ConfigFile::confirmExternalStorage() const
{
return getValue(confirmExternalStorageC, QString(), true).toBool();
}
void ConfigFile::setConfirmExternalStorage(bool isChecked)
{
setValue(confirmExternalStorageC, isChecked);
}
bool ConfigFile::promptDeleteFiles() const
{
QSettings settings(configFile(), QSettings::IniFormat);
+1 -2
Ver Arquivo
@@ -105,8 +105,6 @@ public:
/** [checked, size in MB] **/
QPair<bool, quint64> newBigFolderSizeLimit() const;
void setNewBigFolderSizeLimit(bool isChecked, quint64 mbytes);
bool confirmExternalStorage() const;
void setConfirmExternalStorage(bool);
static bool setConfDir(const QString &value);
@@ -115,6 +113,7 @@ public:
int timeout() const;
quint64 chunkSize() const;
quint64 smallFileSize() const;
void saveGeometry(QWidget *w);
void restoreGeometry(QWidget *w);
+8 -37
Ver Arquivo
@@ -20,9 +20,6 @@
#include <QUrl>
#include "account.h"
#include <QFileInfo>
#include "theme.h"
#include <cstring>
namespace OCC {
@@ -84,32 +81,14 @@ int DiscoveryJob::isInSelectiveSyncBlackListCallback(void *data, const char *pat
return static_cast<DiscoveryJob*>(data)->isInSelectiveSyncBlackList(path);
}
bool DiscoveryJob::checkSelectiveSyncNewFolder(const QString& path, const char *remotePerm)
bool DiscoveryJob::checkSelectiveSyncNewFolder(const QString& path)
{
if (_syncOptions._confirmExternalStorage && std::strchr(remotePerm, 'M')) {
// 'M' in the permission means external storage.
/* Note: DiscoverySingleDirectoryJob::directoryListingIteratedSlot make sure that only the
* root of a mounted storage has 'M', all sub entries have 'm' */
// Only allow it if the white list contains exactly this path (not parents)
// We want to ask confirmation for external storage even if the parents where selected
if (_selectiveSyncWhiteList.contains(path + QLatin1Char('/'))) {
return false;
}
emit newBigFolder(path, true);
return true;
}
// If this path or the parent is in the white list, then we do not block this file
// If this path or the parent is in the white list, then we do not block this file
if (findPathInList(_selectiveSyncWhiteList, path)) {
return false;
}
auto limit = _syncOptions._newBigFolderSizeLimit;
if (limit < 0) {
if (_newBigFolderSizeLimit < 0) {
// no limit, everything is allowed;
return false;
}
@@ -123,9 +102,10 @@ bool DiscoveryJob::checkSelectiveSyncNewFolder(const QString& path, const char *
_vioWaitCondition.wait(&_vioMutex);
}
auto limit = _newBigFolderSizeLimit;
if (result >= limit) {
// we tell the UI there is a new folder
emit newBigFolder(path, false);
emit newBigFolder(path);
return true;
} else {
// it is not too big, put it in the white list (so we will not do more query for the children)
@@ -139,9 +119,9 @@ bool DiscoveryJob::checkSelectiveSyncNewFolder(const QString& path, const char *
}
}
int DiscoveryJob::checkSelectiveSyncNewFolderCallback(void *data, const char *path, const char *remotePerm)
int DiscoveryJob::checkSelectiveSyncNewFolderCallback(void *data, const char *path)
{
return static_cast<DiscoveryJob*>(data)->checkSelectiveSyncNewFolder(QString::fromUtf8(path), remotePerm);
return static_cast<DiscoveryJob*>(data)->checkSelectiveSyncNewFolder(QString::fromUtf8(path));
}
@@ -341,9 +321,7 @@ void DiscoverySingleDirectoryJob::directoryListingIteratedSlot(QString file, con
// The first entry is for the folder itself, we should process it differently.
_ignoredFirst = true;
if (map.contains("permissions")) {
auto perm = map.value("permissions");
emit firstDirectoryPermissions(perm);
_isExternalStorage = perm.contains(QLatin1Char('M'));
emit firstDirectoryPermissions(map.value("permissions"));
}
if (map.contains("data-fingerprint")) {
_dataFingerprint = map.value("data-fingerprint").toUtf8();
@@ -366,13 +344,6 @@ void DiscoverySingleDirectoryJob::directoryListingIteratedSlot(QString file, con
if (!file_stat->etag || strlen(file_stat->etag) == 0) {
qDebug() << "WARNING: etag of" << file_stat->name << "is" << file_stat->etag << " This must not happen.";
}
if (_isExternalStorage) {
/* All the entries in a external storage have 'M' in their permission. However, for all
purposes in the desktop client, we only need to know about the mount points.
So replace the 'M' by a 'm' for every sub entries in an external storage */
std::replace(std::begin(file_stat->remotePerm), std::end(file_stat->remotePerm),
'M', 'm');
}
QStringRef fileRef(&file);
int slashPos = file.lastIndexOf(QLatin1Char('/'));
+5 -16
Ver Arquivo
@@ -34,15 +34,6 @@ class Account;
* if the files are new, or changed.
*/
struct SyncOptions {
/** Maximum size (in Bytes) a folder can have without asking for confirmation.
* -1 means infinite */
qint64 _newBigFolderSizeLimit = -1;
/** If a confirmation should be asked for external storages */
bool _confirmExternalStorage = false;
};
/**
* @brief The FileStatPointer class
* @ingroup libsync
@@ -116,8 +107,6 @@ private:
bool _ignoredFirst;
// Set to true if this is the root path and we need to check the data-fingerprint
bool _isRootPath;
// If this directory is an external storage (The first item has 'M' in its permission)
bool _isExternalStorage = false;
QPointer<LsColJob> _lsColJob;
public:
@@ -187,8 +176,8 @@ class DiscoveryJob : public QObject {
*/
bool isInSelectiveSyncBlackList(const char* path) const;
static int isInSelectiveSyncBlackListCallback(void *, const char *);
bool checkSelectiveSyncNewFolder(const QString &path, const char *remotePerm);
static int checkSelectiveSyncNewFolderCallback(void* data, const char* path, const char* remotePerm);
bool checkSelectiveSyncNewFolder(const QString &path);
static int checkSelectiveSyncNewFolderCallback(void*, const char*);
// Just for progress
static void update_job_update_callback (bool local,
@@ -208,7 +197,7 @@ class DiscoveryJob : public QObject {
public:
explicit DiscoveryJob(CSYNC *ctx, QObject* parent = 0)
: QObject(parent), _csync_ctx(ctx) {
: QObject(parent), _csync_ctx(ctx), _newBigFolderSizeLimit(-1) {
// We need to forward the log property as csync uses thread local
// and updates run in another thread
_log_callback = csync_get_log_callback();
@@ -218,7 +207,7 @@ public:
QStringList _selectiveSyncBlackList;
QStringList _selectiveSyncWhiteList;
SyncOptions _syncOptions;
qint64 _newBigFolderSizeLimit;
Q_INVOKABLE void start();
signals:
void finished(int result);
@@ -229,7 +218,7 @@ signals:
void doGetSizeSignal(const QString &path, qint64 *result);
// A new folder was discovered and was not synced because of the confirmation feature
void newBigFolder(const QString &folder, bool isExternal);
void newBigFolder(const QString &folder);
};
}
+27
Ver Arquivo
@@ -312,6 +312,8 @@ void OwncloudPropagator::start(const SyncFileItemVector& items)
directories.push(qMakePair(QString(), _rootJob.data()));
QVector<PropagatorJob*> directoriesToRemove;
QString removedDirectory;
bool enableScheduledRequests = true;
PropagateFiles* filesJob = new PropagateFiles(this);
foreach(const SyncFileItemPtr &item, items) {
if (!removedDirectory.isEmpty() && item->_file.startsWith(removedDirectory)) {
@@ -388,6 +390,9 @@ void OwncloudPropagator::start(const SyncFileItemVector& items)
currentDirJob->append(dir);
}
directories.push(qMakePair(item->destination() + "/" , dir));
} else if (enableScheduledRequests
&& (item->_instruction == CSYNC_INSTRUCTION_NEW || item->_instruction == CSYNC_INSTRUCTION_SYNC)) {
filesJob->append(item);
} else if (PropagateItemJob* current = createJob(item)) {
if (item->_instruction == CSYNC_INSTRUCTION_TYPE_CHANGE) {
// will delete directories, so defer execution
@@ -399,10 +404,18 @@ void OwncloudPropagator::start(const SyncFileItemVector& items)
}
}
if (enableScheduledRequests && !filesJob->isEmpty()){
// This job has parallelism WaitForFinished to allow directoriesToRemove be last
_rootJob->append(filesJob);
} else {
delete filesJob;
}
foreach(PropagatorJob* it, directoriesToRemove) {
_rootJob->append(it);
}
connect(_rootJob.data(), SIGNAL(itemCompleted(const SyncFileItem &, const PropagatorJob &)),
this, SIGNAL(itemCompleted(const SyncFileItem &, const PropagatorJob &)));
connect(_rootJob.data(), SIGNAL(progress(const SyncFileItem &,quint64)), this, SIGNAL(progress(const SyncFileItem &,quint64)));
@@ -458,6 +471,20 @@ quint64 OwncloudPropagator::chunkSize()
return chunkSize;
}
quint64 OwncloudPropagator::smallFileSize()
{
// A small filesize item is a file whose transfer time
// typically will be lower than its bookkeeping time.
static uint smallFileSize;
if (!smallFileSize) {
smallFileSize = qgetenv("OWNCLOUD_SMALLFILE_SIZE").toUInt();
if (smallFileSize == 0) {
ConfigFile cfg;
smallFileSize = cfg.smallFileSize();
}
}
return smallFileSize;
}
bool OwncloudPropagator::localFileNameClash( const QString& relFile )
{
+105 -1
Ver Arquivo
@@ -262,7 +262,6 @@ public:
class OwncloudPropagator : public QObject {
Q_OBJECT
PropagateItemJob *createJob(const SyncFileItemPtr& item);
QScopedPointer<PropagateDirectory> _rootJob;
public:
@@ -327,6 +326,7 @@ public:
/** returns the size of chunks in bytes */
static quint64 chunkSize();
static quint64 smallFileSize();
AccountPtr account() const;
@@ -342,7 +342,11 @@ public:
*/
DiskSpaceResult diskSpaceCheck() const;
PropagateItemJob *createJob(const SyncFileItemPtr& item);
int runningAtRootJob(){
return _rootJob.data()->_runningNow;
}
private slots:
@@ -415,6 +419,106 @@ private slots:
void slotPollFinished();
};
/**
* @brief The PropagateFiles class is a container class.
*
* It will also ensure proper bandwidth utilization vs bookkeeping balance
*
* @ingroup libsync
*
* State Machine:
*
* _________________________________________________ ___________________________________________
* | | |
* | (Empty DB items queue and populated Data items queue?) |
* | | | |
* | Yes | | No |
* | | | |
* |<-----------[Schedule Data job] (Empty Data items queue and populated DB items queue?) |
* | | | |
* | No | | Yes |
* | | | |
* | | [Schedule DB job]--------------->|
* | | |
* | | |
* | (Populated Data items queue and populated DB items queue?) |
* | | | |
* | Yes | | No |
* | | | |
* | (Active running Data items number exceeded limit?) [Finish - no items] |
* | | | |
* | No | | Yes |
* | | | |
* <---[Schedule Data job] [Schedule DB job]------------------------------------------>
*
*
*/
class PropagateFiles : public PropagatorJob {
Q_OBJECT
public:
QVector<PropagatorJob *> _subJobs;
QVector<SyncFileItemPtr> _syncDBItems; // Items which bookkeeping on the server is longer then the transfer of its payload
QVector<SyncFileItemPtr> _syncDataItems; // Items which transfer of the payload is longer then bookkeeping on the server
int _jobsFinished; // number of jobs that have completed
SyncFileItem::Status _hasError; // NoStatus, or NormalError / SoftError if there was an error
int _firstUnfinishedSubJob;
int _totalItems;
int _activeDBJobsNow;
int _activeDataJobsNow;
explicit PropagateFiles(OwncloudPropagator *propagator)
: PropagatorJob(propagator)
, _jobsFinished(0), _hasError(SyncFileItem::NoStatus), _firstUnfinishedSubJob(0), _totalItems(0), _activeDBJobsNow(0), _activeDataJobsNow(0) { }
virtual ~PropagateFiles() {
qDeleteAll(_subJobs);
}
bool isEmpty() {
return _syncDBItems.isEmpty() && _syncDataItems.isEmpty();
}
void append(const SyncFileItemPtr &item);
virtual bool scheduleNextJob() Q_DECL_OVERRIDE;
bool scheduleNewJob(QVector<SyncFileItemPtr> &syncJobs);
bool scheduleNextItem();
virtual void abort() Q_DECL_OVERRIDE {
foreach (PropagatorJob *n, _subJobs)
n->abort();
}
void finalize();
qint64 committedDiskSpace() const Q_DECL_OVERRIDE;
JobParallelism parallelism() Q_DECL_OVERRIDE { return OCC::PropagatorJob::WaitForFinished; }
private slots:
bool possiblyRunNextJob(PropagatorJob *next) {
if (next->_state == NotYetStarted) {
connect(next, SIGNAL(finished(SyncFileItem::Status)), this, SLOT(slotSubJobFinished(SyncFileItem::Status)), Qt::QueuedConnection);
connect(next, SIGNAL(itemCompleted(const SyncFileItem &, const PropagatorJob &)),
this, SIGNAL(itemCompleted(const SyncFileItem &, const PropagatorJob &)));
connect(next, SIGNAL(progress(const SyncFileItem &,quint64)), this, SIGNAL(progress(const SyncFileItem &,quint64)));
connect(next, SIGNAL(ready()), this, SIGNAL(ready()));
PropagateItemJob *job = qobject_cast<PropagateItemJob *>(next);
if(job->_item->_size <= propagator()->smallFileSize()){
_activeDBJobsNow++;
} else {
_activeDataJobsNow++;
}
}
return next->scheduleNextJob();
}
void slotSubJobFinished(SyncFileItem::Status status);
};
}
#endif
+1 -1
Ver Arquivo
@@ -115,7 +115,7 @@ public:
qint64 committedDiskSpace() const Q_DECL_OVERRIDE;
// We think it might finish quickly because it is a small file.
bool isLikelyFinishedQuickly() Q_DECL_OVERRIDE { return _item->_size < 100*1024; }
bool isLikelyFinishedQuickly() Q_DECL_OVERRIDE { return _item->_size < propagator()->smallFileSize(); }
/**
* Whether an existing folder with the same name may be deleted before
+158
Ver Arquivo
@@ -0,0 +1,158 @@
/*
* Copyright (C) by Piotr Mrowczynski <piotr@owncloud.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* for more details.
*/
#include "owncloudpropagator.h"
namespace OCC {
qint64 PropagateFiles::committedDiskSpace() const
{
qint64 needed = 0;
foreach (PropagatorJob* job, _subJobs) {
needed += job->committedDiskSpace();
}
return needed;
}
void PropagateFiles::append(const SyncFileItemPtr &item)
{
_totalItems++;
if(item->_size <= propagator()->smallFileSize()){
_syncDBItems.append(item);
} else {
_syncDataItems.append(item);
}
}
bool PropagateFiles::scheduleNextJob()
{
if (_state == Finished) {
return false;
}
if (_state == NotYetStarted) {
_state = Running;
if (isEmpty()) {
finalize();
return true;
}
_subJobs.reserve(_totalItems);
}
if (_state == Running) {
// This will ensure that all other jobs in the earlier PropagateDirectory are finished, so we can start with data transfers
if (propagator()->runningAtRootJob() != 1){
return false;
}
}
// cache the value of first unfinished subjob
int i = _firstUnfinishedSubJob;
int subJobsCount = _subJobs.count();
while (i < subJobsCount && _subJobs.at(i)->_state == Finished) {
_firstUnfinishedSubJob = ++i;
}
for (int i = _firstUnfinishedSubJob; i < subJobsCount; ++i) {
if (_subJobs.at(i)->_state == Finished) {
continue;
}
if (possiblyRunNextJob(_subJobs.at(i))) {
return true;
}
Q_ASSERT(_subJobs.at(i)->_state == Running);
}
return scheduleNextItem();
}
bool PropagateFiles::scheduleNewJob(QVector<SyncFileItemPtr> &syncJobs){
// This function is used to schedule new job and lazily create job from sync items
Q_ASSERT(!syncJobs.isEmpty());
const SyncFileItemPtr &item = syncJobs.takeFirst();
PropagateItemJob* job = propagator()->createJob(item);
_subJobs.append(job);
return possiblyRunNextJob(job);
}
bool PropagateFiles::scheduleNextItem()
{
/// This function holds the whole bookkeeping/data-transfers balance logic
bool syncDBItemsEmpty = _syncDBItems.isEmpty();
bool syncDataItemsEmpty = _syncDataItems.isEmpty();
if (syncDBItemsEmpty && !syncDataItemsEmpty){
// There are no more DB jobs, ensure to maximally parallelise Data Transfers now
return scheduleNewJob(_syncDataItems);
} else if (!syncDBItemsEmpty && syncDataItemsEmpty){
// There are no more data transfer jobs, ensure to maximally parallelise DB jobs now
return scheduleNewJob(_syncDBItems);
} else if (!syncDBItemsEmpty && !syncDataItemsEmpty){
// Both queues have items, ensure bookkeeping and data transfer balance
if (_activeDataJobsNow < 2){
// By default, we have max 3 connections available for bigger files
// On the other hand, we have max 6 for isLikelyToFinishQuickly files (also small files)
// It makes sense to use 2 queues for bigger data transfers, and leave the remaining 1-4 for faster operations
return scheduleNewJob(_syncDataItems);
} else {
return scheduleNewJob(_syncDBItems);
}
}
// This means that we have no more file-items to sync -> finish
return false;
}
void PropagateFiles::slotSubJobFinished(SyncFileItem::Status status)
{
if (status == SyncFileItem::FatalError) {
abort();
_state = Finished;
emit finished(status);
return;
} else if (status == SyncFileItem::NormalError || status == SyncFileItem::SoftError) {
_hasError = status;
}
PropagateItemJob *job = qobject_cast<PropagateItemJob *>(sender());
if(job->_item->_size <= propagator()->smallFileSize()){
_activeDBJobsNow--;
} else {
_activeDataJobsNow--;
}
Q_ASSERT(job);
_jobsFinished++;
// We finished processing all the jobs
// check if we finished
if (_jobsFinished >= _totalItems) {
Q_ASSERT(!_activeDBJobsNow && !_activeDataJobsNow); // how can we be finished if there are still jobs running now
finalize();
} else {
emit ready();
}
}
void PropagateFiles::finalize()
{
_state = Finished;
emit finished(_hasError == SyncFileItem::NoStatus ? SyncFileItem::Success : _hasError);
}
}
+1 -1
Ver Arquivo
@@ -209,7 +209,7 @@ public:
void start() Q_DECL_OVERRIDE;
bool isLikelyFinishedQuickly() Q_DECL_OVERRIDE { return _item->_size < 100*1024; }
bool isLikelyFinishedQuickly() Q_DECL_OVERRIDE { return _item->_size < propagator()->smallFileSize(); }
private slots:
void slotComputeContentChecksum();
+4 -3
Ver Arquivo
@@ -71,6 +71,7 @@ SyncEngine::SyncEngine(AccountPtr account, const QString& localPath,
, _backInTimeFiles(0)
, _uploadLimit(0)
, _downloadLimit(0)
, _newBigFolderSizeLimit(-1)
, _checksum_hook(journal)
, _anotherSyncNeeded(NoFollowUpSync)
{
@@ -829,14 +830,14 @@ void SyncEngine::startSync()
return;
}
discoveryJob->_syncOptions = _syncOptions;
discoveryJob->_newBigFolderSizeLimit = _newBigFolderSizeLimit;
discoveryJob->moveToThread(&_thread);
connect(discoveryJob, SIGNAL(finished(int)), this, SLOT(slotDiscoveryJobFinished(int)));
connect(discoveryJob, SIGNAL(folderDiscovered(bool,QString)),
this, SIGNAL(folderDiscovered(bool,QString)));
connect(discoveryJob, SIGNAL(newBigFolder(QString,bool)),
this, SIGNAL(newBigFolder(QString,bool)));
connect(discoveryJob, SIGNAL(newBigFolder(QString)),
this, SIGNAL(newBigFolder(QString)));
// This is used for the DiscoveryJob to be able to request the main thread/
+7 -3
Ver Arquivo
@@ -78,7 +78,10 @@ public:
bool isSyncRunning() const { return _syncRunning; }
void setSyncOptions(const SyncOptions &options) { _syncOptions = options; }
/* Set the maximum size a folder can have without asking for confirmation
* -1 means infinite
*/
void setNewBigFolderSizeLimit(qint64 limit) { _newBigFolderSizeLimit = limit; }
bool ignoreHiddenFiles() const { return _csync_ctx->ignore_hidden_files; }
void setIgnoreHiddenFiles(bool ignore) { _csync_ctx->ignore_hidden_files = ignore; }
@@ -143,7 +146,7 @@ signals:
void aboutToRestoreBackup(bool *restore);
// A new folder was discovered and was not synced because of the confirmation feature
void newBigFolder(const QString &folder, bool isExternal);
void newBigFolder(const QString &folder);
/** Emitted when propagation has problems with a locked file.
*
@@ -254,7 +257,8 @@ private:
int _uploadLimit;
int _downloadLimit;
SyncOptions _syncOptions;
/* maximum size a folder can have without asking for confirmation: -1 means infinite */
qint64 _newBigFolderSizeLimit;
// hash containing the permissions on the remote directory
QHash<QString, QByteArray> _remotePerms;
+1 -12
Ver Arquivo
@@ -275,15 +275,6 @@ qint64 Theme::newBigFolderSizeLimit() const
return 500;
}
bool Theme::wizardHideExternalStorageConfirmationCheckbox() const
{
return false;
}
bool Theme::wizardHideFolderSizeLimitCheckbox() const
{
return false;
}
QString Theme::gitSHA1() const
{
@@ -421,7 +412,7 @@ QPixmap Theme::wizardHeaderBanner() const
if (!c.isValid())
return QPixmap();
QPixmap pix(QSize(750, 78));
QPixmap pix(QSize(600, 78));
pix.fill(wizardHeaderBackgroundColor());
return pix;
}
@@ -487,6 +478,4 @@ QString Theme::quotaBaseFolder() const
{
return QLatin1String("/");
}
} // end namespace client
-12
Ver Arquivo
@@ -219,17 +219,6 @@ public:
**/
virtual qint64 newBigFolderSizeLimit() const;
/**
* Hide the checkbox that says "Ask for confirmation before synchronizing folders larger than X MB"
* in the account wizard
*/
virtual bool wizardHideFolderSizeLimitCheckbox() const;
/**
* Hide the checkbox that says "Ask for confirmation before synchronizing external storages"
* in the account wizard
*/
virtual bool wizardHideExternalStorageConfirmationCheckbox() const;
/**
* Alternative path on the server that provides access to the webdav capabilities
*
@@ -313,7 +302,6 @@ public:
*/
virtual QString quotaBaseFolder() const;
protected:
#ifndef TOKEN_AUTH_ONLY
QIcon themeIcon(const QString& name, bool sysTray = false, bool sysTrayMenuVisible = false) const;
+6 -6
Ver Arquivo
@@ -2156,32 +2156,32 @@ No és aconsellada usar-la.</translation>
<context>
<name>OCC::PropagateUploadFileNG</name>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="362"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="365"/>
<source>Forcing job abort on HTTP connection reset with Qt &lt; 5.4.2.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="393"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="396"/>
<source>The local file was removed during sync.</source>
<translation>El fitxer local s&apos;ha eliminat durant la sincronització.</translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="404"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="407"/>
<source>Local file changed during sync.</source>
<translation>El fitxer local ha canviat durant la sincronització.</translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="453"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="456"/>
<source>Unexpected return code from server (%1)</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="460"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="463"/>
<source>Missing File ID from server</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="473"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="476"/>
<source>Missing ETag from server</source>
<translation type="unfinished"/>
</message>
+6 -6
Ver Arquivo
@@ -2158,32 +2158,32 @@ Nedoporučuje se jí používat.</translation>
<context>
<name>OCC::PropagateUploadFileNG</name>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="362"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="365"/>
<source>Forcing job abort on HTTP connection reset with Qt &lt; 5.4.2.</source>
<translation>Vynucené ukončení procesu při resetu HTTP připojení s Qt &lt; 5.4.2.</translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="393"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="396"/>
<source>The local file was removed during sync.</source>
<translation>Místní soubor byl odstraněn během synchronizace.</translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="404"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="407"/>
<source>Local file changed during sync.</source>
<translation>Místní soubor byl změněn během synchronizace.</translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="453"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="456"/>
<source>Unexpected return code from server (%1)</source>
<translation>Neočekávaný návratový kód ze serveru (%1)</translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="460"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="463"/>
<source>Missing File ID from server</source>
<translation>Chybějící souborové ID ze serveru</translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="473"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="476"/>
<source>Missing ETag from server</source>
<translation>Chybějící ETag ze serveru</translation>
</message>
+7 -7
Ver Arquivo
@@ -2156,32 +2156,32 @@ Es ist nicht ratsam, diese zu benutzen.</translation>
<context>
<name>OCC::PropagateUploadFileNG</name>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="362"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="365"/>
<source>Forcing job abort on HTTP connection reset with Qt &lt; 5.4.2.</source>
<translation>Auftragsabbruch beim Rücksetzen der HTTP-Verbindung mit QT &lt; 5.4.2 wird erzwungen.</translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="393"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="396"/>
<source>The local file was removed during sync.</source>
<translation>Die lokale Datei wurde während der Synchronisation gelöscht.</translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="404"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="407"/>
<source>Local file changed during sync.</source>
<translation>Eine lokale Datei wurde während der Synchronisation geändert.</translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="453"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="456"/>
<source>Unexpected return code from server (%1)</source>
<translation>Unerwarteter Rückgabe-Code Antwort vom Server (%1)</translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="460"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="463"/>
<source>Missing File ID from server</source>
<translation>Fehlende Datei-ID vom Server</translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="473"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="476"/>
<source>Missing ETag from server</source>
<translation>Fehlender ETag vom Server</translation>
</message>
@@ -3038,7 +3038,7 @@ Es ist nicht ratsam, diese zu benutzen.</translation>
<message>
<location filename="../src/libsync/syncengine.cpp" line="444"/>
<source>File names ending with a period are not supported on this file system.</source>
<translation>Dateinamen enden mit einem Periode, die in diesem Dateisystem nicht unterstützt wird.</translation>
<translation>Dateinamen enden mit einem Punkt, die in diesem Dateisystem nicht unterstützt wird.</translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="454"/>
+6 -6
Ver Arquivo
@@ -2156,32 +2156,32 @@ It is not advisable to use it.</source>
<context>
<name>OCC::PropagateUploadFileNG</name>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="362"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="365"/>
<source>Forcing job abort on HTTP connection reset with Qt &lt; 5.4.2.</source>
<translation>Εξαναγκασμός ακύρωσης εργασίας στην επαναφορά σύνδεσης HTTP με Qt &lt; 5.4.2</translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="393"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="396"/>
<source>The local file was removed during sync.</source>
<translation>Το τοπικό αρχείο αφαιρέθηκε κατά το συγχρονισμό.</translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="404"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="407"/>
<source>Local file changed during sync.</source>
<translation>Το τοπικό αρχείο τροποποιήθηκε κατά τον συγχρονισμό.</translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="453"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="456"/>
<source>Unexpected return code from server (%1)</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="460"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="463"/>
<source>Missing File ID from server</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="473"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="476"/>
<source>Missing ETag from server</source>
<translation type="unfinished"/>
</message>
+6 -6
Ver Arquivo
@@ -2181,32 +2181,32 @@ It is not advisable to use it.</source>
<context>
<name>OCC::PropagateUploadFileNG</name>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="362"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="365"/>
<source>Forcing job abort on HTTP connection reset with Qt &lt; 5.4.2.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="393"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="396"/>
<source>The local file was removed during sync.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="404"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="407"/>
<source>Local file changed during sync.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="453"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="456"/>
<source>Unexpected return code from server (%1)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="460"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="463"/>
<source>Missing File ID from server</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="473"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="476"/>
<source>Missing ETag from server</source>
<translation type="unfinished"></translation>
</message>
+6 -6
Ver Arquivo
@@ -2157,32 +2157,32 @@ No se recomienda usarla.</translation>
<context>
<name>OCC::PropagateUploadFileNG</name>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="362"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="365"/>
<source>Forcing job abort on HTTP connection reset with Qt &lt; 5.4.2.</source>
<translation>Forzar el trabajo en una conexión HTTP, causará un Reset si Qt&lt; 5.4.2.</translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="393"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="396"/>
<source>The local file was removed during sync.</source>
<translation>El archivo local ha sido eliminado durante la sincronización.</translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="404"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="407"/>
<source>Local file changed during sync.</source>
<translation>Un archivo local fue modificado durante la sincronización.</translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="453"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="456"/>
<source>Unexpected return code from server (%1)</source>
<translation>Respuesta inesperada del servidor (%1)</translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="460"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="463"/>
<source>Missing File ID from server</source>
<translation>Perdido archivo ID del servidor</translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="473"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="476"/>
<source>Missing ETag from server</source>
<translation>Perdido ETag del servidor</translation>
</message>
+6 -6
Ver Arquivo
@@ -2149,32 +2149,32 @@ It is not advisable to use it.</source>
<context>
<name>OCC::PropagateUploadFileNG</name>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="362"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="365"/>
<source>Forcing job abort on HTTP connection reset with Qt &lt; 5.4.2.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="393"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="396"/>
<source>The local file was removed during sync.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="404"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="407"/>
<source>Local file changed during sync.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="453"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="456"/>
<source>Unexpected return code from server (%1)</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="460"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="463"/>
<source>Missing File ID from server</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="473"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="476"/>
<source>Missing ETag from server</source>
<translation type="unfinished"/>
</message>
+6 -6
Ver Arquivo
@@ -2150,32 +2150,32 @@ Selle kasutamine pole soovitatav.</translation>
<context>
<name>OCC::PropagateUploadFileNG</name>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="362"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="365"/>
<source>Forcing job abort on HTTP connection reset with Qt &lt; 5.4.2.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="393"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="396"/>
<source>The local file was removed during sync.</source>
<translation>Kohalik fail on eemaldatud sünkroniseeringu käigus.</translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="404"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="407"/>
<source>Local file changed during sync.</source>
<translation>Kohalik fail muutus sünkroniseeringu käigus.</translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="453"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="456"/>
<source>Unexpected return code from server (%1)</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="460"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="463"/>
<source>Missing File ID from server</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="473"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="476"/>
<source>Missing ETag from server</source>
<translation type="unfinished"/>
</message>
+6 -6
Ver Arquivo
@@ -2152,32 +2152,32 @@ Ez da gomendagarria erabltzea.</translation>
<context>
<name>OCC::PropagateUploadFileNG</name>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="362"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="365"/>
<source>Forcing job abort on HTTP connection reset with Qt &lt; 5.4.2.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="393"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="396"/>
<source>The local file was removed during sync.</source>
<translation>Fitxategi lokala ezabatu da sinkronizazioan.</translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="404"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="407"/>
<source>Local file changed during sync.</source>
<translation>Fitxategi lokala aldatu da sinkronizazioan.</translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="453"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="456"/>
<source>Unexpected return code from server (%1)</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="460"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="463"/>
<source>Missing File ID from server</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="473"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="476"/>
<source>Missing ETag from server</source>
<translation type="unfinished"/>
</message>
+6 -6
Ver Arquivo
@@ -2149,32 +2149,32 @@ It is not advisable to use it.</source>
<context>
<name>OCC::PropagateUploadFileNG</name>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="362"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="365"/>
<source>Forcing job abort on HTTP connection reset with Qt &lt; 5.4.2.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="393"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="396"/>
<source>The local file was removed during sync.</source>
<translation>فایل محلی در حین همگامسازی حذف شده است.</translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="404"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="407"/>
<source>Local file changed during sync.</source>
<translation>فایل محلی در حین همگامسازی تغییر کرده است.</translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="453"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="456"/>
<source>Unexpected return code from server (%1)</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="460"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="463"/>
<source>Missing File ID from server</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="473"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="476"/>
<source>Missing ETag from server</source>
<translation type="unfinished"/>
</message>
+6 -6
Ver Arquivo
@@ -2153,32 +2153,32 @@ Osoitteen käyttäminen ei ole suositeltavaa.</translation>
<context>
<name>OCC::PropagateUploadFileNG</name>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="362"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="365"/>
<source>Forcing job abort on HTTP connection reset with Qt &lt; 5.4.2.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="393"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="396"/>
<source>The local file was removed during sync.</source>
<translation>Paikallinen tiedosto poistettiin synkronoinnin aikana.</translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="404"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="407"/>
<source>Local file changed during sync.</source>
<translation>Paikallinen tiedosto muuttui synkronoinnin aikana.</translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="453"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="456"/>
<source>Unexpected return code from server (%1)</source>
<translation>Odottamaton paluukoodi palvelimelta (%1)</translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="460"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="463"/>
<source>Missing File ID from server</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="473"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="476"/>
<source>Missing ETag from server</source>
<translation type="unfinished"/>
</message>
+10 -10
Ver Arquivo
@@ -751,7 +751,7 @@ Continuer la synchronisation comme d&apos;habitude fera en sorte que tous les fi
<message>
<location filename="../src/gui/folder.cpp" line="1022"/>
<source>Backup detected</source>
<translation>Sauvegarde détecté</translation>
<translation>Sauvegarde détectée</translation>
</message>
<message>
<location filename="../src/gui/folder.cpp" line="1024"/>
@@ -2158,32 +2158,32 @@ Il est déconseillé de l&apos;utiliser.</translation>
<context>
<name>OCC::PropagateUploadFileNG</name>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="362"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="365"/>
<source>Forcing job abort on HTTP connection reset with Qt &lt; 5.4.2.</source>
<translation>Arrêt forcé du job après réinitialisation de connexion HTTP avec Qt &lt; 5.4.2.</translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="393"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="396"/>
<source>The local file was removed during sync.</source>
<translation>Fichier local supprimé pendant la synchronisation.</translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="404"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="407"/>
<source>Local file changed during sync.</source>
<translation>Fichier local modifié pendant la synchronisation.</translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="453"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="456"/>
<source>Unexpected return code from server (%1)</source>
<translation>Le serveur a retourné un code inattendu (%1)</translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="460"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="463"/>
<source>Missing File ID from server</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="473"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="476"/>
<source>Missing ETag from server</source>
<translation type="unfinished"/>
</message>
@@ -3336,12 +3336,12 @@ Il est déconseillé de l&apos;utiliser.</translation>
<message>
<location filename="../src/gui/owncloudgui.cpp" line="619"/>
<source>Unpause all synchronization</source>
<translation>relancer toutes les synchronisations</translation>
<translation>Relancer toutes les synchronisations</translation>
</message>
<message>
<location filename="../src/gui/owncloudgui.cpp" line="621"/>
<source>Unpause synchronization</source>
<translation>relancer la synchronisation </translation>
<translation>Relancer la synchronisation</translation>
</message>
<message>
<location filename="../src/gui/owncloudgui.cpp" line="629"/>
@@ -3351,7 +3351,7 @@ Il est déconseillé de l&apos;utiliser.</translation>
<message>
<location filename="../src/gui/owncloudgui.cpp" line="631"/>
<source>Pause synchronization</source>
<translation>Mettre en pause la synchronisation </translation>
<translation>Mettre en pause la synchronisation </translation>
</message>
<message>
<location filename="../src/gui/owncloudgui.cpp" line="638"/>
+6 -6
Ver Arquivo
@@ -2152,32 +2152,32 @@ Recomendámoslle que non o use.</translation>
<context>
<name>OCC::PropagateUploadFileNG</name>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="362"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="365"/>
<source>Forcing job abort on HTTP connection reset with Qt &lt; 5.4.2.</source>
<translation>Forzando a interrupción do traballo na conexión HTTP reiniciandoa con Qt &lt;5.4.2.</translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="393"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="396"/>
<source>The local file was removed during sync.</source>
<translation>O ficheiro local retirarase durante a sincronización.</translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="404"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="407"/>
<source>Local file changed during sync.</source>
<translation>O ficheiro local cambiou durante a sincronización.</translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="453"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="456"/>
<source>Unexpected return code from server (%1)</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="460"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="463"/>
<source>Missing File ID from server</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="473"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="476"/>
<source>Missing ETag from server</source>
<translation type="unfinished"/>
</message>
+6 -6
Ver Arquivo
@@ -2149,32 +2149,32 @@ It is not advisable to use it.</source>
<context>
<name>OCC::PropagateUploadFileNG</name>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="362"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="365"/>
<source>Forcing job abort on HTTP connection reset with Qt &lt; 5.4.2.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="393"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="396"/>
<source>The local file was removed during sync.</source>
<translation>A helyi fájl el lett távolítva a szinkronizálás alatt.</translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="404"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="407"/>
<source>Local file changed during sync.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="453"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="456"/>
<source>Unexpected return code from server (%1)</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="460"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="463"/>
<source>Missing File ID from server</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="473"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="476"/>
<source>Missing ETag from server</source>
<translation type="unfinished"/>
</message>
+6 -6
Ver Arquivo
@@ -2157,32 +2157,32 @@ Non è consigliabile utilizzarlo.</translation>
<context>
<name>OCC::PropagateUploadFileNG</name>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="362"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="365"/>
<source>Forcing job abort on HTTP connection reset with Qt &lt; 5.4.2.</source>
<translation>Forzare l&apos;interruzione dell&apos;operazione in caso di ripristino della connessione HTTP con Qt &lt; 5.4.2.</translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="393"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="396"/>
<source>The local file was removed during sync.</source>
<translation>Il file locale è stato rimosso durante la sincronizzazione.</translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="404"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="407"/>
<source>Local file changed during sync.</source>
<translation>Un file locale è cambiato durante la sincronizzazione.</translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="453"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="456"/>
<source>Unexpected return code from server (%1)</source>
<translation>Codice di uscita inatteso dal server (%1)</translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="460"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="463"/>
<source>Missing File ID from server</source>
<translation>File ID mancante dal server</translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="473"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="476"/>
<source>Missing ETag from server</source>
<translation>ETag mancante dal server</translation>
</message>
+6 -6
Ver Arquivo
@@ -2154,32 +2154,32 @@ It is not advisable to use it.</source>
<context>
<name>OCC::PropagateUploadFileNG</name>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="362"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="365"/>
<source>Forcing job abort on HTTP connection reset with Qt &lt; 5.4.2.</source>
<translation>5.4.2 Qt HTTP </translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="393"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="396"/>
<source>The local file was removed during sync.</source>
<translation></translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="404"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="407"/>
<source>Local file changed during sync.</source>
<translation></translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="453"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="456"/>
<source>Unexpected return code from server (%1)</source>
<translation> (%1) </translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="460"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="463"/>
<source>Missing File ID from server</source>
<translation>IDの戻りがありません</translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="473"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="476"/>
<source>Missing ETag from server</source>
<translation>ETagの戻りがありません</translation>
</message>
+6 -6
Ver Arquivo
@@ -2158,32 +2158,32 @@ Det er ikke tilrådelig å bruke den.</translation>
<context>
<name>OCC::PropagateUploadFileNG</name>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="362"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="365"/>
<source>Forcing job abort on HTTP connection reset with Qt &lt; 5.4.2.</source>
<translation>Tvinger avbryting av jobb ved HTTP connection reset med Qt &lt; 5.4.2.</translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="393"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="396"/>
<source>The local file was removed during sync.</source>
<translation>Den lokale filen ble fjernet under synkronisering.</translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="404"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="407"/>
<source>Local file changed during sync.</source>
<translation>Lokal fil endret under synkronisering.</translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="453"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="456"/>
<source>Unexpected return code from server (%1)</source>
<translation>Uventet returkode fra serveren (%1)</translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="460"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="463"/>
<source>Missing File ID from server</source>
<translation>Mangler File ID fra server</translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="473"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="476"/>
<source>Missing ETag from server</source>
<translation>Mangler ETag fra server</translation>
</message>
+6 -6
Ver Arquivo
@@ -2163,32 +2163,32 @@ We adviseren deze site niet te gebruiken.</translation>
<context>
<name>OCC::PropagateUploadFileNG</name>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="362"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="365"/>
<source>Forcing job abort on HTTP connection reset with Qt &lt; 5.4.2.</source>
<translation>Forceren job-beëindiging op HTTP verbindingsreset met Qt &lt; 5.4.2.</translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="393"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="396"/>
<source>The local file was removed during sync.</source>
<translation>Het lokale bestand werd verwijderd tijdens sync.</translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="404"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="407"/>
<source>Local file changed during sync.</source>
<translation>Lokaal bestand gewijzigd bij sync.</translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="453"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="456"/>
<source>Unexpected return code from server (%1)</source>
<translation>Onverwachte reactie van server (%1)</translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="460"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="463"/>
<source>Missing File ID from server</source>
<translation>Ontbrekende File ID van de server</translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="473"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="476"/>
<source>Missing ETag from server</source>
<translation>Ontbrekende ETag van de server</translation>
</message>
+6 -6
Ver Arquivo
@@ -2156,32 +2156,32 @@ Niezalecane jest jego użycie.</translation>
<context>
<name>OCC::PropagateUploadFileNG</name>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="362"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="365"/>
<source>Forcing job abort on HTTP connection reset with Qt &lt; 5.4.2.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="393"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="396"/>
<source>The local file was removed during sync.</source>
<translation>Pliki lokalny został usunięty podczas synchronizacji.</translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="404"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="407"/>
<source>Local file changed during sync.</source>
<translation>Lokalny plik zmienił się podczas synchronizacji.</translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="453"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="456"/>
<source>Unexpected return code from server (%1)</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="460"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="463"/>
<source>Missing File ID from server</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="473"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="476"/>
<source>Missing ETag from server</source>
<translation type="unfinished"/>
</message>
+6 -6
Ver Arquivo
@@ -2156,32 +2156,32 @@ Não é aconselhada a sua utilização.</translation>
<context>
<name>OCC::PropagateUploadFileNG</name>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="362"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="365"/>
<source>Forcing job abort on HTTP connection reset with Qt &lt; 5.4.2.</source>
<translation>A forçar aborto no trabalho de redefinição de conexão HTTP com Qt &lt; 5.4.3</translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="393"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="396"/>
<source>The local file was removed during sync.</source>
<translation>O arquivo local foi removido durante a sincronização.</translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="404"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="407"/>
<source>Local file changed during sync.</source>
<translation>Ficheiro local alterado durante a sincronização.</translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="453"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="456"/>
<source>Unexpected return code from server (%1)</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="460"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="463"/>
<source>Missing File ID from server</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="473"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="476"/>
<source>Missing ETag from server</source>
<translation type="unfinished"/>
</message>
+6 -6
Ver Arquivo
@@ -2157,32 +2157,32 @@ It is not advisable to use it.</source>
<context>
<name>OCC::PropagateUploadFileNG</name>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="362"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="365"/>
<source>Forcing job abort on HTTP connection reset with Qt &lt; 5.4.2.</source>
<translation>Forçando cancelamento do trabalho em redefinição de conexão HTTP com o Qt &lt; 5.4.2.</translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="393"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="396"/>
<source>The local file was removed during sync.</source>
<translation>O arquivo local foi removido durante a sincronização.</translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="404"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="407"/>
<source>Local file changed during sync.</source>
<translation>Arquivo local modificado durante a sincronização.</translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="453"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="456"/>
<source>Unexpected return code from server (%1)</source>
<translation>Código de retorno inesperado do servidor (%1)</translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="460"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="463"/>
<source>Missing File ID from server</source>
<translation>Falta ID do arquivo do servidor</translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="473"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="476"/>
<source>Missing ETag from server</source>
<translation>Falta ETag do servidor</translation>
</message>
+6 -6
Ver Arquivo
@@ -2155,32 +2155,32 @@ It is not advisable to use it.</source>
<context>
<name>OCC::PropagateUploadFileNG</name>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="362"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="365"/>
<source>Forcing job abort on HTTP connection reset with Qt &lt; 5.4.2.</source>
<translation>Принудительная остановка задачи при сбросе HTTP подключения для Qt &lt; 5.4.2.</translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="393"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="396"/>
<source>The local file was removed during sync.</source>
<translation>Локальный файл был удалён в процессе синхронизации.</translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="404"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="407"/>
<source>Local file changed during sync.</source>
<translation>Локальный файл изменился в процессе синхронизации.</translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="453"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="456"/>
<source>Unexpected return code from server (%1)</source>
<translation>Неожиданный код завершения от сервера (%1)</translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="460"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="463"/>
<source>Missing File ID from server</source>
<translation>Отсутствует код файла от сервера</translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="473"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="476"/>
<source>Missing ETag from server</source>
<translation>Отсутствует ETag с сервера</translation>
</message>
+6 -6
Ver Arquivo
@@ -2154,32 +2154,32 @@ Nie je vhodné ju používať.</translation>
<context>
<name>OCC::PropagateUploadFileNG</name>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="362"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="365"/>
<source>Forcing job abort on HTTP connection reset with Qt &lt; 5.4.2.</source>
<translation>Vynútené ukončenie procesu pri resete HTTP pripojení s Qt &lt; 5.4.2.</translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="393"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="396"/>
<source>The local file was removed during sync.</source>
<translation>Lokálny súbor bol odstránený počas synchronizácie.</translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="404"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="407"/>
<source>Local file changed during sync.</source>
<translation>Lokálny súbor bol zmenený počas synchronizácie.</translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="453"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="456"/>
<source>Unexpected return code from server (%1)</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="460"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="463"/>
<source>Missing File ID from server</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="473"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="476"/>
<source>Missing ETag from server</source>
<translation type="unfinished"/>
</message>
+6 -6
Ver Arquivo
@@ -2158,32 +2158,32 @@ Uporaba ni priporočljiva.</translation>
<context>
<name>OCC::PropagateUploadFileNG</name>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="362"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="365"/>
<source>Forcing job abort on HTTP connection reset with Qt &lt; 5.4.2.</source>
<translation>Vsiljevanje prekinitve posla na prekinitvi povezave HTTP s Qt &lt; 5.4.2.</translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="393"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="396"/>
<source>The local file was removed during sync.</source>
<translation>Krajevna datoteka je bila med usklajevanjem odstranjena.</translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="404"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="407"/>
<source>Local file changed during sync.</source>
<translation>Krajevna datoteka je bila med usklajevanjem spremenjena.</translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="453"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="456"/>
<source>Unexpected return code from server (%1)</source>
<translation>Napaka: nepričakovan odziv s strežnika (%1).</translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="460"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="463"/>
<source>Missing File ID from server</source>
<translation>Na strežniku manjka ID datoteke</translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="473"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="476"/>
<source>Missing ETag from server</source>
<translation>Na strežniku manjka ETag datoteke</translation>
</message>
+6 -6
Ver Arquivo
@@ -2151,32 +2151,32 @@ It is not advisable to use it.</source>
<context>
<name>OCC::PropagateUploadFileNG</name>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="362"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="365"/>
<source>Forcing job abort on HTTP connection reset with Qt &lt; 5.4.2.</source>
<translation>Присили прекид посла код прекида ХТТП везе са КуТ &lt; 5.4.2</translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="393"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="396"/>
<source>The local file was removed during sync.</source>
<translation>Локални фајл је уклоњен током синхронизације.</translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="404"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="407"/>
<source>Local file changed during sync.</source>
<translation>Локални фајл измењен током синхронизације.</translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="453"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="456"/>
<source>Unexpected return code from server (%1)</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="460"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="463"/>
<source>Missing File ID from server</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="473"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="476"/>
<source>Missing ETag from server</source>
<translation type="unfinished"/>
</message>
+6 -6
Ver Arquivo
@@ -2158,32 +2158,32 @@ Det är inte lämpligt använda den.</translation>
<context>
<name>OCC::PropagateUploadFileNG</name>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="362"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="365"/>
<source>Forcing job abort on HTTP connection reset with Qt &lt; 5.4.2.</source>
<translation>Tvinga jobbavbryt vid återställning av HTTP-anslutning med Qt &lt; 5.4.2.</translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="393"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="396"/>
<source>The local file was removed during sync.</source>
<translation>Den lokala filen togs bort under synkronisering.</translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="404"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="407"/>
<source>Local file changed during sync.</source>
<translation>Lokal fil ändrades under synk.</translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="453"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="456"/>
<source>Unexpected return code from server (%1)</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="460"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="463"/>
<source>Missing File ID from server</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="473"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="476"/>
<source>Missing ETag from server</source>
<translation type="unfinished"/>
</message>
+9 -9
Ver Arquivo
@@ -2158,32 +2158,32 @@ It is not advisable to use it.</source>
<context>
<name>OCC::PropagateUploadFileNG</name>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="362"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="365"/>
<source>Forcing job abort on HTTP connection reset with Qt &lt; 5.4.2.</source>
<translation> HTTP Qt &lt; 5.4.2</translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="393"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="396"/>
<source>The local file was removed during sync.</source>
<translation></translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="404"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="407"/>
<source>Local file changed during sync.</source>
<translation></translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="453"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="456"/>
<source>Unexpected return code from server (%1)</source>
<translation> (%1)</translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="460"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="463"/>
<source>Missing File ID from server</source>
<translation></translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="473"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="476"/>
<source>Missing ETag from server</source>
<translation>ETag </translation>
</message>
@@ -3038,17 +3038,17 @@ It is not advisable to use it.</source>
<message>
<location filename="../src/libsync/syncengine.cpp" line="444"/>
<source>File names ending with a period are not supported on this file system.</source>
<translation type="unfinished"/>
<translation> </translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="454"/>
<source>File names containing the character &apos;%1&apos; are not supported on this file system.</source>
<translation type="unfinished"/>
<translation> &apos;%1&apos; </translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="457"/>
<source>The file name is a reserved name on this file system.</source>
<translation type="unfinished"/>
<translation></translation>
</message>
<message>
<location filename="../src/libsync/syncengine.cpp" line="462"/>
+6 -6
Ver Arquivo
@@ -2155,32 +2155,32 @@ Kullanmanız önerilmez.</translation>
<context>
<name>OCC::PropagateUploadFileNG</name>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="362"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="365"/>
<source>Forcing job abort on HTTP connection reset with Qt &lt; 5.4.2.</source>
<translation>Qt &lt; 5.4.2 ile HTTP bağlantı sıfırlamasında görev iptali zorlanıyor.</translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="393"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="396"/>
<source>The local file was removed during sync.</source>
<translation>Eşitleme sırasında yerel dosya kaldırıldı.</translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="404"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="407"/>
<source>Local file changed during sync.</source>
<translation>Eşitleme sırasında yerel dosya değişti.</translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="453"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="456"/>
<source>Unexpected return code from server (%1)</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="460"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="463"/>
<source>Missing File ID from server</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="473"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="476"/>
<source>Missing ETag from server</source>
<translation type="unfinished"/>
</message>
+6 -6
Ver Arquivo
@@ -2150,32 +2150,32 @@ It is not advisable to use it.</source>
<context>
<name>OCC::PropagateUploadFileNG</name>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="362"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="365"/>
<source>Forcing job abort on HTTP connection reset with Qt &lt; 5.4.2.</source>
<translation>Примусове припинення завдання при скиданні HTTP зєднання з Qt &lt; 5.4.2.</translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="393"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="396"/>
<source>The local file was removed during sync.</source>
<translation>Локальний файл було видалено під час синхронізації.</translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="404"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="407"/>
<source>Local file changed during sync.</source>
<translation>Локальний файл змінився під час синхронізації.</translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="453"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="456"/>
<source>Unexpected return code from server (%1)</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="460"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="463"/>
<source>Missing File ID from server</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="473"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="476"/>
<source>Missing ETag from server</source>
<translation type="unfinished"/>
</message>
+6 -6
Ver Arquivo
@@ -2155,32 +2155,32 @@ It is not advisable to use it.</source>
<context>
<name>OCC::PropagateUploadFileNG</name>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="362"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="365"/>
<source>Forcing job abort on HTTP connection reset with Qt &lt; 5.4.2.</source>
<translation>Qt &lt; 5.4.2 </translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="393"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="396"/>
<source>The local file was removed during sync.</source>
<translation></translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="404"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="407"/>
<source>Local file changed during sync.</source>
<translation></translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="453"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="456"/>
<source>Unexpected return code from server (%1)</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="460"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="463"/>
<source>Missing File ID from server</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="473"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="476"/>
<source>Missing ETag from server</source>
<translation type="unfinished"/>
</message>
+6 -6
Ver Arquivo
@@ -2156,32 +2156,32 @@ It is not advisable to use it.</source>
<context>
<name>OCC::PropagateUploadFileNG</name>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="362"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="365"/>
<source>Forcing job abort on HTTP connection reset with Qt &lt; 5.4.2.</source>
<translation>HTTP連線工作被強制中斷Qt版本&lt; 5.4.2</translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="393"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="396"/>
<source>The local file was removed during sync.</source>
<translation></translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="404"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="407"/>
<source>Local file changed during sync.</source>
<translation></translation>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="453"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="456"/>
<source>Unexpected return code from server (%1)</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="460"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="463"/>
<source>Missing File ID from server</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../src/libsync/propagateuploadng.cpp" line="473"/>
<location filename="../src/libsync/propagateuploadng.cpp" line="476"/>
<source>Missing ETag from server</source>
<translation type="unfinished"/>
</message>