FileMetaDataToolTip::FileMetaDataToolTip(QWidget* parent) : QWidget(parent), m_preview(0), m_name(0), m_fileMetaDataWidget(0) { setAttribute(Qt::WA_TranslucentBackground); setWindowFlags(Qt::ToolTip | Qt::FramelessWindowHint | Qt::NoDropShadowWindowHint); // Create widget for file preview m_preview = new QLabel(this); m_preview->setAlignment(Qt::AlignTop); // Create widget for file name m_name = new QLabel(this); m_name->setForegroundRole(QPalette::ToolTipText); m_name->setTextFormat(Qt::PlainText); m_name->setAlignment(Qt::AlignHCenter); QFont font = m_name->font(); font.setBold(true); m_name->setFont(font); QFontMetrics fontMetrics(font); m_name->setMaximumWidth(fontMetrics.averageCharWidth() * 40); // Create widget for the meta data #ifndef HAVE_BALOO m_fileMetaDataWidget = new KFileMetaDataWidget(this); connect(m_fileMetaDataWidget, &KFileMetaDataWidget::metaDataRequestFinished, this, &FileMetaDataToolTip::metaDataRequestFinished); #else m_fileMetaDataWidget = new Baloo::FileMetaDataWidget(this); connect(m_fileMetaDataWidget, &Baloo::FileMetaDataWidget::metaDataRequestFinished, this, &FileMetaDataToolTip::metaDataRequestFinished); #endif m_fileMetaDataWidget->setForegroundRole(QPalette::ToolTipText); m_fileMetaDataWidget->setReadOnly(true); QVBoxLayout* textLayout = new QVBoxLayout(); textLayout->addWidget(m_name); textLayout->addWidget(new KSeparator()); textLayout->addWidget(m_fileMetaDataWidget); textLayout->setAlignment(m_name, Qt::AlignCenter); textLayout->setAlignment(m_fileMetaDataWidget, Qt::AlignLeft); // Assure that the text-layout gets top-aligned by adding a stretch. // Don't use textLayout->setAlignment(Qt::AlignTop) instead, as this does // not work with the heightForWidth()-size-hint of m_fileMetaDataWidget // (see bug #241608) textLayout->addStretch(); QHBoxLayout* tipLayout = new QHBoxLayout(this); tipLayout->addWidget(m_preview); tipLayout->addSpacing(tipLayout->margin()); tipLayout->addLayout(textLayout); }
void PrintPreviewPageWidgetTest::shouldHaveDefaultValue() { WebEngineViewer::PrintPreviewPageWidget w; WebEngineViewer::PrintPreviewPageViewer *page = w.findChild<WebEngineViewer::PrintPreviewPageViewer *>(QStringLiteral("printpreviewpage")); QVERIFY(page); QHBoxLayout *hbox = w.findChild<QHBoxLayout *>(QStringLiteral("layoutcombobox")); QVERIFY(hbox); QCOMPARE(hbox->margin(), 0); QLabel *lab = w.findChild<QLabel *>(QStringLiteral("labelcombobox")); QVERIFY(lab); QComboBox *mPageComboBox = w.findChild<QComboBox *>(QStringLiteral("pagecombobox")); QVERIFY(mPageComboBox); QCOMPARE(mPageComboBox->count(), 0); QVERIFY(!w.deleteFile()); }