package com.mobilesorcery.sdk.builder.iphoneos.ui.properties;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Group;
import org.eclipse.swt.widgets.Label;
import org.eclipse.ui.IWorkbenchPropertyPage;
import com.mobilesorcery.sdk.builder.iphoneos.PropertyInitializer;
import com.mobilesorcery.sdk.core.PropertyUtil;
import com.mobilesorcery.sdk.ui.MoSyncPropertyPage;
import com.mobilesorcery.sdk.ui.UpdateListener;
public class IPhoneOSSigningPropertyPage extends MoSyncPropertyPage implements IWorkbenchPropertyPage {
public IPhoneOSSigningPropertyPage() {
super(true);
}
private Button useProjectSpecific;
private IPhoneOSCertSelector certSelector;
@Override
protected Control createContents(Composite parent) {
Composite main = new Composite(parent, SWT.NONE);
main.setLayout(new GridLayout(1, false));
useProjectSpecific = new Button(main, SWT.CHECK);
useProjectSpecific.setText("Enable Pr&oject Specific Settings");
useProjectSpecific.setSelection(PropertyUtil.getBoolean(getProject(), PropertyInitializer.IPHONE_PROJECT_SPECIFIC_CERT));
useProjectSpecific.addListener(SWT.Selection, new UpdateListener(this));
Label separator = new Label(main, SWT.SEPARATOR | SWT.HORIZONTAL);
separator.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
certSelector = new IPhoneOSCertSelector(main, SWT.NONE);
certSelector.setValue(getProject().getProperty(PropertyInitializer.IPHONE_CERT));
certSelector.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
initUI();
updateUI();
return main;
}
private void initUI() {
certSelector.setValue(getProject().getProperty(PropertyInitializer.IPHONE_CERT));
useProjectSpecific.setSelection(PropertyUtil.getBoolean(getProject(), PropertyInitializer.IPHONE_PROJECT_SPECIFIC_CERT));
}
@Override
public void updateUI() {
certSelector.setEnabled(useProjectSpecific.getSelection());
}
@Override
public boolean performOk() {
PropertyUtil.setBoolean(getProject(), PropertyInitializer.IPHONE_PROJECT_SPECIFIC_CERT, useProjectSpecific.getSelection());
getProject().setProperty(PropertyInitializer.IPHONE_CERT, certSelector.getValue());
return true;
}
@Override
public void performDefaults() {
useProjectSpecific.setSelection(PropertyUtil.toBoolean(getProject().getDefaultProperty(PropertyInitializer.IPHONE_PROJECT_SPECIFIC_CERT)));
certSelector.setValue(getProject().getDefaultProperty(PropertyInitializer.IPHONE_CERT));
updateUI();
}
}