/
q3DMASCDisclaimerDialog.h
120 lines (99 loc) · 4.17 KB
/
q3DMASCDisclaimerDialog.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
//##########################################################################
//# #
//# 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