Qt Utilities  5.6.0
Common Qt related C++ classes and routines used by my applications such as dialogs, widgets and models
aboutdialog.cpp
Go to the documentation of this file.
1 #include "./aboutdialog.h"
2 #include "../misc/dialogutils.h"
3 
4 #include "ui_aboutdialog.h"
5 
6 #include <QGraphicsPixmapItem>
7 #include <QApplication>
8 #include <QDesktopWidget>
9 #include <QStyle>
10 
16 namespace Dialogs {
17 
33 AboutDialog::AboutDialog(QWidget *parent, const QString &applicationName, const QString &creator, const QString &version, const QString &website, const QString &description, const QImage &image) :
34  QDialog(parent),
35  m_ui(new Ui::AboutDialog)
36 {
37  m_ui->setupUi(this);
38  makeHeading(m_ui->productNameLabel);
39  setStyleSheet(dialogStyle());
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());
45  } else {
46  m_ui->productNameLabel->setText(QApplication::applicationName());
47  }
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()));
61 }
62 
66 AboutDialog::AboutDialog(QWidget *parent, const QString &description, const QImage &image) :
67  AboutDialog(parent, QString(), QString(), QString(), QString(), description, image)
68 {}
69 
74 {}
75 
76 }
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.
Definition: aboutdialog.cpp:33
Provides common dialogs such as AboutDialog, EnterPasswordDialog and SettingsDialog.
Definition: dialogutils.h:12
~AboutDialog()
Destroys the about dialog.
Definition: aboutdialog.cpp:73
The AboutDialog class provides a simple about dialog.
Definition: aboutdialog.h:18
const QString QT_UTILITIES_EXPORT & dialogStyle()
Returns the stylesheet for dialogs and other windows used in my applications.
Definition: dialogutils.cpp:75