diff --git a/src-toou2d/build-preset/plugin.qmltypes b/src-toou2d/build-preset/plugin.qmltypes index 2f8e663..1c0470c 100755 --- a/src-toou2d/build-preset/plugin.qmltypes +++ b/src-toou2d/build-preset/plugin.qmltypes @@ -1696,6 +1696,7 @@ Module { Property { name: "activeItemLabel"; type: "TGadgetLabel"; isReadonly: true; isPointer: true } Property { name: "itemIcon"; type: "TGadgetIcon"; isReadonly: true; isPointer: true } Property { name: "activeItemIcon"; type: "TGadgetIcon"; isReadonly: true; isPointer: true } + Property { name: "itemHeight"; type:"int"; isReadonly: true; isPointer: true } Signal { name: "triggered" Parameter { name: "modelData"; type: "QVariant" } diff --git a/src-toou2d/controls/TNavigationBar.qml b/src-toou2d/controls/TNavigationBar.qml index 1e9ea7f..d02cef5 100644 --- a/src-toou2d/controls/TNavigationBar.qml +++ b/src-toou2d/controls/TNavigationBar.qml @@ -66,18 +66,19 @@ Item { backgroundComponent: null; theme.enabled: false; - label.text : modelData.text ? modelData.text : modelData.index; + label.text : modelData_p.text ? modelData_p.text : modelData_p.index; label.color: isActiveItem ? mactiveLabel.color : mlabel.color; label.font: isActiveItem ? mactiveLabel.font : mlabel.font; - icon.source: modelData.iconSource; + icon.source: modelData_p.iconSource; icon.color: isActiveItem ? mactiveIcon.color : micon.color; icon.width: isActiveItem ? mactiveIcon.width : micon.width; icon.height: isActiveItem ? mactiveIcon.height : micon.height; + icon.position: isActiveItem ? mactiveIcon.position : micon.position; onClicked: { - toou2d_navigationbar.currentIndex = modelData.index; - triggered(modelData); + toou2d_navigationbar.currentIndex = index_p; + triggered(modelData_p); } Timer { @@ -104,6 +105,7 @@ Item { TGadgetIcon{ id:micon; color: "#303133" + position: TPosition.Left } TGadgetIcon{ @@ -111,6 +113,7 @@ Item { color: "#000" width: 20; height: 20; + position: TPosition.Left } TObject{ @@ -124,9 +127,11 @@ Item { spacing: toou2d_navigationbar.spacing; Repeater{ id:repeater - model: ListModel{ } + model: [] delegate: Loader{ - property var modelData: model; + property var modelData_p: modelData; + property var index_p: index; + property bool isActiveItem: toou2d_navigationbar.currentIndex === index; anchors.verticalCenter: parent.verticalCenter; @@ -136,8 +141,12 @@ Item { } Component.onCompleted: { - for(var i in _private.elements) repeater.model.append(_private.elements[i]); + var a = [] + for(var i in _private.elements) a.push(_private.elements[i]); + repeater.model = a; + if(_private.elements.length > 0 && currentIndex === -1) currentIndex = 0; + } TThemeBinder{ diff --git a/src-toou2d/controls/TPopoverMenu.qml b/src-toou2d/controls/TPopoverMenu.qml index b0c3ee9..d588cfd 100644 --- a/src-toou2d/controls/TPopoverMenu.qml +++ b/src-toou2d/controls/TPopoverMenu.qml @@ -38,6 +38,7 @@ TPopover{ padding: 8; bodyWidth: 150; + property int itemHeight: 30; bodyComponent: menubodyComponent; @@ -82,6 +83,7 @@ TPopover{ id:mItemIcon } + TGadgetIcon{ id:mActItemIcon color: "#FFF" @@ -175,7 +177,7 @@ TPopover{ id:defaultItemComponent; Item{ property bool active: _mprivate.actieIndex === modelIndex; - height: 26; + height: toou2d_popover.itemHeight; TRectangle{ anchors.fill: parent; color: mItemBg.color;