I have just released Version 1.1 1.1.1 of EmailViews. This release brings several improvements based on community feedback and contributions from testers.
New
Undo Move to Trash (Alt+Z) — restore the most recently deleted batch of emails to their original location, up to 10 levels deep
Bulk delete confirmation — moving 50 or more emails to Trash at once now requires confirmation
Fixed
Mark Unread no longer overwrites Sent and Replied statuses
Alt+A (Select All) now correctly enables Trash, Mark Read, and Mark Unread buttons while disabling Reply, Forward, and navigation buttons
Keyboard navigation and Alt+A now work immediately after switching views, without requiring a mouse click first
32-bit build fix (contributed by Humdinger)
Beta 5 compatibility fix (contributed by Humdinger)
Compatibility
Now compatible with Haiku R1/beta5 and later (contributed by Humdinger)
EmailViews.cpp:1624:56: error: request for member 'ItemAt' in 'qcd->QueryCountData::customQueries', which is of non-class type 'int'
1624 | QueryCountCustomQuery* cq = qcd->customQueries.ItemAt(c);
| ^~~~~~
EmailViews.cpp:1632:44: error: request for member 'CountItems' in 'qcd->QueryCountData::volumes', which is of non-class type 'int'
1632 | for (int32 v = 0; v < qcd->volumes.CountItems(); v++) {
| ^~~~~~~~~~
EmailViews.cpp:1635:44: error: request for member 'ItemAt' in 'qcd->QueryCountData::volumes', which is of non-class type 'int'
1635 | BVolume* volume = qcd->volumes.ItemAt(v);
| ^~~~~~
EmailViews.cpp: In member function 'void EmailViewsWindow::ApplySearchFilter()':
EmailViews.cpp:1816:48: error: cannot convert 'int*' to 'BObjectList<BVolume>*'
1816 | fEmailList->StartQuery(fullQuery.String(), &fSelectedVolumes, fShowTrashOnly, fAttachmentsOnly);
| ^~~~~~~~~~~~~~~~~
| |
| int*
In file included from EmailViews.h:65:
EmailListView.h:146:58: note: initializing argument 2 of 'void EmailListView::StartQuery(const char*, BObjectList<BVolume>*, bool, bool)'
146 | BObjectList<BVolume>* volumes = NULL,
| ^
EmailViews.cpp: In member function 'void EmailViewsWindow::RefreshQueryCountDisplay()':
EmailViews.cpp:1984:44: error: request for member 'CountItems' in '((EmailViewsWindow*)this)->EmailViewsWindow::fSelectedVolumes', which is of non-class type 'int'
1984 | for (int32 i = 0; i < fSelectedVolumes.CountItems(); i++) {
| ^~~~~~~~~~
EmailViews.cpp:1985:41: error: request for member 'ItemAt' in '((EmailViewsWindow*)this)->EmailViewsWindow::fSelectedVolumes', which is of non-class type 'int'
1985 | BVolume* vol = fSelectedVolumes.ItemAt(i);
| ^~~~~~
I Installed the new binary in my VM. It seems that localisations are not included in 1.1.1. They were in 1.1.0. Note that even then the new line ‘Undo move to Trash’ which doesn’t appear on polyglot wasn’t translated. Some translations were not matching either. For example, on polyglot some translations have a comment ‘Toolbar, short as possible’ those were not used. Though, strings were translated but long versions were used. I guess things are not in synch.
Perhaps, in some places, using plural forms could simplify things a bit.
Some translations are identical to those from
Haiku Mail app. It could be a good idea to either get them in synch or to distinguish them to avoid user confusion.
I will be adding B_TRANSLATION_CONTEXT to the toolbar strings to make sure the right context is applied. Will upload the correct en.catkey file to Polyglot after testing locally, maybe later today or tomorrow.
I have added translation context to the toolbar in the main window and the viewer/composer window. The new catkeys have been uploaded to Polyglot for translation (the toolbar strings will have to be translated again, sorry).