History log of /haiku/src/apps/haikudepot/ui/PackageListView.h
Revision Date Author Comments
# 925b83a8 25-Apr-2022 Augustin Cavalier <waddlesplash@gmail.com>

HaikuDepot: Fix scrolling the list triggering "looping."

If two PACKAGE_SELECTED messages were queued at once, then we would
wind up in a loop between the two, triggering the "looping" behavior.
Instead, do not send a PACKAGE_SELECTED message when programatically
changing what package is selected, which is more efficient anyway.

Fixes #11732.


# f0e491d3 28-Jul-2020 Andrew Lindesay <apl@lindesay.co.nz>

HaikuDepot: Icon / Tarball Handling

Instead of exploding the tar-ball of icons from
HDS, keep it as a tar-ball, index it and read
data directly out from specific indicies on demand.

This will speed up the process of downloading
the icons by removing the unpack. Also updates
will be faster by avoiding the need to delete the
old icon files.

Because icons are loaded on-demand, the start
time is faster by avoiding all the icon loads.
There are also savings on memory consumption.

Indexing on each load is surprisingly fast so
no external index is maintained. Likewise for
the tar-balls's meta-data.

This commit does not cover the implementation
of an LRU cache of the icons in memory.

Relates to #15370

Change-Id: Ia1647d8c805be89618f493d2592bf7877fca3f14
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3205
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>


# 97844417 24-Nov-2017 Julian Harnath <julian.harnath@rwth-aachen.de>

HaikuDepot: faster row lookup in PackageListView

* Use a hash table to find PackageRows by package name in
PackageListView, instead of doing linear search over all rows.
Improves performance of populating the list, since every
AddPackage() checks if a row for the package already exists.


# 125d42d9 23-Nov-2017 Julian Harnath <julian.harnath@rwth-aachen.de>

HaikuDepot: add work status view

* Add new WorkStatusView which keeps the user informed about what's
happening. It's a status bar at the bottom of the window which
shows on the left side either a spinning barber pole (for
operations without a progress), or a progress bar (for download
progress). Next to that is a text view showing a descriptive
status text.

* Currently, it will notify of the following operations:
- Repository refresh (barber pole)
- Background packet actions, like preparation of install or uninstall
(barber pole)
- Package downloads, including downloads of dependencies (progress
bar). Status text indicates the name of the package currently
being downloaded (if any), and how many more packages are queued
for download after it (if any).

* Hooks into PackageListView to be notified of package status changes
(such as becoming pending or download progress)

* When the package currently being downloaded is also selected in the
list view, the user sees the progress bar in WorkStatusView
as well as the one in the PackageInfoView, which is redundant. This
still needs a good solution...


# 72992391 04-Apr-2015 Stephan Aßmus <superstippi@gmx.de>

HaikuDepot: Title versus Name distinction

* The name is the static package name. The title is either that name,
or a translated pretty version of the name.
* Adjust package info retrieval to server API changes. Unbreaks package
translations.


# 15eb4c43 11-Jan-2015 Stephan Aßmus <superstippi@gmx.de>

HaikuDepot: Added RemovePackage() method...

... to PackagedListView.


# b2843dae 26-Dec-2014 Stephan Aßmus <superstippi@gmx.de>

HaikuDepot: Added PackagesListView::Select(PackageInfo)

which also scrolls the row into view (if it exists).


# ca747629 23-Dec-2014 Stephan Aßmus <superstippi@gmx.de>

HaikuDepot: Fix drawing bugs of count view

The packages count view centers its label. It therefore needs a full update
on resize. Also optimize SetItemCount() by trying to avoid unneccessary
layout invalidations.


# a3056e41 01-Nov-2014 Stephan Aßmus <superstippi@gmx.de>

HaikuDepot: Move selection message constant to MainWindow.h


# 04c9d578 27-Sep-2014 Stephan Aßmus <superstippi@gmx.de>

HaikuDepot: Organized source into sub-folders


# 72992391bb6f9351f80367604d64c5da21a9f4a9 04-Apr-2015 Stephan Aßmus <superstippi@gmx.de>

HaikuDepot: Title versus Name distinction

* The name is the static package name. The title is either that name,
or a translated pretty version of the name.
* Adjust package info retrieval to server API changes. Unbreaks package
translations.


# 15eb4c43c99fb96c5a78383f5b82ecb4b15b33b4 11-Jan-2015 Stephan Aßmus <superstippi@gmx.de>

HaikuDepot: Added RemovePackage() method...

... to PackagedListView.


# b2843daed790d3cc97dde22679473b7e8fbebf14 26-Dec-2014 Stephan Aßmus <superstippi@gmx.de>

HaikuDepot: Added PackagesListView::Select(PackageInfo)

which also scrolls the row into view (if it exists).


# ca747629f9a7bbb3382604ac01085153211873d6 23-Dec-2014 Stephan Aßmus <superstippi@gmx.de>

HaikuDepot: Fix drawing bugs of count view

The packages count view centers its label. It therefore needs a full update
on resize. Also optimize SetItemCount() by trying to avoid unneccessary
layout invalidations.


# a3056e412a838cccf2968e660262128bfabe0f56 01-Nov-2014 Stephan Aßmus <superstippi@gmx.de>

HaikuDepot: Move selection message constant to MainWindow.h


# 04c9d578d85baa79584c1c40c61cc73ca58d527b 27-Sep-2014 Stephan Aßmus <superstippi@gmx.de>

HaikuDepot: Organized source into sub-folders