X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fuisupport%2Fnickview.h;h=807a4d4399bea6dcafbc901cb4073d1957424e52;hp=0bf360ab026b5725d5ae0f2a8ff0e4857c2bc4d8;hb=016b1a6b6c88dc9d1493199be4e42e85bed6633c;hpb=d6b056e936ec441258d291b7a8af7b83f9f53016 diff --git a/src/uisupport/nickview.h b/src/uisupport/nickview.h index 0bf360ab..807a4d43 100644 --- a/src/uisupport/nickview.h +++ b/src/uisupport/nickview.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-07 by the Quassel IRC Team * + * Copyright (C) 2005-08 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -21,28 +21,45 @@ #ifndef _NICKVIEW_H_ #define _NICKVIEW_H_ + #include +#include "types.h" +#include "bufferinfo.h" + + class NickModel; +class LazySizeHint; class FilteredNickModel; 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); +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(NickModel *model); - - private: - QSortFilterProxyModel *filteredModel; +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