mirror of https://github.com/bsnes-emu/bsnes.git
Update to bsnes v039r04? release.
Well that wore me out ... the UI went from 45kb to 109kb in one night, with no copy/pasting. New WIP: - re-added the InputManager + InputDevicePool classes. The latter is very complicated, but impressive - re-added Input Configuration Editor - re-added Cheat Code Editor - re-designed individual cheat code editor - re-added Path Editor - stopped subclassing QWidget w/Q_OBJECT to work around Qt stylesheet bug - re-added controller port selections Sorting by column header clicking is screwy. It has to be manually enabled, and the second you do that it re-orders everything. This is really bad when you want the default order, eg "up, down, left ..." or your default cheat ordering; so I had to leave it off. Would be too tacky to add a numeral ID column to work around that. Seems Qt also has a ridiculously complex tree view (MVC-based), but thankfully they added a simplified version that works well enough, QTreeWidget. Only problem is I can't seem to make it hide the child expander space at the very left-most side. This creates an annoying little gap. Anyone know how to hide those with Qt? Even got checkboxes inside the list to toggle cheat codes. Documentation could've been clearer there. Speaking of which, I was able to use child nodes on the cheat code list to show each individual cheat code, but it just didn't look right to me. There was a ton of blank space on the sides. I can actually fill in multi-line descriptions as well here, but it still looks really tacky in my opinion. Thought about using add code + append code + delete code and putting the textboxes back, but that just seems tacky and error prone, too. I'm not adding individual descriptions for each code sub-part. Only way I can think to make it work that way would be to replace the multi-code method with a grouping affinity (eg group codes 1+3 into a set), but then we're getting really complex, with a minimum of 5-6 buttons on the window and 3 text boxes. I think the learning curve would be too high to be worth it. So, I used the old method, but instead of a textbox to paste in codes, I went with a slightly less error prone method of a textbox for the description and a listbox for each code part. Threw in add / delete / delete all for the code list. Takes a bit longer if you're trying to copy/paste codes off the web, but the increased intuitiveness and consistency is worth it in my opinion. New cheat code editor (description typo due to extreme fatigue) There's a lot of rough edges and few safety checks, so if you try to break things you probably can. Overall, really having fun with the Qt API. It can be awkward at times, but it's definitely the most straight-forward API I've seen so far. [No archive available]
This commit is contained in:
parent
67318297dd
commit
e5b2e87ff8