akonadi
collectionview.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef AKONADI_COLLECTION_VIEW
00021 #define AKONADI_COLLECTION_VIEW
00022
00023 #include "akonadi_export.h"
00024 #include <QtGui/QTreeView>
00025
00026 class KXmlGuiWindow;
00027 class QDragMoveEvent;
00028
00029 namespace Akonadi {
00030
00031 class Collection;
00032
00062 class AKONADI_EXPORT CollectionView : public QTreeView
00063 {
00064 Q_OBJECT
00065
00066 public:
00072 explicit CollectionView( QWidget *parent = 0 );
00073
00082 explicit CollectionView( KXmlGuiWindow *xmlGuiWindow, QWidget *parent = 0 );
00083
00087 virtual ~CollectionView();
00088
00095 void setXmlGuiWindow( KXmlGuiWindow *xmlGuiWindow );
00096
00097 virtual void setModel ( QAbstractItemModel * model );
00098
00099 Q_SIGNALS:
00106 void clicked( const Akonadi::Collection &collection );
00107
00114 void currentChanged( const Akonadi::Collection &collection );
00115
00116 protected:
00117 using QTreeView::currentChanged;
00118 virtual void dragMoveEvent( QDragMoveEvent *event );
00119 virtual void dragLeaveEvent( QDragLeaveEvent *event );
00120 virtual void dropEvent( QDropEvent *event );
00121 virtual void contextMenuEvent( QContextMenuEvent *event );
00122
00123 private:
00124
00125 class Private;
00126 Private * const d;
00127
00128 Q_PRIVATE_SLOT( d, void dragExpand() )
00129 Q_PRIVATE_SLOT( d, void itemClicked( const QModelIndex& ) )
00130 Q_PRIVATE_SLOT( d, void itemCurrentChanged( const QModelIndex& ) )
00131
00132 };
00133
00134 }
00135
00136 #endif