Add PGroupBox
TODO: Discuss the location of immutable-state in pet-file
Adds a custom GroupBox with gray-out capabilities (So this is MR gray out calibration 6/6)
This MR adds a new PGroupBox
which is like a normal QGroupBox
, except that it allows the user to disable all widgets inside it, such that they are not changed by accident.
To draw the GroupBox like the "native" one, it was neccessary to introduce a helper class PGroupBoxFrame
, which overrides its paint event to draw itself like the real frame of a GroupBox. A normal frame cannot be adapted to always have the same appearance.
Closes #277 (closed)
Reviewer Checklist
Formatting
-
the pre-build checks succeed
General code quality
-
naming conventions are met (see .clang-tidy for detailed information) -
no static analyzer warnings in new code parts (e.g., use clang-tidy for checking)
General usability
-
old versions of pet-files are still loadable
Only if changes in UI
-
new elements are also saved and loaded from pet-file -
check if tab order is still correct -
all new SpinBoxes are promoted -
new keybindings added to Petrack::keyBindings()
Edited by l.dressen