package floobits.dialogs;
import floobits.common.RunLater;
import org.jetbrains.annotations.Nullable;
import javax.swing.*;
import java.util.ArrayList;
import java.util.List;
public class SetPermissionsDialog extends CustomButtonDialogWrapper {
protected SetPermissionsForm form = new SetPermissionsForm();
public SetPermissionsDialog(final RunLater<String[]> runLater, boolean view, boolean request, boolean edit, boolean admin) {
super(true);
setTitle("Edit Permissions");
form.setPermissions(view, request, edit, admin);
actions = new Action[]{
new CustomButtonAction("Cancel", null),
new CustomButtonAction("Save", new Runnable() {
@Override
public void run() {
List<String> permissions = new ArrayList<String>();
if (form.canAdmin()) {
permissions.add("admin_room");
}
if (form.canEdit()) {
permissions.add("edit_room");
}
if (form.canRequestPermissions()) {
permissions.add("request_perms");
}
if (form.canView()) {
permissions.add("view_room");
}
runLater.run(permissions.toArray(new String[permissions.size()]));
}
}),
};
init();
}
public void setUsername(String username) {
form.setUsername(username);
}
@Nullable
@Override
public JComponent createCenterPanel() {
return form.getContentPanel();
}
}