MCPcopy Create free account
hub / github.com/analogdevicesinc/scopy / performWrite

Method performWrite

gui/src/filemanager.cpp:268–331  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

266}
267
268void FileManager::performWrite(bool withScopyHeader)
269{
270 QString additionalInfo = "";
271 if(openedFor == IMPORT) {
272 qDebug() << "Can't write when opened for import!";
273 return;
274 }
275
276 QFile exportFile(filename);
277 exportFile.open(QIODevice::WriteOnly);
278 QTextStream exportStream(&exportFile);
279
280 additionalInfo = (additionalInformation.size() != 0) ? additionalInformation[0] : "";
281
282 if(withScopyHeader) {
283 QStringList header = ScopyFileHeader::getHeader();
284
285 // prepare header
286 exportStream << header[0] << separator << QString(SCOPY_VERSION_GIT) << "\n";
287 exportStream << header[1] << separator << QDate::currentDate().toString("dddd MMMM dd/MM/yyyy") << "\n";
288 exportStream << header[2] << separator << "M2K"
289 << "\n";
290 exportStream << header[3] << separator << data.size() << "\n";
291 exportStream << header[4] << separator << sampleRate << "\n";
292 exportStream << header[5] << separator << toolName << "\n";
293 exportStream << header[6] << separator << additionalInfo << "\n";
294 }
295
296 // column names row
297 exportStream << "Sample" << separator;
298 bool skipFirstSeparator = true;
299 for(const QString &columnName : qAsConst(columnNames)) {
300 if(!skipFirstSeparator)
301 exportStream << separator;
302 exportStream << columnName;
303 skipFirstSeparator = false;
304 }
305 exportStream << "\n";
306
307 for(int i = 0; i < data.size(); ++i) {
308 skipFirstSeparator = true;
309 exportStream << QString::number(i) << separator;
310 for(int j = 0; j < data[i].size(); ++j) {
311 if(!skipFirstSeparator)
312 exportStream << separator;
313 exportStream << data[i][j];
314 skipFirstSeparator = false;
315 }
316
317 if(!decoder_data.isEmpty()) {
318 for(int j = 0; j < decoder_data[i].size(); ++j) {
319 if(!skipFirstSeparator)
320 exportStream << separator;
321 if(!decoder_data[i][j].isEmpty()) {
322 exportStream << "\"" << decoder_data[i][j] << "\"";
323 }
324 skipFirstSeparator = false;
325 }

Callers 6

init_channel_settingsMethod · 0.80
btnExport_clickedMethod · 0.80
on_btnExport_clickedMethod · 0.80
SpectrumAnalyzerMethod · 0.80
btnExportClickedMethod · 0.80
exportTabCsvMethod · 0.80

Calls 4

QStringClass · 0.50
openMethod · 0.45
toStringMethod · 0.45
closeMethod · 0.45

Tested by 2

SpectrumAnalyzerMethod · 0.64
btnExportClickedMethod · 0.64