X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fuisupport%2Fnickview.h;h=b6bcee504655e155be2200c16afc34b262b5ff03;hp=df8321dcc15404c7e5e0802f1d98d88264163afa;hb=464a20552a20ff976ef4d696f69bc73b389886ad;hpb=d5b27b7809e49a426adac9e5d9a8f8ad4f85eb74 diff --git a/src/uisupport/nickview.h b/src/uisupport/nickview.h index df8321dc..b6bcee50 100644 --- a/src/uisupport/nickview.h +++ b/src/uisupport/nickview.h @@ -21,11 +21,18 @@ #ifndef _NICKVIEW_H_ #define _NICKVIEW_H_ + #include +#include "types.h" +#include "bufferinfo.h" + + class NickModel; +class LazySizeHint; class FilteredNickModel; class QSortFilterProxyModel; +class QResizeEvent; class NickView : public QTreeView { Q_OBJECT @@ -33,14 +40,26 @@ class NickView : public QTreeView { public: NickView(QWidget *parent = 0); virtual ~NickView(); - + protected: - void rowsInserted(const QModelIndex &, int, int); - + virtual void rowsInserted(const QModelIndex &parent, int start, int end); + virtual void dataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight); + virtual void rowsAboutToBeRemoved(const QModelIndex &parent, int start, int end); + virtual QSize sizeHint() const; + public slots: void setModel(QAbstractItemModel *model); void init(); + void showContextMenu(const QPoint & pos); + void startQuery(const QModelIndex & modelIndex); + +private: + LazySizeHint *_sizeHint; + BufferInfo bufferInfoFromModelIndex(const QModelIndex & index); + QString nickFromModelIndex(const QModelIndex & index); + void executeCommand(const BufferInfo & bufferInfo, const QString & command); }; + #endif