A window for selecting a folder
About
If we wouldn't have a window like this, it would not be possible for the user to point at a target when doing operations like moving or copying a message and/or moving or copying a folder. Unlike TMut's menu or first screen must this folder selector show the folders of all configured accounts. Otherwise it would not be possible to select the folder of an account that is not the current account as target.
Design
Luckily does Tinymail provide a convenient standard GtkTreeModel? implementation, called TnyGtkFolderStoreTreeModel, that does exactly this. We of course still need to feed it the accounts that it must show.
Therefore does TMutFolderSelector implement TnyAccountStoreView. The account store of a Tinymail based application can offer us all the configured accounts and put it into our list. You use the tny_account_store_get_accounts API for that. TnyGtkFolderStoreTreeModel also implements TnyList and the tny_account_store_get_accounts wants you to pass it exactly that.
This explains why tny_account_store_get_accounts doesn't return a TnyList but in stead lets you pass your own: this makes it possible for you to pass any implementation of TnyList. For example the TnyGtkFolderStoreTreeModel instance.
We can simply use the TnyGtkFolderStoreTreeModel instance as GtkTreeModel? for a GtkTreeView?. TMutFolderSelector is basically a GtkVBox with a GtkScrolledWindow? with inside of the scrolled window that GtkTreeView?.
Plain and simple.
