// accept a config identified by the customHandle as general config. void MirallConfigFile::acceptCustomConfig() { if( _customHandle.isEmpty() ) { qDebug() << "WRN: Custom Handle is empty. Can not accept."; return; } QString srcConfig = configFile(); // this considers the custom handle credentialsPerConfig.insert(QString(), credentialsPerConfig[_customHandle]); credentialsPerConfig.remove(_customHandle); _customHandle.clear(); QString targetConfig = configFile(); QString targetBak = targetConfig + QLatin1String(".bak"); bool bakOk = false; // remove an evtl existing old config backup. if( QFile::exists( targetBak ) ) { QFile::remove( targetBak ); } // create a backup of the current config. bakOk = QFile::rename( targetConfig, targetBak ); // move the custom config to the master place. if( ! QFile::rename( srcConfig, targetConfig ) ) { // if the move from custom to master failed, put old backup back. if( bakOk ) { QFile::rename( targetBak, targetConfig ); } } QFile::remove( targetBak ); credentialsPerConfig[QString()]->persistForUrl(ownCloudUrl()); }
// accept a config identified by the customHandle as general config. void MirallConfigFile::acceptCustomConfig() { if( _customHandle.isEmpty() ) { qDebug() << "WRN: Custom Handle is empty. Can not accept."; return; } QString srcConfig = configFile(); // this considers the custom handle _customHandle.clear(); QString targetConfig = configFile(); QString targetBak = targetConfig + QLatin1String(".bak"); bool bakOk = false; // remove an evtl existing old config backup. if( QFile::exists( targetBak ) ) { QFile::remove( targetBak ); } // create a backup of the current config. bakOk = QFile::rename( targetConfig, targetBak ); // move the custom config to the master place. if( ! QFile::rename( srcConfig, targetConfig ) ) { // if the move from custom to master failed, put old backup back. if( bakOk ) { QFile::rename( targetBak, targetConfig ); } } QFile::remove( targetBak ); // inform the credential store about the password change. QString url = ownCloudUrl(); QString user = ownCloudUser(); QString pwd = ownCloudPasswd(); bool allow = passwordStorageAllowed(); if( pwd.isEmpty() ) { qDebug() << "Password is empty, skipping to write cred store."; } else { CredentialStore::instance()->setCredentials(url, user, pwd, allow); CredentialStore::instance()->saveCredentials(); } }