void AbstractSettings::save() { // Save settings, except styles QSettings *s = Core::ICore::settings(); s->beginGroup(QLatin1String(Constants::SETTINGS_GROUP)); s->beginGroup(m_name); QMap<QString, QVariant>::const_iterator iSettings = m_settings.constBegin(); while (iSettings != m_settings.constEnd()) { s->setValue(iSettings.key(), iSettings.value()); ++iSettings; } s->setValue(QLatin1String("command"), m_command); s->endGroup(); s->endGroup(); // Save styles if (m_stylesToRemove.isEmpty() && m_styles.isEmpty()) return; if (!m_styleDir.exists()) { const QString path = m_styleDir.absolutePath(); if (!(m_styleDir.mkpath(path) && m_styleDir.cd(path))) { BeautifierPlugin::showError(tr("Cannot save styles. %1 does not exist.").arg(path)); return; } } // remove old files foreach (const QString &file, m_stylesToRemove) m_styleDir.remove(file); m_stylesToRemove.clear(); QMap<QString, QString>::const_iterator iStyles = m_styles.constBegin(); while (iStyles != m_styles.constEnd()) { // Only save changed styles. if (!m_changedStyles.contains(iStyles.key())) { ++iStyles; continue; } Utils::FileSaver saver(styleFileName(iStyles.key())); if (saver.hasError()) { BeautifierPlugin::showError(tr("Cannot open file \"%1\": %2.") .arg(saver.fileName()) .arg(saver.errorString())); } else { saver.write(iStyles.value().toLocal8Bit()); if (!saver.finalize()) { BeautifierPlugin::showError(tr("Cannot save file \"%1\": %2.") .arg(saver.fileName()) .arg(saver.errorString())); } } ++iStyles; } m_changedStyles.clear(); }
void AbstractSettings::save() { // Save settings, except styles QSettings *s = Core::ICore::settings(); s->beginGroup(Constants::SETTINGS_GROUP); s->beginGroup(m_name); QMap<QString, QVariant>::const_iterator iSettings = m_settings.constBegin(); while (iSettings != m_settings.constEnd()) { s->setValue(iSettings.key(), iSettings.value()); ++iSettings; } s->setValue(COMMAND, m_command); s->setValue(SUPPORTED_MIME, supportedMimeTypesAsString()); s->endGroup(); s->endGroup(); // Save styles if (m_stylesToRemove.isEmpty() && m_styles.isEmpty()) return; // remove old files and possible subfolder foreach (const QString &key, m_stylesToRemove) { const QFileInfo fi(styleFileName(key)); QFile::remove(fi.absoluteFilePath()); if (fi.absoluteDir() != m_styleDir) m_styleDir.rmdir(fi.absolutePath()); } m_stylesToRemove.clear(); QMap<QString, QString>::const_iterator iStyles = m_styles.constBegin(); while (iStyles != m_styles.constEnd()) { // Only save changed styles. if (!m_changedStyles.contains(iStyles.key())) { ++iStyles; continue; } const QFileInfo fi(styleFileName(iStyles.key())); if (!(m_styleDir.mkpath(fi.absolutePath()))) { BeautifierPlugin::showError(tr("Cannot save styles. %1 does not exist.") .arg(fi.absolutePath())); continue; } Utils::FileSaver saver(fi.absoluteFilePath()); if (saver.hasError()) { BeautifierPlugin::showError(tr("Cannot open file \"%1\": %2.") .arg(saver.fileName()) .arg(saver.errorString())); } else { saver.write(iStyles.value().toLocal8Bit()); if (!saver.finalize()) { BeautifierPlugin::showError(tr("Cannot save file \"%1\": %2.") .arg(saver.fileName()) .arg(saver.errorString())); } } ++iStyles; } m_changedStyles.clear(); }