Introduce `BankSettingsWindow` for managing bank data, added `EditBankDialog` for editing bank details, and created reusable `PaddedItemDelegate` for list padding. Refactor DAO to support fetching multiple applications by device ID for improved data handling. Adjust existing components to integrate new bank-related features.
36 lines
1.2 KiB
C++
36 lines
1.2 KiB
C++
#pragma once
|
||
#include <QStyledItemDelegate>
|
||
#include <QMargins>
|
||
|
||
class PaddedItemDelegate final : public QStyledItemDelegate {
|
||
Q_OBJECT
|
||
|
||
public:
|
||
explicit PaddedItemDelegate(const QMargins &margins, QObject *parent = nullptr)
|
||
: QStyledItemDelegate(parent), m_margins(margins) {
|
||
}
|
||
|
||
void initStyleOption(QStyleOptionViewItem *option, const QModelIndex &index) const override {
|
||
QStyledItemDelegate::initStyleOption(option, index);
|
||
// «вырезаем» рамки со всех сторон
|
||
option->rect = option->rect.adjusted(
|
||
m_margins.left(),
|
||
m_margins.top(),
|
||
-m_margins.right(),
|
||
-m_margins.bottom()
|
||
);
|
||
}
|
||
|
||
// расширяем sizeHint — чтобы ResizeToContents «увидел» отступы
|
||
[[nodiscard]] QSize sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const override {
|
||
const QSize baseSize = QStyledItemDelegate::sizeHint(option, index);
|
||
return QSize(
|
||
baseSize.width() + m_margins.left() + m_margins.right(),
|
||
baseSize.height() + m_margins.top() + m_margins.bottom()
|
||
);
|
||
}
|
||
|
||
private:
|
||
QMargins m_margins;
|
||
};
|