diff -Nru ukui-sni-5.0.0.1/debian/changelog ukui-sni-5.0.0.3/debian/changelog --- ukui-sni-5.0.0.1/debian/changelog 2024-12-27 16:33:06.000000000 +0800 +++ ukui-sni-5.0.0.3/debian/changelog 2025-02-24 10:27:21.000000000 +0800 @@ -1,3 +1,24 @@ +ukui-sni (5.0.0.3-ok0.1) huanghe; urgency=medium + + * Issues: 无 + * 其他改动: + - 修复拖拽托盘图标后被拖拽的图标位置异常的问题 + * 其他改动影响域: + - 任务栏,托盘 + + -- youdiansaodongxi <guojiaqi@kylinos.cn> Mon, 24 Feb 2025 10:27:21 +0800 + +ukui-sni (5.0.0.2-ok0.1) huanghe; urgency=medium + + * Issues: 无 + * 其他改动: + - 按设计稿调整顶栏托盘图标UI + - 修改多屏托盘的显示逻辑,解决多屏托盘显示有遮挡的bug + * 其他改动影响域: + - 任务栏,托盘 + + -- youdiansaodongxi <guojiaqi@kylinos.cn> Fri, 24 Jan 2025 14:43:40 +0800 + ukui-sni (5.0.0.1-ok0.1) huanghe; urgency=medium * Issues: 无 diff -Nru ukui-sni-5.0.0.1/ukui-system-tray/plugin/item-group-model.cpp ukui-sni-5.0.0.3/ukui-system-tray/plugin/item-group-model.cpp --- ukui-sni-5.0.0.1/ukui-system-tray/plugin/item-group-model.cpp 2024-12-25 14:28:46.000000000 +0800 +++ ukui-sni-5.0.0.3/ukui-system-tray/plugin/item-group-model.cpp 2025-02-21 16:27:57.000000000 +0800 @@ -9,9 +9,9 @@ QSortFilterProxyModel::setSourceModel(TrayItemsModel::instance()); m_sourceModel = TrayItemsModel::instance(); setFilterRole(TrayItemsModel::Row); - connect(m_sourceModel, &TrayItemsModel::separateIndexChanged, this, [this](){ - invalidateFilter(); - }); + connect(m_sourceModel, &TrayItemsModel::separateIndexChanged, this, &ItemGroupModel::onSeparateIndexChanged); + + setCurrentSeparateIndex(m_sourceModel->getSeparateIndex()); } void ItemGroupModel::setModelType(GroupType type) @@ -24,6 +24,31 @@ return m_groupType; } +int ItemGroupModel::currentSeparateIndex() +{ + return m_currentSeparateIndex; +} + +void ItemGroupModel::setCurrentSeparateIndex(int index) +{ + if (index < 0) return; + m_currentSeparateIndex = index; + invalidateFilter(); + Q_EMIT currentSeparateIndexChanged(); +} + +int ItemGroupModel::showCount() +{ + return m_showCount; +} + +void ItemGroupModel::setShowCount(int index) +{ + m_showCount = index <= 0 ? 0 : index; + onShowCountChanged(); + Q_EMIT showCountChanged(); +} + void ItemGroupModel::onActivate(const QModelIndex &index) { m_sourceModel->activate(mapToSource(index)); @@ -49,14 +74,14 @@ if (m_groupType == GroupType::Show) { return 0; } else if (m_groupType == GroupType::Fold) { - return m_sourceModel->getCurrentSeparateIndex() + 1; + return m_currentSeparateIndex + 1; } } int ItemGroupModel::groupEnd() const { if (m_groupType == GroupType::Show) { - return m_sourceModel->getCurrentSeparateIndex(); + return m_currentSeparateIndex; } else if (m_groupType == GroupType::Fold) { return m_sourceModel->rowCount(QModelIndex()) - 1; } @@ -65,10 +90,37 @@ bool ItemGroupModel::filterAcceptsRow(int source_row, const QModelIndex &source_parent) const { if (m_groupType == GroupType::Show) { - return source_row >= 0 && source_row <= m_sourceModel->getCurrentSeparateIndex(); + return source_row >= 0 && source_row <= m_currentSeparateIndex; } else if (m_groupType == GroupType::Fold) { - return source_row > m_sourceModel->getCurrentSeparateIndex() && source_row <= (m_sourceModel->rowCount(QModelIndex()) - 1); + return source_row > m_currentSeparateIndex && source_row <= (m_sourceModel->rowCount(QModelIndex()) - 1); } return true; } +void ItemGroupModel::onShowCountChanged() +{ + if (m_showCount < m_currentSeparateIndex) { + if (m_showCount <= 0) { + setCurrentSeparateIndex(0); + } else { + setCurrentSeparateIndex(m_showCount); + } + } else { + if (m_currentSeparateIndex != m_sourceModel->getSeparateIndex()) { + if (m_sourceModel->getSeparateIndex() < m_showCount) { + setCurrentSeparateIndex(m_sourceModel->getSeparateIndex()); + } else { + setCurrentSeparateIndex(m_showCount); + } + } + } + Q_EMIT currentSeparateIndexChanged(); +} + +void ItemGroupModel::onSeparateIndexChanged() +{ + setCurrentSeparateIndex(m_showCount < m_sourceModel->getSeparateIndex() ? + m_showCount : m_sourceModel->getSeparateIndex()); + Q_EMIT currentSeparateIndexChanged(); +} + diff -Nru ukui-sni-5.0.0.1/ukui-system-tray/plugin/item-group-model.h ukui-sni-5.0.0.3/ukui-system-tray/plugin/item-group-model.h --- ukui-sni-5.0.0.1/ukui-system-tray/plugin/item-group-model.h 2024-12-25 14:28:46.000000000 +0800 +++ ukui-sni-5.0.0.3/ukui-system-tray/plugin/item-group-model.h 2025-02-21 16:27:57.000000000 +0800 @@ -15,14 +15,25 @@ class ItemGroupModel : public QSortFilterProxyModel { Q_OBJECT + + Q_PROPERTY(GroupType modelType READ getModelType WRITE setModelType) + Q_PROPERTY(int currentSeparateIndex READ currentSeparateIndex WRITE setCurrentSeparateIndex NOTIFY currentSeparateIndexChanged) + Q_PROPERTY(int showCount READ showCount WRITE setShowCount NOTIFY showCountChanged) public: enum GroupType {Show, Fold}; Q_ENUM(GroupType) explicit ItemGroupModel(QObject *parent = nullptr); + void setModelType(GroupType type); GroupType getModelType(); + int currentSeparateIndex(); + void setCurrentSeparateIndex(int index); + + int showCount(); + void setShowCount(int index); + QVariant data(const QModelIndex &index, int role) const override; Q_INVOKABLE void onActivate(const QModelIndex &index); @@ -33,16 +44,25 @@ Q_INVOKABLE int groupBegin() const; Q_INVOKABLE int groupEnd() const; +Q_SIGNALS: + void currentSeparateIndexChanged(); + void showCountChanged(); + protected: bool filterAcceptsRow(int source_row, const QModelIndex &source_parent) const override; private: + void onShowCountChanged(); + void onSeparateIndexChanged(); QHash<QPersistentModelIndex, int> m_order; TrayItemsModel *m_sourceModel = nullptr; int m_groupBegin = 0; int m_groupEnd = 0; GroupType m_groupType = GroupType::Show; + + int m_currentSeparateIndex = 0; + int m_showCount = 0; }; #endif // ITEMGROUPMODEL_H diff -Nru ukui-sni-5.0.0.1/ukui-system-tray/plugin/system-tray-plugin.cpp ukui-sni-5.0.0.3/ukui-system-tray/plugin/system-tray-plugin.cpp --- ukui-sni-5.0.0.1/ukui-system-tray/plugin/system-tray-plugin.cpp 2024-12-25 14:28:46.000000000 +0800 +++ ukui-sni-5.0.0.3/ukui-system-tray/plugin/system-tray-plugin.cpp 2025-02-21 16:27:57.000000000 +0800 @@ -10,19 +10,11 @@ void SystemTrayPlugin::registerTypes(const char *uri) { Q_ASSERT(QLatin1String(uri) == QLatin1String("org.ukui.systemTray")); + qmlRegisterUncreatableType<ItemGroupModel>(uri,1,0,"ItemGroupModel", ""); + qmlRegisterType<ItemGroupModel>(uri, 1, 0, "GroupModel"); qmlRegisterSingletonType<TrayItemsModel>(uri,1,0,"ItemModel", [] (QQmlEngine *, QJSEngine *) -> QObject* { return TrayItemsModel::instance(); }); - qmlRegisterSingletonType<ItemGroupModel>(uri,1,0,"ShowModel", [] (QQmlEngine *, QJSEngine *) -> QObject* { - ItemGroupModel* showModel = new ItemGroupModel(); - showModel->setModelType(ItemGroupModel::Show); - return showModel; - }); - qmlRegisterSingletonType<ItemGroupModel>(uri,1,0,"FoldModel", [] (QQmlEngine *, QJSEngine *) -> QObject* { - ItemGroupModel* foldModel = new ItemGroupModel(); - foldModel->setModelType(ItemGroupModel::Fold); - return foldModel; - }); } diff -Nru ukui-sni-5.0.0.1/ukui-system-tray/plugin/tray-items-model.cpp ukui-sni-5.0.0.3/ukui-system-tray/plugin/tray-items-model.cpp --- ukui-sni-5.0.0.1/ukui-system-tray/plugin/tray-items-model.cpp 2024-12-25 14:28:46.000000000 +0800 +++ ukui-sni-5.0.0.3/ukui-system-tray/plugin/tray-items-model.cpp 2025-02-21 16:27:57.000000000 +0800 @@ -1,5 +1,6 @@ #include "tray-items-model.h" #include "item-group-model.h" + #include <config-loader.h> #include <QMetaEnum> #include <QDebug> @@ -40,7 +41,6 @@ m_config->setValue(QStringLiteral("separateIndex"), m_separateIndex); } else { m_separateIndex = m_config->getValue("separateIndex").toInt(); - m_currentSeparateIndex = m_separateIndex; } //fixed items if (!data.contains(QStringLiteral("fixedItems"))) { @@ -243,19 +243,15 @@ setOrder(fromGroup->mapToSource(beginIndex), newOrder); } -void TrayItemsModel::changeSeparateIndex(bool add, bool set) +void TrayItemsModel::setSeparateIndex(int index) { - add ? m_currentSeparateIndex ++ : m_currentSeparateIndex--; - Q_EMIT separateIndexChanged(); - - if (set) { - if (m_separateIndex > m_item.length() - 1) { - m_separateIndex = m_item.length() - 1; - } - m_separateIndex = m_currentSeparateIndex; - m_config->setValue(QStringLiteral("separateIndex"), m_currentSeparateIndex); - m_config->forceSync(); + m_separateIndex = index; + if (m_separateIndex > m_item.length() - 1) { + m_separateIndex = m_item.length() - 1; } + Q_EMIT separateIndexChanged(); + m_config->setValue(QStringLiteral("separateIndex"), index); + m_config->forceSync(); } void TrayItemsModel::setOrder(const QModelIndex &index, int order) @@ -316,11 +312,6 @@ m_config->forceSync(); } -int TrayItemsModel::getCurrentSeparateIndex() -{ - return m_currentSeparateIndex; -} - int TrayItemsModel::getSeparateIndex() { return m_separateIndex; diff -Nru ukui-sni-5.0.0.1/ukui-system-tray/plugin/tray-items-model.h ukui-sni-5.0.0.3/ukui-system-tray/plugin/tray-items-model.h --- ukui-sni-5.0.0.1/ukui-system-tray/plugin/tray-items-model.h 2024-12-25 14:28:46.000000000 +0800 +++ ukui-sni-5.0.0.3/ukui-system-tray/plugin/tray-items-model.h 2025-02-21 16:27:57.000000000 +0800 @@ -55,9 +55,9 @@ Q_INVOKABLE void setOrderInGroup(ItemGroupModel *group, const QModelIndex &groupIndex, int order); Q_INVOKABLE void setOrderBetweenGroups(ItemGroupModel *fromGroup, const QModelIndex &beginIndex, ItemGroupModel *toGroup, int order); - Q_INVOKABLE void changeSeparateIndex(bool add, bool set); - Q_INVOKABLE int getCurrentSeparateIndex(); + Q_INVOKABLE void setSeparateIndex(int index); Q_INVOKABLE int getSeparateIndex(); + void setOrder(const QModelIndex &index, int order); Q_SIGNALS: diff -Nru ukui-sni-5.0.0.1/ukui-system-tray/widget/ui/FoldArea.qml ukui-sni-5.0.0.3/ukui-system-tray/widget/ui/FoldArea.qml --- ukui-sni-5.0.0.1/ukui-system-tray/widget/ui/FoldArea.qml 2024-12-25 14:28:46.000000000 +0800 +++ ukui-sni-5.0.0.3/ukui-system-tray/widget/ui/FoldArea.qml 2025-02-21 16:27:57.000000000 +0800 @@ -7,18 +7,17 @@ import org.ukui.quick.platform 1.0 as Platform DropArea { - property bool isEmpty: foldModel.count > 0 ? false : true + property bool isEmpty: foldAreaModel.count > 0 ? false : true property int sourceIndex property bool foldWindowVisible: false signal foldAreaDragFinshed(int selectIndex) - width: foldModel.count > 5 ? foldView.cellWidth * 5 + 8 : foldModel.count * foldView.cellWidth + 8 - height: (foldModel.count % 5) === 0 ? - Math.floor((foldModel.count / 5)) * foldView.cellHeight + 8 : Math.floor((foldModel.count / 5) + 1) * foldView.cellHeight + 8 + width: foldAreaModel.count > 5 ? foldView.cellWidth * 5 + 8 : foldAreaModel.count * foldView.cellWidth + 8 + height: (foldAreaModel.count % 5) === 0 ? + Math.floor((foldAreaModel.count / 5)) * foldView.cellHeight + 8 : Math.floor((foldAreaModel.count / 5) + 1) * foldView.cellHeight + 8 UkuiItems.StyleBackground { anchors.fill: parent paletteRole: Platform.Theme.Window - radius: Platform.Theme.maxRadius GridView { id: foldView @@ -36,8 +35,8 @@ } model: DelegateModel { - id: foldModel - model: FoldModel + id: foldAreaModel + model: foldModel delegate: DropArea { property int vIndex: DelegateModel.itemsIndex @@ -52,12 +51,12 @@ onDropped: { if (drag.source.rootId !== dropArea) return; - ItemModel.setOrderInGroup(FoldModel, FoldModel.index(foldBase.sourceIndex, 0), drag.source.selectIndex); + ItemModel.setOrderInGroup(foldModel, foldModel.index(foldBase.sourceIndex, 0), drag.source.selectIndex); } onEntered: { if (drag.source.rootId !== dropArea) return; - foldModel.items.move(drag.source.selectIndex, vIndex) + foldAreaModel.items.move(drag.source.selectIndex, vIndex) } onExited: { controlFold.isContain = false; @@ -72,7 +71,7 @@ paletteRole: Platform.Theme.BrightText alpha: controlFold.pressed && controlFold.isContain ? 0.1 : controlFold.isContain ? 0.05 : 0 - radius: Platform.Theme.maxRadius + radius: Platform.Theme.normalRadius TrayIcon { id: controlFold property int selectIndex: 0 @@ -135,10 +134,10 @@ onClicked: { if (mouse.button === Qt.LeftButton) { - foldModel.model.onActivate(foldModel.modelIndex(index)); + foldAreaModel.model.onActivate(foldAreaModel.modelIndex(index)); } if (mouse.button === Qt.RightButton) { - foldModel.model.onContextMenu(foldModel.modelIndex(index), foldDropArea); + foldAreaModel.model.onContextMenu(foldAreaModel.modelIndex(index), foldDropArea); } } @@ -158,7 +157,7 @@ controlFold.parent = controlBaseFold; controlFold.opacity = 1 if (foldBase.sourceIndex === vIndex) return; - ItemModel.setOrderInGroup(FoldModel, FoldModel.index(foldBase.sourceIndex, 0), vIndex); + ItemModel.setOrderInGroup(foldModel, foldModel.index(foldBase.sourceIndex, 0), vIndex); } } function toStartDrag() { diff -Nru ukui-sni-5.0.0.1/ukui-system-tray/widget/ui/TrayIcon.qml ukui-sni-5.0.0.3/ukui-system-tray/widget/ui/TrayIcon.qml --- ukui-sni-5.0.0.1/ukui-system-tray/widget/ui/TrayIcon.qml 2024-12-25 14:28:46.000000000 +0800 +++ ukui-sni-5.0.0.3/ukui-system-tray/widget/ui/TrayIcon.qml 2025-02-21 16:27:57.000000000 +0800 @@ -11,7 +11,7 @@ property var appAttentionIcon property var appOverlayIcon property int iconRotation: 0 - property real iconRatio: dropArea.onTopBar ? 2.5 : 2 + property real iconRatio: dropArea.onTopBar ? 3 : 2 Item { id: trayitem diff -Nru ukui-sni-5.0.0.1/ukui-system-tray/widget/ui/TrayView.qml ukui-sni-5.0.0.3/ukui-system-tray/widget/ui/TrayView.qml --- ukui-sni-5.0.0.1/ukui-system-tray/widget/ui/TrayView.qml 2024-12-25 14:28:46.000000000 +0800 +++ ukui-sni-5.0.0.3/ukui-system-tray/widget/ui/TrayView.qml 2025-02-21 16:27:57.000000000 +0800 @@ -42,31 +42,24 @@ getShowCount(); } - onShowCountChanged: { - if (showCount < ItemModel.getCurrentSeparateIndex()) { - while (showCount < ItemModel.getCurrentSeparateIndex()) { - if (ItemModel.getCurrentSeparateIndex() <= 0) break; - ItemModel.changeSeparateIndex(false, false); - } - } else { - if (ItemModel.getCurrentSeparateIndex() !== ItemModel.getSeparateIndex()) { - if (ItemModel.getSeparateIndex() < showCount) { - while (ItemModel.getCurrentSeparateIndex() < ItemModel.getSeparateIndex()) { - ItemModel.changeSeparateIndex(true, false); - } - } else { - while (ItemModel.getCurrentSeparateIndex() < showCount) { - ItemModel.changeSeparateIndex(true, false); - } - } - } - } + function getShowCount() { + dropArea.showCount = maxLength / (dropArea.itemShort + trayview.viewSpacing) - 2; } - function getShowCount() { - showCount = Math.min((maxLength / (dropArea.itemShort + trayview.viewSpacing) - 2), 11); + GroupModel { + id: showModel + modelType: ItemGroupModel.Show + showCount: dropArea.showCount } + GroupModel { + id: foldModel + modelType: ItemGroupModel.Fold + showCount: dropArea.showCount + } + + Item {id: dragItem} + Flow { id: flowArea anchors.verticalCenter: parent.verticalCenter @@ -83,13 +76,13 @@ onDropped: { if (drag.source.rootId !== dropArea) return; if (dragType === 1) { - if (trayModel.count > showCount) return; - ItemModel.setOrderInGroup(FoldModel, FoldModel.index(foldBase.sourceIndex,0), 0) - ItemModel.changeSeparateIndex(true, true); + if (trayModel.count > dropArea.showCount) return; + ItemModel.setOrderInGroup(foldModel, foldModel.index(foldBase.sourceIndex,0), 0) + ItemModel.setSeparateIndex(showModel.currentSeparateIndex + 1); } if (dragType === 0) { - ItemModel.setOrderInGroup(ShowModel, ShowModel.index(trayview.sourceIndex, 0), trayModel.items.count - 1); - ItemModel.changeSeparateIndex(false, true); + ItemModel.setOrderInGroup(showModel, showModel.index(trayview.sourceIndex, 0), trayModel.items.count - 1); + ItemModel.setSeparateIndex(showModel.currentSeparateIndex - 1); dropArea.panelActive = false; } } @@ -102,14 +95,14 @@ anchors.fill: parent paletteRole: Platform.Theme.BrightText alpha: foldControl.containsPress ? 0.1 : foldControl.isContain ? 0.05 : 0 - radius: Platform.Theme.maxRadius + radius: Platform.Theme.normalRadius TrayIcon { id: foldControl property bool isContain: false width: dropArea.itemWidth height: dropArea.itemHeight - appIcon: ShowModel.foldIcon() + appIcon: showModel.foldIcon() iconRotation: appIconRotation() hoverEnabled: true acceptedButtons: Qt.LeftButton | Qt.RightButton @@ -193,11 +186,11 @@ dropArea.inserted = false; if (trayview.itemAtIndex(dropArea.targetIndex).isFixed) return; trayModel.items.remove(dropArea.targetIndex); - ItemModel.setOrderBetweenGroups(FoldModel, - FoldModel.index(dropArea.isOverLength ? fromIndex + 1 : fromIndex, 0), - ShowModel, + ItemModel.setOrderBetweenGroups(foldModel, + foldModel.index(dropArea.isOverLength ? fromIndex + 1 : fromIndex, 0), + showModel, dropArea.targetIndex); - ItemModel.changeSeparateIndex(true, true); + ItemModel.setSeparateIndex(showModel.currentSeparateIndex + 1); } } } @@ -233,7 +226,7 @@ property int sortIndex property int sourceIndex property real viewWidth: 0 - property int viewSpacing: 0 + property int viewSpacing: dropArea.onTopBar ? 6 : 0 height: dropArea.itemOrientation ? dropArea.itemHeight : viewWidth width: dropArea.itemOrientation ? viewWidth : dropArea.itemWidth orientation: dropArea.itemOrientation ? ListView.Horizontal : ListView.Vertical @@ -242,6 +235,11 @@ spacing: viewSpacing interactive: false + onViewSpacingChanged: { + trayview.viewWidth = trayModel.count * dropArea.itemShort + (trayModel.count - 1) * trayview.viewSpacing; + dropArea.getShowCount(); + } + Component.onCompleted: { var i = trayModel.count * dropArea.itemShort + (trayModel.count - 1) * trayview.viewSpacing; viewWidth = i; @@ -267,7 +265,7 @@ } model: DelegateModel { id: trayModel - model: ShowModel + model: showModel groups: DelegateModelGroup { name: "foldItems" @@ -305,7 +303,7 @@ paletteRole: Platform.Theme.BrightText alpha: control.pressed && control.isContain ? 0.1 : control.isContain ? 0.05 : 0 - radius: Platform.Theme.maxRadius + radius: Platform.Theme.normalRadius TrayIcon { id: control property int selectIndex: 0 @@ -326,18 +324,16 @@ Drag.hotSpot.x: width / 2 Drag.hotSpot.y: height / 2 Drag.dragType: Drag.Automatic - drag.target: model.Fixed ? null : control + drag.target: model.Fixed ? null : dragItem drag.onActiveChanged: { if (drag.active) { toStartDrag(); control.opacity = 0; exited(); - } else { - x = 0; - y = 0; } Drag.active = drag.active; } + UkuiItems.Tooltip { id: tooltip anchors.fill: parent @@ -389,20 +385,17 @@ onReleased: { } Drag.onDragFinished: { - control.parent = controlBase; control.opacity = 1 foldItem.visible = !foldBase.isEmpty; dropArea.panelActive = false; if (dropArea.dragType === 0) { if (trayview.itemAtIndex(visualIndex).isFixed) return; - ItemModel.setOrderInGroup(ShowModel, ShowModel.index(trayview.sourceIndex, 0), visualIndex); + ItemModel.setOrderInGroup(showModel, showModel.index(trayview.sourceIndex, 0), visualIndex); } } function toStartDrag() { foldWindow.hide(); trayview.isFold = false; - x = control.mapToItem(trayview,0,0).x; - y = control.mapToItem(trayview,0,0).y; trayview.sourceIndex = selectIndex; dropArea.dragType = 0; if (!foldItem.visible) foldItem.visible = true; @@ -440,13 +433,14 @@ drag.source.selectIndex = i } else { dropArea.inserted = true; - if (trayModel.count > showCount) { + dropArea.indexInFold = drag.source.selectIndex; + if (trayModel.count > dropArea.showCount) { dropArea.isOverLength = true; - ItemModel.changeSeparateIndex(false, true); + showModel.currentSeparateIndex--; + foldModel.currentSeparateIndex--; } else { dropArea.isOverLength = false; } - dropArea.indexInFold = drag.source.selectIndex; drag.source.selectIndex = target; trayModel.items.insert(target, {}); } @@ -455,7 +449,8 @@ onExited: { if (dropArea.inserted) { if (dropArea.isOverLength) { - ItemModel.changeSeparateIndex(true, true); + showModel.currentSeparateIndex++; + foldModel.currentSeparateIndex++; } trayModel.items.remove(dropArea.targetIndex); dropArea.inserted = false; diff -Nru ukui-sni-5.0.0.1/ukui-system-tray/widget/ui/main.qml ukui-sni-5.0.0.3/ukui-system-tray/widget/ui/main.qml --- ukui-sni-5.0.0.1/ukui-system-tray/widget/ui/main.qml 2024-12-25 14:28:46.000000000 +0800 +++ ukui-sni-5.0.0.3/ukui-system-tray/widget/ui/main.qml 2025-02-21 16:27:57.000000000 +0800 @@ -6,6 +6,7 @@ WidgetItem { property bool panelOrientation: (Widget.orientation === Types.Horizontal) property int pos: Widget.container.position + property real ratio: parent.ratio ? parent.ratio : 1 Layout.fillWidth: panelOrientation ? false : true Layout.fillHeight: panelOrientation ? true : false Layout.preferredWidth: childrenRect.width @@ -17,14 +18,14 @@ id: dropArea property bool panelActive: false property bool onTopBar: parent.height < 40 - scaleFactor: parent.panelOrientation ? (parent.height / 44) * 8 : (parent.width / 44) * 8 + scaleFactor: parent.ratio * 8 itemOrientation: parent.panelOrientation - itemWidth: onTopBar ? scaleFactor * 5 : parent.panelOrientation - ? scaleFactor * 4 - : scaleFactor * 5 - itemHeight: parent.panelOrientation ? scaleFactor * 5 : scaleFactor * 4 - itemLong: scaleFactor * 5 - itemShort: onTopBar ? scaleFactor * 5 : scaleFactor * 4 + itemWidth: onTopBar ? 28 : parent.panelOrientation ? + scaleFactor * 4 : scaleFactor * 5 + itemHeight: onTopBar ? 28 : parent.panelOrientation ? + scaleFactor * 5 : scaleFactor * 4 + itemLong: onTopBar ? 28 : scaleFactor * 5 + itemShort: onTopBar ? 28 : scaleFactor * 4 panelPos: parent.pos }