- Keychain data is now stored within a settings group on Windows
- Do not attempt make Fossil's default url the default if one exists already FossilOrigin-Name: 15f5fde7bf2f69a76b9f8b1e1a7a0530856210bc
This commit is contained in:
@@ -396,10 +396,16 @@ void BuildNameToModelIndex(name_modelindex_map_t &map, const QStandardItemModel
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
bool KeychainSet(QObject *parent, const QUrl &url)
|
||||
bool KeychainSet(QObject *parent, const QUrl &url, QSettings &settings)
|
||||
{
|
||||
QEventLoop loop(parent);
|
||||
QKeychain::WritePasswordJob job(UrlToStringNoCredentials(url));
|
||||
|
||||
#ifdef Q_OS_WIN
|
||||
settings.beginGroup("Keychain");
|
||||
job.setSettings(&settings);
|
||||
#endif
|
||||
|
||||
job.connect( &job, SIGNAL(finished(QKeychain::Job*)), &loop, SLOT(quit()) );
|
||||
job.setAutoDelete( false );
|
||||
job.setInsecureFallback(false);
|
||||
@@ -407,14 +413,25 @@ bool KeychainSet(QObject *parent, const QUrl &url)
|
||||
job.setTextData(url.password());
|
||||
job.start();
|
||||
loop.exec();
|
||||
|
||||
#ifdef Q_OS_WIN
|
||||
settings.endGroup();
|
||||
#endif
|
||||
|
||||
return job.error() == QKeychain::NoError;
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
bool KeychainGet(QObject *parent, QUrl &url)
|
||||
bool KeychainGet(QObject *parent, QUrl &url, QSettings &settings)
|
||||
{
|
||||
QEventLoop loop(parent);
|
||||
QKeychain::ReadPasswordJob job(UrlToStringNoCredentials(url));
|
||||
|
||||
#ifdef Q_OS_WIN
|
||||
settings.beginGroup("Keychain");
|
||||
job.setSettings(&settings);
|
||||
#endif
|
||||
|
||||
job.connect( &job, SIGNAL(finished(QKeychain::Job*)), &loop, SLOT(quit()));
|
||||
job.setAutoDelete( false );
|
||||
job.setInsecureFallback(false);
|
||||
@@ -423,6 +440,10 @@ bool KeychainGet(QObject *parent, QUrl &url)
|
||||
job.start();
|
||||
loop.exec();
|
||||
|
||||
#ifdef Q_OS_WIN
|
||||
settings.endGroup();
|
||||
#endif
|
||||
|
||||
if(job.error() != QKeychain::NoError)
|
||||
return false;
|
||||
|
||||
@@ -432,10 +453,16 @@ bool KeychainGet(QObject *parent, QUrl &url)
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
bool KeychainDelete(QObject* parent, const QUrl& url)
|
||||
bool KeychainDelete(QObject* parent, const QUrl& url, QSettings &settings)
|
||||
{
|
||||
QEventLoop loop(parent);
|
||||
QKeychain::DeletePasswordJob job(UrlToStringNoCredentials(url));
|
||||
|
||||
#ifdef Q_OS_WIN
|
||||
settings.beginGroup("Keychain");
|
||||
job.setSettings(&settings);
|
||||
#endif
|
||||
|
||||
job.connect( &job, SIGNAL(finished(QKeychain::Job*)), &loop, SLOT(quit()));
|
||||
job.setAutoDelete( false );
|
||||
job.setInsecureFallback(false);
|
||||
@@ -444,6 +471,10 @@ bool KeychainDelete(QObject* parent, const QUrl& url)
|
||||
job.start();
|
||||
loop.exec();
|
||||
|
||||
#ifdef Q_OS_WIN
|
||||
settings.endGroup();
|
||||
#endif
|
||||
|
||||
return job.error() == QKeychain::NoError;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user