diff --git a/qad/application/aboutwindow.cpp b/qad/application/aboutwindow.cpp index 19619c7..0eceda0 100644 --- a/qad/application/aboutwindow.cpp +++ b/qad/application/aboutwindow.cpp @@ -11,14 +11,17 @@ QImage AboutWindow::logo; QVector AboutWindow::versions, AboutWindow::builds; -QString AboutWindow::comment; +QString AboutWindow::comment, AboutWindow::stylesheet; AboutWindow::AboutWindow(QWidget * parent): QDialog(parent), ui(new Ui::AboutWindow) { #ifdef ANDROID - setStyleSheet("font: 12pt \"DejaVu Sans\";"); + QDialog::setStyleSheet("font: 12pt \"DejaVu Sans\";"); #endif + if (!stylesheet.isEmpty()) + QDialog::setStyleSheet(stylesheet); ui->setupUi(this); + ui->labelAuthors->setOpenExternalLinks(true); QImage logo_im = logo; if (logo_im.isNull()) logo_im.load(":/icons/splash.png"); @@ -92,6 +95,11 @@ void AboutWindow::addVersion(QString name, QString version) { foreach (const SSPair & p, versions) { if (p.first == name) return; } + version.prepend(""); + if (version.contains("(")) + version.insert(version.indexOf("("), ""); + else + version.append(""); versions << SSPair(name, version); } @@ -110,6 +118,11 @@ void AboutWindow::setComment(QString text) { } +void AboutWindow::setStyleSheet(QString ss) { + stylesheet = ss; +} + + void AboutWindow::show() { AboutWindow w; w.exec(); @@ -155,8 +168,7 @@ QString AboutWindow::authors() { sl = l.split(";"); if (sl.size() > 0) name = sl[0].trimmed(); if (sl.size() > 1) mail = sl[1].trimmed(); - if (!ret.isEmpty()) ret += "\n"; - ret += QString("%1 (%2)").arg(name, mail); + ret += QString("

%1 (%2)

").arg(name, mail, QApplication::applicationName()); } return ret; } diff --git a/qad/application/aboutwindow.h b/qad/application/aboutwindow.h index 61ee868..ca988df 100644 --- a/qad/application/aboutwindow.h +++ b/qad/application/aboutwindow.h @@ -11,6 +11,13 @@ 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); \ @@ -34,6 +41,7 @@ public: 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(); @@ -48,7 +56,7 @@ private: static QImage logo; static QVector versions, builds; - static QString comment; + static QString stylesheet, comment; };