X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtgui%2Fbufferviewwidget.h;h=e6e21164ccdd86f7d7bf7aa01fa10534aece1171;hp=81b6455af00a9237fb950362be4a8f20ff142d5e;hb=e7e564dcf469faa4c47383368a58cedbe3a204e6;hpb=15ee1478137bc748e27b0b06537973d8df04b9d7 diff --git a/src/qtgui/bufferviewwidget.h b/src/qtgui/bufferviewwidget.h index 81b6455a..e6e21164 100644 --- a/src/qtgui/bufferviewwidget.h +++ b/src/qtgui/bufferviewwidget.h @@ -18,123 +18,15 @@ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ -#ifndef _BUFFERVIEW_H_ -#define _BUFFERVIEW_H_ +#ifndef _BUFFERVIEWWIDGET_H_ +#define _BUFFERVIEWWIDGET_H_ #include #include -#include "clientproxy.h" -#include "buffer.h" -#include "ui_bufferviewwidget.h" +#include "bufferviewfilter.h" #include "bufferview.h" - -/***************************************** - * general item used in the Tree Model - *****************************************/ -class TreeItem { -public: - TreeItem(QList &data, TreeItem *parent = 0); - TreeItem(TreeItem *parent = 0); - virtual ~TreeItem(); - - void appendChild(TreeItem *child); - void removeChild(int row); - - TreeItem *child(int row); - int childCount() const; - int columnCount() const; - virtual QVariant data(int column, int role) const; - int row() const; - TreeItem *parent(); - - void setForeground(QColor); - -private: - QList childItems; - TreeItem *parentItem; - QList itemData; - - QColor foreground; -}; - - -/***************************************** - * Fancy Buffer Items - *****************************************/ -class BufferTreeItem : public TreeItem{ -public: - BufferTreeItem(Buffer *, TreeItem *parent = 0); - QVariant data(int column, int role) const; - Buffer *buffer() const { return buf; } - void setActivity(const Buffer::ActivityLevel &); - -private: - QString text(int column) const; - QColor foreground(int column) const; - Buffer *buf; - Buffer::ActivityLevel activity; -}; - - -/***************************************** - * BufferTreeModel - *****************************************/ -class BufferTreeModel : public QAbstractItemModel { - Q_OBJECT - -public: - enum myRoles { - BufferTypeRole = Qt::UserRole, - BufferActiveRole - }; - - - BufferTreeModel(QObject *parent = 0); - ~BufferTreeModel(); - - QVariant data(const QModelIndex &index, int role) const; - Qt::ItemFlags flags(const QModelIndex &index) const; - QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const; - QModelIndex index(int row, int column, const QModelIndex &parent = QModelIndex()) const; - QModelIndex parent(const QModelIndex &index) const; - int rowCount(const QModelIndex &parent = QModelIndex()) const; - int columnCount(const QModelIndex &parent = QModelIndex()) const; - - void clearActivity(Buffer *buffer); - -public slots: - void bufferUpdated(Buffer *); - void changeCurrent(const QModelIndex &, const QModelIndex &); - void selectBuffer(Buffer *buffer); - void doubleClickReceived(const QModelIndex &); - void bufferActivity(Buffer::ActivityLevel, Buffer *buffer); - -signals: - void bufferSelected(Buffer *); - void invalidateFilter(); - void fakeUserInput(BufferId, QString); - void updateSelection(const QModelIndex &, QItemSelectionModel::SelectionFlags); - -private: - bool isBufferIndex(const QModelIndex &) const; - Buffer *getBufferByIndex(const QModelIndex &) const; - QModelIndex getOrCreateNetworkItemIndex(Buffer *buffer); - QModelIndex getOrCreateBufferItemIndex(Buffer *buffer); - - bool removeRow(int row, const QModelIndex &parent = QModelIndex()); - - QStringList mimeTypes() const; - QMimeData *mimeData(const QModelIndexList &) const; - bool dropMimeData(const QMimeData *, Qt::DropAction, int, int, const QModelIndex &); - TreeItem *rootItem; - - QHash networkItem; - QHash bufferItem; - Buffer *currentBuffer; -}; - - +#include "ui_bufferviewwidget.h" /***************************************** @@ -150,7 +42,6 @@ public: private: Ui::BufferViewWidget ui; - };