/****************************************************************************** * Copyright (C) 2005-2015 by * * Bjoern Erik Nilsen (bjoern.nilsen@bjoernen.com), * * Fredrik Berg Kjoelstad (fredrikbk@hotmail.com), * * Ralf Lange (ralf.lange@longsoft.de) * * * * 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; either version 2 of the License, or * * (at your option) any later version. * * * * 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. * * * * You should have received a copy of the GNU General Public License * * along with this program; if not, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ******************************************************************************/ #include "aboutdialog.h" #include #include #include #include #include #include "licence.h" #include "technical/preferencestool.h" AboutDialog::AboutDialog(Frontend *f, QWidget *parent) : QDialog(parent) { frontend = f; QString iconFile(frontend->getGraphicsDirName()); iconFile.append(QLatin1String("qstopmotion_logo_60.png")); tabWidget = new QTabWidget; QWidget *aboutWidget = new QWidget; QVBoxLayout *aboutLayout = new QVBoxLayout; QLabel *logoLabel = new QLabel; logoLabel->setPixmap(QPixmap(iconFile)); logoLabel->setScaledContents(true); aboutLayout->addWidget(logoLabel); aboutLayout->addWidget(new QLabel( "

" + tr("This is the qStopMotion application for creating stop motion animations.") + "

" "

" + tr("Version: ") + PreferencesTool::applicationVersion + "

" "

© 2010-" + PreferencesTool::applicationYear + ", Ralf Lange, longsoft.de

" "
")); aboutLayout->addWidget(new QLabel( "

" + tr("qStopMotion is a fork of stopmotion for linux.") + "

" "

http://developer.skolelinux.no/info/studentgrupper/2005-hig-stopmotion/index.php

" "

" + tr("Version: ") + "0.6.2

" "

© 2005-2008, Bjørn Erik Nilsen " + tr("and") + " Fredrik Berg Kjølstad

")); aboutWidget->setLayout(aboutLayout); tabWidget->addTab(aboutWidget, tr("&About")); QTextEdit *autorsText = new QTextEdit; autorsText->setHtml( "

" + tr("Main developers") + " - qStopMotion
" "Ralf Lange <ralf.lange@longsoft.de>
" "

" + tr("Main developers") + " - stopmotion for Linux
" "Bjørn Erik Nilsen <bjoern.nilsen@bjoernen.com>
" "Fredrik Berg Kjølstad <fredrikbk@hotmail.com>
" "

" + tr("Contributors") + " - stopmotion for Linux
" "Eric Stolten <stoltene2@gmail.com>
" "Josh Green <josh@resonance.org>
" "

" ); autorsText->setReadOnly(true); autorsText->setBackgroundRole(backgroundRole()); tabWidget->addTab(autorsText, tr("A&uthors")); QTextEdit *thanksText = new QTextEdit; thanksText->setHtml( "

" + tr("Translation") + "
" "Norma Klinsmann (" + tr("French") + " - qStopMotion)
" "Guillaume B <littletux@zarb.org> (" + tr("French") + " - stopmotion for Linux)
" "David Lamhauge <davidlamhauge@gmail.com> (" + tr("Danish") + ")
" "David Rylander <david@rylanderanimation.se> (" + tr("Swedish") + ")
" "Ralf Lange <ralf.lange@longsoft.de> (" + tr("German") + ")
" "Pavel Fric <pavelfric@seznam.cz> (" + tr("Czech") + ")
" /* "Gorazd Bizjak and Matej Lavreni <info@zapstudio.net> (" + tr("Slovenian") + ")
" "José Jorge <jjorge@free.fr> (" + tr("Portuguese") + ")
" "Manuel Quiñones <manuel.por.aca@gmail.com> (" + tr("Spanish") + ")
" "Koray Löker <loker@pardus.org.tr> (" + tr("Turkish") + ")
" "Diego Giordano <fusion_machine@tin.it> (" + tr("Italian") + ")
" "Matteo Comisso <teomatteo8.9@hotmail.it> (" + tr("Italian") + ")
" "

" "

" + tr("Logo") + "
" "Gorazd Bizjak <gorazd@zapstudio.net>
" "

" + tr("Coordinating") + "
" "Herman Robak <herman@skolelinux.no>
" "Øyvind Kolås <pippin@gimp.org>

" "

" + tr("Testing") + "
" "Tore Sinding Bekkedal <toresbe@ifi.uio.no>
" "Finn Arne Johansen <faj@bzz.no>
" "Halvor Borgen <halvor.borgen@hig.no>
" "Bjørn Are Hansen <post@bahansen.net>
" "John Steinar Bildøy <johnsbil@haldenfriskole.no>
" "Ole-Anders Andreassen <ole-anders.andreassen@sunndal.kommune.no>
" */ "

" ); thanksText->setReadOnly(true); thanksText->setBackgroundRole(backgroundRole()); tabWidget->addTab(thanksText, tr("&Thanks To")); QWidget *licenceWidget = new QWidget; QVBoxLayout *licenceLayout = new QVBoxLayout; licenceLayout->addWidget(new QLabel(tr("This program is distributed under the terms of the GPL v2."))); QTextEdit *licenceText = new QTextEdit; licenceText->setReadOnly(true); licenceText->setPlainText(licence); licenceLayout->addWidget(licenceText); licenceWidget->setLayout(licenceLayout); tabWidget->addTab(licenceWidget, tr("&Licence Agreement")); QString version; QWidget *systemWidget = new QWidget; QVBoxLayout *systemLayout = new QVBoxLayout; // Add line contaning the Qt version number systemLayout->addWidget(new QLabel(tr("Qt runtime version: ") + qVersion())); // Add line containing the OS version number version.append(tr("Operating system name and version: ")); #if defined(Q_OS_WIN32) || defined(Q_OS_WIN64) // Windows version switch(QSysInfo::WindowsVersion) { case QSysInfo::WV_NT: version.append("Windows NT (4.0)"); break; case QSysInfo::WV_2000: version.append("Windows 2000 (5.0)"); break; case QSysInfo::WV_XP: version.append("Windows XP (5.1)"); break; case QSysInfo::WV_2003: version.append("Windows 2003 (5.2)"); break; case QSysInfo::WV_VISTA: version.append("Windows Vista (6.0)"); break; case QSysInfo::WV_WINDOWS7: version.append("Windows 7 (6.1)"); break; case QSysInfo::WV_WINDOWS8: version.append("Windows 8 (6.2)"); break; case QSysInfo::WV_WINDOWS8_1: version.append("Windows 8.1 (6.3)"); break; default: version.append(tr("Unknown Windows OS")); break; } #endif #ifdef Q_OS_OSX // Apple OS X version switch(QSysInfo::MacintoshVersion) { case QSysInfo::MV_10_3: version.append("Mac OS X 10.3 (Panther)"); break; case QSysInfo::MV_10_4: version.append("Mac OS X 10.4 (Tiger)"); break; case QSysInfo::MV_10_5: version.append("Mac OS X 10.5 (Leopard)"); break; case QSysInfo::MV_10_6: version.append("Mac OS X 10.6 (Snowleopard)"); break; case QSysInfo::MV_10_7: version.append("Mac OS X 10.7 (Lion)"); break; case QSysInfo::MV_10_8: version.append("Mac OS X 10.8 (Mountainlion)"); break; case QSysInfo::MV_10_9: version.append("Mac OS X 10.9 (Mavericks)"); break; default: version.append(tr("Unknown Mac OS")); break; } #endif #ifdef Q_OS_LINUX // Linux version QProcess uname; uname.start("uname -ro"); if (uname.waitForStarted()) { if (uname.waitForFinished()) { version.append(uname.readAll()); } } #endif systemLayout->addWidget(new QLabel(version)); QString buildTime(QString(tr("Build time: %1 %2")).arg(__DATE__).arg(__TIME__)); systemLayout->addWidget(new QLabel(buildTime)); systemLayout->addStretch(); systemWidget->setLayout(systemLayout); tabWidget->addTab(systemWidget, tr("&System Info")); QPushButton *okButton = new QPushButton(tr("OK"), this); connect(okButton, SIGNAL(clicked()), this, SLOT(close())); QHBoxLayout *buttonLayout = new QHBoxLayout; buttonLayout->addStretch(1); buttonLayout->addWidget(okButton); QVBoxLayout *mainLayout = new QVBoxLayout; mainLayout->addWidget(tabWidget); mainLayout->addLayout(buttonLayout); setLayout(mainLayout); setAttribute(Qt::WA_DeleteOnClose); setWindowTitle(tr("About")); setMinimumWidth(550); }