2 #include "../misc/dialogutils.h" 4 #include "ui_aboutdialog.h" 6 #include <QGraphicsPixmapItem> 7 #include <QApplication> 8 #include <QDesktopWidget> 33 AboutDialog::AboutDialog(QWidget *parent,
const QString &applicationName,
const QString &creator,
const QString &version,
const QString &website,
const QString &description,
const QImage &image) :
38 makeHeading(m_ui->productNameLabel);
40 setWindowFlags(Qt::Tool);
41 if(!applicationName.isEmpty()) {
42 m_ui->productNameLabel->setText(applicationName);
43 }
else if(!QApplication::applicationDisplayName().isEmpty()) {
44 m_ui->productNameLabel->setText(QApplication::applicationDisplayName());
46 m_ui->productNameLabel->setText(QApplication::applicationName());
48 m_ui->creatorLabel->setText(tr(
"developed by %1").arg(
49 creator.isEmpty() ? QApplication::organizationName() : creator));
50 m_ui->versionLabel->setText(version.isEmpty() ? QApplication::applicationVersion() : version);
51 m_ui->websiteLabel->setText(tr(
"For updates and bug reports visit the <a href=\"%1\" style=\"text-decoration: underline; color: palette(link);\">project website</a>.").arg(
52 website.isEmpty() ? QApplication::organizationDomain() : website));
53 m_ui->descLabel->setText(description);
54 m_iconScene =
new QGraphicsScene(
this);
55 auto *item = image.isNull()
56 ?
new QGraphicsPixmapItem(QApplication::style()->standardIcon(QStyle::SP_MessageBoxInformation,
nullptr,
this).pixmap(128))
57 :
new QGraphicsPixmapItem(QPixmap::fromImage(image));
58 m_iconScene->addItem(item);
59 m_ui->graphicsView->setScene(m_iconScene);
60 setGeometry(QStyle::alignedRect(Qt::LeftToRight, Qt::AlignCenter, size(), parentWidget() ? parentWidget()->geometry() : QApplication::desktop()->availableGeometry()));
67 AboutDialog(parent, QString(), QString(), QString(), QString(), description, image)
AboutDialog(QWidget *parent, const QString &applicationName, const QString &creator, const QString &version, const QString &website=QString(), const QString &description=QString(), const QImage &image=QImage())
Constructs an about dialog with the provided information.
Provides common dialogs such as AboutDialog, EnterPasswordDialog and SettingsDialog.
~AboutDialog()
Destroys the about dialog.
The AboutDialog class provides a simple about dialog.
const QString QT_UTILITIES_EXPORT & dialogStyle()
Returns the stylesheet for dialogs and other windows used in my applications.