1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
# qtmaildir
Four settings pages, under Mail, for qtmaildir's
`~/.config/qtmaildir/qtmaildir.conf`:
- **Mail**: `[general]`, `[sync]` and `[completion]`: startup query and
account, language, toolbar size, message zoom, date format, forward
prefixes, mark-read and auto-sync delays, sync on quit, the sync command
and log, contacts, calendars and their sync command, the notmuch config.
- **Compose**: `[compose]`.
- **Accounts**: one card per `[account.<key>]` with every key qtmaildir
reads; Add appends a section with `trash = Trash` and `spam = Spam`,
Remove asks once and deletes the section. The key is the account's
identity and is not renamed here.
- **Tags & shortcuts**: `[tagcolors]` and `[keys]`, a row each, removable,
with an add row.
qtmaildir reads the file at startup and never writes it, so editing it
under a running qtmaildir is safe; the pages say when it is running and a
change waits for its restart. Every field, switch and row edits one draft
shared by the four pages, and Save in any page's header writes it all;
Discard drops it. Emptied, a field unsets the key, so qtmaildir's default
applies; the placeholders name those defaults, from qtmaildir's README.
Numbers are range-checked, and a refused one holds Save back. A save over a
file changed on disk since the draft began is refused rather than lost.
`Ini.js` edits the file a line at a time so its comments and order survive:
a key unset is commented out with `;`, a commented key set again is
activated, and a tag or shortcut row removed is deleted outright. Section
headers are only lines that are nothing but `[name]`, never "everything up
to the next `[`": values hold brackets (`[Gmail]/Bozze`), which is the trap
AGENTS.md records. Values follow QSettings' reading: an unquoted `;` starts a
comment, and a value holding `;` or `"` is written quoted.
Colours (an account's chip, a tag's) have a swatch beside the field that
opens Qt's colour dialog and writes the choice as `#rrggbb`; typing one
still works.
The shortcut actions offered are copied from qtmaildir's
`KeyMap::knownActions()`, a `ponytail:` ceiling in `TagsKeysPage.qml`: a
new action there needs adding here, and meanwhile can be typed, since the
field takes free text.
`Qtm.qml` is the singleton the four pages share. Check:
`node desktop/modules/qtmaildir/test_ini.js`.
|