mirror of
https://github.com/RetroShare/RetroShare.git
synced 2025-04-19 14:55:54 -04:00
fixed sizeHint role
This commit is contained in:
parent
92290015eb
commit
8c2c3188ef
@ -468,7 +468,7 @@ QVariant RsIdentityListModel::sizeHintRole(const EntryIndex& e,int col) const
|
||||
default:
|
||||
case COLUMN_THREAD_NAME: return QVariant( QSize(x_factor * 70 , y_factor*14*1.1f ));
|
||||
case COLUMN_THREAD_ID: return QVariant( QSize(x_factor * 175, y_factor*14*1.1f ));
|
||||
case COLUMN_THREAD_REPUTATION: return QVariant( QSize(x_factor * 20 , y_factor*14*1.1f ));
|
||||
case COLUMN_THREAD_REPUTATION: return QVariant( QSize(x_factor * 14 , y_factor*14*1.1f ));
|
||||
case COLUMN_THREAD_OWNER_NAME: return QVariant( QSize(x_factor * 70 , y_factor*14*1.1f ));
|
||||
case COLUMN_THREAD_OWNER_ID: return QVariant( QSize(x_factor * 70 , y_factor*14*1.1f ));
|
||||
}
|
||||
@ -743,14 +743,17 @@ QVariant RsIdentityListModel::decorationRole(const EntryIndex& entry,int col) co
|
||||
else if(col == COLUMN_THREAD_NAME)
|
||||
{
|
||||
QPixmap sslAvatar;
|
||||
RsIdentityDetails details ;
|
||||
|
||||
if(! AvatarDefs::getAvatarFromGxsId(hn->id, sslAvatar))
|
||||
if(!rsIdentity->getIdDetails(hn->id, details))
|
||||
{
|
||||
mIdentityUpdateTimer->stop();
|
||||
mIdentityUpdateTimer->setSingleShot(true);
|
||||
mIdentityUpdateTimer->start(500);
|
||||
return QVariant();
|
||||
}
|
||||
else if(details.mAvatar.mSize == 0 || !GxsIdDetails::loadPixmapFromData(details.mAvatar.mData, details.mAvatar.mSize, sslAvatar,GxsIdDetails::LARGE))
|
||||
return QVariant(QIcon(GxsIdDetails::makeDefaultIcon(hn->id,GxsIdDetails::SMALL)));
|
||||
else
|
||||
return QVariant(QIcon(sslAvatar));
|
||||
}
|
||||
|
@ -85,14 +85,14 @@ void ReputationItemDelegate::paint(QPainter *painter, const QStyleOptionViewItem
|
||||
{
|
||||
Q_ASSERT(index.isValid());
|
||||
|
||||
QStyleOptionViewItemV4 opt = option;
|
||||
QStyleOptionViewItem opt(option);
|
||||
initStyleOption(&opt, index);
|
||||
// disable default icon
|
||||
opt.icon = QIcon();
|
||||
// draw default item
|
||||
QApplication::style()->drawControl(QStyle::CE_ItemViewItem, &opt, painter, 0);
|
||||
|
||||
const QRect r = option.rect;
|
||||
const QRect r = option.rect;
|
||||
|
||||
// get pixmap
|
||||
auto v = index.data(Qt::DecorationRole);
|
||||
@ -105,8 +105,7 @@ void ReputationItemDelegate::paint(QPainter *painter, const QStyleOptionViewItem
|
||||
if(icon_index > mMaxLevelToDisplay)
|
||||
return ;
|
||||
|
||||
QIcon icon = GxsIdDetails::getReputationIcon(
|
||||
RsReputationLevel(icon_index), 0xff );
|
||||
QIcon icon = GxsIdDetails::getReputationIcon( RsReputationLevel(icon_index), 0xff );
|
||||
|
||||
QPixmap pix = icon.pixmap(r.size());
|
||||
|
||||
@ -115,6 +114,12 @@ void ReputationItemDelegate::paint(QPainter *painter, const QStyleOptionViewItem
|
||||
painter->drawPixmap(r.topLeft() + p, pix);
|
||||
}
|
||||
|
||||
QSize ReputationItemDelegate::sizeHint(const QStyleOptionViewItem &option, const QModelIndex & /*index*/) const
|
||||
{
|
||||
int s = 1.5*QFontMetricsF(option.font).height();
|
||||
|
||||
return QSize(s,s);
|
||||
}
|
||||
/* The global object */
|
||||
GxsIdDetails *GxsIdDetails::mInstance = NULL ;
|
||||
|
||||
|
@ -52,7 +52,8 @@ public:
|
||||
ReputationItemDelegate(RsReputationLevel max_level_to_display) :
|
||||
mMaxLevelToDisplay(static_cast<uint32_t>(max_level_to_display)) {}
|
||||
|
||||
virtual void paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const;
|
||||
virtual void paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const override;
|
||||
virtual QSize sizeHint(const QStyleOptionViewItem &option, const QModelIndex & /*index*/) const override;
|
||||
|
||||
private:
|
||||
uint32_t mMaxLevelToDisplay ;
|
||||
|
Loading…
x
Reference in New Issue
Block a user