nosignal-shell/plugin/src/Caelestia/Components/buttonrow.hpp
2 * r + 2 * t 42446dbb0f fix: shape morph expands by static 24dp
We don't have dp and I'm not adding dp everywhere, so assume 1dp == 1px
Also enable radius morph by default
2026-05-02 22:34:58 +10:00

37 lines
746 B
C++

#pragma once
#include <qquickitem.h>
namespace caelestia::components {
class ButtonRow : public QQuickItem {
Q_OBJECT
QML_ELEMENT
Q_PROPERTY(qreal spacing READ spacing WRITE setSpacing NOTIFY spacingChanged)
public:
explicit ButtonRow(QQuickItem* parent = nullptr);
qreal spacing() const;
void setSpacing(qreal spacing);
signals:
void spacingChanged();
protected:
void itemChange(QQuickItem::ItemChange change, const QQuickItem::ItemChangeData& data) override;
void updatePolish() override;
private slots:
void invalidate();
private:
void relayout();
static qreal getMorphExpansion(const QQuickItem* item);
bool m_dirty;
qreal m_spacing;
};
} // namespace caelestia::components