Show link-time dependency versions in about dialog
This commit is contained in:
parent
f76d4044aa
commit
e477214cbc
|
@ -3,9 +3,12 @@
|
||||||
|
|
||||||
#include "ui_aboutdialog.h"
|
#include "ui_aboutdialog.h"
|
||||||
|
|
||||||
|
#include <c++utilities/application/argumentparser.h>
|
||||||
|
|
||||||
#include <QApplication>
|
#include <QApplication>
|
||||||
#include <QDesktopWidget>
|
#include <QDesktopWidget>
|
||||||
#include <QGraphicsPixmapItem>
|
#include <QGraphicsPixmapItem>
|
||||||
|
#include <QStringBuilder>
|
||||||
#include <QStyle>
|
#include <QStyle>
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
@ -30,14 +33,16 @@ namespace Dialogs {
|
||||||
* QApplication::organizationName() will be used.
|
* QApplication::organizationName() will be used.
|
||||||
* \param version Specifies the version of the application. If empty,
|
* \param version Specifies the version of the application. If empty,
|
||||||
* QApplication::applicationVersion() will be used.
|
* QApplication::applicationVersion() will be used.
|
||||||
|
* \param dependencyVersions Specifies the dependency versions which were present at link-time. If empty,
|
||||||
|
* ApplicationUtilities::dependencyVersions will be used.
|
||||||
* \param description Specifies a short description about the application.
|
* \param description Specifies a short description about the application.
|
||||||
* \param website Specifies the URL to the website of the application. If empty,
|
* \param website Specifies the URL to the website of the application. If empty,
|
||||||
* QApplication::organizationDomain() will be used.
|
* QApplication::organizationDomain() will be used.
|
||||||
* \param image Specifies the application icon. If the image is null, the
|
* \param image Specifies the application icon. If the image is null, the
|
||||||
* standard information icon will be used.
|
* standard information icon will be used.
|
||||||
*/
|
*/
|
||||||
AboutDialog::AboutDialog(QWidget *parent, const QString &applicationName, const QString &creator, const QString &version, const QString &website,
|
AboutDialog::AboutDialog(QWidget *parent, const QString &applicationName, const QString &creator, const QString &version,
|
||||||
const QString &description, const QImage &image)
|
std::initializer_list<const char *> dependencyVersions, const QString &website, const QString &description, const QImage &image)
|
||||||
: QDialog(parent)
|
: QDialog(parent)
|
||||||
, m_ui(new Ui::AboutDialog)
|
, m_ui(new Ui::AboutDialog)
|
||||||
{
|
{
|
||||||
|
@ -54,6 +59,18 @@ AboutDialog::AboutDialog(QWidget *parent, const QString &applicationName, const
|
||||||
}
|
}
|
||||||
m_ui->creatorLabel->setText(tr("developed by %1").arg(creator.isEmpty() ? QApplication::organizationName() : creator));
|
m_ui->creatorLabel->setText(tr("developed by %1").arg(creator.isEmpty() ? QApplication::organizationName() : creator));
|
||||||
m_ui->versionLabel->setText(version.isEmpty() ? QApplication::applicationVersion() : version);
|
m_ui->versionLabel->setText(version.isEmpty() ? QApplication::applicationVersion() : version);
|
||||||
|
if (!dependencyVersions.size()) {
|
||||||
|
dependencyVersions = ApplicationUtilities::dependencyVersions;
|
||||||
|
}
|
||||||
|
if (dependencyVersions.size()) {
|
||||||
|
QStringList linkedAgainst;
|
||||||
|
linkedAgainst.reserve(dependencyVersions.size());
|
||||||
|
for (const auto &dependencyVersion : dependencyVersions) {
|
||||||
|
linkedAgainst << QString::fromUtf8(dependencyVersion);
|
||||||
|
}
|
||||||
|
m_ui->versionLabel->setToolTip(QStringLiteral("<p>") % tr("Linked against:") % QStringLiteral("</p><ul><li>")
|
||||||
|
% linkedAgainst.join(QStringLiteral("</li><li>")) % QStringLiteral("</li></ul>"));
|
||||||
|
}
|
||||||
m_ui->websiteLabel->setText(tr("For updates and bug reports visit the <a href=\"%1\" "
|
m_ui->websiteLabel->setText(tr("For updates and bug reports visit the <a href=\"%1\" "
|
||||||
"style=\"text-decoration: underline; color: palette(link);\">project "
|
"style=\"text-decoration: underline; color: palette(link);\">project "
|
||||||
"website</a>.")
|
"website</a>.")
|
||||||
|
@ -69,6 +86,12 @@ AboutDialog::AboutDialog(QWidget *parent, const QString &applicationName, const
|
||||||
Qt::LeftToRight, Qt::AlignCenter, size(), parentWidget() ? parentWidget()->geometry() : QApplication::desktop()->availableGeometry()));
|
Qt::LeftToRight, Qt::AlignCenter, size(), parentWidget() ? parentWidget()->geometry() : QApplication::desktop()->availableGeometry()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
AboutDialog::AboutDialog(QWidget *parent, const QString &applicationName, const QString &creator, const QString &version, const QString &website,
|
||||||
|
const QString &description, const QImage &image)
|
||||||
|
: AboutDialog(parent, applicationName, creator, version, {}, website, description, image)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \brief Constructs an about dialog with the specified \a parent, \a
|
* \brief Constructs an about dialog with the specified \a parent, \a
|
||||||
* description and \a image.
|
* description and \a image.
|
||||||
|
|
|
@ -21,6 +21,9 @@ class QT_UTILITIES_EXPORT AboutDialog : public QDialog {
|
||||||
public:
|
public:
|
||||||
explicit AboutDialog(QWidget *parent, const QString &applicationName, const QString &creator, const QString &version,
|
explicit AboutDialog(QWidget *parent, const QString &applicationName, const QString &creator, const QString &version,
|
||||||
const QString &website = QString(), const QString &description = QString(), const QImage &image = QImage());
|
const QString &website = QString(), const QString &description = QString(), const QImage &image = QImage());
|
||||||
|
explicit AboutDialog(QWidget *parent, const QString &applicationName, const QString &creator, const QString &version,
|
||||||
|
std::initializer_list<const char *> dependencyVersions, const QString &website = QString(), const QString &description = QString(),
|
||||||
|
const QImage &image = QImage());
|
||||||
explicit AboutDialog(QWidget *parent, const QString &description = QString(), const QImage &image = QImage());
|
explicit AboutDialog(QWidget *parent, const QString &description = QString(), const QImage &image = QImage());
|
||||||
~AboutDialog();
|
~AboutDialog();
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue