[Pkg-owncloud-commits] [owncloud-client] 143/333: remove Progress::SyncProblem and the problem slots
Sandro Knauß
hefee-guest at moszumanska.debian.org
Thu Apr 17 23:16:45 UTC 2014
This is an automated email from the git hooks/post-receive script.
hefee-guest pushed a commit to branch master
in repository owncloud-client.
commit 9053662fe896f8c1c35e28f77e5e3747ef184c75
Author: Olivier Goffart <ogoffart at woboq.com>
Date: Fri Mar 14 17:18:26 2014 +0100
remove Progress::SyncProblem and the problem slots
They are merged into normal progress
---
src/mirall/accountsettings.cpp | 19 ++++------
src/mirall/accountsettings.h | 1 -
src/mirall/application.cpp | 1 -
src/mirall/csyncthread.cpp | 22 ------------
src/mirall/csyncthread.h | 2 --
src/mirall/folder.cpp | 31 ++++-------------
src/mirall/folder.h | 1 -
src/mirall/owncloudgui.cpp | 19 ++++------
src/mirall/owncloudgui.h | 1 -
src/mirall/owncloudpropagator.h | 2 +-
src/mirall/progressdispatcher.cpp | 22 ++++--------
src/mirall/progressdispatcher.h | 15 +-------
src/mirall/protocolwidget.cpp | 73 ++++++++++++++-------------------------
src/mirall/protocolwidget.h | 2 --
src/mirall/settingsdialog.cpp | 2 --
15 files changed, 54 insertions(+), 159 deletions(-)
diff --git a/src/mirall/accountsettings.cpp b/src/mirall/accountsettings.cpp
index 1762896..bc8a9b4 100644
--- a/src/mirall/accountsettings.cpp
+++ b/src/mirall/accountsettings.cpp
@@ -540,23 +540,18 @@ QString AccountSettings::shortenFilename( const QString& folder, const QString&
return shortFile;
}
-void AccountSettings::slotProgressProblem(const QString& folder, const Progress::SyncProblem& problem)
-{
- Q_UNUSED(problem);
-
- QStandardItem *item = itemForFolder( folder );
- if( !item ) return;
-
- int warnCount = qvariant_cast<int>( item->data(FolderStatusDelegate::WarningCount) );
- warnCount++;
- item->setData( QVariant(warnCount), FolderStatusDelegate::WarningCount );
-}
-
void AccountSettings::slotSetProgress(const QString& folder, const Progress::Info &progress )
{
QStandardItem *item = itemForFolder( folder );
if( !item ) return;
+ if(!progress._lastCompletedItem.isEmpty()
+ && Progress::isWarningKind(progress._lastCompletedItem._status)) {
+ int warnCount = item->data(FolderStatusDelegate::WarningCount).toInt();
+ warnCount++;
+ item->setData( QVariant(warnCount), FolderStatusDelegate::WarningCount );
+ }
+
// find the single item to display: This is going to be the bigger item, or the last completed
// item if no items are in progress.
SyncFileItem curItem = progress._lastCompletedItem;
diff --git a/src/mirall/accountsettings.h b/src/mirall/accountsettings.h
index f29752f..2950d3b 100644
--- a/src/mirall/accountsettings.h
+++ b/src/mirall/accountsettings.h
@@ -63,7 +63,6 @@ public slots:
void slotDoubleClicked( const QModelIndex& );
void slotFolderOpenAction( const QString& );
void slotSetProgress(const QString& folder, const Progress::Info& progress);
- void slotProgressProblem(const QString& folder, const Progress::SyncProblem& problem);
void slotButtonsSetEnabled();
void slotUpdateQuota( qint64,qint64 );
diff --git a/src/mirall/application.cpp b/src/mirall/application.cpp
index 6c51aac..036f907 100644
--- a/src/mirall/application.cpp
+++ b/src/mirall/application.cpp
@@ -120,7 +120,6 @@ Application::Application(int &argc, char **argv) :
qRegisterMetaType<Progress::Kind>("Progress::Kind");
qRegisterMetaType<Progress::Info>("Progress::Info");
- qRegisterMetaType<Progress::SyncProblem>("Progress::SyncProblem");
MirallConfigFile cfg;
_theme->setSystrayUseMonoIcons(cfg.monoIcons());
diff --git a/src/mirall/csyncthread.cpp b/src/mirall/csyncthread.cpp
index c9c2b6d..d6acecf 100644
--- a/src/mirall/csyncthread.cpp
+++ b/src/mirall/csyncthread.cpp
@@ -242,7 +242,6 @@ bool CSyncThread::checkBlacklisting( SyncFileItem *item )
// FIXME: put the error string into an .arg(..) later
item->_errorString = tr("The item is not synced because of previous errors:")
+ QLatin1String(" ")+ entry._errorString;
- progressProblem( Progress::SoftError, *item );
}
}
@@ -355,8 +354,6 @@ int CSyncThread::treewalkFile( TREE_WALK_FILE *file, bool remote )
case CSYNC_INSTRUCTION_CONFLICT:
case CSYNC_INSTRUCTION_IGNORE:
case CSYNC_INSTRUCTION_ERROR:
- //
- progressProblem(Progress::SoftError, item);
dir = SyncFileItem::None;
break;
case CSYNC_INSTRUCTION_EVAL:
@@ -635,12 +632,7 @@ void CSyncThread::slotJobCompleted(const SyncFileItem &item)
_progressInfo.setProgressComplete(item);
if (item._status == SyncFileItem::FatalError) {
- progressProblem(Progress::FatalError, item);
emit csyncError(item._errorString);
- } else if (item._status == SyncFileItem::NormalError) {
- progressProblem(Progress::FatalError, item);
- } else if (item._status == SyncFileItem::SoftError) {
- progressProblem(Progress::SoftError, item);
}
emit transmissionProgress(Progress::Context, _progressInfo);
@@ -665,20 +657,6 @@ void CSyncThread::slotFinished()
_thread.quit();
}
-void CSyncThread::progressProblem(Progress::Kind kind, const SyncFileItem& item)
-{
- Progress::SyncProblem problem;
-
- problem.kind = kind;
- problem.current_file = item._file;
- problem.error_message = item._errorString;
- problem.error_code = item._httpErrorCode;
- problem.timestamp = QDateTime::currentDateTime();
-
- // connected to something in folder.
- emit transmissionProblem( problem );
-}
-
void CSyncThread::slotProgress(const SyncFileItem& item, quint64 current)
{
_progressInfo.setProgressItem(item, current);
diff --git a/src/mirall/csyncthread.h b/src/mirall/csyncthread.h
index 8d97d43..30ea08d 100644
--- a/src/mirall/csyncthread.h
+++ b/src/mirall/csyncthread.h
@@ -66,7 +66,6 @@ signals:
void treeWalkResult(const SyncFileItemVector&);
void transmissionProgress( const Progress::Kind, const Progress::Info& progress );
- void transmissionProblem( const Progress::SyncProblem& problem );
void csyncStateDbFile( const QString& );
void wipeDb();
@@ -87,7 +86,6 @@ private:
void handleSyncError(CSYNC *ctx, const char *state);
- void progressProblem(Progress::Kind kind, const SyncFileItem& item);
static int treewalkLocal( TREE_WALK_FILE*, void *);
static int treewalkRemote( TREE_WALK_FILE*, void *);
diff --git a/src/mirall/folder.cpp b/src/mirall/folder.cpp
index 0769825..775c6e1 100644
--- a/src/mirall/folder.cpp
+++ b/src/mirall/folder.cpp
@@ -611,7 +611,6 @@ void Folder::startSync(const QStringList &pathList)
connect(_csync, SIGNAL(aboutToRemoveAllFiles(SyncFileItem::Direction,bool*)),
SLOT(slotAboutToRemoveAllFiles(SyncFileItem::Direction,bool*)), Qt::BlockingQueuedConnection);
connect(_csync, SIGNAL(transmissionProgress(Progress::Kind,Progress::Info)), this, SLOT(slotTransmissionProgress(Progress::Kind,Progress::Info)));
- connect(_csync, SIGNAL(transmissionProblem(Progress::SyncProblem)), this, SLOT(slotTransmissionProblem(Progress::SyncProblem)));
QMetaObject::invokeMethod(_csync, "startSync", Qt::QueuedConnection);
@@ -675,34 +674,16 @@ void Folder::slotCSyncFinished()
emit syncFinished( _syncResult );
}
-// the problem comes without a folder and the valid path set. Add that here
-// and hand the result over to the progress dispatcher.
-void Folder::slotTransmissionProblem( const Progress::SyncProblem& problem )
-{
- Progress::SyncProblem newProb = problem;
- newProb.folder = alias();
-
- if(newProb.current_file.startsWith(QLatin1String("ownclouds://")) ||
- newProb.current_file.startsWith(QLatin1String("owncloud://")) ) {
- // rip off the whole ownCloud URL.
- newProb.current_file.remove(Utility::toCSyncScheme(remoteUrl().toString()));
- }
- QString localPath = path();
- if( newProb.current_file.startsWith(localPath) ) {
- // remove the local dir.
- newProb.current_file = newProb.current_file.right( newProb.current_file.length() - localPath.length());
- }
-
- // Count all error conditions.
- _syncResult.setWarnCount( _syncResult.warnCount()+1 );
-
- ProgressDispatcher::instance()->setProgressProblem(alias(), newProb);
-}
-
// the progress comes without a folder and the valid path set. Add that here
// and hand the result over to the progress dispatcher.
void Folder::slotTransmissionProgress(Progress::Kind kind, const Progress::Info &pi)
{
+ if (!pi._lastCompletedItem.isEmpty()
+ && Progress::isWarningKind(pi._lastCompletedItem._status)) {
+ // Count all error conditions.
+ _syncResult.setWarnCount(_syncResult.warnCount()+1);
+ }
+
// remember problems happening to set the correct Sync status in slot slotCSyncFinished.
if( kind == Progress::StartSync ) {
_syncResult.setWarnCount(0);
diff --git a/src/mirall/folder.h b/src/mirall/folder.h
index f2ecec6..75ec585 100644
--- a/src/mirall/folder.h
+++ b/src/mirall/folder.h
@@ -175,7 +175,6 @@ private slots:
void slotCSyncFinished();
void slotTransmissionProgress(Progress::Kind kind, const Progress::Info& pi);
- void slotTransmissionProblem( const Progress::SyncProblem& problem );
void slotPollTimerTimeout();
void etagRetreived(const QString &);
diff --git a/src/mirall/owncloudgui.cpp b/src/mirall/owncloudgui.cpp
index 7ef12fd..dfc0116 100644
--- a/src/mirall/owncloudgui.cpp
+++ b/src/mirall/owncloudgui.cpp
@@ -64,8 +64,6 @@ ownCloudGui::ownCloudGui(Application *parent) :
ProgressDispatcher *pd = ProgressDispatcher::instance();
connect( pd, SIGNAL(progressInfo(QString,Progress::Info)), this,
SLOT(slotUpdateProgress(QString,Progress::Info)) );
- connect( pd, SIGNAL(progressSyncProblem(QString,Progress::SyncProblem)),
- SLOT(slotProgressSyncProblem(QString,Progress::SyncProblem)));
FolderMan *folderMan = FolderMan::instance();
connect( folderMan, SIGNAL(folderSyncStateChange(QString)),
@@ -369,16 +367,6 @@ void ownCloudGui::slotRefreshQuotaDisplay( qint64 total, qint64 used )
_actionQuota->setText(tr("%1% of %2 in use").arg(percentFormatted).arg(totalFormatted));
}
-void ownCloudGui::slotProgressSyncProblem(const QString& folder, const Progress::SyncProblem& problem)
-{
- Q_UNUSED(folder);
- Q_UNUSED(problem);
-
- // display a warn icon if warnings happend.
- QIcon warnIcon(":/mirall/resources/warning-16");
- _actionRecent->setIcon(warnIcon);
-}
-
void ownCloudGui::slotRebuildRecentMenus()
{
_recentActionsMenu->clear();
@@ -423,6 +411,13 @@ void ownCloudGui::slotUpdateProgress(const QString &folder, const Progress::Info
_actionRecent->setIcon( QIcon() ); // Fixme: Set a "in-progress"-item eventually.
if (!progress._lastCompletedItem.isEmpty()) {
+
+ if (Progress::isWarningKind(progress._lastCompletedItem._status)) {
+ // display a warn icon if warnings happend.
+ QIcon warnIcon(":/mirall/resources/warning-16");
+ _actionRecent->setIcon(warnIcon);
+ }
+
slotRebuildRecentMenus();
if (progress._completedFileCount == progress._totalFileCount) {
diff --git a/src/mirall/owncloudgui.h b/src/mirall/owncloudgui.h
index 8211977..684d6f9 100644
--- a/src/mirall/owncloudgui.h
+++ b/src/mirall/owncloudgui.h
@@ -52,7 +52,6 @@ public slots:
void slotFolderOpenAction( const QString& alias );
void slotRefreshQuotaDisplay( qint64 total, qint64 used );
void slotRebuildRecentMenus();
- void slotProgressSyncProblem(const QString& folder, const Progress::SyncProblem& problem);
void slotUpdateProgress(const QString &folder, const Progress::Info& progress);
void slotShowGuiMessage(const QString &title, const QString &message);
void slotFoldersChanged();
diff --git a/src/mirall/owncloudpropagator.h b/src/mirall/owncloudpropagator.h
index cda44c8..da7ca8a 100644
--- a/src/mirall/owncloudpropagator.h
+++ b/src/mirall/owncloudpropagator.h
@@ -165,7 +165,7 @@ public:
PropagateIgnoreJob(OwncloudPropagator* propagator,const SyncFileItem& item)
: PropagateItemJob(propagator, item) {}
void start() {
- done(SyncFileItem::FileIgnored);
+ done(SyncFileItem::FileIgnored, _item._errorString);
}
};
diff --git a/src/mirall/progressdispatcher.cpp b/src/mirall/progressdispatcher.cpp
index 1c054db..907ea11 100644
--- a/src/mirall/progressdispatcher.cpp
+++ b/src/mirall/progressdispatcher.cpp
@@ -28,7 +28,7 @@ QString Progress::asResultString( const SyncFileItem& item)
case CSYNC_INSTRUCTION_CONFLICT:
case CSYNC_INSTRUCTION_SYNC:
case CSYNC_INSTRUCTION_NEW:
- if (item._dir == SyncFileItem::Down)
+ if (item._dir != SyncFileItem::Up)
return QCoreApplication::translate( "progress", "Downloaded");
else
return QCoreApplication::translate( "progress", "Uploaded");
@@ -48,7 +48,7 @@ QString Progress::asActionString( const SyncFileItem &item )
case CSYNC_INSTRUCTION_CONFLICT:
case CSYNC_INSTRUCTION_SYNC:
case CSYNC_INSTRUCTION_NEW:
- if (item._dir == SyncFileItem::Down)
+ if (item._dir != SyncFileItem::Up)
return QCoreApplication::translate( "progress", "downloading");
else
return QCoreApplication::translate( "progress", "uploading");
@@ -62,13 +62,12 @@ QString Progress::asActionString( const SyncFileItem &item )
}
}
-bool Progress::isErrorKind( Kind kind )
+bool Progress::isWarningKind( SyncFileItem::Status kind)
{
- bool re = false;
- if( kind == SoftError || kind == NormalError || kind == FatalError ) {
- re = true;
- }
- return re;
+ return kind == SyncFileItem::SoftError || kind == SyncFileItem::NormalError
+ || kind == SyncFileItem::FatalError || kind == SyncFileItem::FileIgnored
+ || kind == SyncFileItem::Conflict;
+
}
ProgressDispatcher* ProgressDispatcher::instance() {
@@ -89,13 +88,6 @@ ProgressDispatcher::~ProgressDispatcher()
}
-
-void ProgressDispatcher::setProgressProblem(const QString& folder, const Progress::SyncProblem &problem)
-{
- Q_ASSERT( Progress::isErrorKind(problem.kind));
- emit progressSyncProblem( folder, problem );
-}
-
void ProgressDispatcher::setProgressInfo(const QString& folder, const Progress::Info& progress)
{
if( folder.isEmpty() ) {
diff --git a/src/mirall/progressdispatcher.h b/src/mirall/progressdispatcher.h
index ec1b74d..7267277 100644
--- a/src/mirall/progressdispatcher.h
+++ b/src/mirall/progressdispatcher.h
@@ -100,21 +100,10 @@ namespace Progress
EndRemoteUpdate
};
- struct SyncProblem {
- Kind kind;
- QString folder;
- QString current_file;
- QString error_message;
- int error_code;
- QDateTime timestamp;
-
- SyncProblem() : kind(Invalid), error_code(0) {}
- };
-
QString asActionString( const SyncFileItem& item );
QString asResultString( const SyncFileItem& item );
- bool isErrorKind( Kind );
+ bool isWarningKind( SyncFileItem::Status );
}
@@ -145,11 +134,9 @@ signals:
*/
void progressInfo( const QString& folder, const Progress::Info& progress );
- void progressSyncProblem( const QString& folder, const Progress::SyncProblem& problem );
protected:
void setProgressInfo(const QString& folder, const Progress::Info& progress);
- void setProgressProblem( const QString& folder, const Progress::SyncProblem& problem);
private:
ProgressDispatcher(QObject* parent = 0);
diff --git a/src/mirall/protocolwidget.cpp b/src/mirall/protocolwidget.cpp
index a8e908d..19b47a3 100644
--- a/src/mirall/protocolwidget.cpp
+++ b/src/mirall/protocolwidget.cpp
@@ -39,8 +39,6 @@ ProtocolWidget::ProtocolWidget(QWidget *parent) :
connect(ProgressDispatcher::instance(), SIGNAL(progressInfo(QString,Progress::Info)),
this, SLOT(slotProgressInfo(QString,Progress::Info)));
- connect(ProgressDispatcher::instance(), SIGNAL(progressSyncProblem(const QString&,const Progress::SyncProblem&)),
- this, SLOT(slotProgressProblem(const QString&, const Progress::SyncProblem&)));
connect(_ui->_treeWidget, SIGNAL(itemActivated(QTreeWidgetItem*,int)), SLOT(slotOpenFile(QTreeWidgetItem*,int)));
@@ -170,47 +168,6 @@ QString ProtocolWidget::timeString(QDateTime dt, QLocale::FormatType format) con
return timeStr;
}
-QTreeWidgetItem *ProtocolWidget::createProblemTreewidgetItem( const Progress::SyncProblem& problem)
-{
- QStringList columns;
- QString timeStr = timeString(problem.timestamp);
- QString longTimeStr = timeString(problem.timestamp, QLocale::LongFormat);
-
- columns << timeStr;
- columns << problem.current_file;
- columns << problem.folder;
- QString errMsg = problem.error_message;
- #if 0
- if( problem.error_code == 507 ) {
- errMsg = tr("No more storage space available on server.");
- }
- #endif
- columns << errMsg;
-
- QTreeWidgetItem *item = new QTreeWidgetItem(columns);
- item->setData(0, ErrorIndicatorRole, QVariant(true) );
- // Maybe we should not set the error icon for all problems but distinguish
- // by error_code. A quota problem is considered an error, others might not??
- if( problem.kind == Progress::SoftError ) {
- item->setIcon(0, Theme::instance()->syncStateIcon(SyncResult::Problem, true));
- } else {
- item->setIcon(0, Theme::instance()->syncStateIcon(SyncResult::Error, true));
- }
- item->setToolTip(0, longTimeStr);
- item->setToolTip(1, problem.current_file);
- item->setToolTip(3, errMsg );
-
- return item;
-}
-
-void ProtocolWidget::slotProgressProblem( const QString& folder, const Progress::SyncProblem& problem)
-{
- Q_UNUSED(folder);
- QTreeWidgetItem *item = createProblemTreewidgetItem(problem);
- _ui->_treeWidget->insertTopLevelItem(0, item);
- computeResyncButtonEnabled();
-}
-
void ProtocolWidget::slotOpenFile( QTreeWidgetItem *item, int )
{
QString folderName = item->text(2);
@@ -232,19 +189,39 @@ QTreeWidgetItem* ProtocolWidget::createCompletedTreewidgetItem(const QString& fo
QDateTime timestamp = QDateTime::currentDateTime();
const QString timeStr = timeString(timestamp);
const QString longTimeStr = timeString(timestamp, QLocale::LongFormat);
- const QString actionStr = Progress::asResultString(item);
+ QIcon icon;
+ QString message;
columns << timeStr;
columns << item._file;
columns << folder;
- columns << actionStr;
- if (Progress::isSizeDependent(item._instruction)) {
- columns << Utility::octetsToString( item._size );
+ if (Progress::isWarningKind(item._status)) {
+ message= item._errorString;
+ columns << message;
+ if (item._status == SyncFileItem::NormalError || item._status == SyncFileItem::FatalError) {
+ icon = Theme::instance()->syncStateIcon(SyncResult::Error);
+ } else {
+ icon = Theme::instance()->syncStateIcon(SyncResult::Problem);
+ }
+
+ } else {
+ message = Progress::asResultString(item);
+ columns << message;
+ if (Progress::isSizeDependent(item._instruction)) {
+ columns << Utility::octetsToString( item._size );
+ }
}
QTreeWidgetItem *twitem = new QTreeWidgetItem(columns);
+ if (item._status == SyncFileItem::FileIgnored) {
+ // Tell that we want to remove it on the next sync.
+ twitem->setData(0, ErrorIndicatorRole, true);
+ }
+
+ twitem->setIcon(0, icon);
twitem->setToolTip(0, longTimeStr);
- twitem->setToolTip(3, actionStr);
+ twitem->setToolTip(1, item._file);
+ twitem->setToolTip(3, message );
return twitem;
}
diff --git a/src/mirall/protocolwidget.h b/src/mirall/protocolwidget.h
index 25b4bba..3599b31 100644
--- a/src/mirall/protocolwidget.h
+++ b/src/mirall/protocolwidget.h
@@ -43,7 +43,6 @@ signals:
public slots:
void slotProgressInfo( const QString& folder, const Progress::Info& progress );
- void slotProgressProblem(const QString& folder, const Progress::SyncProblem& problem );
void slotOpenFile( QTreeWidgetItem* item, int );
protected slots:
@@ -59,7 +58,6 @@ private:
void computeResyncButtonEnabled();
QTreeWidgetItem* createCompletedTreewidgetItem(const QString &folder, const SyncFileItem &item );
- QTreeWidgetItem* createProblemTreewidgetItem( const Progress::SyncProblem& problem);
QList<QTreeWidgetItem*> errorItems(const QString &folder);
QString timeString(QDateTime dt, QLocale::FormatType format = QLocale::NarrowFormat) const;
diff --git a/src/mirall/settingsdialog.cpp b/src/mirall/settingsdialog.cpp
index 28932cf..42b6537 100644
--- a/src/mirall/settingsdialog.cpp
+++ b/src/mirall/settingsdialog.cpp
@@ -84,8 +84,6 @@ SettingsDialog::SettingsDialog(ownCloudGui *gui, QWidget *parent) :
connect( ProgressDispatcher::instance(), SIGNAL(progressInfo(QString, Progress::Info)),
_accountSettings, SLOT(slotSetProgress(QString, Progress::Info)) );
- connect( ProgressDispatcher::instance(), SIGNAL(progressSyncProblem(QString,Progress::SyncProblem)),
- _accountSettings, SLOT(slotProgressProblem(QString,Progress::SyncProblem)) );
_ui->labelWidget->setCurrentRow(_ui->labelWidget->row(_accountItem));
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-owncloud/owncloud-client.git
More information about the Pkg-owncloud-commits
mailing list