From d4ef3cdf21fa05a59fa6e786709eac8bc6060d66 Mon Sep 17 00:00:00 2001 From: cutefishd Date: Sun, 11 Apr 2021 15:29:51 +0800 Subject: [PATCH] Optimize app name item --- qml/main.qml | 33 +++++++-------------------------- src/activity.cpp | 24 ++++++++++++------------ src/activity.h | 2 +- 3 files changed, 20 insertions(+), 39 deletions(-) diff --git a/qml/main.qml b/qml/main.qml index b779a6f..defde75 100644 --- a/qml/main.qml +++ b/qml/main.qml @@ -51,7 +51,7 @@ Item { Layout.fillHeight: true Layout.preferredWidth: acticityLayout.implicitWidth + FishUI.Units.largeSpacing - visible: acticityLabel.text + visible: acticity.title onClicked: acticityMenu.open() RowLayout { @@ -61,38 +61,19 @@ Item { anchors.rightMargin: FishUI.Units.smallSpacing spacing: FishUI.Units.largeSpacing - FishUI.IconItem { + Image { id: acticityIcon - width: 22 - height: 22 - source: acticity.icon ? acticity.icon : "" - visible: source !== "" + width: 16 + height: 16 + sourceSize: Qt.size(width, height) + source: acticity.icon ? "image://icontheme/" + acticity.icon : "" + visible: status === Image.Ready } Label { id: acticityLabel text: acticity.title - - NumberAnimation { - id: fadeInAni - target: acticityLabel - property: "opacity" - duration: 250 - from: 0.0 - to: 1.0 - } - - onTextChanged: { - fadeInAni.start() - } } - -// Image { -// width: 16 -// height: 16 -// sourceSize: Qt.size(width, height) -// source: "qrc:/images/" + (FishUI.Theme.darkMode ? "dark/down.svg" : "light/down.svg") -// } } } diff --git a/src/activity.cpp b/src/activity.cpp index 277fb13..c264b3f 100644 --- a/src/activity.cpp +++ b/src/activity.cpp @@ -65,27 +65,25 @@ void Activity::onActiveWindowChanged() info.windowClassClass() == "cutefish-desktop" || info.windowClassClass() == "cutefish-statusbar") { m_title.clear(); - m_icon.clear(); emit titleChanged(); - emit iconChanged(); return; } m_pid = info.pid(); m_windowClass = info.windowClassClass().toLower(); - QString title = info.visibleName(); - if (title != m_title) { - m_title = title; - emit titleChanged(); - m_icon.clear(); - emit iconChanged(); + if (!matchInfo()) { + QString title = info.visibleName(); + if (title != m_title) { + m_title = title; + emit titleChanged(); + m_icon.clear(); + emit iconChanged(); + } } - - matchInfo(); } -void Activity::matchInfo() +bool Activity::matchInfo() { QString command = commandFromPid(m_pid); @@ -121,9 +119,11 @@ void Activity::matchInfo() m_icon = desktop.value("Icon").toString(); emit iconChanged(); - break; + return true; } } + + return false; } QString Activity::commandFromPid(quint32 pid) diff --git a/src/activity.h b/src/activity.h index 2eafa28..eacfdde 100644 --- a/src/activity.h +++ b/src/activity.h @@ -38,7 +38,7 @@ public: private slots: void onActiveWindowChanged(); - void matchInfo(); + bool matchInfo(); QString commandFromPid(quint32 pid);