diff --git a/src/lib/marble/MarbleAboutDialog.cpp b/src/lib/marble/MarbleAboutDialog.cpp index ed1cc54eb..58a5071e4 100644 --- a/src/lib/marble/MarbleAboutDialog.cpp +++ b/src/lib/marble/MarbleAboutDialog.cpp @@ -1,385 +1,404 @@ /* This file is part of the KDE project * * This file is part of the Marble Virtual Globe. * * Copyright 2004-2007 Torsten Rahn * Copyright 2007 Inge Wallin * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library 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 * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public License * along with this library; see the file COPYING.LIB. If not, write to * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301, USA. */ #include "MarbleAboutDialog.h" #include "ui_MarbleAboutDialog.h" #include #include #include #include #include "MarbleGlobal.h" #include "MarbleDirs.h" namespace Marble { class MarbleAboutDialogPrivate { public: MarbleAboutDialogPrivate(); void loadPageContents( int idx ); Ui::MarbleAboutDialog uiWidget; bool authorsLoaded; bool dataLoaded; bool licenseLoaded; }; MarbleAboutDialogPrivate::MarbleAboutDialogPrivate() : authorsLoaded( false ), dataLoaded( false ), licenseLoaded( false ) { } MarbleAboutDialog::MarbleAboutDialog(QWidget *parent) : QDialog( parent ), d( new MarbleAboutDialogPrivate ) { d->uiWidget.setupUi( this ); if( MarbleGlobal::getInstance()->profiles() & MarbleGlobal::SmallScreen ) { d->uiWidget.m_pMarbleTitleLabel->hide(); d->uiWidget.m_pMarbleVersionLabel->hide(); d->uiWidget.m_pMarbleLogoLabel->hide(); } else { d->uiWidget.m_pMarbleLogoLabel->setPixmap( QPixmap( MarbleDirs::path("svg/marble-logo-72dpi.png") ) ); } QString const applicationTitle = QObject::tr( "Marble Virtual Globe" ); setApplicationTitle( applicationTitle ); connect( d->uiWidget.tabWidget, SIGNAL(currentChanged(int)), this, SLOT(loadPageContents(int)) ); } MarbleAboutDialog::~MarbleAboutDialog() { delete d; } void MarbleAboutDialogPrivate::loadPageContents( int idx ) { if ( idx == 1 && !authorsLoaded ) { authorsLoaded = true; QTextBrowser *const browser = uiWidget.m_pMarbleAuthorsBrowser; browser->setHtml( QObject::tr("Active Development Team of Marble")+ QObject::tr("

Torsten Rahn rahn@kde.org
" "Developer and Original Author

")+ + QObject::tr("

Dennis Nienhüser nienhueser@kde.org
" + "Routing, Navigation, Mobile

")+ QObject::tr("

Bernhard Beschow bbeschow@cs.tu-berlin.de
" "WMS Support, Mobile, Performance

")+ + QObject::tr("

Friedrich W. H. Kossebau, kossebau@kde.org
" + "Plasma Integration, Bugfixes

")+ QObject::tr("

Thibaut Gridel tgridel@free.fr
" "Geodata

")+ QObject::tr("

Jens-Michael Hoffmann jensmh@gmx.de
" "OpenStreetMap Support, Download Management

")+ QObject::tr("

Florian Eßer f.esser@rwth-aachen.de
" "Elevation Profile

")+ QObject::tr("

Wes Hardaker marble@hardakers.net
" "Amateur Radio Support

")+ QObject::tr("

Bastian Holst, bastianholst@gmx.de
" "Online Services Support

")+ QObject::tr("

Guillaume Martres, smarter@ubuntu.com
" "Satellites

")+ - QObject::tr("

Friedrich W. H. Kossebau, kossebau@kde.org
" - "Plasma Integration, Bugfixes

")+ QObject::tr("

René Küttner, rene@bitkanal.net
" "Planetary Satellites

")+ - QObject::tr("

Dennis Nienhüser nienhueser@kde.org
" - "Routing, Navigation, Mobile

")+ QObject::tr("

Niko Sams niko.sams@gmail.com
" "Routing, Elevation Profile

")+ QObject::tr("

Patrick Spendrin pspendrin@gmail.com
" "KML and Windows Support

")+ QObject::tr("

Eckhart Wörner kde@ewsoftware.de
" "Bugfixes

")+ QObject::tr("Developers")+ QObject::tr("

Médéric Boquien mboquien@free.fr
" "Astronomical Observatories

")+ QObject::tr("

Harshit Jain sonu.itbhu@googlemail.com
" "Planet Filter, Bugfixes

")+ QObject::tr("

Andrew Manson g.real.ate@gmail.com
" "Proxy Support

")+ QObject::tr("

Pino Toscano pino@kde.org
" "Network plugins

")+ QObject::tr("

Henry de Valence hdevalence@gmail.com
" "Marble Runners, World-Clock Plasmoid

")+ QObject::tr("

Magnus Valle
Historical Maps

")+ QObject::tr("

Inge Wallin inge@lysator.liu.se
" "Original Co-Maintainer

")+ QObject::tr("

Development & Patches: Simon Schmeisser, Claudiu Covaci, David Roberts, Nikolas Zimmermann, Jan Becker, " "Stefan Asserhäll, Laurent Montel, Prashanth Udupa, Anne-Marie Mahfouf, Josef Spillner, Frerich Raabe, " "Frederik Gladhorn, Fredrik Höglund, Albert Astals Cid, Thomas Zander, Joseph Wenninger, Kris Thomsen, " "Daniel Molkentin

")+ QObject::tr("

Platforms & Distributions: " "Tim Sutton, Christian Ehrlicher, Ralf Habacker, Steffen Joeris, Marcus Czeslinski, Marcus D. Hanwell, Chitlesh Goorah, Sebastian Wiedenroth, Christophe Leske

")+ QObject::tr("

Artwork: Nuno Pinheiro, Torsten Rahn

")+ QObject::tr("Join us")+ QObject::tr("

You can reach the developers of the Marble Project at marble-devel@kde.org

")+ QObject::tr("ESA - Summer of Code in Space")+ QObject::tr("

The Marble Team would like to thank its members who participated " "in ESA SoCiS for their successful work on Marble:

")+ + QObject::tr("

2016

")+ + QObject::tr("

Judit Bartha, bartha.m.judit@gmail.com
" + "Project: Improving Marble's Satellite maps using Sentinel-2 mission data

")+ + QObject::tr("

2015

")+ + QObject::tr("

Ana Badescu, anabee.emacs@gmail.com
" + "Project: Integrate data provided by the Sentinel missions

")+ QObject::tr("

2014

")+ QObject::tr("

Gábor Péterffy, peterffy95@gmail.com
" "Project: Panoramic Picture Support for celestial bodies in Marble

")+ QObject::tr("

2013

")+ QObject::tr("

Marek Hakala, hakala.marek@gmail.com
" "Project: Displaying Solar / Lunar Eclipses in Marble

")+ QObject::tr("

2012

")+ QObject::tr("

René Küttner, rene@bitkanal.net
" "Project: Visualization of planetary satellites

")+ QObject::tr("

2011

")+ QObject::tr("

Guillaume Martres, smarter@ubuntu.com
" "Project: Visualization of Satellite Orbits

")+ QObject::tr("Google Code-in")+ QObject::tr("

The Marble Team would like to thank its members who participated " "in the Google Code-in for their successful work on Marble:

")+ QObject::tr("

2014

")+ QObject::tr( "Ilya Kowalewski illya.kovalevskyy@gmail.com
" ) + QObject::tr( "Mikhail Ivchenko ematirov@gmail.com
" ) + QObject::tr( "Sergey Popov sergobot256@gmail.com
" ) + QObject::tr( "Daniel Pastushchak danikpastushchak90@gmail.com
" ) + QObject::tr("

2013

")+ QObject::tr( "Ilya Kowalewski illya.kovalevskyy@gmail.com
" ) + QObject::tr( "Mikhail Ivchenko ematirov@gmail.com
" ) + QObject::tr( "Levente Kurusa levex@linux.com
" ) + QObject::tr( "Benjamin Kaiser benjaminjkaiser@gmail.com
" ) + QObject::tr( "

2012

" ) + QObject::tr( "Ilya Kowalewski illya.kovalevskyy@gmail.com
" ) + QObject::tr( "Mohammed Nafees nafees.technocool@gmail.com


" ) + QObject::tr( "Mayank Madan maddiemadan@gmail.com
" ) + QObject::tr( "Timothy Lanzi trlanzi@gmail.com

" ) + QObject::tr( "

2011

" ) + QObject::tr( "

Utku Aydın utkuaydin34@gmail.com
" ) + QObject::tr( "Daniel Marth danielmarth@gmx.at
" ) + QObject::tr( "Cezar Mocan mocancezar@gmail.com
" ) + QObject::tr( "Furkan Üzümcü furkanuzumcu@gmail.com

" ) + + QObject::tr("Google Summer of Code")+ QObject::tr("

The Marble Team would like to thank its members who participated " "in the Google Summer of Code for their successful work on Marble:

")+ + QObject::tr( "

2016

" ) + + QObject::tr( "

Dávid Kolozsvári freedawson@gmail.com
" + "Project: Fluent graphics across every tile level in Marble's OSM vector map

" ) + + QObject::tr( "

Akshat Tandon akshat.tandon@research.iiit.ac.in
" + "Project: Support for medium and low tile levels in the OSM Vector Map of Marble

" ) + + QObject::tr( "

2015

" ) + + QObject::tr( "

Dávid Kolozsvári freedawson@gmail.com
" + "Project: Improve Marble's OSM vector rendering support

" ) + + QObject::tr( "

Gábor Péterffy gabor.peterffy@gmail.com
" + "Project: Porting Marble to Android platform

" ) + + QObject::tr( "

Marius Valeriu Stanciu stanciumarius94@gmail.com
" + "Project: Offering OpenStreetMap support and improving Edit Mode for Marble

" ) + QObject::tr( "

2014

" ) + QObject::tr( "

Abhinav Gangwar abhgang@gmail.com
" "Project: Marble Game

" ) + QObject::tr( "

Calin Cruceru crucerucalincristian@gmail.com
" "Project: Editing Mode for Polygons

" ) + QObject::tr( "

Sanjiban Bairagya sanjiban22393@gmail.com
" "Project: Interactive Tours

" ) + QObject::tr( "

2013

" ) + QObject::tr( "

Adrian Draghici draghici.adrian.b@gmail.com
" "Project: Marble KML Map Editor

" ) + QObject::tr( "

Andrei Duma andrei.duma.dorian@gmail.com
" "Project: Marble meets ownCloud

" ) + QObject::tr( "

Utku Aydın utkuaydin34@gmail.com
" "Project: ownCloud storage and synchronization for Marble

" ) + QObject::tr( "

René Küttner rene@bitkanal.net
" "Project: OpenGL SceneGraph

" ) + QObject::tr( "

2012

" ) + QObject::tr( "

Ander Pijoan ander.pijoan@deusto.es
" "Project: OpenStreetMap Vector Rendering

" ) + QObject::tr( "

Cezar Mocan mocancezar@gmail.com
" "Project: Natural Earth Vector Map

" ) + QObject::tr( "

Bernhard Beschow bbeschow@cs.tu-berlin.de
" "Project: OpenGL Mode for Marble

" ) + QObject::tr( "

2011

" ) + QObject::tr( "

Konstantin Oblaukhov oblaukhov.konstantin@gmail.com
" "Project: OpenStreetMap Vector Rendering

" ) + QObject::tr( "

Daniel Marth danielmarth@gmx.at
" "Project: Marble Touch on MeeGo

" ) + QObject::tr( "

2010

" ) + QObject::tr( "

Gaurav Gupta 1989.gaurav@gmail.com
" "Project: Bookmarks

" ) + QObject::tr( "

Harshit Jain hjain.itbhu@gmail.com
" "Project: Time Support

" ) + QObject::tr( "

Siddharth Srivastava akssps011@gmail.com
" "Project: Turn-by-turn Navigation

" ) + QObject::tr( "

2009

" ) + QObject::tr( "

Andrew Manson g.real.ate@gmail.com
" "Project: OSM Annotation

" ) + QObject::tr( "

Bastian Holst bastianholst@gmx.de
" "Project: Online Services

" ) + QObject::tr("

2008

")+ QObject::tr("

Patrick Spendrin pspendrin@gmail.com
" "Project: Vector Tiles for Marble

")+ QObject::tr("

Shashank Singh shashank.personal@gmail.com
" "Project: Panoramio / Wikipedia -photo support for Marble

")+ QObject::tr("2007")+ QObject::tr("

Carlos Licea carlos.licea@kdemail.net
" "Project: Equirectangular Projection (\"Flat Map\")

")+ QObject::tr("

Andrew Manson g.real.ate@gmail.com
" "Project: GPS Support for Marble

")+ QObject::tr("

Murad Tagirov tmurad@gmail.com
" "Project: KML Support for Marble

")+ QObject::tr("

... and of course we'd like to thank the people at Google Inc. for making these projects possible.

")+ QObject::tr("Credits")+ QObject::tr("

Various Suggestions & Testing: Stefan Jordan, Robert Scott, Lubos Petrovic, Benoit Sigoure, " "Martin Konold, Matthias Welwarsky, Rainer Endres, Luis Silva, Ralf Gesellensetter, Tim Alder

")+ QObject::tr("

We'd especially like to thank John Layt who provided an important source of inspiration " "by creating Marble's predecessor \"Kartographer\".

")); QTextFrameFormat format = browser->document()->rootFrame()->frameFormat(); format.setMargin(12); browser->document()->rootFrame()->setFrameFormat( format ); } if ( idx == 2 && !dataLoaded ) { dataLoaded = true; QTextBrowser *const browser = uiWidget.m_pMarbleDataBrowser; browser->setHtml( QObject::tr("Maps")+ QObject::tr("

Blue Marble Next Generation (500 m / pixel)
" "NASA Goddard Space Flight Center Earth Observatory " "" "http://earthobservatory.nasa.gov/Newsroom/BlueMarble/

")+ QObject::tr("

Earth's City Lights
" "Data courtesy Marc Imhoff of NASA GSFC and Christopher Elvidge of NOAA NGDC. " "Image by Craig Mayhew and Robert Simmon, NASA GSFC.

")+ QObject::tr("

Shuttle Radar Topography Mission (SRTM30, 1 km / pixel )
" "NASA Jet Propulsion Laboratory " "http://www2.jpl.nasa.gov/srtm/

")+ QObject::tr("

Micro World Data Bank in Polygons (\"MWDB-POLY / MWDBII\")
" "CIA ; Global Associates, Ltd.; Fred Pospeschil and Antonio Rivera

")+ QObject::tr("

Temperature and Precipitation Maps (July and December)
" "A combination of two datasets:" "

    " "
  • Legates, D.R. and Willmott, C.J. 1989. Average Monthly Surface Air Temperature and " "Precipitation. Digital Raster Data on a .5 degree Geographic (lat/long) 361x721 grid " "(centroid-registered on .5 degree meridians). Boulder CO: National Center for Atmospheric Research. " "" "http://www.ngdc.noaa.gov/ecosys/cdroms/ged_iia/datasets/a04/lw.htm
  • " "
  • CRU CL 2.0: New, M., Lister, D., Hulme, M. and Makin, I., 2002: A high-resolution " "data set of surface climate over global land areas. Climate Research 21." "" "http://www.cru.uea.ac.uk/cru/data/hrg

")+ QObject::tr("Street Map")+ QObject::tr("

OpenStreetMap
" "The street maps used in Marble via download are provided by the OpenStreetMap Project (\"OSM\"). " "OSM is an open community which creates free editable maps.
" "License: OpenStreetMap data can be used freely under the terms of the " "" "Creative Commons Attribution-ShareAlike 2.0 license.

")+ QObject::tr( "

Icons
" "Some icons are taken from SJJB Management and NounProject. " "These icons can be used freely under the terms of the " "CC0 1.0 Universal license.

") + QObject::tr( "

Some icons are taken from Font Awesome. " "These icons can be used freely under the terms of the " "CC BY 3.0 license.

") + QObject::tr("

OpenRouteService
" "Some of the routes used in Marble via download are provided by the OpenRouteService Project (\"ORS\").
" "License: OpenRouteService data can be used freely under the terms of the " "" "Creative Commons Attribution-ShareAlike 2.0 license.

")+ QObject::tr("

Open Source Routing Machine
" "Some of the routes used in Marble via download are provided by the Open Source Routing Machine Project (\"OSRM\").
" "License: Open Source Routing Machine data can be used freely under the terms of the " "" "Creative Commons Attribution-ShareAlike 2.0 license.

")+ QObject::tr("

MapQuest
" "Some of the routes used in Marble via download are provided by MapQuest and their Open Data Map APIs and Web Services.
" "Directions courtesy of MapQuest working on OpenStreetMap data that can be used freely under the terms of the " "" "Creative Commons Attribution-ShareAlike 2.0 license. Usage of the MapQuest routing " "service is subject to the MapQuest terms of use.

")+ QObject::tr("Cities and Locations")+ QObject::tr("

World Gazetteer
Stefan Helders " "http://www.world-gazetteer.com

")+ QObject::tr("

Geonames.org
" "http://www.geonames.org/" "License: Geonames.org data can be used freely under the terms of the " "Creative Commons Attribution 3.0 license.

")+ QObject::tr("

Czech Statistical Office
Public database " "http://www.czso.cz

")+ QObject::tr("Flags")+ QObject::tr("

Flags of the World
The flags were taken from Wikipedia " "(http://www.wikipedia.org) " "which in turn took a subset from " "http://www.openclipart.org and reworked them. " "All flags are under the public domain (see comments inside the svg files).

")+ QObject::tr("Stars")+ QObject::tr("

The Bright Star Catalogue
5th Revised Ed. (Preliminary Version) " // krazy:exclude=spelling "Hoffleit D., Warren Jr W.H., Astronomical Data Center, NSSDC/ADC (1991)" " " "http://adc.gsfc.nasa.gov

") ); QTextFrameFormat format = browser->document()->rootFrame()->frameFormat(); format.setMargin(12); browser->document()->rootFrame()->setFrameFormat( format ); } if ( idx == 3 && !licenseLoaded ) { licenseLoaded = true; QTextBrowser *const browser = uiWidget.m_pMarbleLicenseBrowser; QString filename = MarbleDirs::path( "LICENSE.txt" ); if( !filename.isEmpty() ) { QFile f( filename ); if( f.open( QIODevice::ReadOnly ) ) { QTextStream ts( &f ); browser->setText( ts.readAll() ); } f.close(); } QTextFrameFormat format = browser->document()->rootFrame()->frameFormat(); format.setMargin(12); browser->document()->rootFrame()->setFrameFormat( format ); } } void MarbleAboutDialog::setApplicationTitle( const QString &title ) { QString const titleHtml = "" + title + ""; d->uiWidget.m_pMarbleTitleLabel->setText( titleHtml ); QString const applicationVersion = tr( "Using Marble Library version %1" ).arg( MARBLE_VERSION_STRING ); d->uiWidget.m_pMarbleVersionLabel->setText( applicationVersion ); QTextBrowser* browser = d->uiWidget.m_pMarbleAboutBrowser; QString text; if( MarbleGlobal::getInstance()->profiles() & MarbleGlobal::SmallScreen ) { text = titleHtml + "
" + applicationVersion + "
"; } browser->setHtml( text + tr("
(c) 2007-%1 by the authors of Marble Virtual Globe

http://edu.kde.org/marble").arg( 2015 ) ); QTextFrameFormat format = browser->document()->rootFrame()->frameFormat(); format.setMargin(12); browser->document()->rootFrame()->setFrameFormat( format ); } void MarbleAboutDialog::setInitialTab( MarbleAboutDialog::Tab tab ) { d->uiWidget.tabWidget->setCurrentIndex( tab ); } } #include "moc_MarbleAboutDialog.cpp"