swift
aircraftmodelstatisticsdialog.cpp
1 // SPDX-FileCopyrightText: Copyright (C) 2018 swift Project Community / Contributors
2 // SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-swift-pilot-client-1
3 
5 
6 #include <QDesktopServices>
7 #include <QPushButton>
8 #include <QStringBuilder>
9 #include <QUrl>
10 
11 #include "ui_aircraftmodelstatisticsdialog.h"
12 
13 #include "gui/guiapplication.h"
15 
16 using namespace swift::misc::aviation;
17 using namespace swift::misc::simulation;
18 
19 namespace swift::gui::views
20 {
21  CAircraftModelStatisticsDialog::CAircraftModelStatisticsDialog(QWidget *parent)
22  : QDialog(parent), ui(new Ui::CAircraftModelStatisticsDialog)
23  {
24  ui->setupUi(this);
25  ui->tw_ModelStatistics->setCurrentIndex(0);
26  this->setWindowFlags(windowFlags() & ~Qt::WindowContextHelpButtonHint);
27 
28  connect(ui->pb_GenerateMatrix, &QPushButton::released, this,
29  &CAircraftModelStatisticsDialog::displayHTMLMatrix);
30  }
31 
33 
35  {
36  m_models = models;
37  ui->te_GeneralStatistics->setHtml(models.htmlStatistics(true, true));
38  }
39 
40  void CAircraftModelStatisticsDialog::displayHTMLMatrix()
41  {
42  const QString file = CAircraftModelUtilities::createIcaoAirlineAircraftHtmlMatrixFile(
44  if (file.isEmpty()) { return; }
45  QDesktopServices::openUrl(QUrl::fromLocalFile(file));
46  }
47 } // namespace swift::gui::views
static QString getTemporaryDirectory()
Directory for temporary files.
void analyzeModels(const swift::misc::simulation::CAircraftModelList &models)
Set and analyze the models.
Value object encapsulating a list of aircraft models.
QString htmlStatistics(bool aircraftStats, bool airlineStats) const
A HTML summary of the data in the list.
Views, mainly QTableView.