mitsuba/src/mtsgui/aboutdlg.cpp

95 lines
2.2 KiB
C++

/*
This file is part of Mitsuba, a physically based rendering system.
Copyright (c) 2007-2011 by Wenzel Jakob and others.
Mitsuba is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License Version 3
as published by the Free Software Foundation.
Mitsuba 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.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "ui_aboutdlg.h"
#include "aboutdlg.h"
#include "acknowledgmentdlg.h"
AboutDialog::AboutDialog(QWidget *parent) :
QDialog(parent),
ui(new Ui::AboutDialog) {
ui->setupUi(this);
QString configFlags;
#if defined(SINGLE_PRECISION)
configFlags += "SINGLE_PRECISION ";
#elif defined(DOUBLE_PRECISION)
configFlags += "DOUBLE_PRECISION ";
#else
#error Unknown precision
#endif
#if defined(MTS_DEBUG)
configFlags += "MTS_DEBUG ";
#endif
#if defined(MTS_DEBUG_FP)
configFlags += "MTS_DEBUG_FP ";
#endif
#if defined(MTS_SSE)
configFlags += "MTS_SSE ";
#endif
#if defined(MTS_KD_CONSERVE_MEMORY)
configFlags += "MTS_KD_CONSERVE_MEMORY ";
#endif
#if defined(MTS_KD_DEBUG)
configFlags += "MTS_KD_DEBUG ";
#endif
#if defined(MTS_HAS_COHERENT_RT)
configFlags += "MTS_HAS_COHERENT_RT ";
#endif
#if defined(MTS_HAS_COLLADA)
configFlags += "MTS_HAS_COLLADA ";
#endif
configFlags += formatString("SPECTRUM_SAMPLES=%i ",
SPECTRUM_SAMPLES).c_str();
ui->label->setText(ui->label->text().replace("MTS_VERSION", MTS_VERSION));
ui->label->setText(ui->label->text().replace("CONFIG_FLAGS", configFlags));
#if defined(__OSX__)
ui->label->setText(ui->label->text().replace("font-size:10pt", "font-size:14pt"));
#endif
}
AboutDialog::~AboutDialog() {
delete ui;
}
void AboutDialog::onCredits() {
AcknowledgmentDialog ackdlg(this);
ackdlg.exec();
}
void AboutDialog::changeEvent(QEvent *e) {
QDialog::changeEvent(e);
switch (e->type()) {
case QEvent::LanguageChange:
ui->retranslateUi(this);
break;
default:
break;
}
}