QSize FolderStatusDelegate::sizeHint(const QStyleOptionViewItem & option ,
const QModelIndex & index) const
{
+ QFont aliasFont = option.font;
+ QFont font = option.font;
+ aliasFont.setPointSize( font.pointSize() +2 );
+
+ QFontMetrics fm(font);
+ QFontMetrics aliasFm(aliasFont);
+
+ int aliasMargin = aliasFm.height()/2;
+ int margin = fm.height()/4;
+
auto classif = static_cast<const FolderStatusModel *>(index.model())->classify(index);
if (classif == FolderStatusModel::AddButton) {
QFontMetrics fm(option.font);
opt.text = addFolderText();
return QApplication::style()->sizeFromContents(
QStyle::CT_PushButton, &opt, fm.size(Qt::TextSingleLine, opt.text)).
- expandedTo(QApplication::globalStrut());
+ expandedTo(QApplication::globalStrut())
+ + QSize(0, 2*aliasMargin);
}
if (classif != FolderStatusModel::RootFolder) {
return QStyledItemDelegate::sizeHint(option, index);
}
- Q_UNUSED(option)
- QFont aliasFont = option.font;
- QFont font = option.font;
- aliasFont.setPointSize( font.pointSize() +2 );
-
- QFontMetrics fm(font);
- QFontMetrics aliasFm(aliasFont);
-
- int aliasMargin = aliasFm.height()/2;
- int margin = fm.height()/4;
-
// calc height
int h = aliasMargin; // margin to top
{
QStyledItemDelegate::paint(painter,option,index);
+ QFont aliasFont = option.font;
+ QFont subFont = option.font;
+ QFont errorFont = subFont;
+ QFont progressFont = subFont;
+
+ progressFont.setPointSize( subFont.pointSize()-2);
+ //font.setPixelSize(font.weight()+);
+ aliasFont.setBold(true);
+ aliasFont.setPointSize( subFont.pointSize()+2 );
+
+ QFontMetrics subFm( subFont );
+ QFontMetrics aliasFm( aliasFont );
+ QFontMetrics progressFm( progressFont );
+
+ int aliasMargin = aliasFm.height()/2;
+ int margin = subFm.height()/4;
+
if (index.data(AddButton).toBool()) {
QSize hint = sizeHint(option, index);
QStyleOptionButton opt;
opt.state |= QStyle::State_Raised;
opt.text = addFolderText();
opt.rect.setWidth(qMin(opt.rect.width(), hint.width()));
- opt.rect.translate(0, 10);
+ opt.rect.adjust(0, aliasMargin, 0, -aliasMargin);
QApplication::style()->drawControl(QStyle::CE_PushButton, &opt, painter
#if QT_VERSION >= QT_VERSION_CHECK(5,0,0)
, option.widget
}
painter->save();
- QFont aliasFont = option.font;
- QFont subFont = option.font;
- QFont errorFont = subFont;
- QFont progressFont = subFont;
-
- progressFont.setPointSize( subFont.pointSize()-2);
- //font.setPixelSize(font.weight()+);
- aliasFont.setBold(true);
- aliasFont.setPointSize( subFont.pointSize()+2 );
-
- QFontMetrics subFm( subFont );
- QFontMetrics aliasFm( aliasFont );
- QFontMetrics progressFm( progressFont );
-
- int aliasMargin = aliasFm.height()/2;
- int margin = subFm.height()/4;
-
QIcon statusIcon = qvariant_cast<QIcon>(index.data(FolderStatusIconRole));
QString aliasText = qvariant_cast<QString>(index.data(HeaderRole));
QString pathText = qvariant_cast<QString>(index.data(FolderPathRole));