diff options
| author | Danilo M. <danix@danix.xyz> | 2026-08-13 16:15:57 +0200 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-08-13 16:15:57 +0200 |
| commit | 3b771d03f2df572de29af3156817de3cb7ef6bef (patch) | |
| tree | efd17e55320e472ee27160d935034afe31add6e4 /src/nmraii.h | |
| parent | a52e4e41c2bc8fc8eb23c4bc99f9b8724212bd23 (diff) | |
| download | qtmaildir-3b771d03f2df572de29af3156817de3cb7ef6bef.tar.gz qtmaildir-3b771d03f2df572de29af3156817de3cb7ef6bef.zip | |
feat(rules): the rules window keeps its size and column widths
Item 75. saveGeometry() and the rule list header's saveState() go to
uistate.conf under keys of their own, written on closeEvent so a size
survives Cancel as well as Save. The 760x520 resize stays as the
first-run fallback.
The backlog's approach was wrong on one point and a test caught it. It
said to drop the resizeColumnToContents calls once a saved header state
exists, which fixes the restore and leaves the original defect standing:
with nothing saved, a width the user had just dragged was still
discarded by the next add or delete. Each column is instead auto-sized
once, on its first fill, after which the width belongs to the user
however it was set. Two flags, because the count column is filled later
by a reply from the worker.
The window stays a QDialog. Making it a top-level window needs the
unsaved-edit story that being modal currently sidesteps, and that is its
own decision rather than part of this item.
Both tests redirect XDG_STATE_HOME as well as XDG_CONFIG_HOME, so they
cannot write the real uistate.conf. The geometry is asserted on the
stored value rather than the reopened frame, per item 46: the offscreen
platform does not honour a resize.
Also corrects setFolders' doc comment, which still described the folder
list as coming from Config.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Diffstat (limited to 'src/nmraii.h')
0 files changed, 0 insertions, 0 deletions
