Marble

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

KDE's Doxygen guidelines are available online.