From d86c5dabd36f1f3d0b588280921facb3655dae59 Mon Sep 17 00:00:00 2001 From: csoler Date: Wed, 19 Nov 2025 18:22:45 +0100 Subject: [PATCH] added picture size variables in feed items --- retroshare-gui/src/gui/feeds/BoardsPostItem.cpp | 4 ++-- retroshare-gui/src/gui/feeds/FeedItem.cpp | 5 +++++ retroshare-gui/src/gui/feeds/FeedItem.h | 3 +++ retroshare-gui/src/gui/feeds/GxsChannelGroupItem.cpp | 7 ++++++- retroshare-gui/src/gui/feeds/GxsChannelGroupItem.ui | 9 ++++++++- retroshare-gui/src/gui/feeds/GxsChannelPostItem.cpp | 4 ++-- retroshare-gui/src/gui/feeds/GxsForumGroupItem.cpp | 6 +++++- retroshare-gui/src/gui/feeds/GxsForumGroupItem.ui | 9 ++++++++- retroshare-gui/src/gui/feeds/PostedGroupItem.cpp | 6 +++++- retroshare-gui/src/gui/feeds/PostedGroupItem.ui | 9 ++++++++- 10 files changed, 52 insertions(+), 10 deletions(-) diff --git a/retroshare-gui/src/gui/feeds/BoardsPostItem.cpp b/retroshare-gui/src/gui/feeds/BoardsPostItem.cpp index 56711fb7b..4f2020ee3 100644 --- a/retroshare-gui/src/gui/feeds/BoardsPostItem.cpp +++ b/retroshare-gui/src/gui/feeds/BoardsPostItem.cpp @@ -313,8 +313,8 @@ void BoardsPostItem::fill() //float f = QFontMetricsF(font()).height()/14.0 ; ui->logoLabel->setEnableZoom(false); - int desired_height = QFontMetricsF(font()).height() * 8; - ui->logoLabel->setFixedSize(4/3.0*desired_height,desired_height); + int desired_height = QFontMetricsF(font()).height() * ITEM_HEIGHT_FACTOR; + ui->logoLabel->setFixedSize(ITEM_PICTURE_FORMAT_RATIO*desired_height,desired_height); if(mPost.mImage.mData != NULL) { diff --git a/retroshare-gui/src/gui/feeds/FeedItem.cpp b/retroshare-gui/src/gui/feeds/FeedItem.cpp index e9991e6d0..75717ab3e 100644 --- a/retroshare-gui/src/gui/feeds/FeedItem.cpp +++ b/retroshare-gui/src/gui/feeds/FeedItem.cpp @@ -22,6 +22,11 @@ #include "FeedItem.h" #include "FeedHolder.h" +// Height of feed items as a factor of font size height. + +const int FeedItem::ITEM_HEIGHT_FACTOR = 8; +const float FeedItem::ITEM_PICTURE_FORMAT_RATIO = 16.0/9.0; + /** Constructor */ FeedItem::FeedItem(FeedHolder *fh, uint32_t feedId, QWidget *parent) : QWidget(parent),mFeedHolder(fh),mFeedId(feedId),mHash(0) { diff --git a/retroshare-gui/src/gui/feeds/FeedItem.h b/retroshare-gui/src/gui/feeds/FeedItem.h index 7739ac122..2ef1ef980 100644 --- a/retroshare-gui/src/gui/feeds/FeedItem.h +++ b/retroshare-gui/src/gui/feeds/FeedItem.h @@ -60,6 +60,9 @@ protected: FeedHolder *mFeedHolder; uint32_t mFeedId; + static const int ITEM_HEIGHT_FACTOR ; + static const float ITEM_PICTURE_FORMAT_RATIO ; + signals: void sizeChanged(FeedItem *feedItem); void feedItemNeedsClosing(qulonglong); diff --git a/retroshare-gui/src/gui/feeds/GxsChannelGroupItem.cpp b/retroshare-gui/src/gui/feeds/GxsChannelGroupItem.cpp index 56c10508a..ede105fdf 100644 --- a/retroshare-gui/src/gui/feeds/GxsChannelGroupItem.cpp +++ b/retroshare-gui/src/gui/feeds/GxsChannelGroupItem.cpp @@ -192,11 +192,16 @@ void GxsChannelGroupItem::fill() RetroShareLink link = RetroShareLink::createGxsGroupLink(RetroShareLink::TYPE_CHANNEL, mGroup.mMeta.mGroupId, groupName()); ui->nameLabel->setText(link.toHtml()); - ui->descLabel->setText(QString::fromUtf8(mGroup.mDescription.c_str())); + ui->logoLabel->setEnableZoom(false); + int desired_height = QFontMetricsF(font()).height() * ITEM_HEIGHT_FACTOR; + ui->logoLabel->setFixedSize(ITEM_PICTURE_FORMAT_RATIO*desired_height,desired_height); + + ui->descLabel->setText(QString::fromUtf8(mGroup.mDescription.c_str())); if (mGroup.mImage.mData != NULL) { QPixmap chanImage; GxsIdDetails::loadPixmapFromData(mGroup.mImage.mData, mGroup.mImage.mSize, chanImage,GxsIdDetails::ORIGINAL); + ui->logoLabel->setPixmap(chanImage); } diff --git a/retroshare-gui/src/gui/feeds/GxsChannelGroupItem.ui b/retroshare-gui/src/gui/feeds/GxsChannelGroupItem.ui index 43537d061..d828571b0 100644 --- a/retroshare-gui/src/gui/feeds/GxsChannelGroupItem.ui +++ b/retroshare-gui/src/gui/feeds/GxsChannelGroupItem.ui @@ -143,7 +143,7 @@ - + 70 @@ -391,6 +391,13 @@ + + + ZoomableLabel + QLabel +
gui/gxschannels/GxsChannelPostThumbnail.h
+
+
diff --git a/retroshare-gui/src/gui/feeds/GxsChannelPostItem.cpp b/retroshare-gui/src/gui/feeds/GxsChannelPostItem.cpp index fdd46474a..ee4bb0ebc 100644 --- a/retroshare-gui/src/gui/feeds/GxsChannelPostItem.cpp +++ b/retroshare-gui/src/gui/feeds/GxsChannelPostItem.cpp @@ -312,8 +312,8 @@ void GxsChannelPostItem::fill() //float f = QFontMetricsF(font()).height()/14.0 ; ui->logoLabel->setEnableZoom(false); - int desired_height = QFontMetricsF(font()).height() * 8; - ui->logoLabel->setFixedSize(4/3.0*desired_height,desired_height); + int desired_height = QFontMetricsF(font()).height() * ITEM_HEIGHT_FACTOR; + ui->logoLabel->setFixedSize(ITEM_PICTURE_FORMAT_RATIO*desired_height,desired_height); if(mPost.mThumbnail.mData != NULL) { diff --git a/retroshare-gui/src/gui/feeds/GxsForumGroupItem.cpp b/retroshare-gui/src/gui/feeds/GxsForumGroupItem.cpp index 7e0fdca71..31d340ba9 100644 --- a/retroshare-gui/src/gui/feeds/GxsForumGroupItem.cpp +++ b/retroshare-gui/src/gui/feeds/GxsForumGroupItem.cpp @@ -205,7 +205,11 @@ void GxsForumGroupItem::fill() ui->descLabel->setText(QString::fromUtf8(mGroup.mDescription.c_str())); - if (IS_GROUP_PUBLISHER(mGroup.mMeta.mSubscribeFlags)) { + ui->forumlogo_label->setEnableZoom(false); + int desired_height = QFontMetricsF(font()).height() * ITEM_HEIGHT_FACTOR; + ui->forumlogo_label->setFixedSize(ITEM_PICTURE_FORMAT_RATIO*desired_height,desired_height); + + if (IS_GROUP_PUBLISHER(mGroup.mMeta.mSubscribeFlags)) { ui->forumlogo_label->setPixmap(FilesDefs::getPixmapFromQtResourcePath(":/icons/png/forums.png")); } else { ui->forumlogo_label->setPixmap(FilesDefs::getPixmapFromQtResourcePath(":/icons/png/forums-default.png")); diff --git a/retroshare-gui/src/gui/feeds/GxsForumGroupItem.ui b/retroshare-gui/src/gui/feeds/GxsForumGroupItem.ui index aee325282..ff344158a 100644 --- a/retroshare-gui/src/gui/feeds/GxsForumGroupItem.ui +++ b/retroshare-gui/src/gui/feeds/GxsForumGroupItem.ui @@ -135,7 +135,7 @@ - + 70 @@ -406,6 +406,13 @@ + + + ZoomableLabel + QLabel +
gui/gxschannels/GxsChannelPostThumbnail.h
+
+
diff --git a/retroshare-gui/src/gui/feeds/PostedGroupItem.cpp b/retroshare-gui/src/gui/feeds/PostedGroupItem.cpp index e4e416faa..1dbd295c9 100644 --- a/retroshare-gui/src/gui/feeds/PostedGroupItem.cpp +++ b/retroshare-gui/src/gui/feeds/PostedGroupItem.cpp @@ -173,7 +173,11 @@ void PostedGroupItem::fill() ui->descLabel->setText(QString::fromUtf8(mGroup.mDescription.c_str())); - if (mGroup.mGroupImage.mData != NULL) { + ui->logoLabel->setEnableZoom(false); + int desired_height = QFontMetricsF(font()).height() * ITEM_HEIGHT_FACTOR; + ui->logoLabel->setFixedSize(ITEM_PICTURE_FORMAT_RATIO*desired_height,desired_height); + + if (mGroup.mGroupImage.mData != NULL) { QPixmap postedImage; GxsIdDetails::loadPixmapFromData(mGroup.mGroupImage.mData, mGroup.mGroupImage.mSize, postedImage,GxsIdDetails::ORIGINAL); ui->logoLabel->setPixmap(QPixmap(postedImage)); diff --git a/retroshare-gui/src/gui/feeds/PostedGroupItem.ui b/retroshare-gui/src/gui/feeds/PostedGroupItem.ui index 6c043972f..b037b767a 100644 --- a/retroshare-gui/src/gui/feeds/PostedGroupItem.ui +++ b/retroshare-gui/src/gui/feeds/PostedGroupItem.ui @@ -135,7 +135,7 @@ - + 70 @@ -396,6 +396,13 @@ + + + ZoomableLabel + QLabel +
gui/gxschannels/GxsChannelPostThumbnail.h
+
+