aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-08-29 13:30:57 +0200
committerDanilo M. <danix@danix.xyz>2026-08-29 13:30:57 +0200
commitacce57fa95219484b69a8978e85f506bacd33d86 (patch)
treecbb5775114d1280800b58aea7dca8b1370476dc2 /src
parenta8e8ca13a88f99d4f6495cbb7fd28a63d93c93c8 (diff)
downloadqtmaildir-acce57fa95219484b69a8978e85f506bacd33d86.tar.gz
qtmaildir-acce57fa95219484b69a8978e85f506bacd33d86.zip
fix: draw Important as a star on the message bar
The action carried mail-mark-important, which Breeze and several other themes draw as an exclamation mark rather than a star. The filter button for the same tag has used `starred` since a15505d, where the comment records the user asking for a star when item 57 renamed the action, and the two were allowed to differ on the reasoning that a query-row icon reads as a category while an action icon reads as a verb. That reasoning held only while the action appeared beside its own label. Item 189 put it on the icon-only message bar, where the icon IS the control, and it read as an info glyph. Both are `starred` now. The label stays "Important" and the tag stays `flagged`; only the picture changes. `starred` sits under status/ rather than actions/ in the icon spec, which needs no fallback: an unresolved name already leaves the action with text alone, and it resolves in the user's own theme, verified. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01NY6poqw199LfFaXe5BHKNe
Diffstat (limited to 'src')
-rw-r--r--src/mainwindow.cpp21
1 files changed, 18 insertions, 3 deletions
diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp
index 504545d..6c6bc23 100644
--- a/src/mainwindow.cpp
+++ b/src/mainwindow.cpp
@@ -2142,7 +2142,15 @@ void MainWindow::buildMenus()
{ QStringLiteral("purge"), QStringLiteral("user-trash") },
{ QStringLiteral("undo"), QStringLiteral("edit-undo") },
{ QStringLiteral("spam"), QStringLiteral("mail-mark-junk") },
- { QStringLiteral("flag"), QStringLiteral("mail-mark-important") },
+ // A STAR, which is what the user asked for and what every other mail
+ // client draws for this. NOT mail-mark-important: Breeze draws that
+ // as an exclamation mark, so on the icon-only message bar the action
+ // read as an "info" glyph rather than as Star. The label stays
+ // "Important" (item 57) and the tag stays `flagged`; only the picture
+ // changes. `starred` sits under status/ rather than actions/, which is
+ // fine: a theme without it falls to text alone, as every other name
+ // here already does.
+ { QStringLiteral("flag"), QStringLiteral("starred") },
{ QStringLiteral("quit"), QStringLiteral("application-exit") },
{ QStringLiteral("focus_query"), QStringLiteral("edit-find") },
@@ -3061,8 +3069,15 @@ void MainWindow::buildSavedQueryRow(QWidget *parent, QVBoxLayout *layout)
// A STAR for Important, not mail-mark-important, which the `flag`
// action uses. Item 57 recorded the user asking for a star when the
// action was renamed, and on the query row the icon is read as a
- // category rather than as "do this to the selection", so the two can
- // differ. Chosen by the user on sight, 2026-08-15.
+ // category rather than as "do this to the selection", so the two were
+ // allowed to differ. Chosen by the user on sight, 2026-08-15.
+ //
+ // They no longer differ, and the divergence did not survive contact
+ // with item 189: putting `flag` on the icon-only message bar made its
+ // icon the whole control, where Breeze's mail-mark-important draws an
+ // exclamation mark and read as "info". Both are `starred` now. The
+ // lesson generalises: an icon that only ever appeared beside its own
+ // label can be wrong for years without anyone noticing.
//
// mail-folder-sent, not mail-sent: the former is the folder shape every
// theme ships, the latter is the envelope-in-flight some do not.