Removed Balo - TODO bosh!!!
TODO groupHeader, reGroupHeader Modgroups.filter bin
ModGroups.filter() and reGroupHeader removed
auto-sorting + settings
Last balo groups relics
Refresh button in groups dialog
Readme updates for ghosting and groups - TODO glitches in FF (zoom in):

Closing tag matches nothing at line 1811
@@ -1810,3 +1810,2 @@
 		</tr>
-	</tbody>
 </table>

Couple typos

Renamed 'Group' menu to 'Groups'
Edited ghosting docs - apparently they were wrong in stating that:
Ghost...Ghost this plugin when it is inactive even if Auto-Ghost is disabled.
See: 18a4807fbc185ab80b88e048f2a5ee499ecbfc34
Import groups: changed the dialog message as autosort is a removed Balo feature.
bolt nitpick REWORD:

Nitpick 0 EDIT header -> first_pickle in bolt

SWUASH WITH PICKLESS
NITTT test updateTable
bolt.DataDict: why does it try to return path to game master file ?
bosh.py saveInfos table fixups under 176
modInfos table - entries deleted outside Bash were not removed TODO:

Under 176
TODO: check ini tweaks
New listData List.init parameter - TODO check screens when no screens initially:

Discrepancies:
bosh.BSAInfos are init outside basher while screensData and messages are
init in the panels ! Moreover messages is refreshed in the panel...
Mod Save and Ini panels use good old bosh singletons
Did not look at the SashTankPanels

Notice that the screens panel datadict is initialized to {} - fixup:

         # rest of List subclasses provide a non None listData
-        self.data = listData or {} # TODO(ut): to UIList
+        self.data = {} if listData is None else listData # TODO(ut): to UIList
         balt.UIList.__init__(self, parent, dndFiles=dndFiles, dndList=dndList,
Possible bug - iniList may be none
Fix for IniList table not being persisted and keeping deleted items:

Used the listData notebook panels' new attribute.
Changes:
FileInfos.refresh now takes care of files deleted outside of bash.
Same goes for NotebookPanel.OnCloseWindow - see comments there
IniInfos.getBashDir creates the dirs as it should

Tried to raise on settings failure (was silent) but won't let the frame be
destroyed - despite finally (?)
UIList.colReverse - PeopleList.init absorbed to UIList and Tank inits:

colReverse is used by GetSortSettings which is used by SortItems in all
List subclasses - notice parallel in Tank - unify

Notice there are three variations:

settings.getChanged('bash.mods.colReverse') # List variation
settings['bash.masters.colReverse'].copy() # Master List variation - there
are two MasterList: SaveDetails and ModDetails
settings['bash.people.colReverse'] # Tank variation

Changed the MasterList one to `return {}` as MasterList.OnColumnClick()
is a noop - OnColumnClick is the callback that reverts column order.
This is set a value in basher:470 but this value is never used.
Clean settings from 'bash.masters.colReverse' is in the TODO list.

Alternate implementation:

    def _colReverse(self, _cache={}):
        """Should just return {}, see MasterList.OnColumnClick."""
        if not _cache: _cache.update(settings['bash.masters.colReverse'])
        return _cache

    colReverse = property(_colReverse, doc='Dictionary column->isReversed')

Not exactly equivalent to previous

Tank might as well be dropped and take _setColumnReverse along
_setSort should be a property

Note that PeopleList.__init__ disappeared - Tank + UIList = PeopleList
Nitpick bosh etc - TODO:

PeopleList further simplificastion
Tank init types
more '''Install selected packages'''. replace

NITT