Re: [UI] Sheets and Objects dialog



Quoting Hans Breuer <hans breuer org>:

[...]

I'd like to make a couple of UI enhancements to Dia, and before that,
remove the
use 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 can
add UML
shapes to Network for instance, which just defeats the purpose of the
classification
The 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 the
system
sheet 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 if
they
are 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" sheet

Looks 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 .shape
files?
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 is
simple.
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 for
instance.

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



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]