Marble

MarbleAboutDialog.cpp
1/*
2 SPDX-FileCopyrightText: 2004-2007 Torsten Rahn <tackat@kde.org>
3 SPDX-FileCopyrightText: 2007 Inge Wallin <ingwa@kde.org>
4
5 SPDX-License-Identifier: LGPL-2.0-or-later
6*/
7
8#include "MarbleAboutDialog.h"
9#include "ui_MarbleAboutDialog.h"
10
11#include <QFile>
12#include <QPixmap>
13#include <QTextFrame>
14#include <QTextStream>
15
16#include "MarbleDirs.h"
17#include "MarbleGlobal.h"
18
19namespace Marble
20{
21
22class MarbleAboutDialogPrivate
23{
24public:
25 MarbleAboutDialogPrivate();
26
27 void loadPageContents(int idx);
28
29 Ui::MarbleAboutDialog uiWidget;
30
31 bool authorsLoaded;
32 bool dataLoaded;
33 bool licenseLoaded;
34};
35
36MarbleAboutDialogPrivate::MarbleAboutDialogPrivate()
37 : authorsLoaded(false)
38 , dataLoaded(false)
39 , licenseLoaded(false)
40{
41}
42
43MarbleAboutDialog::MarbleAboutDialog(QWidget *parent)
44 : QDialog(parent)
45 , d(new MarbleAboutDialogPrivate)
46{
47 d->uiWidget.setupUi(this);
48
49 if (MarbleGlobal::getInstance()->profiles() & MarbleGlobal::SmallScreen) {
50 d->uiWidget.m_pMarbleTitleLabel->hide();
51 d->uiWidget.m_pMarbleVersionLabel->hide();
52 d->uiWidget.m_pMarbleLogoLabel->hide();
53 } else {
54 d->uiWidget.m_pMarbleLogoLabel->setPixmap(QPixmap(MarbleDirs::path(QStringLiteral("svg/marble-logo-72dpi.png"))));
55 }
56
57 QString const applicationTitle = QObject::tr("Marble Virtual Globe");
58 setApplicationTitle(applicationTitle);
59
60 connect(d->uiWidget.tabWidget, SIGNAL(currentChanged(int)), this, SLOT(loadPageContents(int)));
61}
62
63MarbleAboutDialog::~MarbleAboutDialog()
64{
65 delete d;
66}
67
68void MarbleAboutDialogPrivate::loadPageContents(int idx)
69{
70 if (idx == 1 && !authorsLoaded) {
71 authorsLoaded = true;
72 QTextBrowser *const browser = uiWidget.m_pMarbleAuthorsBrowser;
73 browser->setHtml(
74 QObject::tr("<b>Active Development Team of Marble</b>")
75 + QObject::tr("<p>Torsten Rahn <a href=\"mailto:rahn@kde.org\">rahn@kde.org</a><br />"
76 "<i>Developer and Original Author</i></p>")
77 + QObject::tr("<p>Dennis Nienh&uuml;ser <a href=\"mailto:nienhueser@kde.org\">nienhueser@kde.org</a><br />"
78 "<i>Routing, Navigation, Mobile</i></p>")
79 + QObject::tr("<p>Bernhard Beschow <a href=\"mailto:bbeschow@cs.tu-berlin.de\">bbeschow@cs.tu-berlin.de</a><br />"
80 "<i>WMS Support, Mobile, Performance</i></p>")
81 + QObject::tr("<p>Friedrich W. H. Kossebau, <a href=\"mailto:kossebau@kde.org\">kossebau@kde.org</a><br />"
82 "<i>Plasma Integration, Bugfixes</i></p>")
83 + QObject::tr("<p>Thibaut Gridel <a href=\"mailto:tgridel@free.fr\">tgridel@free.fr</a><br />"
84 "<i>Geodata</i></p>")
85 + QObject::tr("<p>Jens-Michael Hoffmann <a href=\"mailto:jensmh@gmx.de\">jensmh@gmx.de</a><br />"
86 "<i>OpenStreetMap Support, Download Management</i></p>")
87 + QObject::tr("<p>Florian E&szlig;er <a href=\"mailto:f.esser@rwth-aachen.de\">f.esser@rwth-aachen.de</a><br />"
88 "<i>Elevation Profile</i></p>")
89 + QObject::tr("<p>Wes Hardaker <a href=\"mailto:marble@hardakers.net\">marble@hardakers.net</a><br />"
90 "<i>Amateur Radio Support</i></p>")
91 + QObject::tr("<p>Bastian Holst, <a href=\"mailto:bastianholst@gmx.de\">bastianholst@gmx.de</a><br />"
92 "<i>Online Services Support</i></p>")
93 + QObject::tr("<p>Guillaume Martres, <a href=\"mailto:smarter@ubuntu.com\">smarter@ubuntu.com</a><br />"
94 "<i>Satellites</i></p>")
95 + QObject::tr("<p>Ren&#xE9; K&#xFC;ttner, <a href=\"mailto:rene@bitkanal.net\">rene@bitkanal.net</a><br />"
96 "<i>Planetary Satellites</i></p>")
97 + QObject::tr("<p>Niko Sams <a href=\"mailto:niko.sams@gmail.com\">niko.sams@gmail.com</a><br />"
98 "<i>Routing, Elevation Profile</i></p>")
99 + QObject::tr("<p>Patrick Spendrin <a href=\"pspendrin@gmail.com\">pspendrin@gmail.com</a><br />"
100 "<i>KML and Windows Support</i></p>")
101 + QObject::tr("<p>Eckhart W&ouml;rner <a href=\"mailto:kde@ewsoftware.de\">kde@ewsoftware.de</a><br />"
102 "<i>Bugfixes</i></p>")
103 + QObject::tr("<b>Developers</b>")
104 + QObject::tr("<p>M&eacute;d&eacute;ric Boquien <a href=\"mailto:mboquien@free.fr\">mboquien@free.fr</a><br />"
105 "<i>Astronomical Observatories</i></p>")
106 + QObject::tr("<p>Harshit Jain <a href=\"mailto:sonu.itbhu@googlemail.com\">sonu.itbhu@googlemail.com</a><br />"
107 "<i>Planet Filter, Bugfixes</i></p>")
108 + QObject::tr("<p>Andrew Manson <a href=\"mailto:g.real.ate@gmail.com\">g.real.ate@gmail.com</a><br />"
109 "<i>Proxy Support</i></p>")
110 + QObject::tr("<p>Pino Toscano <a href=\"mailto:pino@kde.org\">pino@kde.org</a><br />"
111 "<i>Network plugins</i></p>")
112 + QObject::tr("<p>Henry de Valence <a href=\"mailto:hdevalence@gmail.com\">hdevalence@gmail.com</a><br />"
113 "<i>Marble Runners, World-Clock Plasmoid</i></p>")
114 + QObject::tr("<p>Magnus Valle<br /><i>Historical Maps</i></p>")
115 + QObject::tr("<p>Inge Wallin <a href=\"mailto:inge@lysator.liu.se\">inge@lysator.liu.se</a><br />"
116 "<i>Original Co-Maintainer</i></p>")
117 + QObject::tr("<p><i>Development &amp; Patches:</i> Simon Schmeisser, Claudiu Covaci, David Roberts, Nikolas Zimmermann, Jan Becker, "
118 "Stefan Asserh&auml;ll, Laurent Montel, Prashanth Udupa, Anne-Marie Mahfouf, Josef Spillner, Frerich Raabe, "
119 "Frederik Gladhorn, Fredrik H&ouml;glund, Albert Astals Cid, Thomas Zander, Joseph Wenninger, Kris Thomsen, "
120 "Daniel Molkentin </p>")
121 + QObject::tr("<p><i>Platforms &amp; Distributions:</i> "
122 "Tim Sutton, Christian Ehrlicher, Ralf Habacker, Steffen Joeris, Marcus Czeslinski, Marcus D. Hanwell, Chitlesh Goorah, Sebastian "
123 "Wiedenroth, Christophe Leske</p>")
124 + QObject::tr("<p><i>Artwork:</i> Nuno Pinheiro, Torsten Rahn</p>") + QObject::tr("<b>Join us</b>")
125 + QObject::tr("<p>You can reach the developers of the Marble Project at <a href=\"mailto:marble-devel@kde.org\">marble-devel@kde.org</a></p>")
126 + QObject::tr("<b>ESA - Summer of Code in Space</b>")
127 + QObject::tr("<p> The Marble Team would like to thank its members who participated "
128 "in ESA SoCiS for their successful work on Marble:</p>")
129 + QObject::tr("<p><b>2016</b></p>")
130 + QObject::tr("<p>Judit Bartha, <a href=\"mailto:bartha.m.judit@gmail.com\"> bartha.m.judit@gmail.com </a><br />"
131 "<i>Project: Improving Marble's Satellite maps using Sentinel-2 mission data</i></p>")
132 + QObject::tr("<p><b>2015</b></p>")
133 + QObject::tr("<p>Ana Badescu, <a href=\"mailto:anabee.emacs@gmail.com\"> anabee.emacs@gmail.com </a><br />"
134 "<i>Project: Integrate data provided by the Sentinel missions</i></p>")
135 + QObject::tr("<p><b>2014</b></p>")
136 + QObject::tr("<p>G&#xE1;bor P&#xE9;terffy, <a href=\"mailto:peterffy95@gmail.com\"> peterffy95@gmail.com </a><br />"
137 "<i>Project: Panoramic Picture Support for celestial bodies in Marble </i></p>")
138 + QObject::tr("<p><b>2013</b></p>")
139 + QObject::tr("<p>Marek Hakala, <a href=\"mailto:hakala.marek@gmail.com\">hakala.marek@gmail.com</a><br />"
140 "<i>Project: Displaying Solar / Lunar Eclipses in Marble </i></p>")
141 + QObject::tr("<p><b>2012</b></p>")
142 + QObject::tr("<p>Ren&#xE9; K&#xFC;ttner, <a href=\"mailto:rene@bitkanal.net\">rene@bitkanal.net</a><br />"
143 "<i>Project: Visualization of planetary satellites</i></p>")
144 + QObject::tr("<p><b>2011</b></p>")
145 + QObject::tr("<p>Guillaume Martres, <a href=\"mailto:smarter@ubuntu.com\">smarter@ubuntu.com</a><br />"
146 "<i>Project: Visualization of Satellite Orbits</i></p>")
147 +
148
149 QObject::tr("<b>Google Code-in</b>")
150 + QObject::tr("<p> The Marble Team would like to thank its members who participated "
151 "in the Google Code-in for their successful work on Marble:</p>")
152 + QObject::tr("<p><b>2014</b></p>")
153 + QObject::tr("Ilya Kowalewski <a href=\"mailto:illya.kovalevskyy@gmail.com\">illya.kovalevskyy@gmail.com</a><br />")
154 + QObject::tr("Mikhail Ivchenko <a href=\"mailto:ematirov@gmail.com\">ematirov@gmail.com</a><br />")
155 + QObject::tr("Sergey Popov <a href=\"mailto:sergobot256@gmail.com\">sergobot256@gmail.com</a><br />")
156 + QObject::tr("Daniel Pastushchak <a href=\"mailto:danikpastushchak90@gmail.com\">danikpastushchak90@gmail.com</a><br />") +
157
158 QObject::tr("<p><b>2013</b></p>")
159 + QObject::tr("Ilya Kowalewski <a href=\"mailto:illya.kovalevskyy@gmail.com\">illya.kovalevskyy@gmail.com</a><br />")
160 + QObject::tr("Mikhail Ivchenko <a href=\"mailto:ematirov@gmail.com\">ematirov@gmail.com</a><br />")
161 + QObject::tr("Levente Kurusa <a href=\"mailto:levex@linux.com\">levex@linux.com</a><br />")
162 + QObject::tr("Benjamin Kaiser <a href=\"mailto:benjaminjkaiser@gmail.com\">benjaminjkaiser@gmail.com</a><br />")
163 + QObject::tr("<p><b>2012</b></p>")
164 + QObject::tr("Ilya Kowalewski <a href=\"mailto:illya.kovalevskyy@gmail.com\">illya.kovalevskyy@gmail.com</a><br />")
165 + QObject::tr("Mohammed Nafees <a href=\"mailto:nafees.technocool@gmail.com\">nafees.technocool@gmail.com</a></p><br />")
166 + QObject::tr("Mayank Madan <a href=\"mailto:maddiemadan@gmail.com\">maddiemadan@gmail.com</a><br />")
167 + QObject::tr("Timothy Lanzi <a href=\"mailto:trlanzi@gmail.com\">trlanzi@gmail.com</a></p>") + QObject::tr("<p><b>2011</b></p>")
168 + QObject::tr("<p>Utku Ayd&#x131;n <a href=\"mailto:utkuaydin34@gmail.com\">utkuaydin34@gmail.com</a><br />")
169 + QObject::tr("Daniel Marth <a href=\"mailto:danielmarth@gmx.at\">danielmarth@gmx.at</a><br />")
170 + QObject::tr("Cezar Mocan <a href=\"mailto:mocancezar@gmail.com\">mocancezar@gmail.com</a><br />")
171 + QObject::tr("Furkan &Uuml;z&uuml;mc&uuml; <a href=\"mailto:furkanuzumcu@gmail.com\">furkanuzumcu@gmail.com</a></p>") +
172
173 QObject::tr("<b>Google Summer of Code</b>")
174 + QObject::tr("<p> The Marble Team would like to thank its members who participated "
175 "in the Google Summer of Code for their successful work on Marble:</p>")
176 + QObject::tr("<p><b>2017</b></p>")
177 + QObject::tr("<p>Mohammed Nafees <a href=\"mailto:nafees.technocool@gmail.com\">nafees.technocool@gmail.com</a><br />"
178 "<i>Project: Marble Indoor Maps</i></p>")
179 + QObject::tr("<p>Judit Bartha <a href=\"mailto:bartha.m.judit@gmail.com\">bartha.m.judit@gmail.com</a><br />"
180 "<i>Project: Marble Material Maps</i></p>")
181 + QObject::tr("<p><b>2016</b></p>")
182 + QObject::tr("<p>Dávid Kolozsvári <a href=\"freedawson@gmail.com\">freedawson@gmail.com</a><br />"
183 "<i>Project: Fluent graphics across every tile level in Marble's OSM vector map</i></p>")
184 + QObject::tr("<p>Akshat Tandon <a href=\"akshat.tandon@research.iiit.ac.in\">akshat.tandon@research.iiit.ac.in</a><br />"
185 "<i>Project: Support for medium and low tile levels in the OSM Vector Map of Marble</i></p>")
186 + QObject::tr("<p><b>2015</b></p>")
187 + QObject::tr("<p>Dávid Kolozsvári <a href=\"freedawson@gmail.com\">freedawson@gmail.com</a><br />"
188 "<i>Project: Improve Marble's OSM vector rendering support</i></p>")
189 + QObject::tr("<p>Gábor Péterffy <a href=\"gabor.peterffy@gmail.com\">gabor.peterffy@gmail.com</a><br />"
190 "<i>Project: Porting Marble to Android platform</i></p>")
191 + QObject::tr("<p>Marius Valeriu Stanciu <a href=\"stanciumarius94@gmail.com\">stanciumarius94@gmail.com</a><br />"
192 "<i>Project: Offering OpenStreetMap support and improving Edit Mode for Marble</i></p>")
193 + QObject::tr("<p><b>2014</b></p>")
194 + QObject::tr("<p>Abhinav Gangwar <a href=\"abhgang@gmail.com\">abhgang@gmail.com</a><br />"
195 "<i>Project: Marble Game</i></p>")
196 + QObject::tr("<p>Calin Cruceru <a href=\"crucerucalincristian@gmail.com\">crucerucalincristian@gmail.com</a><br />"
197 "<i>Project: Editing Mode for Polygons</i></p>")
198 + QObject::tr("<p>Sanjiban Bairagya <a href=\"sanjiban22393@gmail.com\">sanjiban22393@gmail.com</a><br />"
199 "<i>Project: Interactive Tours </i></p>")
200 + QObject::tr("<p><b>2013</b></p>")
201 + QObject::tr("<p>Adrian Draghici <a href=\"draghici.adrian.b@gmail.com\">draghici.adrian.b@gmail.com</a><br />"
202 "<i>Project: Marble KML Map Editor</i></p>")
203 + QObject::tr("<p>Andrei Duma <a href=\"andrei.duma.dorian@gmail.com\">andrei.duma.dorian@gmail.com</a><br />"
204 "<i>Project: Marble meets ownCloud</i></p>")
205 + QObject::tr("<p>Utku Ayd&#x131;n <a href=\"utkuaydin34@gmail.com\">utkuaydin34@gmail.com</a><br />"
206 "<i>Project: ownCloud storage and synchronization for Marble </i></p>")
207 + QObject::tr("<p>Ren&#xE9; K&#xFC;ttner <a href=\"rene@bitkanal.net\">rene@bitkanal.net</a><br />"
208 "<i>Project: OpenGL SceneGraph</i></p>")
209 + QObject::tr("<p><b>2012</b></p>")
210 + QObject::tr("<p>Ander Pijoan <a href=\"ander.pijoan@deusto.es\">ander.pijoan@deusto.es</a><br />"
211 "<i>Project: OpenStreetMap Vector Rendering</i></p>")
212 + QObject::tr("<p>Cezar Mocan <a href=\"mocancezar@gmail.com\">mocancezar@gmail.com</a><br />"
213 "<i>Project: Natural Earth Vector Map</i></p>")
214 + QObject::tr("<p>Bernhard Beschow <a href=\"bbeschow@cs.tu-berlin.de\">bbeschow@cs.tu-berlin.de</a><br />"
215 "<i>Project: OpenGL Mode for Marble</i></p>")
216 + QObject::tr("<p><b>2011</b></p>")
217 + QObject::tr("<p>Konstantin Oblaukhov <a href=\"oblaukhov.konstantin@gmail.com\">oblaukhov.konstantin@gmail.com</a><br />"
218 "<i>Project: OpenStreetMap Vector Rendering</i></p>")
219 + QObject::tr("<p>Daniel Marth <a href=\"danielmarth@gmx.at\">danielmarth@gmx.at</a><br />"
220 "<i>Project: Marble Touch on MeeGo</i></p>")
221 + QObject::tr("<p><b>2010</b></p>")
222 + QObject::tr("<p>Gaurav Gupta <a href=\"mailto:1989.gaurav@gmail.com\">1989.gaurav@gmail.com</a><br />"
223 "<i>Project: Bookmarks</i></p>")
224 + QObject::tr("<p>Harshit Jain <a href=\"mailto:hjain.itbhu@gmail.com\">hjain.itbhu@gmail.com</a><br />"
225 "<i>Project: Time Support</i></p>")
226 + QObject::tr("<p>Siddharth Srivastava <a href=\"mailto:akssps011@gmail.com\">akssps011@gmail.com</a><br />"
227 "<i>Project: Turn-by-turn Navigation</i></p>")
228 + QObject::tr("<p><b>2009</b></p>")
229 + QObject::tr("<p>Andrew Manson <a href=\"mailto:g.real.ate@gmail.com\">g.real.ate@gmail.com</a><br />"
230 "<i>Project: OSM Annotation</i></p>")
231 + QObject::tr("<p>Bastian Holst <a href=\"mailto:bastianholst@gmx.de\">bastianholst@gmx.de</a><br />"
232 "<i>Project: Online Services</i></p>")
233 + QObject::tr("<p><b>2008</b></p>")
234 + QObject::tr("<p>Patrick Spendrin <a href=\"pspendrin@gmail.com\">pspendrin@gmail.com</a><br />"
235 "<i>Project: Vector Tiles for Marble</i></p>")
236 + QObject::tr("<p>Shashank Singh <a href=\"mailto:shashank.personal@gmail.com\">shashank.personal@gmail.com</a><br />"
237 "<i>Project: Panoramio / Wikipedia -photo support for Marble</i></p>")
238 + QObject::tr("<b>2007</b>")
239 + QObject::tr("<p>Carlos Licea <a href=\"mailto:carlos.licea@kdemail.net\">carlos.licea@kdemail.net</a><br />"
240 "<i>Project: Equirectangular Projection (\"Flat Map\")</i></p>")
241 + QObject::tr("<p>Andrew Manson <a href=\"mailto:g.real.ate@gmail.com\">g.real.ate@gmail.com</a><br />"
242 "<i>Project: GPS Support for Marble</i></p>")
243 + QObject::tr("<p>Murad Tagirov <a href=\"mailto:tmurad@gmail.com\">tmurad@gmail.com</a><br />"
244 "<i>Project: KML Support for Marble</i></p>")
245 + QObject::tr("<p>... and of course we'd like to thank the people at Google Inc. for making these projects possible.</p>")
246 + QObject::tr("<b>Credits</b>")
247 + QObject::tr("<p><i>Various Suggestions &amp; Testing:</i> Stefan Jordan, Robert Scott, Lubos Petrovic, Benoit Sigoure, "
248 "Martin Konold, Matthias Welwarsky, Rainer Endres, Luis Silva, Ralf Gesellensetter, Tim Alder</p>")
249 + QObject::tr("<p> We'd especially like to thank John Layt who provided an important source of inspiration "
250 "by creating Marble's predecessor \"Kartographer\".</p>"));
251 QTextFrameFormat format = browser->document()->rootFrame()->frameFormat();
252 format.setMargin(12);
253 browser->document()->rootFrame()->setFrameFormat(format);
254 }
255
256 if (idx == 2 && !dataLoaded) {
257 dataLoaded = true;
258 QTextBrowser *const browser = uiWidget.m_pMarbleDataBrowser;
259 browser->setHtml(QObject::tr("<b>Maps</b>")
260 + QObject::tr("<p><i>Blue Marble Next Generation (500 m / pixel)</i><br />"
261 "NASA Goddard Space Flight Center Earth Observatory "
262 "<a href=\"http://earthobservatory.nasa.gov/Newsroom/BlueMarble/\">"
263 "http://earthobservatory.nasa.gov/Newsroom/BlueMarble/</a></p>")
264 + QObject::tr("<p><i>Earth's City Lights</i><br />"
265 "Data courtesy Marc Imhoff of NASA GSFC and Christopher Elvidge of NOAA NGDC. "
266 "Image by Craig Mayhew and Robert Simmon, NASA GSFC.</p>")
267 + QObject::tr("<p><i>Shuttle Radar Topography Mission (SRTM30, 1 km / pixel )</i><br />"
268 "NASA Jet Propulsion Laboratory <a href=\"https://www2.jpl.nasa.gov/srtm/\">"
269 "https://www2.jpl.nasa.gov/srtm/</a></p>")
270 + QObject::tr("<p><i>Micro World Data Bank in Polygons (\"MWDB-POLY / MWDBII\")</i><br />"
271 "CIA ; Global Associates, Ltd.; Fred Pospeschil and Antonio Rivera</p>")
272 + QObject::tr("<p><i>Temperature and Precipitation Maps (July and December)</i><br />"
273 "A combination of two datasets:"
274 "<ul>"
275 "<li>Legates, D.R. and Willmott, C.J. 1989. Average Monthly Surface Air Temperature and "
276 "Precipitation. Digital Raster Data on a .5 degree Geographic (lat/long) 361x721 grid "
277 "(centroid-registered on .5 degree meridians). Boulder CO: National Center for Atmospheric Research. "
278 "<a href=\"http://www.ngdc.noaa.gov/ecosys/cdroms/ged_iia/datasets/a04/lw.htm\">"
279 "http://www.ngdc.noaa.gov/ecosys/cdroms/ged_iia/datasets/a04/lw.htm</a></li>"
280 "<li>CRU CL 2.0: New, M., Lister, D., Hulme, M. and Makin, I., 2002: A high-resolution "
281 "data set of surface climate over global land areas. Climate Research 21."
282 "<a href=\"https://crudata.uea.ac.uk/cru/data/hrg\">"
283 "https://crudata.uea.ac.uk/cru/data/hrg</a></li></ul></p>")
284 + QObject::tr("<b>Street Map</b>")
285 + QObject::tr("<p><i>OpenStreetMap</i><br />"
286 "The street maps used in Marble via download are provided by the <a href=\""
287 "https://www.openstreetmap.org\">OpenStreetMap</a> Project (\"OSM\"). "
288 "OSM is an open community which creates free editable maps.<br />"
289 "<i>License</i>: OpenStreetMap data can be used freely under the terms of the "
290 "<a href=\"https://wiki.openstreetmap.org/index.php/OpenStreetMap_License\">"
291 "Creative Commons Attribution-ShareAlike 2.0 license</a>.</p>")
292 + QObject::tr("<p><i>Icons</i><br />"
293 "Some icons are taken from <a href=\"https://www.sjjb.co.uk/mapicons\">SJJB Management</a> and <a "
294 "href=\"https://thenounproject.com\">NounProject</a>. "
295 "These icons can be used freely under the terms of the "
296 "<a href=\"https://creativecommons.org/publicdomain/zero/1.0/\">CC0 1.0 Universal</a> license.</p>")
297 + QObject::tr("<p>Some icons are taken from <a href=\"https://fortawesome.github.com/Font-Awesome\">Font Awesome</a>. "
298 "These icons can be used freely under the terms of the "
299 "<a href=\"https://creativecommons.org/licenses/by/3.0/\">CC BY 3.0</a> license.</p>")
300 + QObject::tr("<p><i>OpenRouteService</i><br />"
301 "Some of the routes used in Marble via download are provided by the <a href=\""
302 "https://maps.openrouteservice.org\">OpenRouteService</a> Project (\"ORS\"). <br />"
303 "<i>License</i>: OpenRouteService data can be used freely under the terms of the "
304 "<a href=\"https://wiki.openstreetmap.org/index.php/OpenStreetMap_License\">"
305 "Creative Commons Attribution-ShareAlike 2.0 license</a>.</p>")
306 + QObject::tr("<p><i>Open Source Routing Machine</i><br />"
307 "Some of the routes used in Marble via download are provided by the <a href=\""
308 "http://project-osrm.org\">Open Source Routing Machine</a> Project (\"OSRM\"). <br />"
309 "<i>License</i>: Open Source Routing Machine data can be used freely under the terms of the "
310 "<a href=\"https://wiki.openstreetmap.org/index.php/OpenStreetMap_License\">"
311 "Creative Commons Attribution-ShareAlike 2.0 license</a>.</p>")
312 + QObject::tr("<p><i>MapQuest</i><br />"
313 "Some of the routes used in Marble via download are provided by <a href=\""
314 "https://www.mapquest.com/\">MapQuest</a> and their Open Data Map APIs and Web Services.<br />"
315 "Directions courtesy of MapQuest working on OpenStreetMap data that can be used freely under the terms of the "
316 "<a href=\"https://wiki.openstreetmap.org/index.php/OpenStreetMap_License\">"
317 "Creative Commons Attribution-ShareAlike 2.0 license</a>. Usage of the MapQuest routing "
318 "service is subject to the <a href=\"https://info.mapquest.com/terms-of-use/\">MapQuest terms of use</a>.</p>")
319 + QObject::tr("<b>Cities and Locations</b>")
320 + QObject::tr("<p><i>World Gazetteer</i><br />Stefan Helders "
321 "<a href=\"http://www.world-gazetteer.com\">http://www.world-gazetteer.com</a></p>")
322 + QObject::tr("<p><i>Geonames.org</i><br />"
323 "<a href=\"https://www.geonames.org/\">https://www.geonames.org/</a>"
324 "<i>License</i>: Geonames.org data can be used freely under the terms of the "
325 "<a href=\"https://creativecommons.org/licenses/by/3.0/\">Creative Commons Attribution 3.0 license</a>.</p>")
326 + QObject::tr("<p><i>Czech Statistical Office</i><br />Public database "
327 "<a href=\"https://vdb.czso.cz/vdbvo2\">https://www.czso.cz</a></p>")
328 + QObject::tr("<b>Flags</b>")
329 + QObject::tr("<p><i>Flags of the World</i><br />The flags were taken from Wikipedia "
330 "(<a href=\"https://www.wikipedia.org\">https://www.wikipedia.org</a>) "
331 "which in turn took a subset from <a href=\"https://www.openclipart.org\">"
332 "https://www.openclipart.org</a> and reworked them. "
333 "All flags are under the public domain (see comments inside the svg files).</p>")
334 + QObject::tr("<b>Stars</b>")
335 + QObject::tr("<p><i>The Bright Star Catalogue</i><br />5th Revised Ed. (Preliminary Version) " // krazy:exclude=spelling
336 "Hoffleit D., Warren Jr W.H., Astronomical Data Center, NSSDC/ADC (1991)"
337 "<a href=\"https://heasarc.gsfc.nasa.gov/W3Browse/star-catalog/bsc5p.html\"> "
338 "https://heasarc.gsfc.nasa.gov</a></p>"));
339 QTextFrameFormat format = browser->document()->rootFrame()->frameFormat();
340 format.setMargin(12);
341 browser->document()->rootFrame()->setFrameFormat(format);
342 }
343
344 if (idx == 3 && !licenseLoaded) {
345 licenseLoaded = true;
346 QTextBrowser *const browser = uiWidget.m_pMarbleLicenseBrowser;
347 const QString filename = MarbleDirs::path(QStringLiteral("LICENSE.txt"));
348 if (!filename.isEmpty()) {
349 QFile f(filename);
350 if (f.open(QIODevice::ReadOnly)) {
351 QTextStream ts(&f);
352 browser->setText(ts.readAll());
353 }
354 f.close();
355 }
356 QTextFrameFormat format = browser->document()->rootFrame()->frameFormat();
357 format.setMargin(12);
358 browser->document()->rootFrame()->setFrameFormat(format);
359 }
360}
361
362void MarbleAboutDialog::setApplicationTitle(const QString &title)
363{
364 QString const titleHtml = QLatin1StringView("<b>") + title + QLatin1StringView("</b>");
365 d->uiWidget.m_pMarbleTitleLabel->setText(titleHtml);
366 QString const applicationVersion = tr("Using Marble Library version %1").arg(QLatin1StringView(MARBLE_VERSION_STRING));
367 d->uiWidget.m_pMarbleVersionLabel->setText(applicationVersion);
368 QTextBrowser *browser = d->uiWidget.m_pMarbleAboutBrowser;
369 QString text;
370 if (MarbleGlobal::getInstance()->profiles() & MarbleGlobal::SmallScreen) {
371 text = titleHtml + QLatin1StringView("<br />") + applicationVersion + QLatin1StringView("<br />");
372 }
373 browser->setHtml(
374 text
375 + tr("<br />(c) 2007-%1 by the authors of Marble Virtual Globe<br /><br /><a href=\"https://edu.kde.org/marble\">https://edu.kde.org/marble</a>")
376 .arg(2023));
377 QTextFrameFormat format = browser->document()->rootFrame()->frameFormat();
378 format.setMargin(12);
379 browser->document()->rootFrame()->setFrameFormat(format);
380}
381
382void MarbleAboutDialog::setInitialTab(MarbleAboutDialog::Tab tab)
383{
384 d->uiWidget.tabWidget->setCurrentIndex(tab);
385}
386
387}
388
389#include "moc_MarbleAboutDialog.cpp"
Binds a QML item to a specific geodetic location in screen coordinates.
QString tr(const char *sourceText, const char *disambiguation, int n)
QString arg(Args &&... args) const const
bool isEmpty() const const
void setHtml(const QString &text)
void setText(const QString &text)
void setMargin(qreal margin)
QFuture< ArgsType< Signal > > connect(Sender *sender, Signal signal)
void setupUi(QWidget *widget)
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Fri Nov 29 2024 11:55:53 by doxygen 1.12.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.