package edu.washington.cs.oneswarm.ui.gwt.client.newui.friends;
import edu.washington.cs.oneswarm.ui.gwt.client.OneSwarmDialogBox;
import edu.washington.cs.oneswarm.ui.gwt.rpc.FriendInfoLite;
public class FriendPropertiesDialog extends OneSwarmDialogBox {
private final FriendPropertiesPanel mainPanel;
private final FriendListPanel parent;
private String initialGroup;
public FriendPropertiesDialog(final FriendInfoLite friend, boolean useDebug) {
this(null, friend, useDebug);
}
public FriendPropertiesDialog(FriendListPanel parent, final FriendInfoLite friend,
boolean useDebug) {
super();
this.parent = parent;
this.initialGroup = friend.getGroup();
setText("Edit Friend: " + friend.getName());
mainPanel = new FriendPropertiesPanel(friend, this, useDebug);
setWidget(mainPanel);
}
public void saveFriend() {
if (mainPanel != null) {
mainPanel.saveChanges(null, true, false);
}
}
public void hide() {
mainPanel.stopUpdates();
super.hide();
if (parent != null) {
boolean force = !initialGroup.equals(mainPanel.getGroup());
parent.updateUI(force);
}
}
}