Simplify progress bar painting

This commit is contained in:
Chocobo1
2021-03-10 15:52:30 +08:00
parent 6139d0d65a
commit a78929dadf
13 changed files with 110 additions and 132 deletions

View File

@@ -28,11 +28,12 @@
#pragma once
#include "gui/progressbardelegate.h"
#include <QStyledItemDelegate>
#include "gui/progressbarpainter.h"
class QAbstractItemModel;
class QModelIndex;
class QPainter;
class QStyleOptionViewItem;
class PropertiesWidget;
@@ -48,25 +49,26 @@ enum PropColumn
AVAILABILITY
};
class PropListDelegate final : public ProgressBarDelegate
class PropListDelegate final : public QStyledItemDelegate
{
Q_OBJECT
Q_DISABLE_COPY(PropListDelegate)
public:
explicit PropListDelegate(PropertiesWidget *properties);
void setEditorData(QWidget *editor, const QModelIndex &index) const override;
QWidget *createEditor(QWidget *parent, const QStyleOptionViewItem & /* option */, const QModelIndex &index) const override;
QWidget *createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const override;
void paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const override;
public slots:
void setModelData(QWidget *editor, QAbstractItemModel *model, const QModelIndex &index) const override;
void updateEditorGeometry(QWidget *editor, const QStyleOptionViewItem &option, const QModelIndex & /* index */) const override;
void updateEditorGeometry(QWidget *editor, const QStyleOptionViewItem &option, const QModelIndex &index) const override;
signals:
void filteredFilesChanged() const;
private:
void initProgressStyleOption(QStyleOptionProgressBar &option, const QModelIndex &index) const override;
PropertiesWidget *m_properties;
ProgressBarPainter m_progressBarPainter;
};