[Pkg-owncloud-commits] [owncloud-client] 326/484: ActivityWidget: open local file in file manager if exists.

Sandro Knauß hefee-guest at moszumanska.debian.org
Wed Dec 16 00:37:59 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 a56926b8d94ebd6add7a2ce69e9f4b7ef3424b12
Author: Klaas Freitag <freitag at owncloud.com>
Date:   Mon Nov 16 15:31:24 2015 +0100

    ActivityWidget: open local file in file manager if exists.
---
 src/gui/activityitemdelegate.cpp |  1 +
 src/gui/activitywidget.cpp       | 24 +++++++++---------------
 src/gui/activitywidget.h         |  2 +-
 3 files changed, 11 insertions(+), 16 deletions(-)

diff --git a/src/gui/activityitemdelegate.cpp b/src/gui/activityitemdelegate.cpp
index 868f74e..2c50da3 100644
--- a/src/gui/activityitemdelegate.cpp
+++ b/src/gui/activityitemdelegate.cpp
@@ -81,6 +81,7 @@ void ActivityItemDelegate::paint(QPainter *painter, const QStyleOptionViewItem &
     QIcon userIcon        = qvariant_cast<QIcon>(index.data(UserIconRole));
     QString actionText    = qvariant_cast<QString>(index.data(ActionTextRole));
     QString pathText      = qvariant_cast<QString>(index.data(PathRole));
+
     QString remoteLink    = qvariant_cast<QString>(index.data(LinkRole));
     QString timeText      = qvariant_cast<QString>(index.data(PointInTimeRole));
     QString accountRole   = qvariant_cast<QString>(index.data(AccountRole));
diff --git a/src/gui/activitywidget.cpp b/src/gui/activitywidget.cpp
index b404c6d..930fd87 100644
--- a/src/gui/activitywidget.cpp
+++ b/src/gui/activitywidget.cpp
@@ -72,6 +72,7 @@ QVariant ActivityListModel::data(const QModelIndex &index, int role) const
         return QVariant();
 
     switch (role) {
+    case ActivityItemDelegate::PathRole:
     case Qt::ToolTipRole:
         list = FolderMan::instance()->findFileInLocalFolders(a._file);
         if( list.count() > 0 ) {
@@ -89,9 +90,6 @@ QVariant ActivityListModel::data(const QModelIndex &index, int role) const
     case ActivityItemDelegate::ActionTextRole:
         return a._subject;
         break;
-    case ActivityItemDelegate::PathRole:
-        return a._file;
-        break;
     case ActivityItemDelegate::LinkRole:
         return a._link;
         break;
@@ -308,6 +306,9 @@ ActivityWidget::ActivityWidget(QWidget *parent) :
     connect(_copyBtn, SIGNAL(clicked()), SIGNAL(copyToClipboard()));
 
     connect(_model, SIGNAL(rowsInserted(QModelIndex,int,int)), SIGNAL(rowsInserted()));
+
+    connect( _ui->_activityList, SIGNAL(activated(QModelIndex)), this,
+             SLOT(slotOpenFile(QModelIndex)));
 }
 
 ActivityWidget::~ActivityWidget()
@@ -362,22 +363,15 @@ void ActivityWidget::storeActivityList( QTextStream& ts )
     }
 }
 
-void ActivityWidget::slotOpenFile( )
+void ActivityWidget::slotOpenFile(QModelIndex indx)
 {
-    // FIXME make work at all.
-#if 0
-    QString folderName = item->data(2, Qt::UserRole).toString();
-    QString fileName = item->text(1);
-
-    Folder *folder = FolderMan::instance()->folder(folderName);
-    if (folder) {
-        // folder->path() always comes back with trailing path
-        QString fullPath = folder->path() + fileName;
-        if (QFile(fullPath).exists()) {
+    if( indx.isValid() ) {
+        QString fullPath = indx.data(ActivityItemDelegate::PathRole).toString();
+
+        if (QFile::exists(fullPath)) {
             showInFileManager(fullPath);
         }
     }
-#endif
 }
 
 
diff --git a/src/gui/activitywidget.h b/src/gui/activitywidget.h
index e360188..90aebd0 100644
--- a/src/gui/activitywidget.h
+++ b/src/gui/activitywidget.h
@@ -125,7 +125,7 @@ public:
     void storeActivityList(QTextStream &ts);
 
 public slots:
-    void slotOpenFile();
+    void slotOpenFile(QModelIndex indx);
     void slotRefresh(AccountState* ptr);
     void slotRemoveAccount( AccountState *ptr );
 

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