hydrogen 1.2.6
AboutDialog.cpp
Go to the documentation of this file.
1/*
2 * Hydrogen
3 * Copyright(c) 2002-2008 by Alex >Comix< Cominu [comix@users.sourceforge.net]
4 * Copyright(c) 2008-2025 The hydrogen development team [hydrogen-devel@lists.sourceforge.net]
5 *
6 * http://www.hydrogen-music.org
7 *
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation; either version 2 of the License, or
11 * (at your option) any later version.
12 *
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY, without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
17 *
18 * You should have received a copy of the GNU General Public License
19 * along with this program. If not, see https://www.gnu.org/licenses
20 *
21 */
22
23#include <core/Version.h>
25#include "AboutDialog.h"
26#include "Skin.h"
27
28#include <core/Globals.h>
29
30#include <vector>
31
32
33
35 : QDialog( parent )
36{
37 setupUi( this );
38
39 setWindowTitle( tr( "About" ) );
40
41 // Show and enable maximize button. This is key when enlarging the
42 // application using a scaling factor and allows the OS to force its size
43 // beyond the minimum and make the scrollbars appear.
44 setWindowFlags( windowFlags() | Qt::CustomizeWindowHint |
45 Qt::WindowMinMaxButtonsHint );
46
47 move( 240, 100 );
48
49 QString about;
50 about += QString("<center><b>Hydrogen Drum Machine %1 [%2] </b><br>").arg( H2Core::get_version().c_str() ).arg( __DATE__ );
51 about += "<br><b>" + tr( "Website" ) + "</b><br>";
52 about += "<a href='http://www.hydrogen-music.org' style='color: #EEE;'>http://www.hydrogen-music.org</a><br>";
53 about += "<br><b>" + tr( "Project page") + "</b><br>";
54 about += "<a href='https://github.com/hydrogen-music/hydrogen' style='color: #EEE;'>https://github.com/hydrogen-music/hydrogen</a><br>";
55 about += "<br><b>" + tr( "Forum" ) + "</b><br>";
56 about += "<a href='https://github.com/hydrogen-music/hydrogen/discussions' style='color: #EEE;'>https://github.com/hydrogen-music/hydrogen/discussions</a><br>";
57 about += "<br><b>" + tr( "Development mailing list") + "</b><br>";
58 about += "<a href='https://lists.sourceforge.net/lists/listinfo/hydrogen-devel' style='color: #EEE;'>https://lists.sourceforge.net/lists/listinfo/hydrogen-devel</a>";
59
60 aboutTxt->setText( about );
61 aboutTxt->setOpenExternalLinks( true );
62 aboutTxt->setTextInteractionFlags( Qt::TextBrowserInteraction );
63
64 std::vector<Author> translatorList;
65 translatorList.push_back( Author( "Olivier Humbert", "trebmuh@tuxfamily.org", "French translation" ) );
66 translatorList.push_back( Author( "Daryl Hanlon", "darylo1@hotmail.com", "Spanish translation" ) );
67 translatorList.push_back( Author( "Guocheng Zhu", "aaronbcn@outlook.es", "Chinese (Mainland China) translation" ) );
68 QString sAuthors;
69 sAuthors += "<b>" + tr( "Main coders and maintainers" ) + ":</b>";
70 sAuthors += "<ul><li><p>Philipp Müller (aka theGreatWhiteShark) [2020-now]</p></li>";
71 sAuthors += "<li><p>Colin McEwan (aka cme) [2020-now]</p></li></ul></br>";
72
73 sAuthors += "<b>" + tr( "Active translators" ) + ":</b>";
74 sAuthors += "<ul>";
75
76 for ( auto tt : translatorList ) {
77 sAuthors += "<li><p>";
78 sAuthors += tt.m_sName + " (<i>" + tt.m_sEmail + "</i>): " + tt.m_sInfo;
79 sAuthors += "</p></li>";
80 }
81 sAuthors += "</ul></br>";
82
83 AboutDialogContributorList contributors;
84 auto pContributorList = contributors.getContributorList();
85
86 sAuthors += "<b>" + tr( "Recent contributors" ) + ":</b>";
87 sAuthors += "<ul>";
88
89 for ( const auto& tt : *pContributorList ) {
90 sAuthors += "<li><p>";
91 sAuthors += tt;
92 sAuthors += "</p></li>";
93 }
94 sAuthors += "</ul></br>";
95
96 sAuthors += "<p><a href='https://github.com/hydrogen-music/hydrogen/graphs/contributors' style='color: #EEE;'>" + tr( "A full list of all contributors can be found on" ) +
97 " Github</a></p>";
98
99
100 sAuthors += "<b>" + tr( "Former main coders and maintainers" ) + ":</b>";
101 sAuthors += "<ul><li><p>Alessandro Cominu (aka Comix) [2001-2008]</li>";
102 sAuthors += "<li><p>Michael Wolkstein (aka Wolke) [2008-2014]</li>";
103 sAuthors += "<li><p>Sebastian Moors (aka Mauser) [2008-2021]</li></ul></br>";
104
105 authorsText->setText( sAuthors );
106 authorsText->setOpenExternalLinks( true );
107 authorsText->setTextInteractionFlags( Qt::TextBrowserInteraction );
108
109 logoLabel->setPixmap( QPixmap( Skin::getImagePath() +"/about/aboutLogo.png" ) );
110}
111
112
113
114
118
119
120
121
126{
127 accept();
128}
std::shared_ptr< std::vector< QString > > getContributorList() const
AboutDialog(QWidget *parent)
void on_okBtn_clicked()
Close the dialog.
static QString getImagePath()
Definition Skin.h:36
std::string get_version()
Returns the current Hydrogen version string.
Definition Version.cpp:30