/* QAD - Qt ADvanced Ivan Pelipenko peri4ko@yandex.ru, Andrey Bychkov work.a.b@yandex.ru This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 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 Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ #ifndef ABOUTWINDOW_H #define ABOUTWINDOW_H #include "qad_application_export.h" #include #define ADD_ABOUT_VERSION(lib) \ { \ if (lib##_VERSION_BUILD > 0) \ AboutWindow::addVersion(#lib, lib##_VERSION_NAME " (build " + QString::number(lib##_VERSION_BUILD) + ")"); \ else \ AboutWindow::addVersion(#lib, lib##_VERSION_NAME); \ } #define ADD_ABOUT_VERSION_NAMED(lib, label) \ { \ if (lib##_VERSION_BUILD > 0) \ AboutWindow::addVersion(label, lib##_VERSION_NAME " (build " + QString::number(lib##_VERSION_BUILD) + ")"); \ else \ AboutWindow::addVersion(label, lib##_VERSION_NAME); \ } #define ADD_ABOUT_BUILD_INFO(lib) \ AboutWindow::addBuildInfo("Arch", lib##_ARCH); \ AboutWindow::addBuildInfo("Compiler", lib##_CXX_COMPILER); \ AboutWindow::addBuildInfo("CMake", lib##_CMAKE_VERSION); \ AboutWindow::addBuildInfo("Date", lib##_BUILD_DATE); namespace Ui { class AboutWindow; } class QAD_APPLICATION_EXPORT AboutWindow: public QDialog { Q_OBJECT typedef QPair SSPair; explicit AboutWindow(QWidget * parent = 0); ~AboutWindow(); public: static void setLogo(QImage im); static void setLogo(QString path); static void addVersion(QString name, QString version); static void addBuildInfo(QString name, QString value); static void setComment(QString text); static void setStyleSheet(QString ss); static void show(); protected: virtual void changeEvent(QEvent * e); virtual int exec(); QString authors(); private: Ui::AboutWindow * ui; static QImage logo; static QVector versions, builds; static QString stylesheet, comment; }; #endif // ABOUTWINDOW_H