X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/f5f2ccf8eec5abffb41255e487746881091ff8a1..08f93a673d519de4cb6ecc35b151f674366fbb3d:/src/tooltips/tooltipmanager.cpp diff --git a/src/tooltips/tooltipmanager.cpp b/src/tooltips/tooltipmanager.cpp index 8cf6ec3b5..d8a9e190c 100644 --- a/src/tooltips/tooltipmanager.cpp +++ b/src/tooltips/tooltipmanager.cpp @@ -24,6 +24,7 @@ #include #include +#include #include "panels/information/kmetadatawidget.h" #include "tooltips/ktooltip.h" @@ -35,6 +36,7 @@ #include #include #include +#include ToolTipManager::ToolTipManager(QAbstractItemView* parent, DolphinSortFilterProxyModel* model) : @@ -243,18 +245,44 @@ QWidget* ToolTipManager::createTipContent(const QPixmap& pixmap) const { QWidget* tipContent = new QWidget(); + // add pixmap QLabel* pixmapLabel = new QLabel(tipContent); pixmapLabel->setPixmap(pixmap); pixmapLabel->setFixedSize(pixmap.size()); + // add item name + QLabel* nameLabel = new QLabel(tipContent); + nameLabel->setText(m_item.text()); + nameLabel->setWordWrap(true); + QFont font = nameLabel->font(); + font.setBold(true); + nameLabel->setFont(font); + nameLabel->setAlignment(Qt::AlignHCenter); + nameLabel->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed); + + // add meta data KMetaDataWidget* metaDataWidget = new KMetaDataWidget(tipContent); + metaDataWidget->setForegroundRole(QPalette::ToolTipText); metaDataWidget->setItem(m_item); - metaDataWidget->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Maximum); + metaDataWidget->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); + metaDataWidget->setReadOnly(true); + + // the stretchwidget allows the metadata widget to be top aligned and fills + // the remaining vertical space + QWidget* stretchWidget = new QWidget(tipContent); + stretchWidget->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::MinimumExpanding); + + QWidget* textContainer = new QWidget(tipContent); + QVBoxLayout* textLayout = new QVBoxLayout(textContainer); + textLayout->addWidget(nameLabel); + textLayout->addWidget(new KSeparator()); + textLayout->addWidget(metaDataWidget); + textLayout->addWidget(stretchWidget); QHBoxLayout* tipLayout = new QHBoxLayout(tipContent); tipLayout->setMargin(0); tipLayout->addWidget(pixmapLabel); - tipLayout->addWidget(metaDataWidget); + tipLayout->addWidget(textContainer); return tipContent; }