Add per-tool settings and gesture customization

This commit is contained in:
ajp_anton
2026-09-05 05:02:34 +00:00
parent d6f30c5735
commit 38142b9499
26 changed files with 1383 additions and 83 deletions
@@ -23,6 +23,8 @@ private Q_SLOTS:
QCOMPARE(model.data(index, ToolModel::AvailableRole).toBool(), true);
QCOMPARE(model.data(index, ToolModel::UpdateAvailableRole).toBool(), true);
QCOMPARE(model.mayInstall(QStringLiteral("touchpad-hold-tap")), true);
QCOMPARE(model.mayRemove(QStringLiteral("touchpad-hold-tap")), true);
QCOMPARE(model.mayRemove(QStringLiteral("missing-tool")), false);
}
void doesNotGuessUpdatesFromDifferentVersionStrings()
@@ -44,6 +46,34 @@ private Q_SLOTS:
QCOMPARE(model.data(model.index(0), ToolModel::ConfigurableRole).toBool(), true);
}
void sortsAlphabeticallyRegardlessOfInstallState()
{
ToolModel model;
const PackageRecord installed{QStringLiteral("touchpad-hold-tap"), QStringLiteral("1"), QStringLiteral("noarch"), QStringLiteral("Touchpad")};
const PackageRecord availableFirst{QStringLiteral("plasma-always-show-unlock"), QStringLiteral("1"), QStringLiteral("noarch"), QStringLiteral("Lock screen")};
const PackageRecord availableLast{QStringLiteral("touchpad-hold-tap"), QStringLiteral("1"), QStringLiteral("noarch"), QStringLiteral("Old touchpad summary")};
model.setPackages({installed}, {availableFirst, availableLast});
QCOMPARE(model.data(model.index(0), ToolModel::PackageNameRole).toString(),
QStringLiteral("plasma-always-show-unlock"));
QCOMPARE(model.data(model.index(1), ToolModel::PackageNameRole).toString(),
QStringLiteral("touchpad-hold-tap"));
QCOMPARE(model.data(model.index(1), ToolModel::SummaryRole).toString(),
QStringLiteral("Touchpad"));
}
void makesInstalledToolsWithSettingsConfigurable()
{
ToolModel model;
const PackageRecord shortcuts{QStringLiteral("plasma-task-group-shortcuts"), QStringLiteral("1"), QStringLiteral("x86_64"), QStringLiteral("Shortcuts")};
const PackageRecord touchpad{QStringLiteral("touchpad-hold-tap"), QStringLiteral("1"), QStringLiteral("noarch"), QStringLiteral("Touchpad")};
model.setPackages({shortcuts, touchpad}, {shortcuts, touchpad});
QCOMPARE(model.data(model.index(0), ToolModel::ConfigurableRole).toBool(), true);
QCOMPARE(model.data(model.index(1), ToolModel::ConfigurableRole).toBool(), true);
}
};
QTEST_MAIN(ToolModelTest)