12.2a: folders duplicate with their contents, folder opacity, format version 8, View > Snap (Compositor 1.1.5–1.1.6)

This commit is contained in:
雷电芽衣 committed 2026-09-26 18:17:14 -04:00
1 parent ee34c338d4
commit f1b2c65c1e
52 files changed
+909 -239

No files matched your search

+58
View File
@@ -0,0 +1,58 @@
#include "MenuFixtures.h"
// The View menu: zoom, the pixel grid and Snap.
class ViewMenuTests : public QObject {
Q_OBJECT
private slots:
void viewEntriesZoomTheFrontSession();
void thePixelGridEntryTogglesTheSession();
};
void ViewMenuTests::viewEntriesZoomTheFrontSession()
{
Bar bar;
for (const char *name : {"fit", "actualPixels", "zoomIn", "zoomOut"})
QVERIFY(!bar.action(name).isEnabled());
bar.session().createDocument(400, 300);
for (const char *name : {"fit", "actualPixels", "zoomIn", "zoomOut"})
QVERIFY(bar.action(name).isEnabled());
bar.session().zoom(0.5);
bar.action("actualPixels").trigger();
QCOMPARE(bar.session().viewport.zoom(), 1.0);
bar.action("zoomIn").trigger();
QCOMPARE(bar.session().viewport.zoom(), 1.25);
bar.action("zoomOut").trigger();
bar.action("zoomOut").trigger();
QCOMPARE(bar.session().viewport.zoom(), 0.8);
bar.action("fit").trigger();
QVERIFY(bar.session().viewport.followsFit());
}
void ViewMenuTests::thePixelGridEntryTogglesTheSession()
{
Bar bar;
QAction &grid = bar.action("pixelGrid");
QVERIFY(grid.isCheckable() && grid.isChecked() && grid.isEnabled());
QCOMPARE(grid.text(), QString("Pixel Grid (800% and above)"));
grid.trigger();
QVERIFY(!bar.session().showsPixelGrid() && !grid.isChecked());
grid.trigger();
QVERIFY(bar.session().showsPixelGrid() && grid.isChecked());
// The session's own change reaches the mark.
bar.session().setShowsPixelGrid(false);
QVERIFY(!grid.isChecked());
bar.workspace.newCanvas();
QVERIFY(grid.isChecked() && grid.isEnabled());
// Snap, beneath it, follows the session the same way.
QAction &snap = bar.action("snap");
QVERIFY(snap.isCheckable() && snap.isChecked() && snap.isEnabled() && snap.text() == "Snap");
snap.trigger();
QVERIFY(!bar.session().snappingEnabled() && !snap.isChecked());
snap.trigger();
QVERIFY(bar.session().snappingEnabled() && snap.isChecked());
bar.session().setSnappingEnabled(false);
QVERIFY(!snap.isChecked());
}
QTEST_MAIN(ViewMenuTests)
#include "ViewMenuTests.moc"