downloadwidget.cpp |
40 | 40 | m_right(new QLabel("E 0", this)), |
41 | 41 | m_bottom(new QLabel("N 0", this)), |
42 | 42 | m_levelSpinBox(new QSpinBox(this)), |
43 | | m_dlProgress(new QProgressBar(this)) |
| 43 | m_dlProgress(new QProgressBar(this)), |
| 44 | m_skipExisting(new QCheckBox("S&kip already downloaded tiles", this)) |
44 | 45 | { |
45 | 46 | QGridLayout *layout = new QGridLayout(this); |
46 | 47 | layout->setContentsMargins(0, 0, 0, 0); |
... | ... | |
65 | 66 | m_levelSpinBox->setRange(0, 18); |
66 | 67 | layout->addWidget(m_levelSpinBox, 3, 2, 1, 2); |
67 | 68 | |
| 69 | m_skipExisting->setChecked(false); |
| 70 | layout->addWidget(m_skipExisting, 4, 0, 1, 0); |
| 71 | |
68 | 72 | m_dlProgress->setFormat("%v / %m"); |
69 | | layout->addWidget(m_dlProgress, 4, 0, 1, 4); |
| 73 | layout->addWidget(m_dlProgress, 5, 0, 1, 4); |
70 | 74 | |
71 | 75 | QPushButton *start = new QPushButton("&Start", this); |
72 | 76 | connect(start, SIGNAL(clicked()), this, SLOT(startDownload())); |
73 | | layout->addWidget(start, 5, 0, 1, 2); |
| 77 | layout->addWidget(start, 6, 0, 1, 2); |
74 | 78 | |
75 | 79 | QPushButton *back = new QPushButton("&Back", this); |
76 | 80 | connect(back, SIGNAL(clicked()), this, SIGNAL(back())); |
77 | | layout->addWidget(back, 5, 2, 1, 2); |
| 81 | layout->addWidget(back, 6, 2, 1, 2); |
78 | 82 | |
79 | 83 | connect(m_manager, SIGNAL(finished(QNetworkReply*)), |
80 | 84 | this, SLOT(replyFinished(QNetworkReply*))); |
... | ... | |
144 | 148 | file.write(data); |
145 | 149 | } |
146 | 150 | } |
147 | | if (!m_dlList.isEmpty()) { |
| 151 | while (!m_dlList.isEmpty()) { |
148 | 152 | QUrl url(m_dlList.takeFirst()); |
149 | | m_manager->get(QNetworkRequest(url)); |
| 153 | if (QFile::exists(QDir::homePath()+"/Maps/OSM"+url.path()) && |
| 154 | m_skipExisting->isChecked()) { |
| 155 | int n = m_dlProgress->value(); |
| 156 | m_dlProgress->setValue(n+1); |
| 157 | } else { |
| 158 | m_manager->get(QNetworkRequest(url)); |
| 159 | break; |
| 160 | } |
150 | 161 | } |
151 | 162 | int n = m_dlProgress->value(); |
152 | 163 | m_dlProgress->setValue(n+1); |