Bug 249799 - UI usability: reorganize kst2 menus
Summary: UI usability: reorganize kst2 menus
Status: RESOLVED FIXED
Alias: None
Product: kst
Classification: Applications
Component: ui (show other bugs)
Version: 2.0.1
Platform: Compiled Sources Linux
: NOR wishlist
Target Milestone: 2.0.1
Assignee: kst
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-09-01 23:08 UTC by Nicolas Brisset
Modified: 2010-11-12 10:37 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Nicolas Brisset 2010-09-01 23:08:01 UTC
Version:           2.0.1
OS:                Linux

In kst2, there are 2 menu items which need a bit of work to be completely consistent and self-explanatory: Data and View. The others are OK.

1) Data: the problem is that it contains both entries to visualize data and entries to create new objects (albeit only derived objects, not "primitives")
2) View: the end-user has no idea what a QGraphicsView is and can get confused finding entries for the creation of annotation objects along options to set the interaction mode

Suggestion: create 3 menus:
- "Create" -> containing the same entries as the data manager (with improved names, but that'll be a separate report) in a cascading menu style plus another cascading item called "Annotation" and containing the list of annotation objects currently under View
- "View" -> containing the current "View *" items from Data, plus the data manager at the top. I think we'll also be adding metadata there pretty soon
- "Mode" -> containing the various interaction modes: data mode (toggle), tied zoom (toggle) and "Create shared axis box", XY or X-only or Y-only zoom (exclusive choices) as in kst 1.x, layout mode (exclusive with zoom modes)

Notes: 1) there are also actions which are only in the toolbars. I'm not sure that's such a great idea (they can be hidden...). I'd suggest adding "Reload" to the File menu and "Create layout" to Create (but what is it really???). The advance one screen & co could go to another menu "Move" ("Scroll" sounds somewhat better, but I fear it would be confusing with the same actions on the plots, as they existed in kst 1.x and as I think we need to reintroduce)
2) the toolbars also need to be reorganized accordingly
3) the toolbars should probably be configurable (or is it a KDE-only mechanism which we can have in the forthcoming KDE version?)

Reproducible: Always




Remark: this is hard to imagine from reading the text, and relatively easy to do. Maybe we could just try it and decide by popular vote in the end what should be kept or not?
Comment 1 Nicolas Brisset 2010-09-01 23:13:21 UTC
There is also an inconsistent capitalization when menu items contain more than one word. Looking at KDE the standard seems to be only one capital on the first word. It should be fixed while we are at it.
Comment 2 Nicolas Brisset 2010-09-01 23:29:14 UTC
A couple more ideas:

File menu:
- add a "Recent files" sub-menu under Open... in the File menu and add a separator between open nd save actions (a la kst 1.x)
- move "New tab" to the "Create" menu
- move "Clear session" down between "Close tab" and "Exit"

Edit menu: add copy/cut/paste when we have code to support those actions!

Tools menu: some icons are missing
Comment 3 Netterfield 2010-09-02 01:12:52 UTC
I like the three new menu categories.

Are you asking for X and Y only zoom modes, apart from using <ctrl> and <shift> modifiers?  If so, we can discuss this separately.

I agree that 'Create Layout' should be removed, because, as far as I can tell, it no longer does anything (except maybe break things...)

Nicholas, do you want to take a stab at all this, or should I?
Comment 4 Peter Kümmel 2010-09-02 10:38:31 UTC
SVN commit 1170831 by kuemmel:

resort existing menu entries

CCBUG:249799

 M  +50 -51    mainwindow.cpp  
 M  +2 -1      mainwindow.h  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1170831
Comment 5 Nicolas Brisset 2010-09-02 15:02:51 UTC
OK, looks good :-) I hope I'm not the only one who likes it...
I'd still implement the extra things mentioned in comment #2, and then we have to cleanup the toolbars (that is, make them consistent with the menus in terms of names and contents). I'm not necessarily for an approach like 1 menu = 1 toolbar. For example, annotation objects could/should have a dedicated toolbar.
Should I detail my idea regarding the layout of toolbars a bit more?

And then of course, we are still missing icons. Time to contact the KDE icon creators?
Comment 6 Nicolas Brisset 2010-09-02 15:59:57 UTC
To Barth, comment #3: yes, I am talking about X-only and Y-only zoom modes from kst 1.x, without using modifiers (they're cool but lack "discoverability" => good for power users, but definitely worth a menu item, which is much more visible.
Do we really need to discuss this separately?

To Peter: create layout is still there, following Barth's comments I'd suggest removing it. I don't know how much code there is left to cleanup though, probably removing it from the interface is only part of the job...
Comment 7 Peter Kümmel 2010-09-02 17:17:39 UTC
SVN commit 1171059 by kuemmel:

remove "Create Layout" toolbutton

CCBUG:249799

 M  +0 -19     mainwindow.cpp  
 M  +0 -2      mainwindow.h  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1171059
Comment 8 Nicolas Brisset 2010-09-07 08:36:19 UTC
SVN commit 1172397 by brisset:

Try to reach a reasonable half-finished state for menus:
- Reorganize a couple of things which did not really make sense (e.g "Create Shared Axis Box" in "Annotation")
- Apply KDE capitalization rules as per http://techbase.kde.org/Projects/Usability/HIG/Capitalization
- Reinstate the "Range" menu as in kst 1.x, and move the "Change Data Sample Range" tool there
- Try to have a more or less consistent use of ellipsis (...) - not sure that's completely OK, though

Still missing:
- some icons, at least the old ones and why not some improved ones?
- create plugin entries in a submenu (the same as in the data manager with the string changes suggested in bug 249805) => Peter/Barth, you have to take care of that one as it is a bit more complex, resulting from a scan of available plugins
- X-only and Y-only zoom modes in the Mode menu
- some toolbar cleanup

CCBUG:249799


 M  +45 -19    mainwindow.cpp  
 M  +2 -1      mainwindow.h  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1172397
Comment 9 Nicolas Brisset 2010-09-20 00:30:25 UTC
SVN commit 1177262 by brisset:

- Cleanup toolbars (don't create one for each menu, only frequently used
  actions - and grouped slightly differently than menus)
- Re-add "event monitor" in the Create menu
- Move some code around so that the order resembles that of the UI,
  otherwise it's very easy to get lost!

It's still a bit ugly due to missing icons, but these are easy to add =>
next step

CCBUG: 249799


 M  +217 -210  mainwindow.cpp  
 M  +8 -3      mainwindow.h  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1177262
Comment 10 Nicolas Brisset 2010-09-22 23:03:04 UTC
SVN commit 1178378 by brisset:

Finish the first round of menu/toolbar reorganization. This change has one very visible impact: the create actions are 
moved from the data manager to the "Create" menu. There was a little bit of discussion on that a while ago and it seems to be a 
recurrent question from users (why are they here anyway?), plus it uses up valuable screen real estate. And they were almost 
always hidden, which wasn't so nice.

I'd suggest trying this for a while and then deciding whether we want to re-add something to the data manager. The QActions are 
now created from mainwindow.cpp, we can add them to a QToolBox which we export to the data manager. 
I'd also appreciate if a real C++ developer checked the changes. It is a bit more than shuffling around some code and I'm not 
100% sure of everything.

For the other small points (list of recent files, x-only and y-only zoom, ...) buried in the comments of this bug, I'll create 
separate entries. Some icons are also waiting to be improved, but we can do that bit by bit and it is not directly the intention
of this bug.

BUG: 249799


 M  +1 -94     datamanager.cpp  
 M  +0 -11     datamanager.ui  
 M  +6 -10     libkstapp.pro  
 M  +26 -1     mainwindow.cpp  
 M  +4 -1      mainwindow.h  
 A             pluginmenuitemaction.cpp   [License: GPL (v2+)]
 A             pluginmenuitemaction.h   [License: GPL (v2+)]


WebSVN link: http://websvn.kde.org/?view=rev&revision=1178378
Comment 11 Netterfield 2010-09-23 16:53:28 UTC
These changes look great!  Much more sensible.  Thanks!

Minor comments:

  -why is 'exit application' in the toolbar?  The window manager already has such a button, and I've never seen it in any other apps' toolbars.

  -For the sake of reducing the number of toolbar entries: Do we really want save, open, and print in the toolbar?  I'm not sure.  (some other apps do, others don't.)

  -I don't think that 'shared axis box' belongs with the zoom options.  Although it's not really an annotation, it is more like an annotation, than a mouse mode... maybe. 

  -would it be better to turn the Layout Mode toggle into a radio set between the upcoming 'x zoom mode', 'y zoom mode', 'xy zoom mode' and 'layout mode'?  This is what okular does in the same situation.  Takes more space, but might be more clear.

  -where did the tied zoom icon come from?  Do you have svg source?  The idea is right, but it looks sort of murky.

  -should we re-open the bug for these comments?
Comment 12 Nicolas Brisset 2010-10-01 01:22:46 UTC
SVN commit 1181416 by brisset:

Oops, there was no easy way to create the basic types any longer (the small buttons in other dialogs don't really count, do they?). I think I forgot them when moving creation stuff from the data manager to the "Create" menu.
Now they're back :-)

CCBUG: 249799


 M  +41 -1     mainwindow.cpp  
 M  +8 -0      mainwindow.h  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1181416
Comment 13 Peter Kümmel 2010-11-12 10:37:03 UTC
There is no version list for "Version Fixed in".
Use Target Milestone as indicator when the bug was fixed.