Index: sources/gui/qml/components/MainMenu.qml =================================================================== diff -u -r5194f3afffb28dac90a7ca4153b6a0ca2f239387 -r45c7fe06db813c13eaec0bb5f8bfc2135063ea58 --- sources/gui/qml/components/MainMenu.qml (.../MainMenu.qml) (revision 5194f3afffb28dac90a7ca4153b6a0ca2f239387) +++ sources/gui/qml/components/MainMenu.qml (.../MainMenu.qml) (revision 45c7fe06db813c13eaec0bb5f8bfc2135063ea58) @@ -15,6 +15,7 @@ // Qt import QtQuick 2.12 import QtQuick.Controls 2.12 +import QtQuick.Layouts 1.12 // Project // Qml imports @@ -27,10 +28,10 @@ * which contains three [Treatment, Manager, Settings] */ Item { id: _root - property alias treatmentButton : _treatmentRect.button - property alias managerButton : _managerRect.button - property alias settingsButton : _settingsRect.button + property variant titles: [] + signal itemPressed(int index) + height: Variables.mainMenuHeight anchors { right : parent.right @@ -42,45 +43,35 @@ anchors.fill: parent color: Colors.backgroundMainMenu } - Row { + + Row { id: _row + property int partitionWidth: _row.width / (titles.length*2 + 1) anchors.fill: parent - spacing : Variables.mainMenuButtonSpacing - leftPadding : Variables.mainMenuButtonSpacing - rightPadding: Variables.mainMenuButtonSpacing - TouchRect { id : _treatmentRect - width: Variables.mainMenuButtonWidth - height: parent.height - text.text: qsTr("Treatment") - border.width: 0 - button.onPressed: { - _highlightRect.x = _treatmentRect.x + spacing : partitionWidth + leftPadding : partitionWidth + rightPadding: partitionWidth + + Repeater { id: _repeater + model: titles + TouchRect { id : _treatmentRect + width: _row.partitionWidth + height: parent.height + text.text: modelData + border.width: 0 + button.onPressed: { + _highlightRect.x = _treatmentRect.x + itemPressed(index) + } } } - TouchRect { id : _managerRect - width: Variables.mainMenuButtonWidth - height: parent.height - text.text: qsTr("Manager") - border.width: 0 - button.onPressed: { - _highlightRect.x = _managerRect.x - } - } - TouchRect { id : _settingsRect - width: Variables.mainMenuButtonWidth - height: parent.height - text.text: qsTr("Settings") - border.width: 0 - button.onPressed: { - _highlightRect.x = _settingsRect.x - } - } } + Rectangle { id : _highlightRect color: Colors.backgroundButton - width: Variables.mainMenuButtonWidth + width: _row.partitionWidth + x : _row.partitionWidth height: 10 radius: 10 - x: _treatmentRect.x anchors.bottom: parent.bottom anchors.bottomMargin: -5 Behavior on x { PropertyAnimation {} }