X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=gui%2Fnetworkview.cpp;h=86a8376718f092fba5aa60561f4cc157c032f401;hp=e9f1bd6e622d6a1361bce70cf0923f8ca8e9a95e;hb=c254c7bec76e5014a52664b3535f3b1d6f036a40;hpb=b10bb4b6768536f34fd5e7b00cb8755279af135d diff --git a/gui/networkview.cpp b/gui/networkview.cpp index e9f1bd6e..86a83767 100644 --- a/gui/networkview.cpp +++ b/gui/networkview.cpp @@ -45,6 +45,9 @@ NetworkView::NetworkView(QString n, int m, QStringList nets, QWidget *parent) : tree = qobject_cast(widget())->tree(); tree->header()->hide(); tree->setSortingEnabled(true); + tree->setRootIsDecorated(true); + tree->setIndentation(10); + //tree->setAnimated(true); connect(tree, SIGNAL(itemClicked(QTreeWidgetItem*, int)), this, SLOT(itemClicked(QTreeWidgetItem*))); connect(tree, SIGNAL(itemDoubleClicked(QTreeWidgetItem*, int)), this, SLOT(itemDoubleClicked(QTreeWidgetItem*))); connect(this, SIGNAL(fakeUserInput(BufferId, QString)), guiProxy, SLOT(gsUserInput(BufferId, QString))); @@ -61,6 +64,11 @@ void NetworkView::setBuffers(QList buffers) { void NetworkView::bufferUpdated(Buffer *b) { if(bufitems.contains(b)) { // FIXME this looks ugly + /* + this is actually fugly! :) - EgS + if anyone else wonders what this does: it takes the TreeItem related to the buffer out of the parents child list + therefore we need to know the childs index + */ QTreeWidgetItem *item = bufitems[b]->parent()->takeChild(bufitems[b]->parent()->indexOfChild(bufitems[b])); delete item; bufitems.remove(b); @@ -91,7 +99,9 @@ void NetworkView::bufferUpdated(Buffer *b) { item->setForeground(0, QColor("grey")); } if(b == currentBuffer) { - item->setSelected(true); + // this fixes the multiple simultaneous selections + emit bufferSelected(b); + //item->setSelected(true); } } foreach(QString key, netitems.keys()) { @@ -105,7 +115,7 @@ void NetworkView::bufferUpdated(Buffer *b) { } bool NetworkView::shouldShow(Buffer *b) { - bool f = false; + // bool f = false; if((mode & NoActive) && b->isActive()) return false; if((mode & NoInactive) && !b->isActive()) return false; if((mode & NoChannels) && b->bufferType() == Buffer::ChannelBuffer) return false; @@ -117,25 +127,24 @@ bool NetworkView::shouldShow(Buffer *b) { void NetworkView::bufferDestroyed(Buffer *b) { - } void NetworkView::itemClicked(QTreeWidgetItem *item) { Buffer *b = bufitems.key(item); - if(b) emit bufferSelected(b); - else { - b = currentBuffer; - if(bufitems.contains(b)) bufitems[b]->setSelected(true); + if(b) { + // there is a buffer associated with the item (aka: status/channel/query) + emit bufferSelected(b); + } else { + // network item item->setExpanded(!item->isExpanded()); } } void NetworkView::itemDoubleClicked(QTreeWidgetItem *item) { Buffer *b = bufitems.key(item); - if(b) { - if(Buffer::ChannelBuffer == b->bufferType()) { - emit fakeUserInput(b->bufferId(), QString("/join " + b->bufferName())); - } + if(b && Buffer::ChannelBuffer == b->bufferType()) { + emit fakeUserInput(b->bufferId(), QString("/join " + b->bufferName())); + emit bufferSelected(b); } }