> On 2008-02-19 22:26:07, Matt Rogers wrote: > > All the extra whitespace (highlighted in red) need to be removed from the > > patch. > > > > I'm still not sure this is the right way. The reason I say is because we > > introduce two different behaviors depending upon how many contacts a > > metacontact has in it. > > > > Anyways, submit another revision for the whitespace and perhaps we can get > > a discussion on kopete-devel started about this.
I do believe the patch in its current form is still useful. However, since you mention it, I would like to work on creating functionality that would add similar behavior even when there is more than one contact per metacontact. Regarding the issue of synchronizing metacontacts to groups, I would create a dialog (not protocol-specific) that could say something similar to this: Metacontact 'name' in group 'group' has contacts in multiple groups. Select the group to which you would like to move 'name'. [ ] 'group 1' 'first contact name' 'protocol' [ ] 'group 2' 'second contact name' 'protocol' ... [ ] do not show again (OK) (Cancel) Since I am focusing on Oscar synchronization at the moment, I would only be calling this function upon an Oscar synchronization event, but I think it is important that this functionality has the ability be shared between protocols since it is dealing with metacontacts and groups. It could be called by other protocols, too, if they detect a similar event. Use case: User has two computers with Kopete. Computer 1 uses the AIM protocol only. Computer 2 uses AIM and Jabber. On computer 1, the user's contact 'Foo' is in group 'A' and is alone in the metacontact. On computer 2, 'Foo' metacontact contains contacts for both AIM and Jabber and is still in group 'A'. One day the user decides to move 'Foo' to group 'B' on computer 2. He signs onto computer 1 and is presented with the dialog. He sees that "Foo"'s AIM contact has switched to group 'B' on the server, so rather than keeping the metacontact split (functionality of cancelling the dialog) or moving 'Foo' back to group 'A', he selects the group 'B' box and hits OK. The Jabber contact and metacontact are then moved to group 'B', and the contact list is nice, organized, and synchronized. Regarding the issue of deleting metacontacts after contacts have been deleted server side, I believe that users don't even need to be presented the option to delete the rest of the metacontact if more than one contact exists in the metacontact. To avoid confusion, I will check to see if all nonserver contacts' metacontacts have more than one contact (Whew!), and pass a parameter to the dialog function. If all of them have multiple contacts, then none of the metacontacts can be deleted, and the option for deletion should be removed from the dialog. If you like, I will also add a sentence to the dialog explaining that metacontacts with more than one contact attached will not be deleted. Thank you for your time and consideration. - Adam ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: http://mattr.info/r/163/#review155 ----------------------------------------------------------- On 2008-02-20 08:17:59, Adam Russell wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > http://mattr.info/r/163/ > ----------------------------------------------------------- > > (Updated 2008-02-20 08:17:59) > > > Review request for Kopete. > > > Summary > ------- > > Fixes two Oscar synchronization issues: > 1. Moving a contact from one group to another on the server now moves the > contact on the client. > 2. Once a contact is removed from the server, an option is now given to > delete the metacontact from the client. > > Also added a TODO for group synchronization. > > > Diffs > ----- > > trunk/KDE/kdenetwork/kopete/protocols/oscar/oscaraccount.cpp > trunk/KDE/kdenetwork/kopete/protocols/oscar/oscarlistnonservercontacts.cpp > > Diff: http://mattr.info/r/163/diff > > > Testing > ------- > > 1. Manipulated SSI via another client so that the group for a contact does > not match Kopete's group. Signed on and confirmed group synchronization. > 2. Removed a contact via another client. Signed on, received modified > dialog, and confirmed metacontact removal after selecting the deletion option. > > > Thanks, > > Adam > > _______________________________________________ kopete-devel mailing list [email protected] https://mail.kde.org/mailman/listinfo/kopete-devel
