diff --git a/src/mirall/mirallconfigfile.cpp b/src/mirall/mirallconfigfile.cpp index dcf2483cb9..f8834dedaa 100644 --- a/src/mirall/mirallconfigfile.cpp +++ b/src/mirall/mirallconfigfile.cpp @@ -367,6 +367,22 @@ bool MirallConfigFile::passwordStorageAllowed( const QString& connection ) return !skipPwd; } +bool MirallConfigFile::ownCloudPasswordExists( const QString& connection ) const +{ + QString con( connection ); + if( connection.isEmpty() ) con = defaultConnection(); + + QSettings settings( configFile(), QSettings::IniFormat ); + settings.setIniCodec( "UTF-8" ); + settings.beginGroup( con ); + + bool rc = false; + if( settings.contains(QLatin1String("passwd")) ) { + rc = true; + } + return rc; +} + QString MirallConfigFile::ownCloudPasswd( const QString& connection ) const { QString con( connection ); diff --git a/src/mirall/mirallconfigfile.h b/src/mirall/mirallconfigfile.h index 202c982e31..dcd735720c 100644 --- a/src/mirall/mirallconfigfile.h +++ b/src/mirall/mirallconfigfile.h @@ -105,6 +105,7 @@ public: protected: // these classes can only be access from CredentialStore as a friend class. + bool ownCloudPasswordExists( const QString& connection = QString() ) const; QString ownCloudPasswd( const QString& connection = QString() ) const; void clearPasswordFromConfig( const QString& connect = QString() ); bool writePassword( const QString& passwd, const QString& connection = QString() );