diff options
author | Christian Kamm <mail@ckamm.de> | 2015-08-20 14:25:19 +0300 |
---|---|---|
committer | Christian Kamm <mail@ckamm.de> | 2015-08-20 14:25:19 +0300 |
commit | 7aae5e494a148de16dbbfd929fd4310984f60f60 (patch) | |
tree | 38700aa196f6a9a1ca1cb0749bf226a71c876d4a /src/gui/folderstatusdelegate.cpp | |
parent | 0711a2fc125c542f1121b2056cf554129695571b (diff) |
AccountSettings: Fix margins on 'Add folder' button #3650
Diffstat (limited to 'src/gui/folderstatusdelegate.cpp')
-rw-r--r-- | src/gui/folderstatusdelegate.cpp | 60 |
1 files changed, 30 insertions, 30 deletions
diff --git a/src/gui/folderstatusdelegate.cpp b/src/gui/folderstatusdelegate.cpp index 97b66ebf1..2e37bd928 100644 --- a/src/gui/folderstatusdelegate.cpp +++ b/src/gui/folderstatusdelegate.cpp @@ -37,6 +37,16 @@ QString FolderStatusDelegate::addFolderText() 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); @@ -45,24 +55,14 @@ QSize FolderStatusDelegate::sizeHint(const QStyleOptionViewItem & option , 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 @@ -93,6 +93,23 @@ void FolderStatusDelegate::paint(QPainter *painter, const QStyleOptionViewItem & { 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; @@ -101,7 +118,7 @@ void FolderStatusDelegate::paint(QPainter *painter, const QStyleOptionViewItem & 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 @@ -115,23 +132,6 @@ void FolderStatusDelegate::paint(QPainter *painter, const QStyleOptionViewItem & } 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)); |