diff --git a/foldershortcutactionmanager.cpp b/foldershortcutactionmanager.cpp index 0f272043a..1532de312 100644 --- a/foldershortcutactionmanager.cpp +++ b/foldershortcutactionmanager.cpp @@ -97,7 +97,7 @@ void FolderShortcutActionManager::updateShortcutsForIndex( const QModelIndex &pa int start, int end ) { QAbstractItemModel *model = KernelIf->collectionModel(); - for ( int i = start; i <= end; i++ ) { + for ( int i = start; i <= end; ++i) { if ( model->hasIndex( i, 0, parent ) ) { const QModelIndex child = model->index( i, 0, parent ); Akonadi::Collection collection = diff --git a/kmsearchmessagemodel.cpp b/kmsearchmessagemodel.cpp index 84ea1ddd8..1e6ccfeb0 100644 --- a/kmsearchmessagemodel.cpp +++ b/kmsearchmessagemodel.cpp @@ -54,10 +54,10 @@ typedef boost::shared_ptr MessagePtr; #include KMSearchMessageModel::KMSearchMessageModel( QObject *parent ) - : Akonadi::MessageModel( parent ) + : Akonadi::MessageModel( parent ) { - fetchScope().fetchPayloadPart( Akonadi::MessagePart::Envelope ); - fetchScope().setAncestorRetrieval( Akonadi::ItemFetchScope::All ); + fetchScope().fetchPayloadPart( Akonadi::MessagePart::Envelope ); + fetchScope().setAncestorRetrieval( Akonadi::ItemFetchScope::All ); } KMSearchMessageModel::~KMSearchMessageModel( ) @@ -66,158 +66,158 @@ KMSearchMessageModel::~KMSearchMessageModel( ) QString toolTip( const Akonadi::Item& item ) { - MessagePtr msg = item.payload(); - - QColor bckColor = QApplication::palette().color( QPalette::ToolTipBase ); - QColor txtColor = QApplication::palette().color( QPalette::ToolTipText ); - - const QString bckColorName = bckColor.name(); - const QString txtColorName = txtColor.name(); - const bool textIsLeftToRight = ( QApplication::layoutDirection() == Qt::LeftToRight ); - const QString textDirection = textIsLeftToRight ? QLatin1String( "left" ) : QLatin1String( "right" ); - - QString tip = QString::fromLatin1( - "" - ); - tip += QString::fromLatin1( - "" \ - "" \ - "" - ).arg( txtColorName ).arg( bckColorName ).arg( Qt::escape( msg->subject()->asUnicodeString() ) ).arg( textDirection ); - - tip += QString::fromLatin1( - "" \ - "
" \ - "
" \ - "%3" \ - "
" \ - "
" \ - "" - ); - - const QString htmlCodeForStandardRow = QString::fromLatin1( - "" \ - "" \ - "" \ - "" ); - - QString content = MessageList::Util::contentSummary( item.url() ); - - if ( textIsLeftToRight ) { - tip += htmlCodeForStandardRow.arg( i18n( "From" ) ).arg( MessageCore::StringUtil::stripEmailAddr( msg->from()->asUnicodeString() ) ); - tip += htmlCodeForStandardRow.arg( i18nc( "Receiver of the email", "To" ) ).arg( MessageCore::StringUtil::stripEmailAddr( msg->to()->asUnicodeString() ) ); - tip += htmlCodeForStandardRow.arg( i18n( "Date" ) ).arg( KGlobal::locale()->formatDateTime( msg->date()->dateTime().toLocalZone(), KLocale::FancyLongDate ) ); - if ( !content.isEmpty() ) { - tip += htmlCodeForStandardRow.arg( i18n( "Preview" ) ).arg( content.replace( QLatin1Char( '\n' ), QLatin1String( "
" ) ) ); - } - } else { - tip += htmlCodeForStandardRow.arg( MessageCore::StringUtil::stripEmailAddr( msg->from()->asUnicodeString() ) ).arg( i18n( "From" ) ); - tip += htmlCodeForStandardRow.arg( MessageCore::StringUtil::stripEmailAddr( msg->to()->asUnicodeString() ) ).arg( i18nc( "Receiver of the email", "To" ) ); - tip += htmlCodeForStandardRow.arg( KGlobal::locale()->formatDateTime( msg->date()->dateTime().toLocalZone(), KLocale::FancyLongDate ) ).arg( i18n( "Date" ) ); - if ( !content.isEmpty() ) { - tip += htmlCodeForStandardRow.arg( content.replace( QLatin1Char( '\n' ), QLatin1String( "
" ) ) ).arg( i18n( "Preview" ) ); + MessagePtr msg = item.payload(); + + QColor bckColor = QApplication::palette().color( QPalette::ToolTipBase ); + QColor txtColor = QApplication::palette().color( QPalette::ToolTipText ); + + const QString bckColorName = bckColor.name(); + const QString txtColorName = txtColor.name(); + const bool textIsLeftToRight = ( QApplication::layoutDirection() == Qt::LeftToRight ); + const QString textDirection = textIsLeftToRight ? QLatin1String( "left" ) : QLatin1String( "right" ); + + QString tip = QString::fromLatin1( + "
" \ - "
" \ - "%1:" \ - "
" \ - "
" \ - "%2" \ - "
" + ); + tip += QString::fromLatin1( + "" \ + "" \ + "" + ).arg( txtColorName ).arg( bckColorName ).arg( Qt::escape( msg->subject()->asUnicodeString() ) ).arg( textDirection ); + + tip += QString::fromLatin1( + "" \ + "
" \ + "
" \ + "%3" \ + "
" \ + "
" \ + "" + ); + + const QString htmlCodeForStandardRow = QString::fromLatin1( + "" \ + "" \ + "" \ + "" ); + + QString content = MessageList::Util::contentSummary( item.url() ); + + if ( textIsLeftToRight ) { + tip += htmlCodeForStandardRow.arg( i18n( "From" ) ).arg( MessageCore::StringUtil::stripEmailAddr( msg->from()->asUnicodeString() ) ); + tip += htmlCodeForStandardRow.arg( i18nc( "Receiver of the email", "To" ) ).arg( MessageCore::StringUtil::stripEmailAddr( msg->to()->asUnicodeString() ) ); + tip += htmlCodeForStandardRow.arg( i18n( "Date" ) ).arg( KGlobal::locale()->formatDateTime( msg->date()->dateTime().toLocalZone(), KLocale::FancyLongDate ) ); + if ( !content.isEmpty() ) { + tip += htmlCodeForStandardRow.arg( i18n( "Preview" ) ).arg( content.replace( QLatin1Char( '\n' ), QLatin1String( "
" ) ) ); + } + } else { + tip += htmlCodeForStandardRow.arg( MessageCore::StringUtil::stripEmailAddr( msg->from()->asUnicodeString() ) ).arg( i18n( "From" ) ); + tip += htmlCodeForStandardRow.arg( MessageCore::StringUtil::stripEmailAddr( msg->to()->asUnicodeString() ) ).arg( i18nc( "Receiver of the email", "To" ) ); + tip += htmlCodeForStandardRow.arg( KGlobal::locale()->formatDateTime( msg->date()->dateTime().toLocalZone(), KLocale::FancyLongDate ) ).arg( i18n( "Date" ) ); + if ( !content.isEmpty() ) { + tip += htmlCodeForStandardRow.arg( content.replace( QLatin1Char( '\n' ), QLatin1String( "
" ) ) ).arg( i18n( "Preview" ) ); + } } - } - tip += QString::fromLatin1( - "" \ - "" - ); - return tip; + tip += QString::fromLatin1( + "" \ + "" + ); + return tip; } int KMSearchMessageModel::columnCount( const QModelIndex & parent ) const { - if ( collection().isValid() - && !collection().contentMimeTypes().contains( QLatin1String("message/rfc822") ) - && collection().contentMimeTypes() != QStringList( QLatin1String("inode/directory") ) ) - return 1; + if ( collection().isValid() + && !collection().contentMimeTypes().contains( QLatin1String("message/rfc822") ) + && collection().contentMimeTypes() != QStringList( QLatin1String("inode/directory") ) ) + return 1; - if ( !parent.isValid() ) - return 8; // keep in sync with the column type enum + if ( !parent.isValid() ) + return 8; // keep in sync with the column type enum - return 0; + return 0; } QVariant KMSearchMessageModel::data( const QModelIndex & index, int role ) const { - if ( !index.isValid() ) - return QVariant(); - if ( index.row() >= rowCount() ) - return QVariant(); - - if ( !collection().contentMimeTypes().contains( QLatin1String("message/rfc822") ) ) { - if ( role == Qt::DisplayRole ) - return i18nc( "@label", "This model can only handle email folders. The current collection holds mimetypes: %1", - collection().contentMimeTypes().join( QLatin1String(",") ) ); - else - return QVariant(); - } - - Akonadi::Item item = itemForIndex( index ); - if ( !item.hasPayload() ) - return QVariant(); - MessagePtr msg = item.payload(); - if ( role == Qt::DisplayRole ) { - switch ( index.column() ) { - case Collection: - if ( item.storageCollectionId() >= 0 ) { - return MailCommon::Util::fullCollectionPath( Akonadi::Collection( item.storageCollectionId() ) ); - } - return MailCommon::Util::fullCollectionPath(item.parentCollection()); - case Subject: - return msg->subject()->asUnicodeString(); - case Sender: - return msg->from()->asUnicodeString(); - case Receiver: - return msg->to()->asUnicodeString(); - case Date: - return KGlobal::locale()->formatDateTime( msg->date()->dateTime().toLocalZone(), KLocale::FancyLongDate ); - case Size: - if ( item.size() == 0 ) - return i18nc( "@label No size available", "-" ); - else - return KGlobal::locale()->formatByteSize( item.size() ); - case SizeNotLocalized: - return item.size(); - case DateNotTranslated: - return msg->date()->dateTime().dateTime(); - default: + if ( !index.isValid() ) + return QVariant(); + if ( index.row() >= rowCount() ) return QVariant(); + + if ( !collection().contentMimeTypes().contains( QLatin1String("message/rfc822") ) ) { + if ( role == Qt::DisplayRole ) + return i18nc( "@label", "This model can only handle email folders. The current collection holds mimetypes: %1", + collection().contentMimeTypes().join( QLatin1String(",") ) ); + else + return QVariant(); } - } else if ( role == Qt::EditRole ) { - switch ( index.column() ) { - case Collection: - if ( item.storageCollectionId() >= 0 ) { - return MailCommon::Util::fullCollectionPath( Akonadi::Collection( item.storageCollectionId() ) ); - } - return MailCommon::Util::fullCollectionPath(item.parentCollection()); - case Subject: - return msg->subject()->asUnicodeString(); - case Sender: - return msg->from()->asUnicodeString(); - case Receiver: - return msg->to()->asUnicodeString(); - case Date: - return msg->date()->dateTime().dateTime(); - case SizeNotLocalized: - case Size: - return item.size(); - case DateNotTranslated: - return msg->date()->dateTime().dateTime(); - default: + + Akonadi::Item item = itemForIndex( index ); + if ( !item.hasPayload() ) return QVariant(); + MessagePtr msg = item.payload(); + if ( role == Qt::DisplayRole ) { + switch ( index.column() ) { + case Collection: + if ( item.storageCollectionId() >= 0 ) { + return MailCommon::Util::fullCollectionPath( Akonadi::Collection( item.storageCollectionId() ) ); + } + return MailCommon::Util::fullCollectionPath(item.parentCollection()); + case Subject: + return msg->subject()->asUnicodeString(); + case Sender: + return msg->from()->asUnicodeString(); + case Receiver: + return msg->to()->asUnicodeString(); + case Date: + return KGlobal::locale()->formatDateTime( msg->date()->dateTime().toLocalZone(), KLocale::FancyLongDate ); + case Size: + if ( item.size() == 0 ) + return i18nc( "@label No size available", "-" ); + else + return KGlobal::locale()->formatByteSize( item.size() ); + case SizeNotLocalized: + return item.size(); + case DateNotTranslated: + return msg->date()->dateTime().dateTime(); + default: + return QVariant(); + } + } else if ( role == Qt::EditRole ) { + switch ( index.column() ) { + case Collection: + if ( item.storageCollectionId() >= 0 ) { + return MailCommon::Util::fullCollectionPath( Akonadi::Collection( item.storageCollectionId() ) ); + } + return MailCommon::Util::fullCollectionPath(item.parentCollection()); + case Subject: + return msg->subject()->asUnicodeString(); + case Sender: + return msg->from()->asUnicodeString(); + case Receiver: + return msg->to()->asUnicodeString(); + case Date: + return msg->date()->dateTime().dateTime(); + case SizeNotLocalized: + case Size: + return item.size(); + case DateNotTranslated: + return msg->date()->dateTime().dateTime(); + default: + return QVariant(); + } + } else if( role == Qt::ToolTipRole ) { + return toolTip( item ); } - } else if( role == Qt::ToolTipRole ) { - return toolTip( item ); - } - return ItemModel::data( index, role ); + return ItemModel::data( index, role ); } @@ -225,20 +225,20 @@ QVariant KMSearchMessageModel::data( const QModelIndex & index, int role ) const QVariant KMSearchMessageModel::headerData( int section, Qt::Orientation orientation, int role ) const { - if ( collection().isValid() - && !collection().contentMimeTypes().contains( QLatin1String("message/rfc822") ) - && collection().contentMimeTypes() != QStringList( QLatin1String("inode/directory") ) ) - return QVariant(); - - if ( orientation == Qt::Horizontal && role == Qt::DisplayRole ) { - switch ( section ) { - case Collection: - return i18nc( "@title:column, folder (e.g. email)", "Folder" ); - default: - return Akonadi::MessageModel::headerData( ( section-1 ), orientation, role ); + if ( collection().isValid() + && !collection().contentMimeTypes().contains( QLatin1String("message/rfc822") ) + && collection().contentMimeTypes() != QStringList( QLatin1String("inode/directory") ) ) + return QVariant(); + + if ( orientation == Qt::Horizontal && role == Qt::DisplayRole ) { + switch ( section ) { + case Collection: + return i18nc( "@title:column, folder (e.g. email)", "Folder" ); + default: + return Akonadi::MessageModel::headerData( ( section-1 ), orientation, role ); + } } - } - return Akonadi::MessageModel::headerData( ( section-1 ), orientation, role ); + return Akonadi::MessageModel::headerData( ( section-1 ), orientation, role ); } #include "kmsearchmessagemodel.moc" diff --git a/kmsearchmessagemodel.h b/kmsearchmessagemodel.h index 83da57287..1e3f659a0 100644 --- a/kmsearchmessagemodel.h +++ b/kmsearchmessagemodel.h @@ -32,18 +32,18 @@ class KMSearchMessageModel : public Akonadi::MessageModel { - Q_OBJECT + Q_OBJECT - public: +public: enum Column { - Collection, - Subject, - Sender, - Receiver, - Date, - Size, - DateNotTranslated, - SizeNotLocalized + Collection, + Subject, + Sender, + Receiver, + Date, + Size, + DateNotTranslated, + SizeNotLocalized }; explicit KMSearchMessageModel( QObject* parent = 0 ); ~KMSearchMessageModel();
" \ + "
" \ + "%1:" \ + "
" \ + "
" \ + "%2" \ + "