mirror of
https://github.com/RetroShare/RetroShare.git
synced 2025-07-21 13:49:04 -04:00
added lockfile path info to the multiple-instances warning window in rs-
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4098 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
parent
49aad683b1
commit
2dd6581f14
5 changed files with 21 additions and 13 deletions
|
@ -118,7 +118,7 @@ class RsInit
|
||||||
* This wrapper is used to lock the profile first before
|
* This wrapper is used to lock the profile first before
|
||||||
* finalising the login
|
* finalising the login
|
||||||
*/
|
*/
|
||||||
static int LockAndLoadCertificates(bool autoLoginNT);
|
static int LockAndLoadCertificates(bool autoLoginNT, std::string& lockFilePath);
|
||||||
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
@ -155,7 +155,7 @@ class RsInit
|
||||||
static bool RsTryAutoLogin() ;
|
static bool RsTryAutoLogin() ;
|
||||||
|
|
||||||
/* Lock/unlock profile directory */
|
/* Lock/unlock profile directory */
|
||||||
static int LockConfigDirectory(const std::string& accountDir);
|
static int LockConfigDirectory(const std::string& accountDir, std::string& lockFilePath);
|
||||||
static void UnlockConfigDirectory();
|
static void UnlockConfigDirectory();
|
||||||
|
|
||||||
/* The true LoadCertificates() method */
|
/* The true LoadCertificates() method */
|
||||||
|
|
|
@ -1053,10 +1053,11 @@ int RsInit::GetPGPLoginDetails(std::string id, std::string &name, std::stri
|
||||||
* 1 : Another instance already has the lock
|
* 1 : Another instance already has the lock
|
||||||
* 2 : Unexpected error
|
* 2 : Unexpected error
|
||||||
*/
|
*/
|
||||||
int RsInit::LockConfigDirectory(const std::string& accountDir)
|
int RsInit::LockConfigDirectory(const std::string& accountDir, std::string& lockFilePath)
|
||||||
{
|
{
|
||||||
const std::string lockFile = accountDir + RsInitConfig::dirSeperator + "lock";
|
const std::string lockFile = accountDir + RsInitConfig::dirSeperator + "lock";
|
||||||
|
|
||||||
|
lockFilePath = lockFile;
|
||||||
/******************************** WINDOWS/UNIX SPECIFIC PART ******************/
|
/******************************** WINDOWS/UNIX SPECIFIC PART ******************/
|
||||||
#ifndef WINDOWS_SYS
|
#ifndef WINDOWS_SYS
|
||||||
if(RsInitConfig::lockHandle != -1)
|
if(RsInitConfig::lockHandle != -1)
|
||||||
|
@ -1418,9 +1419,9 @@ bool RsInit::LoadPassword(std::string id, std::string inPwd)
|
||||||
* 2 : unexpected error while locking
|
* 2 : unexpected error while locking
|
||||||
* 3 : unexpected error while loading certificates
|
* 3 : unexpected error while loading certificates
|
||||||
*/
|
*/
|
||||||
int RsInit::LockAndLoadCertificates(bool autoLoginNT)
|
int RsInit::LockAndLoadCertificates(bool autoLoginNT, std::string& lockFilePath)
|
||||||
{
|
{
|
||||||
int retVal = LockConfigDirectory(RsInitConfig::configDir);
|
int retVal = LockConfigDirectory(RsInitConfig::configDir, lockFilePath);
|
||||||
if(retVal != 0)
|
if(retVal != 0)
|
||||||
return retVal;
|
return retVal;
|
||||||
|
|
||||||
|
|
|
@ -322,7 +322,8 @@ void GenCertDialog::checkChanged(int i)
|
||||||
|
|
||||||
void GenCertDialog::loadCertificates()
|
void GenCertDialog::loadCertificates()
|
||||||
{
|
{
|
||||||
int retVal = RsInit::LockAndLoadCertificates(false);
|
std::string lockFile;
|
||||||
|
int retVal = RsInit::LockAndLoadCertificates(false, lockFile);
|
||||||
switch(retVal)
|
switch(retVal)
|
||||||
{
|
{
|
||||||
case 0: close();
|
case 0: close();
|
||||||
|
|
|
@ -152,7 +152,8 @@ void StartDialog::loadPerson()
|
||||||
void StartDialog::loadCertificates()
|
void StartDialog::loadCertificates()
|
||||||
{
|
{
|
||||||
/* Final stage of loading */
|
/* Final stage of loading */
|
||||||
int retVal = RsInit::LockAndLoadCertificates(ui.autologin_checkbox->isChecked());
|
std::string lockFile;
|
||||||
|
int retVal = RsInit::LockAndLoadCertificates(ui.autologin_checkbox->isChecked(), lockFile);
|
||||||
switch(retVal)
|
switch(retVal)
|
||||||
{
|
{
|
||||||
case 0: close();
|
case 0: close();
|
||||||
|
@ -161,12 +162,14 @@ void StartDialog::loadCertificates()
|
||||||
tr("Multiple instances"),
|
tr("Multiple instances"),
|
||||||
tr("Another RetroShare using the same profile is "
|
tr("Another RetroShare using the same profile is "
|
||||||
"already running on your system. Please close "
|
"already running on your system. Please close "
|
||||||
"that instance first, or choose another profile") );
|
"that instance first, or choose another profile\n"
|
||||||
|
"lock file:\n ")+ QString::fromStdString(lockFile));
|
||||||
break;
|
break;
|
||||||
case 2: QMessageBox::warning( this,
|
case 2: QMessageBox::warning( this,
|
||||||
tr("Multiple instances"),
|
tr("Multiple instances"),
|
||||||
tr("An unexpected error occurred when Retroshare"
|
tr("An unexpected error occurred when Retroshare"
|
||||||
"tried to acquire the single instance lock") );
|
"tried to acquire the single instance lock\n"
|
||||||
|
"lock file:\n ")+ QString::fromStdString(lockFile));
|
||||||
break;
|
break;
|
||||||
case 3: QMessageBox::warning( this,
|
case 3: QMessageBox::warning( this,
|
||||||
tr("Login Failure"),
|
tr("Login Failure"),
|
||||||
|
|
|
@ -166,7 +166,8 @@ int main(int argc, char *argv[])
|
||||||
}
|
}
|
||||||
|
|
||||||
// true: note auto-login is active
|
// true: note auto-login is active
|
||||||
int retVal = RsInit::LockAndLoadCertificates(true);
|
std::string lockFile;
|
||||||
|
int retVal = RsInit::LockAndLoadCertificates(true, lockFile);
|
||||||
switch(retVal)
|
switch(retVal)
|
||||||
{
|
{
|
||||||
case 0: break;
|
case 0: break;
|
||||||
|
@ -174,12 +175,14 @@ int main(int argc, char *argv[])
|
||||||
QObject::tr("Multiple instances"),
|
QObject::tr("Multiple instances"),
|
||||||
QObject::tr("Another RetroShare using the same profile is "
|
QObject::tr("Another RetroShare using the same profile is "
|
||||||
"already running on your system. Please close "
|
"already running on your system. Please close "
|
||||||
"that instance first") );
|
"that instance first\n Lock file:\n") +
|
||||||
|
QString::fromStdString(lockFile));
|
||||||
return 1;
|
return 1;
|
||||||
case 2: QMessageBox::critical( 0,
|
case 2: QMessageBox::critical( 0,
|
||||||
QObject::tr("Multiple instances"),
|
QObject::tr("Multiple instances"),
|
||||||
QObject::tr("An unexpected error occurred when Retroshare"
|
QObject::tr("An unexpected error occurred when Retroshare"
|
||||||
"tried to acquire the single instance lock") );
|
"tried to acquire the single instance lock\n Lock file:\n") +
|
||||||
|
QString::fromStdString(lockFile));
|
||||||
return 1;
|
return 1;
|
||||||
case 3: QMessageBox::critical( 0,
|
case 3: QMessageBox::critical( 0,
|
||||||
QObject::tr("Login Failure"),
|
QObject::tr("Login Failure"),
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue