vmm preview
This commit is contained in:
committed by
Alexander Babikov
parent
138e54d16f
commit
c6da2caff2
67
src/qt/qt_vmmanager_listviewdelegate.hpp
Normal file
67
src/qt/qt_vmmanager_listviewdelegate.hpp
Normal file
@@ -0,0 +1,67 @@
|
||||
/*
|
||||
* 86Box A hypervisor and IBM PC system emulator that specializes in
|
||||
* running old operating systems and software designed for IBM
|
||||
* PC systems and compatibles from 1981 through fairly recent
|
||||
* system designs based on the PCI bus.
|
||||
*
|
||||
* This file is part of the 86Box distribution.
|
||||
*
|
||||
* Header for 86Box VM manager list view delegate module
|
||||
*
|
||||
*
|
||||
*
|
||||
* Authors: cold-brewed
|
||||
*
|
||||
* Copyright 2024 cold-brewed
|
||||
*/
|
||||
|
||||
#ifndef QT_VMMANAGER_LISTVIEWDELEGATE_H
|
||||
#define QT_VMMANAGER_LISTVIEWDELEGATE_H
|
||||
|
||||
#include <QPainter>
|
||||
#include <QStyledItemDelegate>
|
||||
#include "qt_vmmanager_system.hpp"
|
||||
|
||||
class VMManagerListViewDelegateStyle
|
||||
{
|
||||
VMManagerListViewDelegateStyle();
|
||||
|
||||
[[nodiscard]] inline QRect systemNameBox(const QStyleOptionViewItem &option,
|
||||
const QModelIndex &index) const;
|
||||
[[nodiscard]] inline qreal statusFontPointSize(const QFont &f) const;
|
||||
[[nodiscard]] inline QRect statusBox(const QStyleOptionViewItem &option, const QModelIndex &index) const;
|
||||
|
||||
QSize iconSize;
|
||||
QSize smallIconSize;
|
||||
QMargins margins;
|
||||
int spacingHorizontal;
|
||||
int spacingVertical;
|
||||
|
||||
friend class VMManagerListViewDelegate;
|
||||
};
|
||||
|
||||
class VMManagerListViewDelegate final : public QStyledItemDelegate {
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit VMManagerListViewDelegate(QObject *parent = nullptr);
|
||||
~VMManagerListViewDelegate() override;
|
||||
using QStyledItemDelegate::QStyledItemDelegate;
|
||||
|
||||
[[nodiscard]] QMargins contentsMargins() const;
|
||||
void setContentsMargins(int left, int top, int right, int bottom) const;
|
||||
|
||||
[[nodiscard]] int horizontalSpacing() const;
|
||||
void setHorizontalSpacing(int spacing) const;
|
||||
|
||||
[[nodiscard]] int verticalSpacing() const;
|
||||
void setVerticalSpacing(int spacing) const;
|
||||
|
||||
void paint(QPainter *painter, const QStyleOptionViewItem &option,
|
||||
const QModelIndex &index) const override;
|
||||
[[nodiscard]] QSize sizeHint(const QStyleOptionViewItem &option,
|
||||
const QModelIndex &index) const override;
|
||||
private:
|
||||
VMManagerListViewDelegateStyle *m_ptr;
|
||||
};
|
||||
#endif // QT_VMMANAGER_LISTVIEWDELEGATE_H
|
||||
Reference in New Issue
Block a user