mirror of
https://github.com/nextcloud/desktop.git
synced 2025-10-26 11:17:43 +00:00
Go offline when server is in maintenance.
This commit is contained in:
parent
d3c55c2b7c
commit
45c82a2746
@ -935,6 +935,10 @@ void Application::computeOverallSyncStatus()
|
||||
folderMessage = tr( "Sync is running." );
|
||||
overallResult.setStatus( SyncResult::SyncRunning );
|
||||
break;
|
||||
case SyncResult::Unavailable:
|
||||
folderMessage = tr( "Server is currently not available." );
|
||||
overallResult.setStatus( SyncResult::Unavailable );
|
||||
break;
|
||||
case SyncResult::Success:
|
||||
if( overallResult.status() == SyncResult::Undefined ) {
|
||||
folderMessage = tr( "Last Sync was successful." );
|
||||
|
||||
@ -345,7 +345,10 @@ void CSyncThread::startSync()
|
||||
const char *errMsg = csync_get_error_string( csync );
|
||||
QString errStr = csyncErrorToString(err, errMsg);
|
||||
qDebug() << " #### ERROR csync_update: " << errStr;
|
||||
emit csyncError(errStr);
|
||||
if (err == CSYNC_ERR_SERVICE_UNAVAILABLE)
|
||||
emit csyncUnavailable();
|
||||
else
|
||||
emit csyncError(errStr);
|
||||
goto cleanup;
|
||||
}
|
||||
qDebug() << "<<#### Update end ###########################################################";
|
||||
@ -375,7 +378,10 @@ void CSyncThread::startSync()
|
||||
const char *errMsg = csync_get_error_string( csync );
|
||||
QString errStr = csyncErrorToString(err, errMsg);
|
||||
qDebug() << " #### ERROR csync_propagate: " << errStr;
|
||||
emit csyncError(errStr);
|
||||
if (err == CSYNC_ERR_SERVICE_UNAVAILABLE)
|
||||
emit csyncUnavailable();
|
||||
else
|
||||
emit csyncError(errStr);
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
|
||||
@ -51,6 +51,7 @@ signals:
|
||||
void fileRemoved( const QString& );
|
||||
void csyncError( const QString& );
|
||||
void csyncWarning( const QString& );
|
||||
void csyncUnavailable();
|
||||
void treeWalkResult(const SyncFileItemVector&);
|
||||
|
||||
void csyncStateDbFile( const QString& );
|
||||
|
||||
@ -63,6 +63,9 @@ void FileItemDialog::setSyncResult( const SyncResult& result )
|
||||
case SyncResult::NotYetStarted:
|
||||
folderMessage = tr( "The folder waits to start syncing." );
|
||||
break;
|
||||
case SyncResult::Unavailable:
|
||||
folderMessage = tr( "Server is currently not available." );
|
||||
break;
|
||||
case SyncResult::SyncRunning:
|
||||
folderMessage = tr("Sync is running.");
|
||||
break;
|
||||
|
||||
@ -58,6 +58,7 @@ ownCloudFolder::ownCloudFolder(const QString &alias,
|
||||
, _thread(0)
|
||||
, _csync(0)
|
||||
, _csyncError(false)
|
||||
, _csyncUnavail(false)
|
||||
, _wipeDb(false)
|
||||
{
|
||||
_notifier = new DownloadNotifier(QDir::fromNativeSeparators(path),
|
||||
@ -114,6 +115,7 @@ void ownCloudFolder::startSync(const QStringList &pathList)
|
||||
delete _thread;
|
||||
_errors.clear();
|
||||
_csyncError = false;
|
||||
_csyncUnavail = false;
|
||||
_wipeDb = false;
|
||||
|
||||
MirallConfigFile cfgFile;
|
||||
@ -145,6 +147,7 @@ void ownCloudFolder::startSync(const QStringList &pathList)
|
||||
connect(_csync, SIGNAL(started()), SLOT(slotCSyncStarted()), Qt::QueuedConnection);
|
||||
connect(_csync, SIGNAL(finished()), SLOT(slotCSyncFinished()), Qt::QueuedConnection);
|
||||
connect(_csync, SIGNAL(csyncError(QString)), SLOT(slotCSyncError(QString)), Qt::QueuedConnection);
|
||||
connect(_csync, SIGNAL(csyncUnavailable()), SLOT(slotCsyncUnavailable()), Qt::QueuedConnection);
|
||||
connect(_csync, SIGNAL(fileReceived(QString)),
|
||||
_notifier, SLOT(slotFileReceived(QString)), Qt::QueuedConnection);
|
||||
|
||||
@ -165,6 +168,11 @@ void ownCloudFolder::slotCSyncError(const QString& err)
|
||||
_csyncError = true;
|
||||
}
|
||||
|
||||
void ownCloudFolder::slotCsyncUnavailable()
|
||||
{
|
||||
_csyncUnavail = true;
|
||||
}
|
||||
|
||||
void ownCloudFolder::slotCSyncFinished()
|
||||
{
|
||||
qDebug() << "-> CSync Finished slot with error " << _csyncError;
|
||||
@ -176,6 +184,8 @@ void ownCloudFolder::slotCSyncFinished()
|
||||
_syncResult.setErrorStrings( _errors );
|
||||
qDebug() << " * owncloud csync thread finished with error";
|
||||
if( _wipeDb ) wipe();
|
||||
} else if (_csyncUnavail) {
|
||||
_syncResult.setStatus(SyncResult::Unavailable);
|
||||
} else {
|
||||
_syncResult.setStatus(SyncResult::Success);
|
||||
}
|
||||
|
||||
@ -90,6 +90,7 @@ protected slots:
|
||||
private slots:
|
||||
void slotCSyncStarted();
|
||||
void slotCSyncError(const QString& );
|
||||
void slotCsyncUnavailable();
|
||||
void slotCSyncFinished();
|
||||
|
||||
private:
|
||||
@ -99,6 +100,7 @@ private:
|
||||
CSyncThread *_csync;
|
||||
QStringList _errors;
|
||||
bool _csyncError;
|
||||
bool _csyncUnavail;
|
||||
bool _wipeDb;
|
||||
SyncFileItemVector _items;
|
||||
};
|
||||
|
||||
@ -81,9 +81,8 @@ QIcon ownCloudTheme::syncStateIcon( SyncResult::Status status, bool sysTray ) co
|
||||
|
||||
switch( status ) {
|
||||
case SyncResult::Undefined:
|
||||
statusIcon = QLatin1String("state-offline");
|
||||
break;
|
||||
case SyncResult::NotYetStarted:
|
||||
case SyncResult::Unavailable:
|
||||
statusIcon = QLatin1String("state-offline");
|
||||
break;
|
||||
case SyncResult::SyncRunning:
|
||||
@ -93,11 +92,7 @@ QIcon ownCloudTheme::syncStateIcon( SyncResult::Status status, bool sysTray ) co
|
||||
statusIcon = QLatin1String("state-ok");
|
||||
break;
|
||||
case SyncResult::Error:
|
||||
statusIcon = QLatin1String("state-error");
|
||||
break;
|
||||
case SyncResult::SetupError:
|
||||
statusIcon = QLatin1String("state-error");
|
||||
break;
|
||||
default:
|
||||
statusIcon = QLatin1String("state-error");
|
||||
}
|
||||
|
||||
@ -34,7 +34,8 @@ public:
|
||||
SyncRunning,
|
||||
Success,
|
||||
Error,
|
||||
SetupError
|
||||
SetupError,
|
||||
Unavailable
|
||||
};
|
||||
|
||||
SyncResult();
|
||||
|
||||
Loading…
Reference in New Issue
Block a user