swift
aboutdialog.cpp
1 // SPDX-FileCopyrightText: Copyright (C) 2017 swift Project Community / Contributors
2 // SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-swift-pilot-client-1
3 
4 #include "aboutdialog.h"
5 
6 #include "ui_aboutdialog.h"
7 
8 #include "gui/guiapplication.h"
9 #include "gui/guiutility.h"
10 #include "misc/fileutils.h"
11 
13 {
14  CAboutDialog::CAboutDialog(QWidget *parent) : QDialog(parent), ui(new Ui::CAboutDialog)
15  {
16  ui->setupUi(this);
17  const QPointer<CAboutDialog> myself(this);
18  this->setWindowFlags(this->windowFlags() & ~Qt::WindowContextHelpButtonHint);
19  this->init();
20 
21  QTimer::singleShot(0, this, [=] {
22  if (!myself) { return; }
23  myself->loadSwiftLicense();
24  });
25 
26  QTimer::singleShot(0, this, [=] {
27  if (!myself) { return; }
28  myself->loadThirdPartyLicenses();
29  });
30  }
31 
33 
34  void CAboutDialog::init()
35  {
36  if (!sGui || sGui->isShuttingDown()) { return; }
37  ui->lbl_VersionValue->setText(sGui->getApplicationNameVersionDetailed());
38  ui->pte_Info->setPlainText(sGui->getInfoString("\n"));
39  ui->pte_Info->appendPlainText("\nSetup follows:\n----");
40  ui->pte_Info->appendPlainText(sGui->getGlobalSetup().convertToQString("\n", true));
41  ui->pte_Info->appendPlainText("\nScreen info follows:\n----");
42  ui->pte_Info->appendPlainText(CGuiUtility::screenInformation("\n"));
43  }
44 
45  void CAboutDialog::loadSwiftLicense()
46  {
47  const QString html = swift::misc::CFileUtils::readFileToString(
48  swift::misc::CSwiftDirectories::legalDirectory() + "/LicenseRef-swift-pilot-client-1.html");
49  ui->tbr_swiftLicense->setHtml(html);
50  }
51 
52  void CAboutDialog::loadThirdPartyLicenses()
53  {
54  const QString html = swift::misc::CFileUtils::readFileToString(
56  ui->tbr_ThirdPartyLicenses->setHtml(html);
57  }
58 } // namespace swift::gui::components
data::CGlobalSetup getGlobalSetup() const
Global setup.
QString getInfoString(const QString &separator) const
Comprehensive info.
bool isShuttingDown() const
Is application shutting down?
const QString & getApplicationNameVersionDetailed() const
Version, name beta and dev info.
QString convertToQString(bool i18n=false) const
Cast as QString.
Definition: globalsetup.cpp:92
static QString screenInformation(const QString &separator="\n")
Info about screens.
Definition: guiutility.cpp:184
CAboutDialog(QWidget *parent=nullptr)
Constructor.
Definition: aboutdialog.cpp:14
virtual ~CAboutDialog()
Destructor.
Definition: aboutdialog.cpp:32
static QString readFileToString(const QString &fileNameAndPath)
Read file into string.
Definition: fileutils.cpp:68
static const QString & legalDirectory()
Where Legal files are located.
SWIFT_GUI_EXPORT swift::gui::CGuiApplication * sGui
Single instance of GUI application object.
High level reusable GUI components.
Definition: aboutdialog.cpp:13
auto singleShot(int msec, QObject *target, F &&task)
Starts a single-shot timer which will call a task in the thread of the given object when it times out...
Definition: threadutils.h:30