show recipes visually instead of describing them in text
This commit is contained in:
28
src/ui/OptionButton.h
Normal file
28
src/ui/OptionButton.h
Normal file
@@ -0,0 +1,28 @@
|
||||
#pragma once
|
||||
|
||||
#include <QPushButton>
|
||||
#include <QSize>
|
||||
|
||||
// A push button whose face is built of widgets rather than of a caption: an option's
|
||||
// name over the recipe line stating what it makes (REQ-UI-SELECT-OPTIONS), or a module's
|
||||
// name over what it costs (REQ-MOD-UI-DIALOG).
|
||||
//
|
||||
// It exists only to be measured correctly. QPushButton computes its size hint from its
|
||||
// text and icon and ignores a layout set on it, so a button carrying a face of widgets
|
||||
// would be sized as if it were empty and clip everything in it. This asks the layout
|
||||
// instead, and then lets the style add what the button's own frame needs.
|
||||
class OptionButton : public QPushButton
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit OptionButton(QWidget* parent = nullptr);
|
||||
|
||||
QSize sizeHint() const override;
|
||||
QSize minimumSizeHint() const override;
|
||||
|
||||
private:
|
||||
// The style's button size for the given face size, or the plain QPushButton hint
|
||||
// when there is no face to measure.
|
||||
QSize sizeForFace(const QSize& faceSize) const;
|
||||
};
|
||||
Reference in New Issue
Block a user