[yast-devel] Table popups
Hi there, This post got my eye: http://mvidner.blogspot.com/2009/01/yast-ui-table-usability.html Ingenious; a context menu for those table related function key buttons. Cheers, Ricardo -- To unsubscribe, e-mail: yast-devel+unsubscribe@opensuse.org For additional commands, e-mail: yast-devel+help@opensuse.org
Dne Sunday 11 January 2009 20:27:40 Ricardo Cruz napsal(a):
Hi there,
This post got my eye: http://mvidner.blogspot.com/2009/01/yast-ui-table-usability.html
Ingenious; a context menu for those table related function key buttons.
Yes, somebody (I believe it was mhopf) already proposed that for partitioner - a small pop-up activated with right mouse click (for ncurses, by some key-combination e.g. Ctrl-$some_key), making functions of buttons under the table accesible also in this way. I believe it definitely deserves a feature request ... how much work would that be, though? (on UI level) And what do others think? B. -- \\\\\ Katarina Machalkova \\\\\\\__o YaST developer __\\\\\\\'/_ & hedgehog painter -- To unsubscribe, e-mail: yast-devel+unsubscribe@opensuse.org For additional commands, e-mail: yast-devel+help@opensuse.org
Hello, On Jan 12 10:14 Katarina Machalkova wrote (shortened):
http://mvidner.blogspot.com/2009/01/yast-ui-table-usability.html ... Yes, somebody (I believe it was mhopf) already proposed that for partitioner - a small pop-up activated with right mouse click (for ncurses, by some key-combination e.g. Ctrl-$some_key), making functions of buttons under the
Dne Sunday 11 January 2009 20:27:40 Ricardo Cruz napsal(a): table accesible also in this way.
I believe it definitely deserves a feature request ... how much work would that be, though? (on UI level) And what do others think?
Please avoid one more special case stuff where somewhere is only described what one should do. Please try to get it implemented where it belongs to: Directly in a higher-level Table function. Currently there is a Table function (which only spits out a Table widget on the screen) but no Table-functions can be defined there. Instead there are some more PushButton functions (which only spit out PushButton widgets on the screen). Somewhere else in the code (one has to inspect the code) there is functionality implemented which does something regarding the Table when a certain PushButton was clicked. I would like to have a higher-level Table function where I could define all what belongs to a table at one same place, e.g. like Table::SetContentsButtons ( caption, contents, Label::AddButton(), Label::EditButton(), Label::DeleteButton(), ); (looks intentionally like Wizard::SetContentsButtons ;-) This way existing code via Table widget with PushButton widgets need not to be changed and lazy programmes can use the new higher-level Table function. Some time later check_ycp (or whatever tool you like) may show warning messages when there are bare Table widget function calls with a hint to replace them with Table::SetContentsButtons. Kind Regards Johannes Meixner -- SUSE LINUX Products GmbH, Maxfeldstrasse 5, 90409 Nuernberg, Germany AG Nuernberg, HRB 16746, GF: Markus Rex -- To unsubscribe, e-mail: yast-devel+unsubscribe@opensuse.org For additional commands, e-mail: yast-devel+help@opensuse.org
Johannes Meixner wrote:
Currently there is a Table function (which only spits out a Table widget on the screen) but no Table-functions can be defined there. Instead there are some more PushButton functions (which only spit out PushButton widgets on the screen). Somewhere else in the code (one has to inspect the code) there is functionality implemented which does something regarding the Table when a certain PushButton was clicked.
I would like to have a higher-level Table function where I could define all what belongs to a table at one same place, e.g. like
Table::SetContentsButtons ( caption, contents, Label::AddButton(), Label::EditButton(), Label::DeleteButton(), );
(looks intentionally like Wizard::SetContentsButtons ;-)
Nice, but that expects there is only one table widget in the dialog. In fact, you need a table identifier. L.
Hello, On Jan 13 11:02 Lukas Ocilka wrote (shortened):
Johannes Meixner wrote:
I would like to have a higher-level Table function where I could define all what belongs to a table at one same place, e.g. like
Table::SetContentsButtons ( caption, contents, Label::AddButton(), Label::EditButton(), Label::DeleteButton(), );
(looks intentionally like Wizard::SetContentsButtons ;-)
Nice, but that expects there is only one table widget in the dialog. In fact, you need a table identifier.
I didn't want to show the final solution - only the basic idea ;-) Perhaps one could even couple the functionality which does the actual work so that no identifiers are needed like Table::SetContentsButtons ( caption, contents, add_function_name, Label::AddButton(), edit_function_name, Label::EditButton(), delete_function_name, Label::DeleteButton(), whatever_else_function_name, _("Whatever else button label") ); When for example edit functionality does not make sense for a particular Table one could have something like Table::SetContentsButtons ( caption, contents, add_function_name, Label::AddButton(), nil, nil, delete_function_name, Label::DeleteButton(), whatever_else_function_name, _("Whatever else button label") ); I guess the only parameter for the functions which makes sense is the ID of the currently selected item in the Table. Perhaps even better a map of the ID and the actual values of the Table item so that the called function has the values directly accessible. Even for add_function_name the values of the currently selected item make sense (e.g. to have them as preset values in a dialog where a new item can be added). Currently I don't know what to do regarding the return value of the functions (e.g. how to handle errors). Kind Regards Johannes Meixner -- SUSE LINUX Products GmbH, Maxfeldstrasse 5, 90409 Nuernberg, Germany AG Nuernberg, HRB 16746, GF: Markus Rex -- To unsubscribe, e-mail: yast-devel+unsubscribe@opensuse.org For additional commands, e-mail: yast-devel+help@opensuse.org
Hi,
http://mvidner.blogspot.com/2009/01/yast-ui-table-usability.html
...
Yes, somebody (I believe it was mhopf) already proposed that for partitioner - a small pop-up activated with right mouse click (for ncurses, by some key-combination e.g. Ctrl-$some_key), making functions of buttons under the table accesible also in this way.
Please avoid one more special case stuff where somewhere is only described what one should do.
I think you misunderstood me, Ricardo and the original blogpost as well. It is about usability and better accesibility of table functions for the users, not for the developer. As it can be seen on the example in Martin's blog (and it is not the one and only feedback of this kind), users might get confused with the fact that table actions (performed on the table items) are accesible only as push buttons below the table. What users are used to from other GUI applications and what they miss in YaST UI is: a) context menu activated by right click on table item (e.g. edit/delete this item) b) more function key bindings (e.g. 'Delete' key will do the same what would pushing delete button do) - we already have bunch of those in ncurses, unfortunately they're not usable in GUIs frozzZZzzenB. -- \\\\\ Katarina Machalkova \\\\\\\__o YaST developer __\\\\\\\'/_ & hedgehog painter -- To unsubscribe, e-mail: yast-devel+unsubscribe@opensuse.org For additional commands, e-mail: yast-devel+help@opensuse.org
Hello Katarina, On Jan 13 12:13 Katarina Machalkova wrote (shortened):
I think you misunderstood me, Ricardo and the original blogpost as well. It is about usability and better accesibility of table functions for the users, not for the developer. ... What users are used to from other GUI applications and what they miss in YaST UI is: a) context menu activated by right click on table item (e.g. edit/delete this item) b) more function key bindings (e.g. 'Delete' key will do the same what would pushing delete button do)
Everything is perefectly o.k. for me when there is really nothing to for YaST module developers like me. But I wonder how you could implement it e.g. when for a particular Table the Add or Edit or Delete functionality does not make sense? I.e. how would your automatism know which PushButton widgets belong to a particular Table widget so that it can provide the exact right matching functionality via context menu and via key bindings? Kind Regards Johannes Meixner -- SUSE LINUX Products GmbH, Maxfeldstrasse 5, 90409 Nuernberg, Germany AG Nuernberg, HRB 16746, GF: Markus Rex -- To unsubscribe, e-mail: yast-devel+unsubscribe@opensuse.org For additional commands, e-mail: yast-devel+help@opensuse.org
http://mvidner.blogspot.com/2009/01/yast-ui-table-usability.html
I took the liberty of creating a FATE entry (305680) for that. Let's see... :-) Cu, Martin -- Martin Schmidkunz User Experience Specialist martin.schmidkunz@novell.com +49 (0) 911 740 53-346 ----------------------------------------------------------------- SUSE LINUX Products GmbH, GF: Markus Rex, HRB 16746 (AG Nürnberg) ----------------------------------------------------------------- Novell, Inc. SUSE® Linux Enterprise 10 Your Linux is ready http://www.novell.com/linux -- To unsubscribe, e-mail: yast-devel+unsubscribe@opensuse.org For additional commands, e-mail: yast-devel+help@opensuse.org
Ter, 2009-01-13 às 12:13 +0100, Katarina Machalkova escreveu:
I think you misunderstood me, Ricardo and the original blogpost as well. It is about usability and better accesibility of table functions for the users, not for the developer. As it can be seen on the example in Martin's blog (and it is not the one and only feedback of this kind), users might get confused with the fact that table actions (performed on the table items) are accesible only as push buttons below the table.
Yep, besides what I found interesting about it was the idea to re-utilize the function keys. If the user pressed Delete, send an event from the widget the function key is associated with -- beep if undetermined, like if there's more than one table. (Obviously there are hypothetical cases where the add/edit/delete buttons are not related to the table. I dunno about actual cases of this, and it seems a rather unlikely situation, but if we must, we can work it out: just see if the table and buttons branch from the same VBox, and then if they are sequencial siblings.) Cheers, Ricardo -- To unsubscribe, e-mail: yast-devel+unsubscribe@opensuse.org For additional commands, e-mail: yast-devel+help@opensuse.org
Hello, On Jan 16 17:07 Ricardo Cruz wrote (shortened):
Obviously there are hypothetical cases where the add/edit/delete buttons are not related to the table. I dunno about actual cases of this, and it seems a rather unlikely situation,
On a dialog there is not "the add/edit/delete buttons" and "the table" because there could be several table widgets and many "add/edit/delete buttons". And I know about a Table where "Edit" does not make sense. This is why I ask because of it. Shouldn't the same kind of functionality be also available for a SelectionBox which is basically a Table with only one column and what about widgets like e.g. editable ComboBox and so on? Kind Regards Johannes Meixner -- SUSE LINUX Products GmbH, Maxfeldstrasse 5, 90409 Nuernberg, Germany AG Nuernberg, HRB 16746, GF: Markus Rex -- To unsubscribe, e-mail: yast-devel+unsubscribe@opensuse.org For additional commands, e-mail: yast-devel+help@opensuse.org
participants (5)
-
Johannes Meixner
-
Katarina Machalkova
-
Lukas Ocilka
-
Martin Schmidkunz
-
Ricardo Cruz