Hi Albrecht:

On 03/24/2019 08:35:14 AM Sun, Albrecht Dreß wrote:
Hi all,

attached is a *proposal* addressing two inconveniences in IMAP folder 
management:

1. Selecting the parent folder using the “Browse” button
a. The button opens a new window, containing /all/ folders Balsa knows about.  
In my case, I have ~50 local folders, plus two different IMAP (ISP) servers 
with ~10 folders each.  IOW, only a fraction of the folders displayed can 
actually be used as new parent of the IMAP folder, which is confusing and 
tedious.
b. If only subscribed folders are displayed, it is not possible to define a 
currently unsubscribed folder as new parent (which is perfectly legal) simply 
as it is not visible.  The workaround is to disable “Subscribed folders only”, 
then shift the folder, and switch to subscribed only again, i.e. three 
operations have to be performed in two places.

2. Subscription management
a. Currently, folders can be (un-) subscribed only by using the context menu 
item in the folder tree view.  There is no indication if the folder is 
currently subscribed or not (it is hidden if “Subscribed folders only” is 
enabled, though).
b. Related to #1b. above, it is not possible to directly subscribe to an 
unsubscribed folder if “Subscribed folders only” is activated, with the same 
workaround as outlined above.

Thus, I would like to propose a different approach.  It basically scans the 
IMAP server's folder structure, instead of relying on the cached data in Balsa, 
every time the two aforementioned management operations above shall be 
performed.

For issue 1, a new dialogue is displayed, containing the tree view of /all/ 
(subscribed and unsubscribed) folders on the IMAP server.  The user can either 
double-click the requested new parent, or select the entry and click OK.  The 
tree store of folders is kept as long as the parent dialogue (IMAP subfolder 
configuration) is open, i.e. the scan is performed only /once/ when the 
“Browse” is clicked.

For issue 2, instead of managing the state for each folder individually, a 
button “Manage subscriptions” is placed next to the “Subscribed folders only” 
check box in the IMAP server configuration dialogue.  Clicking this button 
scans the folder structure on the IMAP server, plus the subscription state of 
all folders.  The dialogue is similar to case #1 above, with an additional 
column of check boxes indicating the subscription state.  If the user has 
changed the subscription state, the folder is printed in /italics/.  As above, 
the store of folders, old and new subscription states is kept until the server 
configuration dialogue is closed.  If requested, all changed subscriptions are 
applied.  Note that the “Manage subscriptions” button is sensitive only if 
“Subscribed folders only” is activated.  If there are use cases where 
subscription management should always be available, this limitation can easily 
be removed.

There has recently been a discussion regarding the traffic required for 
scanning the server for /very/ slow or low-bandwidth connections.  IMO, the 
proposed approach will actually improve (apart from the usability) the 
situation in this scenario: a typical approach for such connections will be 
accessing subscribed folders only.  In this case, it is (as via the workaround 
outlined above) actually required to scan the server /twice/ after toggling 
“Subscribed folders only”.  And for a connection with a typical bandwidth *and* 
“Subscribed folders only” not being activated, I assume that the extra overhead 
will be negligible.

As always, any comment will be highly appreciated!

Thanks for the patch--a huge improvement over the current deficient UI!

I have only one question: you use a series of defined constants to label the 
columns of the GtkTreeStore, where elsewhere Balsa (mostly?) uses an 
enumeration; the enumeration can be extended with a final *_N_COLS member which 
avoids hard-coding the column count. Any particular reason to prefer defined 
constants?

Best,

Peter

Attachment: pgpJlOGnHvcot.pgp
Description: PGP signature

_______________________________________________
balsa-list mailing list
[email protected]
https://mail.gnome.org/mailman/listinfo/balsa-list

Reply via email to