X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtgui%2Fbufferview.cpp;h=33eab930e7e14edddc0a970906febaec140830a3;hp=f805418957e2e051fbb7a5e4840d60025e721c20;hb=64ff44560cc13569ab4968e3d974b0b7e9820607;hpb=73edffb5f0f6ecae4118c36a7ca2c0d479b7f8c6 diff --git a/src/qtgui/bufferview.cpp b/src/qtgui/bufferview.cpp index f8054189..33eab930 100644 --- a/src/qtgui/bufferview.cpp +++ b/src/qtgui/bufferview.cpp @@ -30,7 +30,7 @@ BufferView::BufferView(QWidget *parent) : QTreeView(parent) { void BufferView::init() { setIndentation(10); - header()->hide(); + //header()->hide(); header()->hideSection(1); expandAll(); @@ -38,15 +38,25 @@ void BufferView::init() { setAcceptDrops(true); setDropIndicatorShown(true); - connect(selectionModel(), SIGNAL(currentChanged(const QModelIndex &, const QModelIndex &)), model(), SLOT(changeCurrent(const QModelIndex &, const QModelIndex &))); - connect(this, SIGNAL(doubleClicked(const QModelIndex &)), model(), SLOT(doubleClickReceived(const QModelIndex &))); - connect(model(), SIGNAL(updateSelection(const QModelIndex &, QItemSelectionModel::SelectionFlags)), selectionModel(), SLOT(select(const QModelIndex &, QItemSelectionModel::SelectionFlags))); + setSortingEnabled(true); + sortByColumn(0, Qt::AscendingOrder); + + connect(selectionModel(), SIGNAL(currentChanged(const QModelIndex &, const QModelIndex &)), + model(), SLOT(changeCurrent(const QModelIndex &, const QModelIndex &))); + + connect(this, SIGNAL(doubleClicked(const QModelIndex &)), + model(), SLOT(doubleClickReceived(const QModelIndex &))); + + connect(model(), SIGNAL(updateSelection(const QModelIndex &, QItemSelectionModel::SelectionFlags)), + selectionModel(), SLOT(select(const QModelIndex &, QItemSelectionModel::SelectionFlags))); } void BufferView::setFilteredModel(QAbstractItemModel *model, BufferViewFilter::Modes mode, QStringList nets) { BufferViewFilter *filter = new BufferViewFilter(model, mode, nets); setModel(filter); + connect(this, SIGNAL(dragEnter()), filter, SLOT(enterDrag())); + connect(this, SIGNAL(dragLeave()), filter, SLOT(leaveDrag())); } void BufferView::setModel(QAbstractItemModel *model) { @@ -54,11 +64,19 @@ void BufferView::setModel(QAbstractItemModel *model) { init(); } +// dragEnterEvent and dragLeaveEvent are needed to keep track of the active +// view when customizing them via drag and drop void BufferView::dragEnterEvent(QDragEnterEvent *event) { - // not yet needed... this will be usefull to keep track of the active view when customizing them with drag and drop + emit dragEnter(); QTreeView::dragEnterEvent(event); } +void BufferView::dragLeaveEvent(QDragLeaveEvent *event) { + emit dragLeave(); + QTreeView::dragLeaveEvent(event); +} + +// ensure that newly inserted network nodes are expanded per default void BufferView::rowsInserted(const QModelIndex & parent, int start, int end) { if(parent.parent() == QModelIndex()) setExpanded(parent, true); QTreeView::rowsInserted(parent, start, end);