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
@@ -17,6 +17,9 @@ private Q_SLOTS:
void returnsTopLevelTask();
void selectsChildByCyclePosition();
void startsWithFirstChild();
void startsWithLastChildWhenReversing();
void startsAfterActiveChild();
void startsBeforeActiveChildWhenReversing();
void keepsSeparateLaunchersAsSlots();
void mergesLauncherWithRunningApplication();
};
@@ -59,6 +62,45 @@ void TaskSelectionTest::startsWithFirstChild()
QCOMPARE(taskToActivate(model, 0, 0), model.index(0, 0, model.index(0, 0)));
}
void TaskSelectionTest::startsWithLastChildWhenReversing()
{
QStandardItemModel model;
auto *group = new QStandardItem(QStringLiteral("Dolphin"));
group->appendRow(new QStandardItem(QStringLiteral("one")));
group->appendRow(new QStandardItem(QStringLiteral("two")));
group->appendRow(new QStandardItem(QStringLiteral("three")));
model.appendRow(group);
QCOMPARE(initialCyclePosition(model, 0, true, true), 2);
}
void TaskSelectionTest::startsAfterActiveChild()
{
QStandardItemModel model;
auto *group = new QStandardItem(QStringLiteral("Firefox"));
group->appendRow(new QStandardItem(QStringLiteral("one")));
group->appendRow(new QStandardItem(QStringLiteral("two")));
group->appendRow(new QStandardItem(QStringLiteral("three")));
model.appendRow(group);
group->child(1)->setData(true, AbstractTasksModel::IsActive);
QCOMPARE(initialCyclePosition(model, 0, false, false), 2);
}
void TaskSelectionTest::startsBeforeActiveChildWhenReversing()
{
QStandardItemModel model;
auto *group = new QStandardItem(QStringLiteral("Firefox"));
group->appendRow(new QStandardItem(QStringLiteral("one")));
group->appendRow(new QStandardItem(QStringLiteral("two")));
group->appendRow(new QStandardItem(QStringLiteral("three")));
model.appendRow(group);
group->child(0)->setData(true, AbstractTasksModel::IsActive);
QCOMPARE(initialCyclePosition(model, 0, false, true), -1);
QCOMPARE(taskToActivate(model, 0, -1), model.index(2, 0, model.index(0, 0)));
}
void TaskSelectionTest::keepsSeparateLaunchersAsSlots()
{
QStandardItemModel model;