Stellarium  0.20.4
Public Slots | Signals | Public Member Functions
StelLocationMgr Class Reference

Manage the list of available location. More...

#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...
 

Signals

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 pickLocationsInCountry (const QString country)
 Find list of locations in a particular country only.
 

Detailed Description

Member Function Documentation

◆ canDeleteUserLocation()

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

◆ deleteUserLocation()

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

◆ locationListChanged

void StelLocationMgr::locationListChanged ( )
signal

when the user added or removed locations

◆ pickLocationsNearby()

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

◆ sanitizeTimezoneStringForLocationDB

static QString StelLocationMgr::sanitizeTimezoneStringForLocationDB ( QString  tzString)
staticslot

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)
staticslot

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".