[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    KDE/kdepim/akonadi/clients/akonadiconsole
From:       Tobias Koenig <tokoe () kde ! org>
Date:       2007-04-22 16:52:26
Message-ID: 1177260746.399200.29022.nullmailer () svn ! kde ! org
[Download RAW message or body]

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 <libakonadi/messagecollectionmodel.h>
 #include <libakonadi/collectionfilterproxymodel.h>
 
+#include <libkdepim/addresseeview.h>
+
 #include <kdebug.h>
+#include <kconfig.h>
 
 #include <QSplitter>
 #include <QTextEdit>
 #include <QVBoxLayout>
+#include <QStackedWidget>
 
 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<KABC::Addressee>();
+
+      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 <QtGui/QWidget>
 
 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
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic