Bug 441010

Summary: RFE: add 'uncheck all' or 'none' UI element for gpk-update-viewer
Product: [Fedora] Fedora Reporter: Andrew Farris <lordmorgul>
Component: PackageKitAssignee: Robin Norwood <robin.norwood>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: low Docs Contact:
Priority: low    
Version: rawhideCC: bisho, kontakt, nicubunu, richard, tla
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
URL: https://www.redhat.com/archives/fedora-test-list/2008-April/msg00233.html
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2008-04-17 10:32:49 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Andrew Farris 2008-04-05 00:58:55 UTC
RFE: add 'uncheck all' or 'none' UI element for gpk-update-viewer

Description of problem:
When viewing available updates it is often beneficial to end-users to do updates
in small groups, particularly for slow network connections.  Currently a large
update set would require the user to click many checkboxes to reduce the group
to a few.

Please add an option to select only a few packages in a simpler way (uncheck
all, then manually reselect a few).

Version-Release number of selected component (if applicable):

Comment 1 Richard Hughes 2008-04-07 09:11:03 UTC
Any idea what the UI would look like? Us PK devs couldn't come up with a
"select/unselect all" widget that was obvious.

Comment 2 Andrew Farris 2008-04-07 09:34:07 UTC
I can't think of a button that would look good with the UI as it is.  Perhaps a right click context menu, but 
I have a feeling that was intentionally being avoided?

Maybe a single small (square) button on the bottom left of the window, which changes action between 'All' 
and 'None' when clicked.  If you manually select a few after clicking 'None' (so the button currently displays 
'All' as the next action if clicked) it would still leave 'All' as the button action.  To get none again you'd 
have to select all then none.

I think a context menu would work better though.

Comment 3 Richard Hughes 2008-04-07 09:39:52 UTC
Yes, I think a context menu might be best also. Do you have any gtk experience -
could you possibly give me a hand with this new feature?

Comment 4 Andrew Farris 2008-04-07 09:45:20 UTC
Unfortunately no I haven't done any gtk UI (at least successfully lol, I played with glade a few years ago).

Comment 5 Laudeci Oliveira 2008-04-07 14:46:22 UTC
right click context menu is the best and easy solution, put a checkbox in the
treeview header will get out of HIG, IMHO, it will like as a new widget.

I already did that in APTonCD using python and gtk, i think the right click menu
can be ported to C.

Comment 6 Nicu Buculei 2008-04-08 08:19:42 UTC
I also think a context menu would be good enough, "uncheck all" is arguably an
advanced feature and one can expect users needing advanced features know ablut
context menus.

In my ideal world would be useful to have some sort criteria for the
packages,like priority, size and such. So maybe some clicking on those criteria
column titles could also accomplish "uncheck all".

Comment 7 Guille (bisho) 2008-04-08 10:51:34 UTC
On web interfaces I use clickable + / - links, that has a pretty obvious
meaning, specially with a tooltip ("Select all" / "Unselect all").

I haven't come to a handy and sort concept for "invert selection", but it's not
100% necessary. Check some and invert selection can be done by selecting all and
unselecting some.

Comment 8 Andrew Farris 2008-04-08 11:04:04 UTC
Well a set of small square buttons like that would probably be better for accessibility.  A context menu is 
not an element you can tab to or select as easily with only a keyboard type input device.  I think it would 
be nice to get any option put in there though, so whatever seems doable will be great.

Comment 9 Richard Hughes 2008-04-08 17:45:47 UTC
I've added a context menuitem in commit ec9c197442980e843480ac500a0c80dbb92744f5