From ab244321c80db0c138cd25861caea28b640ea95b Mon Sep 17 00:00:00 2001 From: Yana Stamcheva Date: Wed, 11 Oct 2006 10:58:26 +0000 Subject: [PATCH] save the selected contact after reordered --- .../impl/gui/main/contactlist/ContactList.java | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/net/java/sip/communicator/impl/gui/main/contactlist/ContactList.java b/src/net/java/sip/communicator/impl/gui/main/contactlist/ContactList.java index 4bf5e2dba..d735be5f1 100644 --- a/src/net/java/sip/communicator/impl/gui/main/contactlist/ContactList.java +++ b/src/net/java/sip/communicator/impl/gui/main/contactlist/ContactList.java @@ -87,7 +87,10 @@ public ContactList(MainFrame mainFrame) { this.addListSelectionListener(new ListSelectionListener() { public void valueChanged(ListSelectionEvent e) { - currentlySelectedObject = getSelectedValue(); + new Exception().printStackTrace(); + if(!e.getValueIsAdjusting()) { + currentlySelectedObject = getSelectedValue(); + } } }); @@ -183,7 +186,9 @@ public void metaContactGroupRemoved(MetaContactGroupEvent evt) { * depends on the contact and not on the index. */ public void childContactsReordered(MetaContactGroupEvent evt) { - this.refreshGroup(evt.getSourceMetaContactGroup()); + if(currentlySelectedObject != null) + setSelectedValue(currentlySelectedObject); + this.refreshGroup(evt.getSourceMetaContactGroup()); } @@ -662,7 +667,7 @@ public void run() } else { this.refreshAll(); - } + } isModified = false; } } @@ -688,7 +693,7 @@ private void refreshGroup(MetaContactGroup group) int groupIndex = listModel.indexOf(group); int lastIndex = listModel.countChildContacts(group); - listModel.contentAdded(groupIndex, lastIndex); + listModel.contentChanged(groupIndex, lastIndex); } } } @@ -724,7 +729,7 @@ public void refreshAll() public void setSelectedValue(Object o) { if(o == null) setSelectedIndex(-1); - else if(!o.equals(getSelectedValue())) { + else { int i = listModel.indexOf(o); this.setSelectedIndex(i); }