History log of /haiku/src/apps/haikudepot/ui/FeaturedPackagesView.h
Revision Date Author Comments
# 0b69420b 06-Mar-2021 Andrew Lindesay <apl@lindesay.co.nz>

HaikuDepot: Fix Redraw Featured Pkgs

The invalidation logic for when packages are
added or removed from this view was broken. The
new approach involves demarcating the mutation
of the data with a begin operation and
terminating it with an end operation with the
view invalidation happening in the end operation.

Resolves #16260

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


# 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>


# 494bd147 28-Jul-2020 Augustin Cavalier <waddlesplash@gmail.com>

HaikuDepot: Let BScrollView handle resizing the scrollbar bounds.

This way, it will also resize the views properly when the scrollbars
are larger.

Fixes part of #16408.


# 9883929b 15-May-2020 Andrew Lindesay <apl@lindesay.co.nz>

HaikuDepot: Featured Pkgs View

This change will move the display of the featured packages
from a dynamic layout to one that is static. This should
improve layout consistency and ui performance as well as
introduce keyboard navigation in the featured packages
list.

Resolves #11675, #15012
Helps #14675

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


# ccf707d0 30-Mar-2020 Andrew Lindesay <apl@lindesay.co.nz>

HaikuDepot: Fixes for Tabs

Cleans up the code around tab-switching and
also improves some logic around inserting
packages into the list of 'prominent'
packages by using a binary search.

If Haiku is installed into an environment with no
networking then it won't be able to talk to HDS
and so won't know which packages are promoted.
In this case switch the user to the "all packages"
tab so they are not shown a blank panel by default.

Relates to #14675, #14927

Change-Id: I14dd3be4af09a98245ddd0a9704bd8d53ed64a53
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2478
Reviewed-by: waddlesplash <waddlesplash@gmail.com>


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

HaikuDepot: async listing of packages in PackageListView

* The UI became unresponsive while the PackageListView was filled
with all the packages. This was especially apparent when using
the search function, which clears and refills the view with every
typed character.

* Add a new worker thread with the task of asynchronously filling the
PackageListView. When a new data model is adopted, we hand the
thread a copy of the visible package list. The worker thread then
goes through the list and sends the package infos via BMessage back
to the MainWindow, in batches of 20 infos per message. When the 20
entries were added, it acknowledges this to the worker thread which
will send the next 20 infos (so UI messages can get in between,
keeping it responsive). The lists also get a unique ID so that
model changes while the list is populating will invalidate
previously sent messages (and cause the worker thread to cancel
processing the outdated list).

* Search is much nicer to use this way, staying responsive and
listing packages while typing. Still not perfect since the
PackageListView is still cleared and refilled each time a character
is typed, instead of just narrowing down the already displayed
package set. But that's to be improved on another day...

* Same applies to filling FeaturedPackagesView btw


# 87084745 07-Apr-2015 Michael Lotz <mmlr@mlotz.ch>

HaikuDepot: Clean up trailing whitespace.


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

HaikuDepot: Added RemovePackage() method...

... to FeaturedPackagesView.


# 056d423c 28-Dec-2014 Stephan Aßmus <superstippi@gmx.de>

HaikuDepot: Mark installed featured packages...

... with a checkmark icon.


# 664372ab 08-Nov-2014 Stephan Aßmus <superstippi@gmx.de>

HaikuDepot: Visualize selection in featured packages view


# f545fe6a 26-Oct-2014 Stephan Aßmus <superstippi@gmx.de>

HaikuDepot: Extracted MarkupTextView into its own files


# 8708474567be756984f35cd6c5bfcc2c9546dc1e 07-Apr-2015 Michael Lotz <mmlr@mlotz.ch>

HaikuDepot: Clean up trailing whitespace.


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

HaikuDepot: Added RemovePackage() method...

... to FeaturedPackagesView.


# 056d423c39381594a9ec74eaf3e7dffc5f26e4e9 28-Dec-2014 Stephan Aßmus <superstippi@gmx.de>

HaikuDepot: Mark installed featured packages...

... with a checkmark icon.


# 664372ab4966b2981acf6ef93d33edcdee92b8b2 08-Nov-2014 Stephan Aßmus <superstippi@gmx.de>

HaikuDepot: Visualize selection in featured packages view


# f545fe6accd10cea983bb62caceb1aef32b90f2d 26-Oct-2014 Stephan Aßmus <superstippi@gmx.de>

HaikuDepot: Extracted MarkupTextView into its own files