src/version.cpp

Mon, 27 Jun 2022 15:55:27 +0300

author
Teemu Piippo <teemu.s.piippo@gmail.com>
date
Mon, 27 Jun 2022 15:55:27 +0300
changeset 274
1331aba5d36b
parent 273
57952c5ca59b
child 280
d0774130e860
permissions
-rw-r--r--

Show current subwindow title in main window title

/*
 *  LDForge: LDraw parts authoring CAD
 *  Copyright (C) 2013 - 2020 Teemu Piippo
 *
 *  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 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 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 <QString>
#include <QDateTime>
#include <time.h>
#include <hginfo.h>
#include "src/version.h"

#ifdef HG_ALL_TAGS
# define HGTEXT HG_NODE " (" HG_ALL_TAGS ")"
#else
# define HGTEXT HG_NODE
#endif

QString detailedVersionString()
{
	return QStringLiteral(VERSION_STRING "-" HGTEXT)
		+ " (" + revisionDateString() + ")";
}

QString versionString()
{
#ifndef HG_VERSION_TAG
	return detailedVersionString();
#else
	return QStringLiteral(HG_VERSION_TAG);
#endif
}

static QString makeFullVersionString()
{
	QString versionstring = APPNAME " " + versionString();
	return versionstring;
}

const QString& fullVersionString()
{
	static const QString cached = makeFullVersionString();
	return cached;
}

QString revisionDateString()
{
	const QDateTime dt = QDateTime::fromSecsSinceEpoch(HG_DATE_TIME);
	return dt.toString(QObject::tr("d MMM yyyy"));
}

mercurial