diff options
Diffstat (limited to 'src/kcategorydrawer.cpp')
| -rw-r--r-- | src/kcategorydrawer.cpp | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/kcategorydrawer.cpp b/src/kcategorydrawer.cpp index d0c671915..53cf059f1 100644 --- a/src/kcategorydrawer.cpp +++ b/src/kcategorydrawer.cpp @@ -23,6 +23,7 @@ #include <QPainter> #include <QStyleOption> +#include <kiconloader.h> #include <kcategorizedsortfilterproxymodel.h> KCategoryDrawer::KCategoryDrawer() @@ -61,6 +62,17 @@ void KCategoryDrawer::drawCategory(const QModelIndex &index, opt.direction = option.direction; opt.text = category; + int iconSize = KIconLoader::global()->currentSize(KIconLoader::Small); + + if (option.direction == Qt::LeftToRight) + { + opt.rect.setLeft(opt.rect.left() + (iconSize / 4)); + } + else + { + opt.rect.setRight(opt.rect.width() - (iconSize / 4)); + } + if (option.state & QStyle::State_Selected) { QColor selected = option.palette.color(QPalette::Highlight); @@ -113,7 +125,7 @@ void KCategoryDrawer::drawCategory(const QModelIndex &index, painter->setPen(color); - painter->drawText(option.rect, Qt::AlignVCenter | Qt::AlignLeft, + painter->drawText(opt.rect, Qt::AlignVCenter | Qt::AlignLeft, metrics.elidedText(category, Qt::ElideRight, option.rect.width())); painter->restore(); |
