X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fuisupport%2Fnickview.h;h=cb263c4471f358026f8514d3bb4c948acb5d52c4;hp=70206cb7dc627ccc01f168cd91343b13dbc2e42f;hb=89c07686d193fe31e1b3ea45735b3f5a0d1e6cfb;hpb=50706d89d4d60e258ebb6873d3778383621898e4 diff --git a/src/uisupport/nickview.h b/src/uisupport/nickview.h index 70206cb7..cb263c44 100644 --- a/src/uisupport/nickview.h +++ b/src/uisupport/nickview.h @@ -21,8 +21,13 @@ #ifndef _NICKVIEW_H_ #define _NICKVIEW_H_ + #include +#include "types.h" +#include "bufferinfo.h" + + class NickModel; class FilteredNickModel; class QSortFilterProxyModel; @@ -30,19 +35,31 @@ class QSortFilterProxyModel; class NickView : public QTreeView { Q_OBJECT - public: - NickView(QWidget *parent = 0); - virtual ~NickView(); +public: + NickView(QWidget *parent = 0); + virtual ~NickView(); - protected: - void rowsInserted(const QModelIndex &, int, int); - -// public slots: -// void setModel(NickModel *model); - -// private: -// QSortFilterProxyModel *filteredModel; +protected: + 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: + QSize _sizeHint; + + void updateSizeHint(); + BufferInfo bufferInfoFromModelIndex(const QModelIndex & index); + QString nickFromModelIndex(const QModelIndex & index); + void executeCommand(const BufferInfo & bufferInfo, const QString & command); + }; + #endif