From kde-commits Sun Aug 24 13:38:43 2008 From: Volker Krause Date: Sun, 24 Aug 2008 13:38:43 +0000 To: kde-commits Subject: KDE/kdepim/akonadi/clients/akonadiconsole Message-Id: <1219585123.412076.25157.nullmailer () svn ! kde ! org> X-MARC-Message: https://marc.info/?l=kde-commits&m=121958513513801 SVN commit 851743 by vkrause: Add a simple Nepomuk property viewer. M +7 -1 CMakeLists.txt M +28 -1 browserwidget.cpp M +1 -0 browserwidget.h M +78 -5 browserwidget_contentview.ui --- trunk/KDE/kdepim/akonadi/clients/akonadiconsole/CMakeLists.txt #851742:851743 @@ -1,6 +1,10 @@ include_directories(${CMAKE_SOURCE_DIR}/akonadi) include_directories(${CMAKE_SOURCE_DIR}/libkdepim) +find_package( Nepomuk ) + +if ( NEPOMUK_FOUND ) + set(akonadiconsole_bin_SRCS agentwidget.cpp browserwidget.cpp @@ -28,8 +32,10 @@ kde4_add_executable(akonadiconsole_bin ${akonadiconsole_bin_SRCS}) set_target_properties(akonadiconsole_bin PROPERTIES OUTPUT_NAME akonadiconsole) -target_link_libraries( akonadiconsole_bin ${KDE4_AKONADI_LIBS} akonadi-kabc ${KDE4_AKONADI_KMIME_LIBS} akonadi-kcal kdepim ${KDE4_KDEUI_LIBS} ) +target_link_libraries( akonadiconsole_bin ${KDE4_AKONADI_LIBS} akonadi-kabc ${KDE4_AKONADI_KMIME_LIBS} akonadi-kcal kdepim ${KDE4_KDEUI_LIBS} ${NEPOMUK_LIBRARIES} ) install( TARGETS akonadiconsole_bin ${INSTALL_TARGETS_DEFAULT_ARGS} ) install( FILES akonadiconsole.desktop DESTINATION ${XDG_APPS_INSTALL_DIR} ) INSTALL( FILES akonadiconsoleui.rc DESTINATION ${DATA_INSTALL_DIR}/akonadiconsole ) + +endif ( NEPOMUK_FOUND ) --- trunk/KDE/kdepim/akonadi/clients/akonadiconsole/browserwidget.cpp #851742:851743 @@ -43,6 +43,8 @@ #include #include #include +#include +#include #include #include @@ -60,7 +62,8 @@ BrowserWidget::BrowserWidget(KXmlGuiWindow *xmlGuiWindow, QWidget * parent) : QWidget( parent ), mItemModel( 0 ), - mCurrentCollection( 0 ) + mCurrentCollection( 0 ), + mNepomukModel( 0 ) { QVBoxLayout *layout = new QVBoxLayout( this ); @@ -183,6 +186,30 @@ mAttrModel->itemFromIndex( index )->setFlags( Qt::ItemIsEditable | mAttrModel->flags( index ) ); } contentUi.attrView->setModel( mAttrModel ); + + Nepomuk::Resource res( item.url() ); + delete mNepomukModel; + mNepomukModel = 0; + if ( res.isValid() ) { + QHash props = res.properties(); + mNepomukModel = new QStandardItemModel( props.count(), 2, this ); + QStringList labels; + labels << i18n( "Property" ) << i18n( "Value" ); + mNepomukModel->setHorizontalHeaderLabels( labels ); + int row = 0; + for ( QHash::ConstIterator it = props.begin(); it != props.end(); ++it, ++row ) { + QModelIndex index = mNepomukModel->index( row, 0 ); + Q_ASSERT( index.isValid() ); + mNepomukModel->setData( index, it.key().toString() ); + index = mNepomukModel->index( row, 1 ); + Q_ASSERT( index.isValid() ); + mNepomukModel->setData( index, it.value().toString() ); + } + contentUi.nepomukView->setEnabled( true ); + } else { + contentUi.nepomukView->setEnabled( false ); + } + contentUi.nepomukView->setModel( mNepomukModel ); } } --- trunk/KDE/kdepim/akonadi/clients/akonadiconsole/browserwidget.h #851742:851743 @@ -71,6 +71,7 @@ Akonadi::Collection::Id mCurrentCollection; Akonadi::Item mCurrentItem; QStandardItemModel *mAttrModel; + QStandardItemModel *mNepomukModel; }; #endif --- trunk/KDE/kdepim/akonadi/clients/akonadiconsole/browserwidget_contentview.ui #851742:851743 @@ -13,9 +13,17 @@ - 3 + 0 + + + 0 + 0 + 491 + 428 + + Payload @@ -29,6 +37,14 @@ 0 + + + 0 + 0 + 483 + 420 + + @@ -43,16 +59,32 @@ + + + 0 + 0 + 100 + 30 + + - + + + + 0 + 0 + 100 + 30 + + - + @@ -61,6 +93,14 @@ + + + 0 + 0 + 491 + 428 + + Attributes @@ -74,7 +114,7 @@ - + New Attribute @@ -96,6 +136,14 @@ + + + 0 + 0 + 491 + 428 + + Raw Payload @@ -113,6 +161,14 @@ + + + 0 + 0 + 491 + 428 + + Internals @@ -248,6 +304,23 @@ + + + Nepomuk + + + + + + false + + + true + + + + + @@ -255,7 +328,7 @@ Qt::Horizontal - + 40 20