[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdepim/akonadi/clients/akonadiconsole
From: Volker Krause <vkrause () kde ! org>
Date: 2007-06-29 22:21:04
Message-ID: 1183155664.931038.4821.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 681695 by vkrause:
edit support
M +1 -1 CMakeLists.txt
M +20 -12 browserwidget.cpp
M +6 -3 browserwidget.h
A browserwidget_contentview.ui
--- trunk/KDE/kdepim/akonadi/clients/akonadiconsole/CMakeLists.txt #681694:681695
@@ -18,7 +18,7 @@
)
kde4_automoc(${akonadiconsole_bin_SRCS})
-kde4_add_ui_files(akonadiconsole_bin_SRCS browserwidget_itemview.ui)
+kde4_add_ui_files(akonadiconsole_bin_SRCS browserwidget_itemview.ui browserwidget_contentview.ui)
kde4_add_executable(akonadiconsole_bin ${akonadiconsole_bin_SRCS})
set_target_properties(akonadiconsole_bin PROPERTIES OUTPUT_NAME akonadiconsole)
--- trunk/KDE/kdepim/akonadi/clients/akonadiconsole/browserwidget.cpp #681694:681695
@@ -24,6 +24,7 @@
#include <libakonadi/item.h>
#include <libakonadi/itemfetchjob.h>
#include <libakonadi/itemserializer.h>
+#include <libakonadi/itemstorejob.h>
#include <libakonadi/messagecollectionmodel.h>
#include <libakonadi/collectionfilterproxymodel.h>
@@ -57,7 +58,7 @@
connect( mCollectionView, SIGNAL(clicked(QModelIndex)), SLOT(collectionActivated(QModelIndex)) );
splitter->addWidget( mCollectionView );
- mCollectionModel = new Akonadi::MessageCollectionModel( this );
+ mCollectionModel = new Akonadi::CollectionModel( this );
mCollectionView->setModel( mCollectionModel );
QSplitter *splitter2 = new QSplitter( Qt::Vertical, this );
@@ -77,13 +78,10 @@
splitter2->addWidget( itemViewParent );
itemViewParent->layout()->setMargin( 0 );
- mStack = new QStackedWidget( this );
- mDataView = new QTextEdit( mStack );
- mDataView->setReadOnly( true );
- mAddresseeView = new KPIM::AddresseeView( mStack );
- mStack->addWidget( mDataView );
- mStack->addWidget( mAddresseeView );
- splitter2->addWidget( mStack );
+ QWidget *contentViewParent = new QWidget( this );
+ contentUi.setupUi( contentViewParent );
+ connect( contentUi.saveButton, SIGNAL(clicked()), SLOT(save()) );
+ splitter2->addWidget( contentViewParent );
}
void BrowserWidget::collectionActivated(const QModelIndex & index)
@@ -113,16 +111,17 @@
qWarning() << "No item found!";
} else {
const Item item = fetch->items().first();
+ mCurrentItem = item;
if ( item.hasPayload<KABC::Addressee>() ) {
const KABC::Addressee addr = item.payload<KABC::Addressee>();
- mAddresseeView->setAddressee( addr );
- mStack->setCurrentWidget( mAddresseeView );
+ contentUi.addresseeView->setAddressee( addr );
+ contentUi.stack->setCurrentWidget( contentUi.addresseeView );
} else {
QByteArray data;
ItemSerializer::serialize( item, Item::PartBody, data );
- mDataView->setPlainText( data );
- mStack->setCurrentWidget( mDataView );
+ contentUi.dataView->setPlainText( data );
+ contentUi.stack->setCurrentWidget( contentUi.dataViewPage );
}
}
}
@@ -145,4 +144,13 @@
mItemModel->setCollection( Collection( mCurrentCollection ) );
}
+void BrowserWidget::save()
+{
+ const QByteArray data = contentUi.dataView->toPlainText().toUtf8();
+ Item item = mCurrentItem;
+ ItemSerializer::deserialize( item, Item::PartBody, data );
+ ItemStoreJob *store = new ItemStoreJob( item, this );
+ store->storePayload();
+}
+
#include "browserwidget.moc"
--- trunk/KDE/kdepim/akonadi/clients/akonadiconsole/browserwidget.h #681694:681695
@@ -21,7 +21,10 @@
#define BROWSERWIDGET_H
#include <ui_browserwidget_itemview.h>
+#include <ui_browserwidget_contentview.h>
+#include <libakonadi/item.h>
+
#include <QtGui/QWidget>
class QModelIndex;
@@ -54,16 +57,16 @@
void itemActivated( const QModelIndex &index );
void itemFetchDone( KJob *job );
void modelChanged();
+ void save();
private:
Akonadi::CollectionModel *mCollectionModel;
Akonadi::CollectionView *mCollectionView;
Akonadi::ItemModel *mItemModel;
- QStackedWidget *mStack;
- QTextEdit *mDataView;
- KPIM::AddresseeView *mAddresseeView;
Ui::ItemViewWidget itemUi;
+ Ui::ContentViewWidget contentUi;
int mCurrentCollection;
+ Akonadi::Item mCurrentItem;
};
#endif
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic