File indexing completed on 2024-05-19 07:37:38
0001 #include "MapTheme.h" 0002 #include <MarbleQuickItem.h> 0003 #include <MarbleModel.h> 0004 0005 #include <GeoSceneDocument.h> 0006 #include <GeoSceneHead.h> 0007 #include <GeoSceneLicense.h> 0008 0009 namespace Marble 0010 { 0011 MapTheme::MapTheme(QObject *parent) : 0012 QObject( parent ), 0013 m_map(nullptr) 0014 { 0015 } 0016 0017 Marble::MarbleQuickItem *MapTheme::map() const 0018 { 0019 return m_map; 0020 } 0021 0022 QString MapTheme::license() const 0023 { 0024 const GeoSceneDocument *const mapTheme = m_map->model()->mapTheme(); 0025 if ( !mapTheme ) 0026 return QString(); 0027 0028 const GeoSceneHead *const head = mapTheme->head(); 0029 if ( !head ) 0030 return QString(); 0031 0032 const GeoSceneLicense *license = head->license(); 0033 return license->shortLicense(); 0034 } 0035 0036 void MapTheme::setMap(MarbleQuickItem *map) 0037 { 0038 if (m_map == map) 0039 return; 0040 disconnect(m_map, &MarbleQuickItem::mapThemeIdChanged, this, &MapTheme::licenseChanged); 0041 connect(map, &MarbleQuickItem::mapThemeIdChanged, this, &MapTheme::licenseChanged); 0042 0043 m_map = map; 0044 0045 emit mapChanged(m_map); 0046 emit licenseChanged(); 0047 } 0048 } 0049 0050 #include "moc_MapTheme.cpp"