+ setFrameShape(QFrame::NoFrame);
+ setRootIsDecorated(true);
+
+ QString style = "QTreeView::branch:has-siblings:!adjoins-item{border-image: none;border:0px} \
+ QTreeView::branch:has-siblings:adjoins-item {border-image: none;border:0px} \
+ QTreeView::branch:!has-children:!has-siblings:adjoins-item {border-image: none;border:0px} \
+ QTreeView::branch:has-children:!has-siblings:closed,QTreeView::branch:closed:has-children:has-siblings { \
+ border-image: none;image: url(:/images/stylesheet-branch-closed.png);} \
+ QTreeView::branch:open:has-children:!has-siblings,QTreeView::branch:open:has-children:has-siblings { \
+ border-image: none;image: url(:/images/stylesheet-branch-open.png);}";
+
+ setStyleSheet(style);
+
+ setColumnCount(4);
+ QStringList headers;
+ headers << i18n("Clip") << i18n("Description") << i18n("Rating") << i18n("Date");
+ setHeaderLabels(headers);
+ setIndentation(12);
+
+ QHeaderView* headerView = header();
+ headerView->setContextMenuPolicy(Qt::CustomContextMenu);
+ connect(headerView, SIGNAL(customContextMenuRequested(const QPoint&)),
+ this, SLOT(configureColumns(const QPoint&)));
+ connect(this, SIGNAL(itemCollapsed(QTreeWidgetItem *)), this, SLOT(slotCollapsed(QTreeWidgetItem *)));
+ connect(this, SIGNAL(itemExpanded(QTreeWidgetItem *)), this, SLOT(slotExpanded(QTreeWidgetItem *)));
+ headerView->setClickable(true);
+ headerView->setSortIndicatorShown(true);
+ headerView->setMovable(false);
+ sortByColumn(0, Qt::AscendingOrder);
+ setSortingEnabled(true);
+ installEventFilter(this);
+ if (!KdenliveSettings::showdescriptioncolumn()) hideColumn(1);
+ if (!KdenliveSettings::showratingcolumn()) hideColumn(2);
+ if (!KdenliveSettings::showdatecolumn()) hideColumn(3);
+}
+
+ProjectListView::~ProjectListView()
+{