fix: fix review comments from copilot

This commit is contained in:
Khushboo Mehta
2026-07-31 07:28:47 +00:00
committed by Khushboo-dev-cpp
parent 4ed06ed95e
commit efb48100b9
4 changed files with 23 additions and 7 deletions
+3 -1
View File
@@ -10,7 +10,9 @@ import Basecamp.Backend
import Basecamp.Common
// Settings → Apps Inspector. Lists the UI plugins discovered in the plugins
// directory with their load state, and load / unload / uninstall actions.
// directory with their load state and a Load/Unload toggle per row. Uninstall
// is deliberately absent — module management lives in the Package Manager;
// this view is read-only apart from the load toggle.
//
// Formerly the "UI Modules" tab of ModulesView. Split out into its own Settings
// section so it stands alongside Module Inspector instead of hiding behind a
@@ -10,8 +10,10 @@ import Basecamp.Backend
import Basecamp.Common
// Settings → Module Inspector. Lists every core module liblogos knows about
// with its load state and live CPU / memory stats, plus load / unload /
// uninstall actions and the per-module Interface drill-down.
// with its load state and live CPU / memory stats, a Load/Unload toggle per
// row, and the per-module Interface drill-down. Uninstall is deliberately
// absent — module management lives in the Package Manager; this view is
// read-only apart from the load toggle.
//
// Formerly the "Core Modules" tab of ModulesView. Split out into its own
// Settings section alongside Apps Inspector, restyled onto LogosTable +
+5 -3
View File
@@ -3,9 +3,11 @@ import QtQuick
import Logos.Controls
import Logos.Theme
// Load-state badge for the inspector tables. `row` is a ModuleTableModel row —
// the normalised flags on it (isMainUi / hasMissingDeps / isLoaded) pick the
// colour, `statusText` supplies the label so the wording lives in one place.
// Load-state badge for the inspector tables. `row` is a LogosTable rowItem
// backed by ModuleInstanceModel (via ModulesFilterProxy) — the normalised
// flags on it (isMainUi / hasMissingDeps / isLoaded) pick the colour, and
// the `statusText` role supplies the label so the wording lives in one
// place (see ModuleInstanceModel::Row::statusText()).
LogosBadge {
id: root
+11 -1
View File
@@ -131,8 +131,18 @@ void ShortcutBridge::mirrorOneShortcut(QObject* obj)
auto* mirror = new QShortcut(seq, m_host);
mirror->setContext(Qt::ApplicationShortcut);
mirror->setEnabled(obj->property("enabled").toBool());
// UniqueConnection makes this loop safe on two axes:
// * a QML Shortcut can declare multiple sequences (each mirrored)
// — the enabledChanged→slot wire should still be one connection
// per QML shortcut, not one per sequence.
// * rebind() clears the C++ mirrors but leaves the QML shortcuts
// alive (they belong to the pane's QML tree). The next scan
// would re-connect the same signal, and without this flag
// onQmlShortcutEnabledChanged() would fire N times per change
// after N pane switches.
connect(obj, SIGNAL(enabledChanged()),
this, SLOT(onQmlShortcutEnabledChanged()));
this, SLOT(onQmlShortcutEnabledChanged()),
Qt::UniqueConnection);
m_mirrorToQml.insert(mirror, obj);
m_qmlToMirrors.insert(obj, QPointer<QShortcut>(mirror));