diff options
| author | Danilo M. <danix@danix.xyz> | 2026-08-24 11:54:41 +0200 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-08-24 11:54:41 +0200 |
| commit | 02a795abe731da908928cd08a799ad79002ff421 (patch) | |
| tree | 8e1d8cdd37973b378775b0977b38b320149fbadb /tests | |
| parent | a4e8c837a07014be3863a40f371d02a492b7efb7 (diff) | |
| download | qtmaildir-02a795abe731da908928cd08a799ad79002ff421.tar.gz qtmaildir-02a795abe731da908928cd08a799ad79002ff421.zip | |
fix(compose): make the Send button a square that reads as one item
An Expanding vertical size policy stretched the button to the full height of
the header form beside it, while the icon and the label kept their natural
sizes. The result was a tall rectangle with the icon anchored near the top,
the label near the bottom, and a gap between them: two marks rather than one
control.
Fixed size, derived from the icon so the square still fits its contents if
toolbar_icon_size changes, and aligned vertically centre against the headers
so the whole button is centred rather than its contents. The icon grows to
the configured size plus 8, since at this scale it is the button's subject
and the word underneath is the caption.
Nothing in the layout or the actions could see this, which is why the test
now asserts the vertical policy and that width equals height. Both fail
against the previous code.
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/test_mainwindow.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/tests/test_mainwindow.cpp b/tests/test_mainwindow.cpp index 35f7093..4c33302 100644 --- a/tests/test_mainwindow.cpp +++ b/tests/test_mainwindow.cpp @@ -12267,6 +12267,21 @@ void TestMainWindow::theComposerSplitsItsToolbarByScope() QVERIFY2(sendButton->defaultAction() == send, "the Send button does not carry the send action itself"); + // A SQUARE, and not a widget that stretches. An Expanding vertical policy + // grew it to the full height of the header form beside it while the icon + // and label kept their natural sizes, leaving the two marooned at either + // end of a tall rectangle with a gap between them. Nothing in the layout + // or the actions could see that, which is why it is asserted here. + QCOMPARE(sendButton->sizePolicy().verticalPolicy(), QSizePolicy::Fixed); + QCOMPARE(sendButton->width(), sendButton->height()); + + // And the icon is the larger half of the button, not a small mark with + // the label doing the work. + QVERIFY2(sendButton->iconSize().width() >= 24, + qPrintable(QStringLiteral("the Send icon is %1px, too small to " + "read as the button's subject") + .arg(sendButton->iconSize().width()))); + // Item 143: the formatting buttons carry icons, and keep their words as // the tooltip so nothing becomes unnameable in an icon-only row. for (const QString &name : { QStringLiteral("format_bold"), |
