[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