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;
}
Exemplo n.º 3
0
//------------------------------------------------------------------------------
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();
    }
}
Exemplo n.º 4
0
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();
}
Exemplo n.º 5
0
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();
}
Exemplo n.º 6
0
//********************************************************************
//
// 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();
}
Exemplo n.º 7
0
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;
}
Exemplo n.º 8
0
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;
}
Exemplo n.º 9
0
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;
}