2013-08-19 00:22:17 +05:30
|
|
|
#include "ModListView.h"
|
|
|
|
#include <QHeaderView>
|
|
|
|
#include <QMouseEvent>
|
2013-08-20 05:59:36 +05:30
|
|
|
#include <QPainter>
|
|
|
|
#include <QDrag>
|
|
|
|
#include <QRect>
|
2013-08-19 00:22:17 +05:30
|
|
|
|
|
|
|
ModListView::ModListView ( QWidget* parent )
|
|
|
|
:QTreeView ( parent )
|
|
|
|
{
|
|
|
|
setAllColumnsShowFocus ( true );
|
|
|
|
setExpandsOnDoubleClick ( false );
|
|
|
|
setRootIsDecorated ( false );
|
|
|
|
setSortingEnabled ( false );
|
|
|
|
setAlternatingRowColors ( true );
|
2013-08-21 04:37:54 +05:30
|
|
|
setSelectionMode ( QAbstractItemView::ContiguousSelection );
|
2013-08-19 00:22:17 +05:30
|
|
|
setHeaderHidden ( false );
|
|
|
|
setSelectionBehavior(QAbstractItemView::SelectRows);
|
|
|
|
setVerticalScrollBarPolicy ( Qt::ScrollBarAlwaysOn );
|
|
|
|
setHorizontalScrollBarPolicy ( Qt::ScrollBarAsNeeded );
|
|
|
|
setDropIndicatorShown(true);
|
|
|
|
setDragEnabled(true);
|
2013-08-21 00:26:21 +05:30
|
|
|
setDragDropMode(QAbstractItemView::DropOnly);
|
2013-08-19 00:22:17 +05:30
|
|
|
viewport()->setAcceptDrops(true);
|
|
|
|
}
|
|
|
|
|
|
|
|
void ModListView::setModel ( QAbstractItemModel* model )
|
|
|
|
{
|
|
|
|
QTreeView::setModel ( model );
|
|
|
|
auto head = header();
|
|
|
|
head->setStretchLastSection(false);
|
|
|
|
head->setSectionResizeMode(0, QHeaderView::Stretch);
|
2013-09-16 04:24:39 +05:30
|
|
|
for(int i = 1; i < head->count(); i++)
|
|
|
|
head->setSectionResizeMode(i, QHeaderView::ResizeToContents);
|
2013-08-19 00:22:17 +05:30
|
|
|
dropIndicatorPosition();
|
|
|
|
}
|