aboutsummaryrefslogtreecommitdiffstats
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
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
-rw-r--r--CHANGELOG.md5
-rw-r--r--src/mainwindow.cpp21
2 files changed, 23 insertions, 3 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index a985541..73e938e 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -36,6 +36,11 @@ point at which they are stable.
the message being read, which is what that bar is for. They are still in the
Message menu and the context menu. Mark all read stays on the main toolbar:
it acts on every row in the view rather than on the message you are reading.
+- **Important is a star again**, matching the filter button that has drawn one
+ since 0.15.0. The action had kept the theme's "important" name, which some
+ themes draw as an exclamation mark; that was invisible while it only ever
+ appeared beside its own label, and became an info glyph the moment it
+ reached the icon-only message bar.
### Fixed
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.