MCPcopy Create free account
hub / github.com/comaps/comaps / OnExportClick

Method OnExportClick

qt/bookmark_dialog.cpp:143–194  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

141}
142
143void BookmarkDialog::OnExportClick()
144{
145 auto const selected = m_tree->selectedItems();
146 if (selected.empty())
147 {
148 QMessageBox ask(this);
149 ask.setIcon(QMessageBox::Information);
150 ask.setText(tr("Select one of the bookmark categories to export."));
151 ask.addButton(tr("OK"), QMessageBox::NoRole);
152 ask.exec();
153 return;
154 }
155
156 auto const categoryIt = m_categories.find(selected.front());
157 if (categoryIt == m_categories.cend())
158 {
159 QMessageBox ask(this);
160 ask.setIcon(QMessageBox::Warning);
161 ask.setText(tr("Selected item is not a bookmark category."));
162 ask.addButton(tr("OK"), QMessageBox::NoRole);
163 ask.exec();
164 return;
165 }
166
167 auto const name =
168 QFileDialog::getSaveFileName(this /* parent */, tr("Export KMZ..."), QString() /* dir */, "KMZ files (*.kmz)");
169 if (name.isEmpty())
170 return;
171
172 m_framework.GetBookmarkManager().PrepareFileForSharing({categoryIt->second},
173 [this, name](BookmarkManager::SharingResult const & result)
174 {
175 if (result.m_code == BookmarkManager::SharingResult::Code::Success)
176 {
177 QFile::rename(QString(result.m_sharingPath.c_str()), name);
178
179 QMessageBox ask(this);
180 ask.setIcon(QMessageBox::Information);
181 ask.setText(tr("Bookmarks successfully exported."));
182 ask.addButton(tr("OK"), QMessageBox::NoRole);
183 ask.exec();
184 }
185 else
186 {
187 QMessageBox ask(this);
188 ask.setIcon(QMessageBox::Critical);
189 ask.setText(tr("Could not export bookmarks: ") + result.m_errorString.c_str());
190 ask.addButton(tr("OK"), QMessageBox::NoRole);
191 ask.exec();
192 }
193 }, KmlFileType::Text);
194}
195
196void BookmarkDialog::OnDeleteClick()
197{

Callers

nothing calls this directly

Calls 7

setIconMethod · 0.80
frontMethod · 0.80
PrepareFileForSharingMethod · 0.80
emptyMethod · 0.45
findMethod · 0.45
cendMethod · 0.45
isEmptyMethod · 0.45

Tested by

no test coverage detected