From 00364bf0ce9cf7ed55575c7ccf9cbd2acb35dbd3 Mon Sep 17 00:00:00 2001 From: littleblack111 Date: Tue, 19 Aug 2025 20:46:55 +0800 Subject: Revert "refactor(Emoji, Spell): optimize cell dimensions and selection logic" This reverts commit 47b7722e4dcc750bdad71731977e0cdb1d95b022. --- popups/launcher/components/Emoji.qml | 12 +++++++----- popups/launcher/components/Spell.qml | 10 +++++----- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/popups/launcher/components/Emoji.qml b/popups/launcher/components/Emoji.qml index d1343e6..d4bc54f 100644 --- a/popups/launcher/components/Emoji.qml +++ b/popups/launcher/components/Emoji.qml @@ -13,6 +13,10 @@ IComponent { property var emojis: active ? Emoji.query(input) : [] property int selectedIndex: -1 + property int cols: Math.max(1, Math.floor(innerLoader.width / Math.max(1, Math.round(Launcher.widgetFontSize * 4)))) + property int cellWidth: Math.floor(innerLoader.width / cols) + property int cellHeight: Math.ceil(Launcher.widgetFontSize * 2) + Launcher.innerMargin * 2 + name: "Emoji" prefix: name.toLowerCase() + " " @@ -72,13 +76,11 @@ IComponent { selectedIndex++; } up: function () { - const cols = loader.view ? Math.max(1, Math.floor(loader.view.width / loader.view.cellWidth)) : 1; if (selectedIndex - cols < 0) return true; selectedIndex -= cols; } down: function () { - const cols = loader.view ? Math.max(1, Math.floor(loader.view.width / loader.view.cellWidth)) : 1; if (selectedIndex + cols >= emojis.length) return true; selectedIndex += cols; @@ -119,14 +121,14 @@ IComponent { flow: GridView.FlowLeftToRight snapMode: GridView.NoSnap - cellWidth: Math.min(width / Math.max(1, Math.floor(width / (Launcher.widgetFontSize * 5))), width / 3) - cellHeight: Launcher.widgetFontSize * 2.2 + Launcher.innerMargin * 2 + cellWidth: root.cellWidth + cellHeight: root.cellHeight delegate: Item { required property var modelData required property int index width: grid.cellWidth - height: grid.cellHeight + height: chipContent.implicitHeight + Launcher.innerMargin * 2 scale: index === selectedIndex ? 1.03 : 0.97 IRect { diff --git a/popups/launcher/components/Spell.qml b/popups/launcher/components/Spell.qml index fe01c3f..b081caa 100644 --- a/popups/launcher/components/Spell.qml +++ b/popups/launcher/components/Spell.qml @@ -94,14 +94,14 @@ IComponent { } up: function () { - const cols = loader.view ? Math.max(1, Math.floor(loader.view.width / loader.view.cellWidth)) : 1; + const cols = Math.max(1, Math.floor(innerLoader.width / Math.max(1, Math.round(Launcher.widgetFontSize * 6)))); if (selectedIndex - cols < 0) return true; selectedIndex -= cols; } down: function () { - const cols = loader.view ? Math.max(1, Math.floor(loader.view.width / loader.view.cellWidth)) : 1; + const cols = Math.max(1, Math.floor(innerLoader.width / Math.max(1, Math.round(Launcher.widgetFontSize * 6)))); if (selectedIndex + cols >= aspell.length) return true; selectedIndex += cols; @@ -144,15 +144,15 @@ IComponent { flow: GridView.FlowLeftToRight snapMode: GridView.NoSnap - cellWidth: Math.min(width / Math.max(1, Math.floor(width / (Launcher.widgetFontSize * 4))), width / 2) - cellHeight: Launcher.widgetFontSize * 1.4 + Launcher.innerMargin * 2 + cellWidth: Math.floor(width / Math.max(1, Math.floor(width / Math.max(1, Math.round(Launcher.widgetFontSize * 6))))) + cellHeight: Math.ceil(Launcher.widgetFontSize * 1.6) + Launcher.innerMargin * 2 delegate: Item { required property var modelData required property int index width: grid.cellWidth - height: grid.cellHeight + height: chipContent.implicitHeight + Launcher.innerMargin * 2 scale: index === selectedIndex ? 1.03 : 0.97 IRect { -- cgit v1.2.3