Opened 3 years ago

Closed 3 years ago

#13386 closed bug (fixed)

Some GUI issues of SoftwareUpdater

Reported by: humdinger Owned by: perelandra
Priority: normal Milestone: Unscheduled
Component: Applications/SoftwareUpdater Version: R1/Development
Keywords: Cc:
Blocked By: Blocking:
Has a Patch: no Platform: All

Description

This is for SoftwareUpdater compiled from hrev51030.

This version uses full-sync instead of update, which results in my first encounter with "Package problems":

Package problems

  • The window isn't horizontally resizable.
  • The main SoftwareUpdater window is still accessible. Pressing "Cancel" there, locks the window in a "Attempting to cancel the updates..." state.
  • In the "Package problems" window, the "Cancel" button should stay right aligned next to the "Retry" button.
  • In the "Package problems" window, choosing "allow deinstallation" and pressing "Retry" doesn't get rid of the window. Both "Cancel" and "Retry" become disabled. The main SoftwareUpdater window pops back up.

I suppose, it'll be less confusing, if only one of the windows is shown at a time, and the other one hidden.

In the main window:

Main window

Clicking an item shows the package name white. I have a custom "selected list text colour" of white and usually a "selected list background colour" of blue.

Attachments (4)

Main-window.png (34.1 KB ) - added by humdinger 3 years ago.
Main window
Package-problems.png (48.3 KB ) - added by humdinger 3 years ago.
Package problems
optipng-0.7.6-1-x86_gcc2.hpkg (41.0 KB ) - added by humdinger 3 years ago.
optipng that depends on an outdated libpng
libpng16-1.6.20-1-x86_gcc2.hpkg (282.2 KB ) - added by humdinger 3 years ago.
the outdated libpng package

Download all attachments as: .zip

Change History (15)

by humdinger, 3 years ago

Attachment: Main-window.png added

Main window

comment:1 by humdinger, 3 years ago

Has a Patch: set

by humdinger, 3 years ago

Attachment: Package-problems.png added

Package problems

comment:2 by humdinger, 3 years ago

Has a Patch: unset

comment:3 by perelandra, 3 years ago

Thank you for the report, I have been searching for a good Problem Solver use case and this provides some packages I can test (I will look for these in the depot).

And there you go tripping me up with your custom colors again :-)

comment:4 by humdinger, 3 years ago

Also, for example the "optipng" package that also depended on the outdated png package, was uninstalled, even though it wasn't listed in the "Package problems" window. That package wasn't installed from a repo, but built by myself.

by humdinger, 3 years ago

optipng that depends on an outdated libpng

comment:5 by humdinger, 3 years ago

Has a Patch: set

by humdinger, 3 years ago

the outdated libpng package

comment:6 by humdinger, 3 years ago

Has a Patch: unset

comment:7 by axeld, 3 years ago

It would also be nice to have the "Retry"/"Cancel" buttons on one side of the window only, as we usually do pretty much everywhere IIRC.

comment:8 by perelandra, 3 years ago

The problem window class is being used from the package server: https://github.com/haiku/haiku/blob/master/src/servers/package/ProblemWindow.cpp

From what I can understand looking at the server code it monitors the package directory for changes and installs any new packages placed there manually. So that would explain why the window is not modal (no other windows are displayed by the server).

I can tweak the layout of the class, and perhaps make it modal.

comment:9 by axeld, 3 years ago

The problem solver window has quite a couple of usability issues; any work on it would be appreciated :-)

I also have a few suggestions for the SoftwareUpdater itself, though:

  • It would be nice to see in the list if a package is being or has been downloaded.
  • It would be nice to have the progress bar show the complete progress, not the progress per package. The latter would be nice to have in the list itself, though.
  • It would be interesting to know the size, and the download speed. I am pretty sure I pushed the changes that deliver that information to the progress listeners.

Nice work!

in reply to:  9 comment:10 by perelandra, 3 years ago

Replying to axeld:

The problem solver window has quite a couple of usability issues; any work on it would be appreciated :-)

Now that I have a possible test case I can look at this further. I had not been able to trigger it thus far, I guess I don't try out enough packages :-)

I also have a few suggestions for the SoftwareUpdater itself, though:

  • It would be nice to see in the list if a package is being or has been downloaded.

On my todo list- thinking of a bar like the Desktop partition icon's usage bar.

  • It would be nice to have the progress bar show the complete progress, not the progress per package. The latter would be nice to have in the list itself, though.

Unfortunately looking at the package manager code it looks like package sizes are not known until the file fetch starts, so total of all packages are not known at the start. If I am mistaken let me know. Maybe something to look at in a later version possibly requiring changes to the core package management.

  • It would be interesting to know the size, and the download speed. I am pretty sure I pushed the changes that deliver that information to the progress listeners.

Yes this info is available for the currently downloading package. Getting an overall download speed may be tricky though since packages could be coming from multiple repositories in different countries with different connection speeds. An overall download speed could be confusing and skewed by one slow repository. Calculating for each individual package might be useful though.

Nice work!

Thank you for the feedback, it definitely helps make a better final product.

comment:11 by perelandra, 3 years ago

Resolution: fixed
Status: newclosed

Should be fixed in hrev51057

*The window isn't horizontally resizable.

The layout builder sizes the window correctly from what I have seen.

*The main SoftwareUpdater window is still accessible. Pressing "Cancel" there, locks the window in a "Attempting to cancel the updates..." state.

Made the ProblemWindow modal to prevent clicking in the other window.

*In the "Package problems" window, the "Cancel" button should stay right aligned next to the "Retry" button.

Fixed layout.

*In the "Package problems" window, choosing "allow deinstallation" and pressing "Retry" doesn't get rid of the window. Both "Cancel" and "Retry" become disabled. The main SoftwareUpdater window pops back up.

Fixed by hiding window when all solutions are acceptable.

*Clicking an item shows the package name white. I have a custom "selected list text colour" of white and usually a "selected list background colour" of blue.

Fixed colors in list items.

Note: See TracTickets for help on using tickets.