void BufferView::init() {
setIndentation(10);
- //header()->hide();
+ header()->hide();
header()->hideSection(1);
expandAll();
connect(this, SIGNAL(doubleClicked(const QModelIndex &)),
model(), SLOT(doubleClickReceived(const QModelIndex &)));
- connect(model(), SIGNAL(updateSelection(const QModelIndex &, QItemSelectionModel::SelectionFlags)),
+ connect(model(), SIGNAL(selectionChanged(const QModelIndex &)),
+ this, SLOT(select(const QModelIndex &)));
+
+ connect(this, SIGNAL(selectionChanged(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()));
+ connect(this, SIGNAL(eventDropped(QDropEvent *)), filter, SLOT(dropEvent(QDropEvent *)));
+ //connect(this, SIGNAL(dragEnter()), filter, SLOT(enterDrag()));
+ //connect(this, SIGNAL(dragLeave()), filter, SLOT(leaveDrag()));
}
void BufferView::setModel(QAbstractItemModel *model) {
init();
}
+void BufferView::select(const QModelIndex ¤t) {
+ emit selectionChanged(current, QItemSelectionModel::ClearAndSelect);
+}
+
+void BufferView::dropEvent(QDropEvent *event) {
+ if(event->source() == this) {
+ // this is either a merge or a sort operation...
+ // currently only merges are supported
+ } else {
+ emit eventDropped(event);
+ }
+ QTreeView::dropEvent(event);
+
+}
+
+/*
+ done prettier now..
// dragEnterEvent and dragLeaveEvent are needed to keep track of the active
// view when customizing them via drag and drop
void BufferView::dragEnterEvent(QDragEnterEvent *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) {