From kde-commits Sun Apr 22 16:52:26 2007 From: Tobias Koenig Date: Sun, 22 Apr 2007 16:52:26 +0000 To: kde-commits Subject: KDE/kdepim/akonadi/clients/akonadiconsole Message-Id: <1177260746.399200.29022.nullmailer () svn ! kde ! org> X-MARC-Message: https://marc.info/?l=kde-commits&m=117726075912139 SVN commit 656897 by tokoe: Add support for type formatters M +2 -1 CMakeLists.txt M +19 -3 browserwidget.cpp M +7 -0 browserwidget.h --- trunk/KDE/kdepim/akonadi/clients/akonadiconsole/CMakeLists.txt #656896:656897 @@ -1,4 +1,5 @@ include_directories(${CMAKE_SOURCE_DIR}/akonadi) +include_directories(${CMAKE_SOURCE_DIR}/libkdepim) set(akonadiconsole_bin_SRCS agentwidget.cpp @@ -20,6 +21,6 @@ kde4_add_executable(akonadiconsole_bin ${akonadiconsole_bin_SRCS}) set_target_properties(akonadiconsole_bin PROPERTIES OUTPUT_NAME akonadiconsole) -target_link_libraries( akonadiconsole_bin akonadicomponents ${KDE4_KDEUI_LIBRARY} ) +target_link_libraries( akonadiconsole_bin akonadicomponents kdepim ${KDE4_KDEUI_LIBRARY} ) install(TARGETS akonadiconsole_bin DESTINATION ${BIN_INSTALL_DIR} ) --- trunk/KDE/kdepim/akonadi/clients/akonadiconsole/browserwidget.cpp #656896:656897 @@ -27,11 +27,15 @@ #include #include +#include + #include +#include #include #include #include +#include using namespace Akonadi; @@ -66,9 +70,13 @@ connect( mItemView, SIGNAL(clicked(QModelIndex)), SLOT(itemActivated(QModelIndex)) ); splitter2->addWidget( mItemView ); - mDataView = new QTextEdit( this ); + mStack = new QStackedWidget( this ); + mDataView = new QTextEdit( mStack ); mDataView->setReadOnly( true ); - splitter2->addWidget( mDataView ); + mAddresseeView = new KPIM::AddresseeView( mStack ); + mStack->addWidget( mDataView ); + mStack->addWidget( mAddresseeView ); + splitter2->addWidget( mStack ); } void BrowserWidget::collectionActivated(const QModelIndex & index) @@ -98,7 +106,15 @@ qWarning() << "No item found!"; } else { const Item item = fetch->items().first(); - mDataView->setPlainText( item.data() ); + if ( item.mimeType() == QLatin1String( "text/vcard" ) ) { + const KABC::Addressee addr = item.payload(); + + mAddresseeView->setAddressee( addr ); + mStack->setCurrentWidget( mAddresseeView ); + } else { + mDataView->setPlainText( item.data() ); + mStack->setCurrentWidget( mDataView ); + } } } --- trunk/KDE/kdepim/akonadi/clients/akonadiconsole/browserwidget.h #656896:656897 @@ -23,11 +23,16 @@ #include class QModelIndex; +class QStackedWidget; class QTextEdit; class QTreeView; class KJob; +namespace KPIM { +class AddresseeView; +} + namespace Akonadi { class CollectionView; class CollectionModel; @@ -53,7 +58,9 @@ Akonadi::CollectionView *mCollectionView; Akonadi::ItemModel *mItemModel; QTreeView *mItemView; + QStackedWidget *mStack; QTextEdit *mDataView; + KPIM::AddresseeView *mAddresseeView; }; #endif