|
|
|
@ -54,9 +54,9 @@ Display* dpy;
|
|
|
|
|
|
|
|
|
|
static KVncView *kvncview;
|
|
|
|
|
|
|
|
|
|
//Passwords and KWallet data
|
|
|
|
|
extern KWallet::Wallet *wallet;
|
|
|
|
|
bool useKWallet = false;
|
|
|
|
|
//Passwords and TDEWallet data
|
|
|
|
|
extern TDEWallet::Wallet *wallet;
|
|
|
|
|
bool useTDEWallet = false;
|
|
|
|
|
static TQCString password;
|
|
|
|
|
static TQMutex passwordLock;
|
|
|
|
|
static TQWaitCondition passwordWaiter;
|
|
|
|
@ -232,7 +232,7 @@ bool KVncView::editPreferences( HostPrefPtr host )
|
|
|
|
|
SmartPtr<VncHostPref> hp( host );
|
|
|
|
|
|
|
|
|
|
int ci = hp->quality();
|
|
|
|
|
bool tdewallet = hp->useKWallet();
|
|
|
|
|
bool tdewallet = hp->useTDEWallet();
|
|
|
|
|
|
|
|
|
|
// show preferences dialog
|
|
|
|
|
KDialogBase *dlg = new KDialogBase( 0L, "dlg", true,
|
|
|
|
@ -246,7 +246,7 @@ bool KVncView::editPreferences( HostPrefPtr host )
|
|
|
|
|
|
|
|
|
|
prefs->setQuality( ci );
|
|
|
|
|
prefs->setShowPrefs(true);
|
|
|
|
|
prefs->setUseKWallet(tdewallet);
|
|
|
|
|
prefs->setUseTDEWallet(tdewallet);
|
|
|
|
|
|
|
|
|
|
if ( dlg->exec() == TQDialog::Rejected )
|
|
|
|
|
return false;
|
|
|
|
@ -254,7 +254,7 @@ bool KVncView::editPreferences( HostPrefPtr host )
|
|
|
|
|
ci = prefs->quality();
|
|
|
|
|
hp->setAskOnConnect(prefs->showPrefs());
|
|
|
|
|
hp->setQuality(ci);
|
|
|
|
|
hp->setUseKWallet(prefs->useKWallet());
|
|
|
|
|
hp->setUseTDEWallet(prefs->useTDEWallet());
|
|
|
|
|
|
|
|
|
|
delete dlg;
|
|
|
|
|
return true;
|
|
|
|
@ -292,7 +292,7 @@ bool KVncView::start() {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
configureApp(quality);
|
|
|
|
|
useKWallet = hp->useKWallet();
|
|
|
|
|
useTDEWallet = hp->useTDEWallet();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
setStatus(REMOTE_VIEW_CONNECTING);
|
|
|
|
@ -403,8 +403,8 @@ void KVncView::customEvent(TQCustomEvent *e)
|
|
|
|
|
emit disconnected();
|
|
|
|
|
}
|
|
|
|
|
else if (m_status == REMOTE_VIEW_PREPARING) {
|
|
|
|
|
//Login was successfull: Write KWallet password if necessary.
|
|
|
|
|
if ( useKWallet && !password.isNull() && wallet && wallet->isOpen() && !wallet->hasEntry(host())) {
|
|
|
|
|
//Login was successfull: Write TDEWallet password if necessary.
|
|
|
|
|
if ( useTDEWallet && !password.isNull() && wallet && wallet->isOpen() && !wallet->hasEntry(host())) {
|
|
|
|
|
wallet->writePassword(host(), password);
|
|
|
|
|
}
|
|
|
|
|
delete wallet; wallet=0;
|
|
|
|
@ -433,8 +433,8 @@ void KVncView::customEvent(TQCustomEvent *e)
|
|
|
|
|
|
|
|
|
|
// Do we need to open the wallet?
|
|
|
|
|
if ( !wallet ) {
|
|
|
|
|
TQString walletName = KWallet::Wallet::NetworkWallet();
|
|
|
|
|
wallet = KWallet::Wallet::openWallet(walletName);
|
|
|
|
|
TQString walletName = TDEWallet::Wallet::NetworkWallet();
|
|
|
|
|
wallet = TDEWallet::Wallet::openWallet(walletName);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (wallet && wallet->isOpen()) {
|
|
|
|
@ -494,7 +494,7 @@ void KVncView::customEvent(TQCustomEvent *e)
|
|
|
|
|
break;
|
|
|
|
|
case ERROR_AUTHENTICATION:
|
|
|
|
|
//Login failed: Remove wallet entry if there is one.
|
|
|
|
|
if ( useKWallet && wallet && wallet->isOpen() && wallet->hasEntry(host()) ) {
|
|
|
|
|
if ( useTDEWallet && wallet && wallet->isOpen() && wallet->hasEntry(host()) ) {
|
|
|
|
|
wallet->removeEntry(host());
|
|
|
|
|
}
|
|
|
|
|
KMessageBox::error(0,
|
|
|
|
@ -771,7 +771,7 @@ int getPassword(char *passwd, int pwlen) {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//Try #2: Is there something in the wallet?
|
|
|
|
|
if ( !retV && useKWallet ) {
|
|
|
|
|
if ( !retV && useTDEWallet ) {
|
|
|
|
|
TQApplication::postEvent(kvncview, new WalletOpenEvent());
|
|
|
|
|
passwordWaiter.wait(&passwordLock); //block
|
|
|
|
|
if (!password.isNull()) retV = 1; //got it!
|
|
|
|
|