Jeremy Sanders wrote:
Right, now I just need to learn more PyQt and more about Veusz and I can
try to do something more substantial...
Great, but feel free to send me more suggestions!
Right well this is a random braindump of all the things I've noticed
over the past couple of days. I'm sure some of this is obvious. I'm sure
you'll disagree with some of it. Some is probably wrong. And I'm not
expecting everything to change soon, I realise it's only 0.4+ :) So, in
no particular order:
* Should be able to insert widgets in all contexts that this makes sense
(by recursing up the tree and inserting the widget at the first level at
which it can be inserted)
* Insert widget buttons should be an ordinary toolbar (i.e. at the top
of the screen by default) but should not be part of the existing toolbar
(with the save etc. buttons). Buttons should be disabled when they're
not avaliable, not removed.
* Insert menu should have a static list of options that get disabled
when not avaliable. Menus with options that change according to
context are evil :)
* Remove all instances of the word "widget" from the GUI. It's
unnecessarily confusing especially if you haven't read the help (and
most people won't - the GUI is quite good enough to not bother).
* Properties labels should be labels, not buttons. I didn't realise they
were buttons untill I clicked on one by accident, it's ugly and it
(probably) breaks accessibility. The functionality for copying values
could be moved to the context menu for the controls.
* Property names should be proper words with spaces and so on. I guess
the point of the exsting system is that it allows the command line
syntax and the GUI to be identical - but I'm not sure this is important
and won't work if the GUI is localised into other languages.
* Widget tree item context menu should have move up /move down / delete
items and not have the options for hiding the various subwindows.
* Widgets should be renamable.
* The label for a widget should be prefilled with the name of the dataset.
* Various properties need more specific controls to change their value.
Controls for specifying a dataset should have an editable dropdown with
a prefilled list of datasets. Properties that take certian units
should have a combobox for units (for convenience, it should be possible
to type the units into the value and have the combobox automatically update)
* The edit menu should have cut, copy, paste and undo/redo
* The view menu should have options to view/hide the various subwindows.
* It would be fantastic if New and Open opened a new window with the new
graph rather than overwriting the old graph. Restarting the program from
the command line every timeis a drag :)
* It should be possible (or easy?) to plot (and perform fits on) parts
of datasets rather than the whole dataset.
* It would be nice to be able to use the standard font dialog box for
adjusting fonts (especially since it will actually list avaliable fonts)
* The edit datasets dialog feels unfinished. I assume this is because it
is :) But it should have a button to open the Import datasets dialog, it
should only show the columns defined for the current dataset (or, at
least, have headings showing what the columns are), make it possible to
delete rows, clone datasets, etc. And have a close button of sensible
proportions.
* The UI for fitting seems suboptimal - but I'm not quite sure how to
make it better. Errors in the fit should be caught and explained (e.g.
for singular matricies) and should all go to the same place (either the
console as for the fitting errors or plotted on the graph as for errors
in parsing the function or somewhere else - this also needs to work if
the console view is hidden)
* Errors in import descriptor strings seem to go to the commandline
rather than anywhere in the application. Ideally descriptor strings
would only be for advanced users anyway - I have a halfformed idea about
how to make this dialog better but I need to work it through. In the
meantime, maybe the "import" button could be disabled untill the string
is valid - or something (but that'snot ideal because the user doesn't
know /why/ it's marked as disabled)
* Graphs with 'auto' axis ranges don't rescale for function plots
* No context menu should have options to show/hide different subwindows.
And, er, some other things. But this has been sitting in my drafts
folder for a couple of days so I tthink I should just send it now.