Files
q3DMASC/q3DMASCDisclaimerDialog.h
T
2024-03-11 22:13:51 +01:00

121 lines
4.2 KiB
C++

//##########################################################################
//# #
//# CLOUDCOMPARE PLUGIN: q3DMASC #
//# #
//# This program is free software; you can redistribute it and/or modify #
//# it under the terms of the GNU General Public License as published by #
//# the Free Software Foundation; version 2 or later of the License. #
//# #
//# This program is distributed in the hope that it will be useful, #
//# but WITHOUT ANY WARRANTY; without even the implied warranty of #
//# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
//# GNU General Public License for more details. #
//# #
//# COPYRIGHT: Dimitri Lague / CNRS / UEB #
//# #
//##########################################################################
#ifndef Q3DMASC_DISCLAIMER_DIALOG_HEADER
#define Q3DMASC_DISCLAIMER_DIALOG_HEADER
#include <ui_trainDisclaimerDlg.h>
#include <ui_classifyDisclaimerDlg.h>
//qCC_plugins
#include <ccMainAppInterface.h>
//Qt
#include <QMainWindow>
//! Dialog for displaying the 3DSMAC/UEB disclaimer
class TrainDisclaimerDialog : public QDialog, public Ui::TrainDisclaimerDialog
{
public:
//! Default constructor
TrainDisclaimerDialog(QWidget* parent = 0)
: QDialog(parent)
, Ui::TrainDisclaimerDialog()
{
setupUi(this);
QString compilationInfo;
compilationInfo += "Version " + QString(Q3DMASC_VERSION);
compilationInfo += QStringLiteral("<br><i>Compiled with");
#if defined(_MSC_VER)
compilationInfo += QStringLiteral(" MSVC %1 and").arg(_MSC_VER);
#endif
compilationInfo += QStringLiteral(" Qt %1").arg(QT_VERSION_STR);
compilationInfo += QStringLiteral("</i>");
compilationInfo += " [cc " + QString(GIT_BRANCH_CC) + "/" + QString(GIT_COMMMIT_HASH_CC) + "]";
compilationInfo += " [3dmasc " +
QString(GIT_TAG_3DMASC) + " " +
QString(GIT_BRANCH_3DMASC) + "/" +
QString(GIT_COMMMIT_HASH_3DMASC) + "]";
label_compilationInformation->setText(compilationInfo);
}
};
//whether disclaimer has already been displayed (and accepted) or not
static bool s_trainDisclaimerAccepted = false;
static bool ShowTrainDisclaimer(ccMainAppInterface* app)
{
if (!s_trainDisclaimerAccepted)
{
//if the user "cancels" it, then he refuses the diclaimer!
s_trainDisclaimerAccepted = TrainDisclaimerDialog(app ? app->getMainWindow() : 0).exec();
}
return s_trainDisclaimerAccepted;
}
//! Dialog for displaying the M3C2/UEB disclaimer
class ClassifyDisclaimerDialog : public QDialog, public Ui::ClassifyDisclaimerDialog
{
public:
//! Default constructor
ClassifyDisclaimerDialog(QWidget* parent = 0)
: QDialog(parent)
, Ui::ClassifyDisclaimerDialog()
{
setupUi(this);
QString compilationInfo;
compilationInfo += "Version " + QString(Q3DMASC_VERSION);
compilationInfo += QStringLiteral("<br><i>Compiled with");
#if defined(_MSC_VER)
compilationInfo += QStringLiteral(" MSVC %1 and").arg(_MSC_VER);
#endif
compilationInfo += QStringLiteral(" Qt %1").arg(QT_VERSION_STR);
compilationInfo += QStringLiteral("</i>");
compilationInfo += " [cc " + QString(GIT_BRANCH_CC) + "/" + QString(GIT_COMMMIT_HASH_CC) + "]";
compilationInfo += " [3dmasc " +
QString(GIT_TAG_3DMASC) + " " +
QString(GIT_BRANCH_3DMASC) + "/" +
QString(GIT_COMMMIT_HASH_3DMASC) + "]";
label_compilationInformation->setText(compilationInfo);
}
};
//whether disclaimer has already been displayed (and accepted) or not
static bool s_classifyDisclaimerAccepted = false;
static bool ShowClassifyDisclaimer(ccMainAppInterface* app)
{
if (!s_classifyDisclaimerAccepted)
{
//if the user "cancels" it, then he refuses the diclaimer!
s_classifyDisclaimerAccepted = ClassifyDisclaimerDialog(app ? app->getMainWindow() : 0).exec();
}
return s_classifyDisclaimerAccepted;
}
#endif //Q3DMASC_DISCLAIMER_DIALOG_HEADER