File: AboutWindow.h

package info (click to toggle)
dyssol 1.5.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 18,184 kB
  • sloc: cpp: 53,870; sh: 85; python: 59; makefile: 11
file content (46 lines) | stat: -rw-r--r-- 963 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
/* Copyright (c) 2020, Dyssol Development Team. All rights reserved. This file is part of Dyssol. See LICENSE file for license information. */

#pragma once

#include "ui_AboutWindow.h"

class CAboutWindow : public QDialog
{
	Q_OBJECT

	struct S3rdParty
	{
		QString name;
		QString link;
		QString text;
		QString licenseName;
		QString licenseLink;
	};

	Ui::CAboutWindow ui{};

	QString m_headerProgramName;
	QString m_headerTeamName;
	QString m_headerUpdatesLink;

	std::vector<QString> m_mainDevelopers;
	std::vector<QString> m_otherDevelopers;

	std::vector<S3rdParty> m_libraries;

public:
	CAboutWindow(QWidget* parent = nullptr);

private:
	void InitializeConnections() const;

	void SetHeaderText() const;
	void SetLicense() const;
	void SetContributors() const;
	void SetThirdParties() const;

	/**
	 * Returns text decorated as a clickable link to show in the text browser.
	 */
	static QString MakeLink(const QString& _text, const QString& _url);
};