コード例 #1
0
ファイル: cachedimage.cpp プロジェクト: sevings/Taaasty
void CachedImage::saveToFile(const QString& filename)
{
    if (!_available)
        return;

    if (filename.isEmpty())
        return;

    auto pathTo = QString("%1/Taaasty/")
            .arg(QStandardPaths::writableLocation(QStandardPaths::PicturesLocation));

    QDir dirTo;
    dirTo.mkpath(pathTo);

    auto to = QString("%1%2%3%4")
            .arg(pathTo)
            .arg(filename)
            .arg(_extension.isEmpty() ? QString() : ".")
            .arg(_extension);

    if (QFile::exists(to))// && !QFile::remove(to))
    {
        qDebug() << "File exists" << to;
        emit Tasty::instance()->error(0, QString("Файл уже существует:\n%1").arg(to));
        emit savingError();
        return;
    }

    if (!QFile::copy(_path(), to))
    {
        qDebug() << "Error copying" << to;
        emit Tasty::instance()->error(0, QString("Не удалось сохранить изображение в %1").arg(to));
        emit savingError();
        return;
    }

    emit Tasty::instance()->info(QString("Изображение сохранено в %1").arg(to));
    emit fileSaved();
}
コード例 #2
0
ファイル: roster_manager.cpp プロジェクト: enkidu/qtlen4
void QTlenRosterManager::saveMyAvatar(QImage image)
{
    QByteArray ba;
    QBuffer buffer(&ba);
    buffer.open(QIODevice::WriteOnly);
    image.save(&buffer, "PNG");
    image.save(QDir::homePath() + "/.qtlen4/avatar.png", "PNG");
    QTlenAvatarSaver *saver = new QTlenAvatarSaver();
    connect(saver,
	    SIGNAL(saved()),
	    this,
	    SIGNAL(avatarSaved()));
    connect(saver,
	    SIGNAL(error()),
	    this,
	    SIGNAL(savingError()));
    saver->start();
    saver->saveAvatar(mailInfo, ba, token, 0);
}