contact list selection does not remain up 2 date after cl reordering - Bug fixed.

cusax-fix
Yana Stamcheva 20 years ago
parent deb14ed9a1
commit f1971ca3d6

@ -18,6 +18,8 @@
import javax.swing.JList;
import javax.swing.JTree;
import javax.swing.ListModel;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
import javax.swing.plaf.basic.BasicTreeUI;
import javax.swing.text.Position;
import javax.swing.tree.TreePath;
@ -44,6 +46,8 @@ public class ContactList extends JList
private ContactListModel listModel;
private MetaContact currentlySelectedContact;
public ContactList(MetaContactListService contactList){
this.contactList = contactList;
@ -66,6 +70,15 @@ public ContactList(MetaContactListService contactList){
this.addKeyListener(new CListKeySearchListener(this));
this.contactList.addContactListListener(this);
this.addListSelectionListener(new ListSelectionListener(){
public void valueChanged(ListSelectionEvent e) {
if(getSelectedValue() instanceof MetaContact){
currentlySelectedContact
= (MetaContact)getSelectedValue();
}
}
});
}
public void metaContactAdded(MetaContactEvent evt) {
@ -126,15 +139,19 @@ public void metaContactGroupRemoved(MetaContactGroupEvent evt) {
}
public void childContactsReordered(MetaContactGroupEvent evt) {
MetaContactGroup group = evt.getSourceMetaContactGroup();
int startIndex
= this.listModel.indexOf(group.getMetaContact(0));
int endIndex
= this.listModel.indexOf(group.getMetaContact(group.countChildContacts() - 1));
= this.listModel.indexOf
(group.getMetaContact(group.countChildContacts() - 1));
this.listModel.contentChanged(startIndex, endIndex);
if(currentlySelectedContact != null)
this.setSelectedValue(currentlySelectedContact, false);
}
/**

Loading…
Cancel
Save