[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: kdereview/mailody/src
From: Tom Albers <tomalbers () kde ! nl>
Date: 2008-05-31 22:33:08
Message-ID: 1212273188.525644.20424.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 815012 by toma:
Reimplement the cool mailody3 feature where the recipient is shown instead of the sender when the sender is you.
iow: don't show your own name for sent items, but show where the message was sent to.
M +28 -1 headerproxy.cpp
M +1 -0 headerproxy.h
--- trunk/kdereview/mailody/src/headerproxy.cpp #815011:815012
@@ -19,6 +19,7 @@
#include "headerproxy.h"
#include "messagedata.h"
+#include "global.h"
#include <QSortFilterProxyModel>
@@ -59,11 +60,37 @@
bool HeaderProxy::filterAcceptsColumn( int sourceCol, const QModelIndex& ) const
{
- if ( sourceCol > 3 )
+ if ( sourceCol == 4 /* size */ || sourceCol == 2 /* Receiver */ )
return false;
return true;
}
+QVariant HeaderProxy::data ( const QModelIndex & index, int role ) const
+{
+ if ( index.column() == 1 ) { /* if this is a request for the sender column */
+ const QModelIndex sourceIndex = mapToSource( index );
+ const QModelIndex col2 = sourceModel()->index( sourceIndex.row(), 2, sourceIndex.parent() );
+
+ /* fetch the sender */
+ QString sender = QSortFilterProxyModel::data( index, Qt::EditRole ).toString();
+
+ /* check if that is my address */
+ if ( Global::myEmail( sender ) ) {
+
+ /* Return the recipient instead of the sender, if sort than raw, else prefixed */
+ if ( role == Qt::DisplayRole )
+ return i18n("To: %1", sourceModel()->data( col2, Qt::DisplayRole ).toString());
+ else
+ return sourceModel()->data( col2, Qt::EditRole ).toString();
+
+ } else { /* it's not my address, return the requested value */
+ return sourceModel()->data( sourceIndex, role );
+ }
+
+ } else /* this is not a request for the sender column, call base */
+ return QSortFilterProxyModel::data( index, role );
+}
+
void HeaderProxy::setHideDeleted( bool hide )
{
m_hideDeleted = hide;
--- trunk/kdereview/mailody/src/headerproxy.h #815011:815012
@@ -49,6 +49,7 @@
void setSortOnChild( bool sort );
protected:
+ virtual QVariant data ( const QModelIndex & index, int role = Qt::DisplayRole ) const;
virtual bool filterAcceptsRow( int sourceRow,
const QModelIndex & sourceParent ) const;
virtual bool filterAcceptsColumn( int sourceCol,
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic