kde at metafoo.co.uk
Wed Nov 3 20:00:28 GMT 2004
On Wednesday 03 November 2004 19:35, George Staikos wrote:
> On Wednesday 03 November 2004 14:41, Richard Smith wrote:
> > On Wednesday 03 November 2004 17:51, Olivier Goffart wrote:
> > > About KPasswordDialog,
> > > I wrote few times ago a class KPassword that make the automation of
> > > saving the result of a KPasswordDialog in the KWallet, or retreive it
> > > from there if it already exist.
> > >
> > > I plan to use it in Kopete insteads of the KopetePassword
> > One question: why? What's wrong with KopetePassword? It supports a lot of
> > functionality that Kopete needs, that your KPassword class does not
> > provide (such as caching the password, async password retrieval,
> > prompting the user for the password, caching the wallet pointer, avoiding
> > nested event loops, handling a 'remember password' checkbox and a
> > 'password is wrong' flag, dealing with the user refusing to open the
> > wallet, providing a
> > password-editing widget, providing a KConfig fallback, having been used
> > for a while so bugs have been found, etc).
> > Why not instead consider KopetePassword for inclusion in kdelibs (after a
> > rename, of course)? Only the wallet folder name is Kopete-specific
> > (that's hard-coded in in kopetewalletmanager.cpp).
> Again, please see my concerns. Why exactly does Kopete::WalletManager
> open the wallet asynchronously sometimes, but synchronously others?
It opens it synchronously if it's asked to open it synchronously,
asynchronously if it's asked to open it asynchronously. The reason for that
was that Kopete used to depend on being able to grab the password
synchronously, and I wanted to allow the existing code to keep working in the
interim. As it happens, all but two of the protocols in Kopete have been
ported for months, but I forgot to commit my changes to the other two (and
the patches have since gone stale). I'm working on porting them now; when
I've done that I'll be ripping all the synchronous stuff out of
Kopete::Password and Kopete::WalletManager.
More information about the kde-core-devel