Quoting Hans Breuer <hans breuer org>: [...]
I'd like to make a couple of UI enhancements to Dia, and before that,remove theuse of deprecated Gtk widgets.Patches to get rid of deprecated widgets without loosing functionality would be very welcome.
Right. I started doing that, but it might be the good time to think about the UI being ported: is it still useful/modern ? or a lift-up is needed? [...]
So, first things first, I'd like to know the use cases of this dialog: - is it useful to customize system sheets? maybe to reduce the number of shapes?I think so, although I only did for testing. (The HEAD version was slightly broken since my GtkBuilder port regarding this feature. Now fixed again:
http://git.gnome.org/browse/dia/commit/?id=fc50c0bc461264d8d01851a34fb6a76c529e14e0
Note: this is not modifying the system sheet, but instead creating a user specific shadow version.- is this to add personal items to them? because the problem is you canadd UMLshapes to Network for instance, which just defeats the purpose of the classificationThe user can create custom sheet versions without (arbitrary) limitations. IMO this is consistent with the ability to create (e.g. UML) diagrams and mixing in shapes from other diagram types.
Yes, that's what I was trying to raise in my initial mail: I think this is needed because there is no way to easy add "Favorites". I used to do a lot of UML modeling, and even for deployment models, I use the UML normalized elements, not a network shape for instance. For this case, a user will certainly have a 90/10 ratio where he uses most of a system sheet and only a couple other elements: that could fit in a "Favorites" sheet.
- adding new type of sheets? but how to remove them?Just use the remove button? There you can select between object or whole sheet removal. The latter is disabled for system sheets, but can remove their shadow versions (with a small issue, becuase the original version will only be available again after restart.)
ha ok, I ran into this issue, then, that's why I did not understand its usefulness. Still, my point is: do you really need to create multiple custom sheets (100% custom or derived from system sheets)? This is nice, but are there any users really exploiting this?
This involves a lot of code, including a startup warning dialog if thesystemsheet is newer and if you want to overwrite your local customizations.To me this code complexity appears to be necessary, if the use case is considered usefull.
That's exactly my point: you're the maintainer, so it's up to you to choose. Do you think this is a real use case? My proposal is to replace the dialog by a simpler, "Favorites" where one would only have one sheet on the left : "Favorites". I'd go for that: 1) a GtkToolPalette with a default sheet set as of today (Assorted, UML, Flowchart), with a button to customize the Sheets displayed. 2) the palette would always contain an empty "Favorites" section, closed by default, with a hint saying to go to the "Favorites" dialog or right-click add or drag and drop an item in the section for fast access. 3) the actual sheets customization dialog would only have the Favorites on the left to simplify it. It would be the equivalent of drag and dropping but easier to discover and use with the keyboard. 4) This dialog could also feature something to download/install additional shapes set, from http://dia-installer.de/shapes.html for instance. See attached (awful) mockups to make for an easier explanation.
I'd like to improbe the UI in light of removing deprecated widgets.This should be basically the replacment of GtkOptionMenu with GtkComboBox.
sorry, I meant: removing deprecated widgets is a good opportunity to improve the UI more deeply while we are at it. [...]
If I'm not mistaken, customizing system sheets should be ruled-out, even iftheyare a lot of items.I dont follow (although I'm only using it to shake out bugs;)).
I really hope you've understood me by now :)
Creating custom sheets is nice, but you need to write shape files.Not really. You can just create them by the shape exporter. (Some XML editing is still necessary to create good shapes.)
Ho, I did not know about this feature: is this File> Export as .shape file? Still, this can be an option to import in the "Favorites" section. Anyway, a user can create a whole new sheet by editing XML files anyway. The whole purpose of the Favorites is optimizing the workflow for most of the users.
Wouldn't it make it simpler to have: - some sort of bookmarks (a la Firefox) lying in this dialog first *and* accessible from a popup in the palette directly to quickly bookmark an item - the bookmarks go in a unique "Custom" sheet (ideally always visible) - when you have 1+ bookmark, you automatically get this "Custom" sheetLooks like a useful feature in itself, but I don't see this as necessarily coupled with the Sheets&Objects dialog. Although sooner or later the user might have more bookmarks than viable for a flat structure (one sheet).
Mhh ... I thought a bit about that, and I do not see a reason to structure more using 2 or more custom sheets. I'd prefer not making the current sheets handling more complex by layering a "Favorites" on top of it, but replacing it instead. It's your call anyway :)
Anyway what's the point of creating your own sheets if you need .shapefiles?That means you'll need to edit XML at some point. If users want to create sheets, they can edit them using XML, the DTD issimple. Still I see a huge difference between editing at some point and having no GUI at all. Of course we could throw away the Sheets & Objects dialog alltogether, if it isn't used. But if I follow your argument we could also throw away the Preferences and Plugins dialog, the results are stored in XML as well ;)
lol, indeed ... but the prefences are arguably more often used ;) Talking with users in LUGs, almost nobody noticed this dialog until I talk about it.
For exchanging sheets, maybe it would be better to propose an option to import a sheet you got from the Internet forinstance.See Steffen's mail.
yes, that's exactly what I said initially: there's no problem to share sheets ... but having a mechanism to download/upgrade system sheets (even as copies) inside the app itself would be nice. Well, it's your call, do you think this simpler way of managing custom sheet is right/useful/desired? I used to contribute to Gnome, but now my time is limited and I've been developing mainly in Java for the past 10 years, so I do not want to rush in contributing stuff in C that's going to be frowned upon as soon as I have proposed a patch: I'd better discuss it before :) If you do not like this proposal because it's making the system not flexible enough, I can understand, and I'll try to proceed with just porting the comboboxes first. For the GtkCombobox port, I'll certainly present things differently since the tooltip support is not really up to par vs. GtkOptionMenu. best regards, --Stef
Attachment:
dia-Sheets and Objects-before.png
Description: PNG image
Attachment:
dia-Sheets and Objects-after.png
Description: PNG image
Attachment:
dia-palette-after.png
Description: PNG image