Changeset View
Changeset View
Standalone View
Standalone View
src/plugins/maps/KReportMapRenderer.cpp
Show All 40 Lines | 35 | { | |||
---|---|---|---|---|---|
41 | foreach(Marble::AbstractFloatItem* floatItem, m_marble.floatItems()){ | 41 | foreach(Marble::AbstractFloatItem* floatItem, m_marble.floatItems()){ | ||
42 | if(floatItem->nameId() == QString(QLatin1String("navigation"))){ | 42 | if(floatItem->nameId() == QString(QLatin1String("navigation"))){ | ||
43 | floatItem->setVisible(false); | 43 | floatItem->setVisible(false); | ||
44 | } | 44 | } | ||
45 | } | 45 | } | ||
46 | 46 | | |||
47 | connect(m_marble.model()->downloadManager(), &Marble::HttpDownloadManager::progressChanged, this, &KReportMapRenderer::downloadProgres); | 47 | connect(m_marble.model()->downloadManager(), &Marble::HttpDownloadManager::progressChanged, this, &KReportMapRenderer::downloadProgres); | ||
48 | connect(&m_marble, &Marble::MarbleMap::renderStatusChanged, this, &KReportMapRenderer::onRenderStatusChange); | 48 | connect(&m_marble, &Marble::MarbleMap::renderStatusChanged, this, &KReportMapRenderer::onRenderStatusChange); | ||
49 | connect(&m_retryTimer, &QTimer::timeout, this, &KReportMapRenderer::retryRender); | ||||
49 | } | 50 | } | ||
50 | 51 | | |||
51 | KReportMapRenderer::~KReportMapRenderer() | 52 | KReportMapRenderer::~KReportMapRenderer() | ||
52 | { | 53 | { | ||
53 | 54 | | |||
54 | } | 55 | } | ||
55 | 56 | | |||
56 | void KReportMapRenderer::renderJob(KReportItemMaps* reportItemMaps) | 57 | void KReportMapRenderer::renderJob(KReportItemMaps* reportItemMaps) | ||
Show All 10 Lines | 58 | { | |||
67 | m_marble.setRadius(pow(M_E, (zoom / 200.0))); | 68 | m_marble.setRadius(pow(M_E, (zoom / 200.0))); | ||
68 | 69 | | |||
69 | // Create a painter that will do the painting. | 70 | // Create a painter that will do the painting. | ||
70 | Marble::GeoPainter geoPainter( m_currentJob->oroImage()->picture(), m_marble.viewport(), m_marble.mapQuality() ); | 71 | Marble::GeoPainter geoPainter( m_currentJob->oroImage()->picture(), m_marble.viewport(), m_marble.mapQuality() ); | ||
71 | m_marble.paint( geoPainter, QRect() ); | 72 | m_marble.paint( geoPainter, QRect() ); | ||
72 | 73 | | |||
73 | if (m_marble.renderStatus() == Marble::Complete) { | 74 | if (m_marble.renderStatus() == Marble::Complete) { | ||
74 | m_currentJob->renderFinished(); | 75 | m_currentJob->renderFinished(); | ||
76 | } else { | ||||
77 | m_retryTimer.start(1000); | ||||
75 | } | 78 | } | ||
79 | | ||||
76 | } | 80 | } | ||
77 | 81 | | |||
78 | void KReportMapRenderer::onRenderStatusChange(Marble::RenderStatus renderStatus) | 82 | void KReportMapRenderer::onRenderStatusChange(Marble::RenderStatus renderStatus) | ||
79 | { | 83 | { | ||
80 | //kreportpluginDebug() << m_marble.renderStatus() << "|" << renderStatus; | 84 | //kreportpluginDebug() << m_marble.renderStatus() << "|" << renderStatus; | ||
81 | 85 | | |||
82 | if(m_currentJob){ | 86 | if(m_currentJob){ | ||
83 | /*kreportpluginDebug() | 87 | /*kreportpluginDebug() | ||
84 | << this | 88 | << this | ||
85 | << m_currentJob | 89 | << m_currentJob | ||
86 | << m_currentJob->longtitude() | 90 | << m_currentJob->longtitude() | ||
87 | << m_currentJob->latitude() | 91 | << m_currentJob->latitude() | ||
88 | << m_currentJob->zoom() | 92 | << m_currentJob->zoom() | ||
89 | << " | status: " << renderStatus;*/ | 93 | << " | status: " << renderStatus;*/ | ||
90 | 94 | | |||
91 | if(renderStatus == Marble::Complete){ | 95 | if(renderStatus == Marble::Complete){ | ||
92 | m_currentJob->renderFinished(); | 96 | m_currentJob->renderFinished(); | ||
93 | } | 97 | } | ||
94 | } | 98 | } | ||
95 | } | 99 | } | ||
96 | 100 | | |||
97 | void KReportMapRenderer::downloadFinished() | | |||
98 | { | | |||
99 | //kreportpluginDebug() << "job:" << m_currentJob | | |||
100 | //<< "(" << m_currentJob->latitude() << "," << m_currentJob->longtitude() << ")"; | | |||
101 | } | | |||
102 | | ||||
103 | void KReportMapRenderer::downloadProgres(int active, int queued) | 101 | void KReportMapRenderer::downloadProgres(int active, int queued) | ||
104 | { | 102 | { | ||
105 | Q_UNUSED(active) | 103 | Q_UNUSED(active) | ||
106 | Q_UNUSED(queued) | 104 | Q_UNUSED(queued) | ||
107 | if(m_currentJob){ | 105 | //if(m_currentJob){ | ||
108 | //kreportpluginDebug() << "job:" << m_currentJob | 106 | // kreportpluginDebug() << "job:" << m_currentJob | ||
109 | //<< "(" << m_currentJob->latitude() << "," << m_currentJob->longtitude() << ")" | 107 | // << "(" << m_currentJob->latitude() << "," << m_currentJob->longtitude() << ")" | ||
110 | //<< "active/queued:" << active << "/" << queued; | 108 | // << "active/queued:" << active << "/" << queued; | ||
109 | //} | ||||
110 | } | ||||
111 | | ||||
112 | void KReportMapRenderer::retryRender() | ||||
113 | { | ||||
114 | //kreportpluginDebug() << "Retrying map render"; | ||||
115 | | ||||
116 | // Create a painter that will do the painting. | ||||
117 | Marble::GeoPainter geoPainter( m_currentJob->oroImage()->picture(), m_marble.viewport(), m_marble.mapQuality() ); | ||||
118 | m_marble.paint( geoPainter, QRect() ); | ||||
119 | | ||||
120 | if (m_marble.renderStatus() == Marble::Complete) { | ||||
121 | m_retryTimer.stop(); | ||||
122 | m_currentJob->renderFinished(); | ||||
111 | } | 123 | } | ||
112 | } | 124 | } | ||
113 | 125 | |