Stellarium  1.2
Public Slots | Signals | Public Member Functions | Static Public Member Functions
StelLocationMgr Class Reference

#include <StelLocationMgr.hpp>

Public Slots

const StelLocation locationForString (const QString &s) const
 Return the StelLocation for a given string Can match location name, or coordinates.
void locationFromIP ()
 Find location via online lookup of IP address.
QStringList getAllTimezoneNames () const
 return a QStringList of valid timezone names in Stellarium's location database.
static QString sanitizeTimezoneStringForLocationDB (QString tzString)
 Check timezone string and return either the same or one that we use in the Stellarium location database. More...
static QString sanitizeTimezoneStringFromLocationDB (QString dbString)
 Attempt to translate a timezone name from those used in Stellarium's location database to a name which is known to Qt at runtime as result of QTimeZone::availableTimeZoneIds(). More...


void locationListChanged ()
 Can be used to detect changes to the full location list i.e. More...

Public Member Functions

 StelLocationMgr ()
 Default constructor which loads the list of locations from the base and user location files.
 StelLocationMgr (const LocationList &locations)
 Construct a StelLocationMgr which uses the locations given instead of loading them from the files.
void setLocations (const LocationList &locations)
 Replaces the loaded location list.
LocationList getAll () const
 Return the list of all loaded locations.
LocationMap getAllMap () const
 Returns a map of all loaded locations. The key is the location ID, suitable for a list view.
const StelLocation locationFromCLI () const
 Return the StelLocation from a CLI.
const StelLocationgetLastResortLocation () const
 Return a valid location when no valid one was found.
bool canSaveUserLocation (const StelLocation &loc) const
 Get whether a location can be permanently added to the list of user locations The main constraint is that the small string must be unique.
bool saveUserLocation (const StelLocation &loc)
 Add permanently a location to the list of user locations It is later identified by its small string.
bool canDeleteUserLocation (const QString &id) const
 Get whether a location can be deleted from the list of user locations If the location comes from the base read only list, it cannot be deleted. More...
bool deleteUserLocation (const QString &id)
 Delete permanently the given location from the list of user locations If the location comes from the base read only list, it cannot be deleted and false is returned. More...
LocationMap pickLocationsNearby (const QString planetName, const float longitude, const float latitude, const float radiusDegrees)
 Find list of locations within. More...
LocationMap pickLocationsInRegion (const QString region)
 Find list of locations in a particular region only.
QStringList getRegionNames (const QString &planet="") const
 return a QStringList of region names by planet (return all list of regions if planet name is empty)

Static Public Member Functions

static QString pickRegionFromCountryCode (const QString countryCode)
 Pick region name from ISO 3166-1 two-letter country codes.
static QString pickRegionFromCountry (const QString country)
 Pick region name from country English name.
static QString pickRegionFromCode (int regionCode)
 Pick region name from region code.

Detailed Description

Manage the list of available location.

Member Function Documentation

◆ canDeleteUserLocation()

bool StelLocationMgr::canDeleteUserLocation ( const QString &  id) const
idthe location ID

◆ deleteUserLocation()

bool StelLocationMgr::deleteUserLocation ( const QString &  id)
idthe location ID

◆ locationListChanged

void StelLocationMgr::locationListChanged ( )

when the user added or removed locations

◆ pickLocationsNearby()

LocationMap StelLocationMgr::pickLocationsNearby ( const QString  planetName,
const float  longitude,
const float  latitude,
const float  radiusDegrees 
radiusDegreesof selected (usually screen-clicked) coordinates.

◆ sanitizeTimezoneStringForLocationDB

static QString StelLocationMgr::sanitizeTimezoneStringForLocationDB ( QString  tzString)

If timezone name starts with "UTC", always return unchanged. This is required to store timezone names exactly as we know them, and not mix ours and current-IANA spelling flavour.

◆ sanitizeTimezoneStringFromLocationDB

static QString StelLocationMgr::sanitizeTimezoneStringFromLocationDB ( QString  dbString)

That list may be updated by OS anytime and is known to differ between OSes. Some spellings may be different, or in some cases some names get simply translated to "UTC+HH:MM" style. The empty string gets translated to "UTC".