Bug 93172 - Switching between inline editing and general entry dialog
Summary: Switching between inline editing and general entry dialog
Status: RESOLVED FIXED
Alias: None
Product: kvoctrain
Classification: Miscellaneous
Component: general (show other bugs)
Version: unspecified
Platform: openSUSE Linux
: NOR wishlist
Target Milestone: ---
Assignee: Peter Hedlund
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-11-12 15:29 UTC by Marc Heyvaert
Modified: 2005-01-08 00:51 UTC (History)
0 users

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 Marc Heyvaert 2004-11-12 15:29:34 UTC
Version:           0.8.1 (using KDE KDE 3.2.1)
Installed from:    SuSE RPMs
OS:                Linux

For entering data there are two modes. 

Inline editing enabled : you edit the contents of the table directly; or if you have to choose, you get a drop-down box with the possible options.

Inline editing disabled : you have to enter all data in a dialog. This last method gives you access to all possible parameters of a word or other cell entry. But entering data this way is very tedious.

So in order to improve usability I have a few wishes :

Get rid of the distinction between the two modes. I guess the distinction has to be there for some reason, but it is perhaps possible to make it less obvious for the user. Here is one possible way how we could make this work :

1. When you single-click a cell you are put automatically in 'inline editing mode'.
2. When you double-click a cell the focus passes to the entry dialog which loads the data of the cell that was double clicked.

Now we can get rid of the 'inline editing' option in the option dialog because the way you click a cell will determine the mode you are entering into.

However there are some 'lose ends' that have to be taken care of.

3. When you change from one cell to another with arrow keys or the tab key, while in the 'inline editing' mode, you would continue in this mode.

4. Currently you have to close the 'entry dialog' before you can switch to inline editing. This is unneccesary and cumbersome, especially if you use the screenlayout where you see your table and the dialog layed out next to each other. I think it would be better to simply diable the dialog when you enter the 'inline' mode (by double-clicking a word or expression) but in such a way that you can't enter data but you are still able to see all the fields on all the tabbed pages. This would give you extra info, in case you need it, without the need to close the dialog (or open it) and switching modes via the menu. 

Marc

P.S.

If someone looks at the dialog at all...there is something that I find annoying...when you change an entry, pressing enter does nothing. I would expect this to update the entry, but you have to click the apply button for this.
Comment 1 Peter Hedlund 2004-11-12 22:02:54 UTC
I know we have mentioned this on the mailing list before, and I was actually planning on working on this next.

I want to get rid of inline editing altogether and use a spreadsheet-like editing as in KWordQuiz and of course spreadsheet programs. Here editing is enabled by typing, double clicking or pressing F2. Single click is used for selection.

I also don't see any advantage in having the current row selection mode as compared to a more free spreadsheet selection ability.

For the dialog I think it only needs to be accessible from the menu and by a sensible keyboard shortcut (not Return as now).

Instead I think the entry dialog should have navigation buttons so that you can move to the next entry either across a row or up and down a column. This would be in line with entry dialogs found in database applications.

Comments before I start messing up the code?
Comment 2 Marc Heyvaert 2004-11-13 09:53:51 UTC
Spreadsheet mode for everything would be ideal, but I'm not sure if it can be achieved with all the possible data that you can enter for each word or expression. In the spreadsheet we have several languages per line, so potentially you would have hundreds of data elements per line....

I think there will always be a need for the entry dialog. Having it displayed next to the spreadsheet view (left or above) is actually a nice feature. The trouble is that you have to close this dialog when you want to do inline editing. So you can only do inline editing on the most basic elements: the status, the lesson and the word/expression itself. Ideally there would have to be a 'mixed mode', as I tried to describe.

P.S. This bug and bug http://bugs.kde.org/show_bug.cgi?id=93002 should have 'wish' status not 'normal'. I don't have sufficient karma to change this. Could someone do this pls?
Comment 3 Peter Hedlund 2004-11-13 21:16:20 UTC
I have no plans to do away with the entry dialog. In my first comment I suggest some improvements of the dialog. Keeping the option to display it side by side with the table is probably a good idea.

Changing to wishlist as requested by the reporter.
Comment 4 Peter Hedlund 2005-01-08 00:51:25 UTC
CVS commit by hedlund: 

A restructuring of the way the vocabulary table is edited. The old Inline editing option is removed. You can now always type directly in the table. The Entry dialog can be invoked with a keyboard shortcut.

KVocTrain has always been designed to append new entries to the end of the list and will remain so. Smart appending works well for appending new entries using the dialog. Without the dialog the Insert key will append a new row as usual. Minor improvements can probably still be made but this should be enough to close bugs 93172, 94318, and 95639.

BUG: 93172
BUG: 94318
BUG: 95639


  A            kvoctraintable.cpp   1.1 [GPL (v2+)]
  A            kvoctraintable.h   1.1 [GPL (v2+)]
  A            kvoctraintableitem.cpp   1.1 [GPL (v2+)]
  A            kvoctraintableitem.h   1.1 [GPL (v2+)]
  M +3 -3      Makefile.am   1.44
  M +3 -5      kv_resource.h   1.6
  M +1 -3      kva_clip.cpp   1.15
  M +0 -2      kva_config.cpp   1.36
  M +3 -5      kva_header.cpp   1.26
  M +4 -7      kva_init.cpp   1.50
  M +1 -1      kva_io.cpp   1.46
  M +1 -2      kva_query.cpp   1.35
  M +24 -36    kvoctrain.cpp   1.73
  M +10 -15    kvoctrain.h   1.36
  M +10 -19    kvoctrain.kcfg   1.18
  M +1 -2      kvoctrainui.rc   1.3
  M +10 -141   kvoctrainview.cpp   1.36
  M +12 -59    kvoctrainview.h   1.15
  R            rowtable.cpp   1.34
  R            rowtable.h   1.19