bool LocalTextRecordingEditor::save(const Media::Recording* recording) { Q_UNUSED(recording) QHash<QByteArray,QByteArray> ret = static_cast<const Media::TextRecording*>(recording)->d_ptr->toJsons(); QDir dir(QStandardPaths::writableLocation(QStandardPaths::DataLocation)); //Make sure the directory exist dir.mkdir("text/"); //Save each file for (QHash<QByteArray,QByteArray>::const_iterator i = ret.begin(); i != ret.end(); ++i) { QFile file(QString("%1/text/%2.json").arg(dir.path()).arg(QString(i.key()))); if ( file.open(QIODevice::WriteOnly | QIODevice::Text) ) { QTextStream streamFileOut(&file); streamFileOut.setCodec("UTF-8"); streamFileOut << i.value(); streamFileOut.flush(); file.close(); } } return true; }
bool LocalRingtoneEditor::save(const Ringtone* ringtone) { Q_UNUSED(ringtone) QFile file(QStandardPaths::writableLocation(QStandardPaths::DataLocation) + QLatin1Char('/') + LocalRingtoneCollectionPrivate::FILENAME); if ( file.open(QIODevice::WriteOnly | QIODevice::Text) ) { QJsonArray a; for (Serializable::RingtoneNode& g : m_Nodes) { QJsonObject o; g.write(o); a.append(o); } QJsonDocument doc(a); QTextStream streamFileOut(&file); streamFileOut << doc.toJson(); streamFileOut.flush(); file.close(); return true; } else qWarning() << "Unable to save ringtones"; return false; }
//------------------------------------------------------------------------------ void MainDialog::slotSaveStyle() { QString filename = QFileDialog::getSaveFileName( this, tr("Save QSS style"), QDir::currentPath(), tr("Qt Style Sheets (*.qss)") ); if( !filename.isNull() ) { QString text = ui->TECode->toPlainText(); QFile fileOut(filename); if (!fileOut.open(QIODevice::WriteOnly | QIODevice::Text)) { return ; } QTextStream streamFileOut(&fileOut); streamFileOut.setCodec("UTF-8"); streamFileOut << text; streamFileOut.flush(); fileOut.close(); } }
void MainWindow::on_pushButtonExportCurrentNote_clicked() { // 导出当前时间的笔记 QString dateStart = ui->dateEditNote->date().toString("yyyy-MM-dd"); QString dateEnd = ui->dateEditNote->date().addDays(1).toString("yyyy-MM-dd"); QString sql = QString("select logtime, name, note from notes where logtime > '%1' and logtime < '%2'").arg(dateStart).arg(dateEnd); qDebug() << sql; QString saveAbsPath = QString("%1/%2.md").arg(QStandardPaths::writableLocation(QStandardPaths::DesktopLocation)).arg(dateStart); QFile fileOut(saveAbsPath); if (!fileOut.open(QIODevice::WriteOnly| QIODevice::Text)) { qDebug() << "open file error"; QMessageBox::information(this, "", "贤二,出错了,文件打不开。你找写代码的那家伙吧,我帮不上你。"); return; } QTextStream streamFileOut(&fileOut); streamFileOut.setCodec("UTF-8"); QSqlQuery q(sql); while(q.next()) { QString logtime = q.value(0).toString(); QString name = q.value(1).toString(); QString note = q.value(2).toString(); streamFileOut << "> " << logtime << " " << name << "\n\n"; streamFileOut << note << "\n\n"; } fileOut.close(); }
void MainWindow::on_pushButtonDataExport_clicked() { QString start = ui->dateEditDataExportStart->date().toString("yyyy-MM-dd"); QString end = ui->dateEditDataExportEnd->date().toString("yyyy-MM-dd"); QString exportSql = QString("select name, gender, phone, birthday, logdate, current, ps from sign where logdate >= '%1' and logdate <= '%2'").arg(start).arg(end); QString savePath = QStandardPaths::writableLocation(QStandardPaths::DesktopLocation); QString saveFile = QString("%1_%2.data").arg(start).arg(end); QString saveFilePlain = QString("%1_%2.txt").arg(start).arg(end); QString saveAbsPath = QString("%1/%2").arg(savePath).arg(saveFile); QString saveAbsPathPlain = QString("%1/%2").arg(savePath).arg(saveFilePlain); qDebug() << exportSql; QFile fileOut(saveAbsPath); QFile fileOutPlain(saveAbsPathPlain); if (!fileOut.open(QIODevice::WriteOnly| QIODevice::Text)) { qDebug() << "open file error"; QMessageBox::information(this, "", "贤二,出错了,文件打不开。你找写代码的那家伙吧,我帮不上你。"); return; } if (!fileOutPlain.open(QIODevice::WriteOnly| QIODevice::Text)) { qDebug() << "open file error"; QMessageBox::information(this, "", "贤二,出错了,文件打不开。你找写代码的那家伙吧,我帮不上你。"); return; } QTextStream streamFileOut(&fileOut); streamFileOut.setCodec("UTF-8"); QTextStream streamFileOutPlain(&fileOutPlain); streamFileOutPlain.setCodec("UTF-8"); QSqlQuery query; query.exec(exportSql); while(query.next()) { QString name = query.value(0).toString(); QString gender = query.value(1).toString(); QString phone = query.value(2).toString(); QString birthday = query.value(3).toString(); QString logdate = query.value(4).toString(); QString current = query.value(5).toString(); QString ps = query.value(6).toString(); QString recordStr = name + "," + gender + "," + phone + "," + birthday + "," + logdate + "," + current + "," + ps + "\n"; QByteArray base64; base64.append(recordStr); QString base64Str = base64.toBase64(); streamFileOut << base64Str << "\n"; streamFileOutPlain << recordStr; qDebug() << name << gender << phone << birthday << logdate << current; streamFileOut.flush(); streamFileOutPlain.flush(); } fileOut.close(); fileOutPlain.close(); }
//******************************************************************** // // Method: find // Parameter: none, read input // create instance of Intermediary // // Purpose: use Intermediary to find, output found text or picture // //******************************************************************** void MainWindow::find() { QString path = ui->picPathTextField_2->item(0)->text(); im = new Intermediary(path); for(int index = 1; index < (ui->picPathTextField_2->count()); index++) { im->addImage(ui->picPathTextField_2->item(index)->text()); } if(im->imageOrTextHidden() == 1) //1 => text, 0 => picture { qDebug("Hidden text found."); QString* plain = im->getHiddenText(); //decrypt if(ui->decryptCheckBox->isChecked()) { plain = decrypt(plain); } if(ui->textToFieldRadio->isChecked()) { ui->picField->clear(); ui->textEdit_2->setText(*plain); } else if(ui->textToDocRadio->isChecked()) { QString newPath = QFileDialog::getSaveFileName( this, "Save Textfile", actDir.absolutePath(), "Text Files(*.txt)"); actDir.setPath(newPath); QFile fileOut(newPath); if (fileOut.open(QIODevice::WriteOnly | QIODevice::Text)) { QTextStream streamFileOut(&fileOut); streamFileOut.setCodec("UTF-8"); streamFileOut.setGenerateByteOrderMark(true); streamFileOut << *plain; streamFileOut.flush(); fileOut.close(); } } } else if(im->imageOrTextHidden() == 0) { qDebug("Hidden image found."); QImage* image; image = im->getHiddenImage(); if(ui->textToFieldRadio->isChecked()) { ui->textEdit_2->clear(); QPixmap img = QPixmap::fromImage(*image); if (img.height() > ui->picField->height() && img.width() > ui->picField->width()) { img = img.scaled(ui->picField->width(), ui->picField->height()); } else if(img.height() > ui->picField->height()) { img = img.scaledToHeight(ui->picField->height()); } else if(img.width() > ui->picField->width()) { img = img.scaledToWidth(ui->picField->width()); } ui->picField->setPixmap(img); } else { QString newPath = QFileDialog::getSaveFileName( this, "Save Image", actDir.absolutePath(), "Image Files(*.png)"); actDir.setPath(newPath); image->save(newPath,"PNG",100); } } ui->saveLabel->clear(); }
bool SyncDocument::save(const QString &fileName) { QDomDocument doc; QDomElement rootNode = doc.createElement("sync"); rootNode.setAttribute("rows", int(getRows())); doc.appendChild(rootNode); rootNode.appendChild(doc.createTextNode("\n\t")); QDomElement tracksNode = doc.createElement("tracks"); for (size_t i = 0; i < getTrackCount(); ++i) { const SyncTrack *t = getTrack(trackOrder[i]); QDomElement trackElem = doc.createElement("track"); trackElem.setAttribute("name", t->name); QMap<int, SyncTrack::TrackKey> keyMap = t->getKeyMap(); QMap<int, SyncTrack::TrackKey>::const_iterator it; for (it = keyMap.constBegin(); it != keyMap.constEnd(); ++it) { int row = it.key(); float value = it->value; char interpolationType = char(it->type); QDomElement keyElem = doc.createElement("key"); keyElem.setAttribute("row", row); keyElem.setAttribute("value", value); keyElem.setAttribute("interpolation", (int)interpolationType); trackElem.appendChild( doc.createTextNode("\n\t\t\t")); trackElem.appendChild(keyElem); } if (keyMap.size()) trackElem.appendChild( doc.createTextNode("\n\t\t")); tracksNode.appendChild(doc.createTextNode("\n\t\t")); tracksNode.appendChild(trackElem); } if (getTrackCount()) tracksNode.appendChild(doc.createTextNode("\n\t")); rootNode.appendChild(tracksNode); rootNode.appendChild(doc.createTextNode("\n\t")); QDomElement bookmarksNode = doc.createElement("bookmarks"); QList<int>::const_iterator it; for (it = rowBookmarks.begin(); it != rowBookmarks.end(); ++it) { QDomElement bookmarkElem = doc.createElement("bookmark"); bookmarkElem.setAttribute("row", *it); bookmarksNode.appendChild( doc.createTextNode("\n\t\t")); bookmarksNode.appendChild(bookmarkElem); } if (0 != rowBookmarks.size()) bookmarksNode.appendChild( doc.createTextNode("\n\t")); rootNode.appendChild(bookmarksNode); rootNode.appendChild(doc.createTextNode("\n")); QFile file(fileName); if (!file.open(QIODevice::WriteOnly | QIODevice::Text)) { QMessageBox::critical(NULL, "Error", file.errorString()); return false; } QTextStream streamFileOut(&file); streamFileOut.setCodec("UTF-8"); streamFileOut << doc.toString(); streamFileOut.flush(); file.close(); undoStack.setClean(); return true; }
bool SyncDocument::save(const QString &fileName) { QDomDocument doc; QDomElement rootNode = doc.createElement("sync"); rootNode.setAttribute("rows", int(getRows())); doc.appendChild(rootNode); rootNode.appendChild(doc.createTextNode("\n\t")); QDomElement tracksNode = doc.createElement("tracks"); for (size_t i = 0; i < num_tracks; ++i) { const sync_track *t = tracks[trackOrder[i]]; QDomElement trackElem = doc.createElement("track"); trackElem.setAttribute("name", t->name); for (int i = 0; i < (int)t->num_keys; ++i) { int row = t->keys[i].row; float value = t->keys[i].value; char interpolationType = char(t->keys[i].type); QDomElement keyElem = doc.createElement("key"); keyElem.setAttribute("row", row); keyElem.setAttribute("value", value); keyElem.setAttribute("interpolation", (int)interpolationType); trackElem.appendChild( doc.createTextNode("\n\t\t\t")); trackElem.appendChild(keyElem); } if (t->num_keys) trackElem.appendChild( doc.createTextNode("\n\t\t")); tracksNode.appendChild(doc.createTextNode("\n\t\t")); tracksNode.appendChild(trackElem); } if (0 != num_tracks) tracksNode.appendChild(doc.createTextNode("\n\t")); rootNode.appendChild(tracksNode); rootNode.appendChild(doc.createTextNode("\n\t")); QDomElement bookmarksNode = doc.createElement("bookmarks"); QList<int>::const_iterator it; for (it = rowBookmarks.begin(); it != rowBookmarks.end(); ++it) { QDomElement bookmarkElem = doc.createElement("bookmark"); bookmarkElem.setAttribute("row", *it); bookmarksNode.appendChild( doc.createTextNode("\n\t\t")); bookmarksNode.appendChild(bookmarkElem); } if (0 != rowBookmarks.size()) bookmarksNode.appendChild( doc.createTextNode("\n\t")); rootNode.appendChild(bookmarksNode); rootNode.appendChild(doc.createTextNode("\n")); QFile file(fileName); if (!file.open(QIODevice::WriteOnly | QIODevice::Text)) { QMessageBox::critical(NULL, "Error", file.errorString()); return false; } QTextStream streamFileOut(&file); streamFileOut.setCodec("UTF-8"); streamFileOut << doc.toString(); streamFileOut.flush(); file.close(); savePointDelta = 0; savePointUnreachable = false; return true; }
bool SyncDocument::save(const QString &fileName) { QDomDocument doc; QDomElement rootNode = doc.createElement("sync"); rootNode.setAttribute("rows", getRows()); doc.appendChild(rootNode); rootNode.appendChild(doc.createTextNode("\n\t")); QDomElement tracksNode = doc.createElement("tracks"); for (int i = 0; i < getSyncPageCount(); i++) { SyncPage *page = getSyncPage(i); for (int j = 0; j < page->getTrackCount(); ++j) { const SyncTrack *t = page->getTrack(j); QDomElement trackElem = serializeTrack(doc, t); tracksNode.appendChild(doc.createTextNode("\n\t\t")); tracksNode.appendChild(trackElem); } } if (getTrackCount()) tracksNode.appendChild(doc.createTextNode("\n\t")); rootNode.appendChild(tracksNode); rootNode.appendChild(doc.createTextNode("\n\t")); QDomElement bookmarksNode = doc.createElement("bookmarks"); QList<int>::const_iterator it; for (it = rowBookmarks.begin(); it != rowBookmarks.end(); ++it) { QDomElement bookmarkElem = doc.createElement("bookmark"); bookmarkElem.setAttribute("row", *it); bookmarksNode.appendChild( doc.createTextNode("\n\t\t")); bookmarksNode.appendChild(bookmarkElem); } if (0 != rowBookmarks.size()) bookmarksNode.appendChild( doc.createTextNode("\n\t")); rootNode.appendChild(bookmarksNode); rootNode.appendChild(doc.createTextNode("\n")); #ifdef USE_QSAVEFILE QSaveFile file(fileName); #else QFile file(fileName); #endif if (!file.open(QIODevice::WriteOnly | QIODevice::Text)) { QMessageBox::critical(NULL, "Error", file.errorString()); return false; } QTextStream streamFileOut(&file); streamFileOut.setCodec("UTF-8"); streamFileOut << doc.toString(); streamFileOut.flush(); #ifdef USE_QSAVEFILE file.commit(); #else file.close(); #endif undoStack.setClean(); return true; }