While recently looking through a pattern with a rather large number of tool items in the History, I came to the conclusion that the History could use some improvement to make it easier to read. I’m looking for any suggestions as to how we could improve it. Be it formatting, color coding, icons, searching… anything that could help to find items or make sense of the history or otherwise it it easier to use.
Maybe the toolbox icon of the tool next to its use?
Very doable. The history records each contain the tool’s type which can be switched to find the tool’s icon. Can’t recall offhand if the history is a list widget (basically 2 columns, one being an icon) or a table widget (which can be any number of columns of any data type)… and if you recall the 1st column is used for a checkmark. If it’s already a table it’s easy to just add another column for the icon. If it’s a list it has to be converted to a table and reworked a bit. I’ve already played with doing this exact thing with an expanded “Groups” in my fork… where there’s another table listing the tools in a group with its icon. Ironically the only way I could ascertain a “line” tool’s name was by parsing the history records by tool id number. The line tool is not a full tool class, and does not store the name, but the history does. Another one of those “I have no clue why” things.
You should be careful of what you ask for…
One of my ‘wishes’ for the History is that one can drag things to different points in the History, similar to what we do in the Pattern Details when we add a new node and have to drag it to the place in the order of things. Like when I have already created the neck or armhole curve and suddenly need at the end of the pattern making process. It would be so nice just to drag it down the History, rather than deleting it and remaking it. But that’s just me being very lazy
Another handy feature would be to make the window that pops up with the history a ‘dockable’ window like the ‘groups’ window or the ‘toolbox’ so it can be left open while editing. I keep the property editor and the group manager docked over on the right hand side of the workspace, and the history would fit nicely at the bottom of that column of docked windows. Since the history window needs to be open to insert things at locations other than the end of the history, it would be nice to have it ‘open’ as a dock while editing.
Another handy thing would be if you mouse over something in the main editor view (like a point for example) it highlights the line in the history view. And/or the same behaviour when an object is selected in the main view.
While it’s possible to put the history in a dock, it would require some reworking the app. Currently the history is a non modal QDialog (meaning it stands on it’s own and doesn’t block input from the rest of the app)… with associated ui dialog form. That would all have to be changed to a QWidget to be used in a QDockWidget - such as the Groups. A bunch of connections would have to change, and probably things I’m not thinking of at the moment.
That being said, something to consider.
That would be really handy, as you could easily identify where in the History an object was created. It would require setting up signals at both ends, and connections at both ends to handle the other’s signal. Except, the issue I can see is that the History dialog class is dynamic, so any connection to it would also have to be dynamic. Hmmm. Almost makes a case for going the dock route. It may be possible to have the dock act like a dialog in that the window opens and closes like a dialog, but it is never really closed… just hidden. Plus you could dock it if you want. Let me think about this…
BTW… I’ve played with tabbing the docks in my own fork, so instead of all the docks open in the area to the right, you just select the tab and that dock is displayed. The History could just one of those tabs… along with the Properties Editor, Groups, Details, Layouts, etc.