[Pkg-owncloud-commits] [owncloud-client] 255/484: ActivityWidget: Rather use accountState pointer directly.

Sandro Knauß hefee-guest at moszumanska.debian.org
Wed Dec 16 00:37:50 UTC 2015


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 cb1571c6c57e7617454737abe7dd1ff23066249b
Author: Klaas Freitag <freitag at owncloud.com>
Date:   Wed Nov 4 16:40:22 2015 +0100

    ActivityWidget: Rather use accountState pointer directly.
    
    Do not use it via a smart pointer class.
---
 src/gui/activitywidget.cpp | 26 ++++++++++++++++----------
 src/gui/activitywidget.h   | 10 ++++++----
 src/gui/owncloudgui.cpp    |  4 ++++
 src/gui/settingsdialog.cpp | 10 +++++++++-
 src/gui/settingsdialog.h   |  2 ++
 5 files changed, 37 insertions(+), 15 deletions(-)

diff --git a/src/gui/activitywidget.cpp b/src/gui/activitywidget.cpp
index 583bbf0..baee77b 100644
--- a/src/gui/activitywidget.cpp
+++ b/src/gui/activitywidget.cpp
@@ -132,9 +132,9 @@ bool ActivityListModel::canFetchMore(const QModelIndex& ) const
 {
     if( _activityLists.count() == 0 ) return true;
 
-    QMap<AccountStatePtr, ActivityList>::const_iterator i = _activityLists.begin();
+    QMap<AccountState*, ActivityList>::const_iterator i = _activityLists.begin();
     while (i != _activityLists.end()) {
-        AccountStatePtr ast = i.key();
+        AccountState *ast = i.key();
         ActivityList activities = i.value();
         if( ast->isConnected() && activities.count() == 0 &&
                 ! _currentlyFetching.contains(ast) ) {
@@ -146,11 +146,11 @@ bool ActivityListModel::canFetchMore(const QModelIndex& ) const
     return false;
 }
 
-void ActivityListModel::startFetchJob(AccountStatePtr s)
+void ActivityListModel::startFetchJob(AccountState* s)
 {
     JsonApiJob *job = new JsonApiJob(s->account(), QLatin1String("ocs/v1.php/cloud/activity"), this);
     QObject::connect(job, SIGNAL(jsonRecieved(QVariantMap)), this, SLOT(slotActivitiesReceived(QVariantMap)));
-    job->setProperty("AccountStatePtr", QVariant::fromValue<AccountStatePtr>(s));
+    job->setProperty("AccountStatePtr", QVariant::fromValue<AccountState*>(s));
 
     QList< QPair<QString,QString> > params;
     params.append(qMakePair(QLatin1String("page"), QLatin1String("0")));
@@ -167,7 +167,7 @@ void ActivityListModel::slotActivitiesReceived(const QVariantMap& json)
     qDebug() << "*** activities" << activities;
 
     ActivityList list;
-    AccountStatePtr ai = qvariant_cast<AccountStatePtr>(sender()->property("AccountStatePtr"));
+    AccountState* ai = qvariant_cast<AccountState*>(sender()->property("AccountStatePtr"));
     _currentlyFetching.remove(ai);
     list.setAccountName( ai->account()->displayName());
     foreach( auto activ, activities ) {
@@ -225,18 +225,19 @@ void ActivityListModel::fetchMore(const QModelIndex &)
     foreach (AccountStatePtr asp, accounts) {
 
         // if the account is not yet managed, add an empty list.
-        if( !_activityLists.contains(asp) ) {
-            _activityLists[asp] = ActivityList();
+        if( !_activityLists.contains(asp.data()) ) {
+            _activityLists[asp.data()] = ActivityList();
         }
-        ActivityList activities = _activityLists[asp];
+        ActivityList activities = _activityLists[asp.data()];
         if( activities.count() == 0 ) {
-            startFetchJob(asp);
+            startFetchJob(asp.data());
         }
     }
 }
 
-void ActivityListModel::slotRefreshActivity(AccountStatePtr ast)
+void ActivityListModel::slotRefreshActivity(AccountState *ast)
 {
+    qDebug() << "**** Refreshing" << ast->account()->displayName();
     if(ast && _activityLists.contains(ast)) {
         _activityLists[ast].clear();
     }
@@ -274,6 +275,11 @@ ActivityWidget::~ActivityWidget()
     delete _ui;
 }
 
+void ActivityWidget::slotRefresh(AccountState *ptr)
+{
+    _model->slotRefreshActivity(ptr);
+}
+
 void ActivityWidget::copyToClipboard()
 {
     QString text;
diff --git a/src/gui/activitywidget.h b/src/gui/activitywidget.h
index 6f6db93..5981c29 100644
--- a/src/gui/activitywidget.h
+++ b/src/gui/activitywidget.h
@@ -30,6 +30,7 @@ class QPushButton;
 namespace OCC {
 
 class Account;
+class AccountStatusPtr;
 
 namespace Ui {
   class ActivityWidget;
@@ -89,19 +90,19 @@ public:
     void fetchMore(const QModelIndex&);
 
 public slots:
-    void slotRefreshActivity(AccountStatePtr ast);
+    void slotRefreshActivity(AccountState* ast);
 
 private slots:
     void slotActivitiesReceived(const QVariantMap& json);
 
 private:
-    void startFetchJob(AccountStatePtr s);
+    void startFetchJob(AccountState* s);
     void combineActivityLists();
     QString timeSpanFromNow(const QDateTime& dt) const;
 
-    QMap<AccountStatePtr, ActivityList> _activityLists;
+    QMap<AccountState*, ActivityList> _activityLists;
     ActivityList _finalList;
-    QSet<AccountStatePtr> _currentlyFetching;
+    QSet<AccountState*> _currentlyFetching;
 };
 
 /**
@@ -121,6 +122,7 @@ public:
 
 public slots:
     void slotOpenFile();
+    void slotRefresh(AccountState* ptr);
 
 protected slots:
     void copyToClipboard();
diff --git a/src/gui/owncloudgui.cpp b/src/gui/owncloudgui.cpp
index 6cc71ba..39546dc 100644
--- a/src/gui/owncloudgui.cpp
+++ b/src/gui/owncloudgui.cpp
@@ -204,6 +204,10 @@ void ownCloudGui::slotSyncStateChange( Folder* folder )
     if (result.status() == SyncResult::Success || result.status() == SyncResult::Error) {
         Logger::instance()->enterNextLogFile();
     }
+
+    if (result.status() == SyncResult::NotYetStarted) {
+        _settingsDialog->slotRefreshActivity( folder->accountState() );
+    }
 }
 
 void ownCloudGui::slotFoldersChanged()
diff --git a/src/gui/settingsdialog.cpp b/src/gui/settingsdialog.cpp
index 24a1c09..980cb3c 100644
--- a/src/gui/settingsdialog.cpp
+++ b/src/gui/settingsdialog.cpp
@@ -237,7 +237,7 @@ void SettingsDialog::accountRemoved(AccountState *s)
 
 void SettingsDialog::customizeStyle()
 {
-    QString highlightColor(palette().highlight().color().name());
+    QString  highlightColor(palette().highlight().color().name());
     QString altBase(palette().alternateBase().color().name());
     QString dark(palette().dark().color().name());
     QString background(palette().base().color().name());
@@ -286,4 +286,12 @@ void SettingsDialog::addActionToToolBar(QAction *action) {
     btn->setMinimumWidth(_toolBar->sizeHint().height() * 1.3);
 }
 
+void SettingsDialog::slotRefreshActivity( AccountState* accountState )
+{
+    if (accountState) {
+        qDebug() << "Refreshing Activity list for " << accountState->account()->displayName();
+        _activityWidget->slotRefresh(accountState);
+    }
+}
+
 } // namespace OCC
diff --git a/src/gui/settingsdialog.h b/src/gui/settingsdialog.h
index 2d731f6..4bfeac3 100644
--- a/src/gui/settingsdialog.h
+++ b/src/gui/settingsdialog.h
@@ -18,6 +18,7 @@
 #include <QStyledItemDelegate>
 
 #include "progressdispatcher.h"
+#include "owncloudgui.h"
 
 class QAction;
 class QActionGroup;
@@ -55,6 +56,7 @@ public slots:
     void showFirstPage();
     void showActivityPage();
     void slotSwitchPage(QAction *action);
+    void slotRefreshActivity(AccountState *accountState );
 
 protected:
     void reject() Q_DECL_OVERRIDE;

-- 
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