This repository has been archived on 2020-09-07. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
libs/qad/application/aboutwindow.h

64 lines
1.6 KiB
C++

#ifndef ABOUTWINDOW_H
#define ABOUTWINDOW_H
#include "qad_export.h"
#include <QDialog>
#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_EXPORT AboutWindow: public QDialog
{
Q_OBJECT
typedef QPair<QString, QString> 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<SSPair> versions, builds;
static QString stylesheet, comment;
};
#endif // ABOUTWINDOW_H