From 6072a7e41787e6d7fb72c5dfb186f5df6721f41f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stephan=20A=C3=9Fmus?= Date: Sat, 1 Nov 2014 22:44:27 +0100 Subject: [PATCH] HaikuDepot: Added "prominence" member to PackageInfo --- src/apps/haikudepot/model/PackageInfo.cpp | 16 ++++++++++++++++ src/apps/haikudepot/model/PackageInfo.h | 7 +++++++ src/apps/haikudepot/model/PackageInfoListener.h | 3 ++- 3 files changed, 25 insertions(+), 1 deletion(-) diff --git a/src/apps/haikudepot/model/PackageInfo.cpp b/src/apps/haikudepot/model/PackageInfo.cpp index c2b5ecd6a2..7abf257cc3 100644 --- a/src/apps/haikudepot/model/PackageInfo.cpp +++ b/src/apps/haikudepot/model/PackageInfo.cpp @@ -463,6 +463,7 @@ PackageInfo::PackageInfo() fChangelog(), fUserRatings(), fCachedRatingSummary(), + fProminence(0.0f), fScreenshotInfos(), fScreenshots(), fState(NONE), @@ -487,6 +488,7 @@ PackageInfo::PackageInfo(const BPackageInfo& info) fChangelog(), fUserRatings(), fCachedRatingSummary(), + fProminence(0.0f), fScreenshotInfos(), fScreenshots(), fState(NONE), @@ -525,6 +527,7 @@ PackageInfo::PackageInfo(const BString& title, fCategories(), fUserRatings(), fCachedRatingSummary(), + fProminence(0.0f), fScreenshotInfos(), fScreenshots(), fState(NONE), @@ -550,6 +553,7 @@ PackageInfo::PackageInfo(const PackageInfo& other) fCategories(other.fCategories), fUserRatings(other.fUserRatings), fCachedRatingSummary(other.fCachedRatingSummary), + fProminence(other.fProminence), fScreenshotInfos(other.fScreenshotInfos), fScreenshots(other.fScreenshots), fState(other.fState), @@ -577,6 +581,7 @@ PackageInfo::operator=(const PackageInfo& other) fCategories = other.fCategories; fUserRatings = other.fUserRatings; fCachedRatingSummary = other.fCachedRatingSummary; + fProminence = other.fProminence; fScreenshotInfos = other.fScreenshotInfos; fScreenshots = other.fScreenshots; fState = other.fState; @@ -605,6 +610,7 @@ PackageInfo::operator==(const PackageInfo& other) const && fCategories == other.fCategories && fUserRatings == other.fUserRatings && fCachedRatingSummary == other.fCachedRatingSummary + && fProminence == other.fProminence && fScreenshotInfos == other.fScreenshotInfos && fScreenshots == other.fScreenshots && fState == other.fState @@ -831,6 +837,16 @@ PackageInfo::CalculateRatingSummary() const } +void +PackageInfo::SetProminence(float prominence) +{ + if (fProminence != prominence) { + fProminence = prominence; + _NotifyListeners(PKG_CHANGED_PROMINENCE); + } +} + + void PackageInfo::ClearScreenshotInfos() { diff --git a/src/apps/haikudepot/model/PackageInfo.h b/src/apps/haikudepot/model/PackageInfo.h index 2bf374aea1..c4f53892d3 100644 --- a/src/apps/haikudepot/model/PackageInfo.h +++ b/src/apps/haikudepot/model/PackageInfo.h @@ -317,6 +317,12 @@ public: void SetRatingSummary(const RatingSummary& summary); RatingSummary CalculateRatingSummary() const; + void SetProminence(float prominence); + float Prominence() const + { return fProminence; } + bool HasProminence() const + { return fProminence != 0.0f; } + void ClearScreenshotInfos(); bool AddScreenshotInfo(const ScreenshotInfo& info); const ScreenshotInfoList& ScreenshotInfos() const @@ -348,6 +354,7 @@ private: CategoryList fCategories; UserRatingList fUserRatings; RatingSummary fCachedRatingSummary; + float fProminence; ScreenshotInfoList fScreenshotInfos; BitmapList fScreenshots; PackageState fState; diff --git a/src/apps/haikudepot/model/PackageInfoListener.h b/src/apps/haikudepot/model/PackageInfoListener.h index 9c145fe03f..04eb07ecd8 100644 --- a/src/apps/haikudepot/model/PackageInfoListener.h +++ b/src/apps/haikudepot/model/PackageInfoListener.h @@ -17,7 +17,8 @@ enum { PKG_CHANGED_STATE = 1 << 4, PKG_CHANGED_ICON = 1 << 5, PKG_CHANGED_CHANGELOG = 1 << 6, - PKG_CHANGED_CATEGORIES = 1 << 7 + PKG_CHANGED_CATEGORIES = 1 << 7, + PKG_CHANGED_PROMINENCE = 1 << 8 // ... };