#include "client.h"
#include "buffer.h"
#include "bufferview.h"
-#include "buffertreemodel.h"
+#include "networkmodel.h"
/*****************************************
* The TreeView showing the Buffers
// Please be carefull when reimplementing methods which are used to inform the view about changes to the data
// to be on the safe side: call QTreeView's method aswell
BufferView::BufferView(QWidget *parent) : QTreeView(parent) {
+ // dirty fast hack:
+ header()->setContextMenuPolicy(Qt::ActionsContextMenu);
+
+ QAction *showBufferAct = new QAction(tr("Buffer"), header());
+ showBufferAct->setCheckable(true);
+ showBufferAct->setChecked(true);
+ showBufferAct->setProperty("column", 0);
+ connect(showBufferAct, SIGNAL(toggled(bool)), this, SLOT(toggleHeader(bool)));
+ header()->addAction(showBufferAct);
+
+ QAction *showTopicAct = new QAction(tr("Topic"), header());
+ showTopicAct->setCheckable(true);
+ showTopicAct->setChecked(true);
+ showTopicAct->setProperty("column", 1);
+ connect(showTopicAct, SIGNAL(toggled(bool)), this, SLOT(toggleHeader(bool)));
+ header()->addAction(showTopicAct);
+
+ QAction *showNickAct = new QAction(tr("Nick Count"), header());
+ showNickAct->setCheckable(true);
+ showNickAct->setChecked(true);
+ showNickAct->setProperty("column", 2);
+ connect(showNickAct, SIGNAL(toggled(bool)), this, SLOT(toggleHeader(bool)));
+ header()->addAction(showNickAct);
+
}
void BufferView::init() {
setIndentation(10);
- header()->hide();
- header()->hideSection(1);
+ // header()->hide();
+ // header()->hideSection(1);
expandAll();
setAnimated(true);
}
void BufferView::joinChannel(const QModelIndex &index) {
- Buffer::Type bufferType = (Buffer::Type)index.data(BufferTreeModel::BufferTypeRole).toInt();
+ Buffer::Type bufferType = (Buffer::Type)index.data(NetworkModel::BufferTypeRole).toInt();
if(bufferType != Buffer::ChannelType)
return;
- Client::fakeInput(index.data(BufferTreeModel::BufferUidRole).toUInt(), QString("/JOIN %1").arg(index.sibling(index.row(), 0).data().toString()));
+ Client::fakeInput(index.data(NetworkModel::BufferUidRole).toUInt(), QString("/JOIN %1").arg(index.sibling(index.row(), 0).data().toString()));
}
void BufferView::keyPressEvent(QKeyEvent *event) {
expand(parent);
}
}
+
+void BufferView::toggleHeader(bool checked) {
+ QAction *action = qobject_cast<QAction *>(sender());
+ header()->setSectionHidden((action->property("column")).toInt(), not checked);
+}