示例#1
0
QStringList
KGpgSignText::command() const
{
	QStringList ret = m_extraOptions;

	const KUrl::List &files = getInputFiles();
	QString fileName;

	if (!files.isEmpty())
		fileName = files.first().path();

	ret << QLatin1String("-u") << m_signId;

	if (m_options & AsciiArmored) {
		if (fileName.isEmpty())
			ret << QLatin1String("--clearsign");
		else
			ret << QLatin1String("--armor");
	}
	if (KGpgSettings::pgpCompatibility())
		ret << QLatin1String("--pgp6");

	if (!fileName.isEmpty()) {
		if (m_options & DetachedSignature)
			ret << QLatin1String("--detach-sign") <<
					QLatin1String("--output") << fileName + QLatin1String(".sig");
	}

	return ret;
}
示例#2
0
bool
KGpgEncrypt::nextLine(const QString &line)
{
    //qDebug() << "KGpgEncrypt::nextLine called";
    const QList<QUrl> &inputFiles = getInputFiles();

	if (line.startsWith(QLatin1String("[GNUPG:] MISSING_PASSPHRASE"))) {
		setSuccess(KGpgTransaction::TS_BAD_PASSPHRASE);
		return true;
	}

	if (!inputFiles.isEmpty()) {
		static const QString encStart = QLatin1String("[GNUPG:] FILE_START 2 ");
		static const QString encDone = QLatin1String("[GNUPG:] FILE_DONE");
		static const QString askName = QLatin1String("[GNUPG:] GET_LINE openfile.askoutname");

		if (line.startsWith(encStart)) {
			m_currentFile = line.mid(encStart.length());
            emit statusMessage(tr("Status message 'Encrypting <filename>' (operation starts)", "Encrypting %1").arg(m_currentFile));
			emit infoProgress(2 * m_fileIndex + 1, inputFiles.count() * 2);
		} else if (line == encDone) {
            emit statusMessage(tr("Status message 'Encrypted <filename>' (operation was completed)", "Encrypted %1").arg(m_currentFile));
			m_fileIndex++;
			emit infoProgress(2 * m_fileIndex, inputFiles.count() * 2);
        } else if (line == askName) {
            qDebug() << "KGpgEncrypt::nextLine - name asked for file...";
        }
// TODO
/*		} else if (line == askName) {
			QPointer<KIO::RenameDialog> over = new KIO::RenameDialog(qobject_cast<QWidget *>(parent()),
					i18n("File Already Exists"), KUrl(),
					KUrl::fromPath(m_currentFile + encryptExtension(m_options.testFlag(AsciiArmored))),
					KIO::M_OVERWRITE);

			if (over->exec() != QDialog::Accepted) {
				delete over;
				setSuccess(KGpgTransaction::TS_USER_ABORTED);
				return true;
            }
			write(over->newDestUrl().path().toUtf8());
            delete over;*/
        //}
	}

	return KGpgTextOrFileTransaction::nextLine(line);
}