Now 4.5.x is satisfactory launched, I felt like some experimenting. So I tried out an idea I got sometimes ago, to greatly facilitate adding menu dialogs to XBoard. What I did was clone the Engine-Settings popup, which of necessity was a table-driven dialog-layout generator, the table being supplied by the engine. Instead I let it work now from pre-defined tables of XBoard options, and adapted it to store any changes in the correspondng XBoard variables (usually in appData), rather than sending them to the engine.
This works like a charm! I created tables to implement 3 dialogs, similar to the WinBoard Load-Game, Save-Game and ICS Options dialogs. Some items that used to be in the main XBoard Options menu (which was growing unweildly large) have been moved to there, and some things that could not be set from menus at all (as the old Options menu could only contain Boolean features) have been added. Adding menu items for future new features has become totally trivial, and only require a single line in the table. Comboboxes do not work yet. (I had no example of the in these dialogs to test on, so I did not bother.) Options whose setting should trigger an action (like a redraw or sending something to the engine) also cannot be implemented this way yet. The patch is in a new branch "popups" of the hgm.nubati.net repository, which sprouts from the hgm4.5.x branch.
