ClientConfiguration ClientConfiguration::fromFile(QString const& filename) { if (!QFile::exists(filename)) { throw IllegalArgumentException() << "Could not open ClientConfiguration file, file does not exist: " << filename.toStdString(); } QFile inputFile(filename); if (!inputFile.open(QFile::ReadOnly)) { throw IllegalArgumentException() << "Could not open ClientConfiguration file for reading: " << filename.toStdString(); } inputFile.close(); QSettings clientSettings(filename, QSettings::IniFormat); if (!clientSettings.contains("clientIdentityBackupPassword")) { throw IllegalArgumentException() << "Invalid ClientConfiguration: Missing clientIdentityBackupPassword in " << filename.toStdString(); } if (!clientSettings.contains("clientIdentityBackupString")) { throw IllegalArgumentException() << "Invalid ClientConfiguration: Missing clientIdentityBackupString in " << filename.toStdString(); } QString const backupString(clientSettings.value("clientIdentityBackupString").toString()); QString const backupPassword(clientSettings.value("clientIdentityBackupPassword").toString()); BackupData backupData(ClientConfiguration::fromBackup(backupString, backupPassword)); return ClientConfiguration(backupData.clientIdentity, backupData.clientLongTermKeyPair); }
void ClientWindow::on_settingsButton_clicked() { ClientSettings clientSettings(m_SyncRules); connect(&clientSettings, SIGNAL(signalClearStats()), m_SyncSystem, SLOT(slotClearStatData())); if(clientSettings.exec() == QDialog::Accepted) { //Update the branches list fSettings.beginGroup(ClientSettings::branchesStr); QStringList branches = fSettings.childGroups(); branchSelector->clear(); branchSelector->addItems(branches); fSettings.endGroup(); //if(m_SyncRules != clientSettings.m_cIgnoreRules) //{ // //copy the new rule set and save // m_SyncRules = clientSettings.m_cIgnoreRules; // m_SyncRules->saveXmlRules(defaultFile); //} } else { //reload the syncrules on cancel m_SyncRules->loadRules(); } //Load and set currently selected branch QString currentSelectedBranch = fSettings.value("CurrentlySelectedBranch").toString(); branchSelector->setCurrentIndex(branchSelector->findText(currentSelectedBranch)); fSaveBranch = true; emit signalSettingsChanged(); }
bool ClientConfiguration::toFile(QString const& filename, QString const& backupString, QString const& backupPassword) { QFile outputFile(filename); if (!outputFile.open(QFile::ReadWrite)) { LOGGER()->critical("Could not open ClientConfiguration file for writing: {}", filename.toStdString()); return false; } outputFile.close(); QSettings clientSettings(filename, QSettings::IniFormat); clientSettings.setValue("clientIdentityBackupString", backupString); clientSettings.setValue("clientIdentityBackupPassword", backupPassword); clientSettings.sync(); return true; }