52 lines
1.5 KiB
C++
52 lines
1.5 KiB
C++
#include "ElaListView.h"
|
|
|
|
#include <QMouseEvent>
|
|
|
|
#include "ElaListViewPrivate.h"
|
|
#include "ElaListViewStyle.h"
|
|
#include "ElaScrollBar.h"
|
|
ElaListView::ElaListView(QWidget *parent) : QListView(parent), d_ptr(new ElaListViewPrivate()) {
|
|
Q_D(ElaListView);
|
|
d->q_ptr = this;
|
|
setObjectName("ElaListView");
|
|
setStyleSheet("#ElaListView{background-color:transparent;}");
|
|
d->_listViewStyle = new ElaListViewStyle(style());
|
|
setStyle(d->_listViewStyle);
|
|
setMouseTracking(true);
|
|
setVerticalScrollBar(new ElaScrollBar(this));
|
|
setHorizontalScrollBar(new ElaScrollBar(this));
|
|
this->setHorizontalScrollBarPolicy(Qt::ScrollBarAsNeeded);
|
|
this->setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded);
|
|
setHorizontalScrollMode(QAbstractItemView::ScrollPerPixel);
|
|
setVerticalScrollMode(QAbstractItemView::ScrollPerPixel);
|
|
}
|
|
|
|
ElaListView::~ElaListView() {
|
|
Q_D(ElaListView);
|
|
delete d->_listViewStyle;
|
|
}
|
|
|
|
void ElaListView::setItemHeight(int itemHeight) {
|
|
Q_D(ElaListView);
|
|
if (itemHeight > 0) {
|
|
d->_listViewStyle->setItemHeight(itemHeight);
|
|
doItemsLayout();
|
|
}
|
|
}
|
|
|
|
int ElaListView::getItemHeight() const {
|
|
Q_D(const ElaListView);
|
|
return d->_listViewStyle->getItemHeight();
|
|
}
|
|
|
|
void ElaListView::setIsTransparent(bool isTransparent) {
|
|
Q_D(ElaListView);
|
|
d->_listViewStyle->setIsTransparent(isTransparent);
|
|
update();
|
|
}
|
|
|
|
bool ElaListView::getIsTransparent() const {
|
|
Q_D(const ElaListView);
|
|
return d->_listViewStyle->getIsTransparent();
|
|
}
|