Explicit per-context assignment entry storing both mode fields. More...
#include <phosphor-zones/include/PhosphorZones/AssignmentEntry.h>
Public Types | |
| enum | Mode { Snapping = 0 , Autotile = 1 } |
Public Member Functions | |
| QString | activeLayoutId () const |
| bool | isValid () const |
| bool | operator== (const AssignmentEntry &other) const |
Static Public Member Functions | |
| static AssignmentEntry | fromLayoutId (const QString &layoutId, const AssignmentEntry &existing) |
| Update an existing AssignmentEntry from a layoutId, preserving the "other" field. | |
| static AssignmentEntry | fromLayoutId (const QString &layoutId) |
| Create a fresh AssignmentEntry from a layoutId string. | |
Public Attributes | |
| Mode | mode = Snapping |
| QString | snappingLayout |
| QString | tilingAlgorithm |
Explicit per-context assignment entry storing both mode fields.
Each screen/desktop/activity context stores an explicit Mode, SnappingLayout (UUID), and PhosphorTiles::TilingAlgorithm. Toggling between modes only flips the mode field — the other field is preserved, eliminating the need for shadow assignments.
|
inline |
|
inlinestatic |
Create a fresh AssignmentEntry from a layoutId string.
|
inlinestatic |
Update an existing AssignmentEntry from a layoutId, preserving the "other" field.
Mode IS set from the layoutId type — batch operations from the KCM send a single layout ID per context, and that ID determines the active mode. The non-matching field is preserved for easy mode toggling.
|
inline |
|
inline |
| QString PhosphorZones::AssignmentEntry::snappingLayout |
| QString PhosphorZones::AssignmentEntry::tilingAlgorithm |