[prev in list] [next in list] [prev in thread] [next in thread]
List: kopete-devel
Subject: Re: [Kopete-devel] Display Picture in the metacontact synced with
From: Will Stephenson <william.stephenson () ncl ! ac ! uk>
Date: 2003-09-11 17:31:17
[Download RAW message or body]
On Thursday 11 September 2003 17:35, Olivier Goffart wrote:
> As everyone has elready seen, Kopete CVS already support the MSN display
> picture.
> In the same time, Will is working on the KAdressBook integration, and would
> like to use the display picture for KAB
But this is only one example of contact metadata. There are many other things
that protocols give us that we should be able to put in KABC that we should
consider. If we were to take the approach you describe below for all of
these items, we have to add a lot of API, most of which will not be used by
most protocols.
There are two metadata properties I think we should keep in mind - the
frequency of updates, and the merge policy.
By frequency of updates, I mean, do we need to track the metadata's value as
tightly as possible or can we be more relaxed? Some types of contact
metadata need to be completely up to date, using change notification; these
are essential features. The two examples are display name and (probably)
display picture. Call this 'Push updating' For other things, though, like
dates of birth and addresses, on demand, 'Pull updating' is sufficient (see
ICQ's user info).
By Merge Policy, I mean, how we manage the multiple, partially overlapping
sets of metadata that each each protocol provides. Automatic or hand
merging? If we have a KMC with 3 contacts and each one updates their
metadata whenever they want, how do we reconcile that into one record in a
KMC? At the moment we do not allow push updating when there are multiple
metadata sources. I can't see a automatic way to perform these merges that
wouldn't violate the principle of least surprise.
Since for most data we only need pull updating and hand merging, I don't think
we need the API below for most items. We could get away without any
additions to KopeteContact for these by just adding them to KMC (perhaps in a
child UserInfo object) and then allowing protocol specific UI to manipulate
the KMC metadata. For example, for each widget on the ICQ Userinfo, there
would be a button to 'Use this for the addressbook/metacontact'. Then, at
metacontact level, have an option to use the metacontact data in the KABC.
Will
> Here is a proposal of API:
>
> QPixmap KopeteMetaContact::displayPicture()
> KopeteMetaContact::setDisplayPicture(QPixmap)
> QPixmap KopeteContact::displayPicture()
> KopeteContact::setDisplayPicture(QPixmap)
> signal KopeteContact::displayPictureChanged()
--
Will Stephenson
IRC: Bille
_______________________________________________
Kopete-devel mailing list
Kopete-devel@mail.kde.org
http://mail.kde.org/mailman/listinfo/kopete-devel
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic