[Patch] Improve IMAP folder configuration

Hi all,

attached is a little patch which tries to improve the creation of IMAP folders:

(1) The “Remote IMAP mailbox” option is not really useful as the typical use case is a “Remote IMAP folder”.  
Thus, remove
this option from mailbox tree view context and the Balsa ▶ New menus.  In order to support existing configs, 
it is not removed from the preferences dialogue and from loading and saving the config (which we could do if 
we want to drop this option completely).

(2) Creation of IMAP Subfolders: the existing dialogue is somewhat clumsy as the parent has to be selected 
from a tree view.  The patch creates the subfolder either for the selected mailbox (via  Balsa ▶ New), or 
from the folder for which the context menu has been opened.  Therefore, the option is omitted/greyed out when 
the selected folder is not an IMAP folder.  As a little eye candy, the empty lines in the context menu are 
replaced by separators.

This is just a start for improving the ui, e.g. in the dialogue for the modification the parent selection 
could be limited to the folders on the same IMAP server, subscription could be handled in a tree view with 
check boxes, etc.



Patch details:
* src/folder-conf.c: simplify folder_conf_imap_sub_node() which is now used only for modifying an existing 
folder, not for creating a new one; put the logic for the latter into folder_conf_add_imap_sub_cb().  Note 
that folder_conf_imap_sub_node() still needs some refactoring…
* src/mailbox-node.[ch]: replace empty items by separators in add_menu_entry(); export helper 
balsa_mailbox_node_is_imap() indicating if a BalsaMailboxNode is on an IMAP server; in 
balsa_mailbox_node_get_context_menu() remove the “Remote IMAP folder” and show “Remote IMAP subfolder” for 
IMAP BalsaMailboxNodes only
* src/main-window.c: “Remote IMAP folder”, activate “Remote IMAP subfolder” for selected IMAP 
BalsaMailboxNodes only
* ui/main-window.ui: remove “Remote IMAP folder” from the ui

Attachment: IMAP-folder-conf.diff.gz
Description: application/gzip

Attachment: pgpfe6JWtxyiP.pgp
Description: PGP signature

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]