Arik Hadas has uploaded a new change for review. Change subject: webadmin: virtio-tools ......................................................................
webadmin: virtio-tools Change-Id: I7fd184bb4847dd07e1ac6b831c6857eeb8a16fc7 Signed-off-by: Arik Hadas <aha...@redhat.com> --- M frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/CommonApplicationConstants.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/ImportVmFromExternalProviderModel.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/vm/ImportVmFromExternalProviderPopupView.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/vm/ImportVmFromExternalProviderPopupView.ui.xml 4 files changed, 114 insertions(+), 8 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/59/42259/1 diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/CommonApplicationConstants.java b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/CommonApplicationConstants.java index 1901367..18cb493 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/CommonApplicationConstants.java +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/CommonApplicationConstants.java @@ -775,6 +775,9 @@ @DefaultStringValue("Attach CD") String attachCdVmPopup(); + @DefaultStringValue("Attach VirtIO-Drivers") + String attachVirtioDrivers(); + @DefaultStringValue("Linux Boot Options:") String linuxBootOptionsVmPopup(); diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/ImportVmFromExternalProviderModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/ImportVmFromExternalProviderModel.java index f41143b..aba987d 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/ImportVmFromExternalProviderModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/ImportVmFromExternalProviderModel.java @@ -41,7 +41,10 @@ import org.ovirt.engine.ui.uicommonweb.models.clusters.ClusterListModel; import org.ovirt.engine.ui.uicommonweb.models.quota.QuotaListModel; import org.ovirt.engine.ui.uicompat.ConstantsManager; +import org.ovirt.engine.ui.uicompat.Event; +import org.ovirt.engine.ui.uicompat.EventArgs; import org.ovirt.engine.ui.uicompat.FrontendMultipleQueryAsyncResult; +import org.ovirt.engine.ui.uicompat.IEventListener; import org.ovirt.engine.ui.uicompat.IFrontendMultipleActionAsyncCallback; import org.ovirt.engine.ui.uicompat.IFrontendMultipleQueryAsyncCallback; @@ -57,6 +60,8 @@ private VmImportDiskListModel importDiskListModel; private List<Network> networks; private List<VnicProfileView> networkProfiles; + private ListModel<String> iso; + private EntityModel<Boolean> attachDrivers; private String url; private String username; @@ -71,6 +76,15 @@ setStorage(new ListModel<StorageDomain>()); setAllocation(new ListModel<VolumeType>()); getAllocation().setItems(Arrays.asList(VolumeType.Sparse, VolumeType.Preallocated)); + setIso(new ListModel<String>()); + getIso().setIsChangeable(false); + setAttachDrivers(new EntityModel<Boolean>(false)); + getAttachDrivers().getEntityChangedEvent().addListener(new IEventListener<EventArgs>() { + @Override + public void eventRaised(Event<? extends EventArgs> ev, Object sender, EventArgs args) { + getIso().setIsChangeable(getAttachDrivers().getEntity()); + } + }); getClusterQuota().setIsAvailable(false); setDetailList(vmImportGeneralModel, vmImportInterfaceListModel, importDiskListModel); } @@ -225,11 +239,35 @@ importVmData.getCollapseSnapshots()); } } + initIsoImages(); postInitDisks(); } private void postInitDisks() { stopProgress(); + } + + private void initIsoImages() { + AsyncDataProvider.getInstance().getIrsImageList(new AsyncQuery(this, + new INewAsyncCallback() { + @Override + public void onSuccess(Object target, Object returnValue) { + List<String> images = (List<String>) returnValue; + getIso().setItems(images); + getIso().setSelectedItem(tryToFindVirtioTools(images)); + } + }), + getStoragePool().getId(), + false); + } + + private String tryToFindVirtioTools(List<String> isos) { + for (String iso : isos) { + if (iso.startsWith("virtio-win")) { //$NON-NLS-1$ + return iso; + } + } + return isos.isEmpty() ? null : isos.get(0); } private void initQuotaForStorageDomains() { @@ -385,4 +423,20 @@ void setProxyHostId(Guid proxyHostId) { this.proxyHostId = proxyHostId; } + + public ListModel<String> getIso() { + return iso; + } + + public void setIso(ListModel<String> iso) { + this.iso = iso; + } + + public EntityModel<Boolean> getAttachDrivers() { + return attachDrivers; + } + + public void setAttachDrivers(EntityModel<Boolean> attachTools) { + this.attachDrivers = attachTools; + } } diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/vm/ImportVmFromExternalProviderPopupView.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/vm/ImportVmFromExternalProviderPopupView.java index fc84740..1f96fc1 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/vm/ImportVmFromExternalProviderPopupView.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/vm/ImportVmFromExternalProviderPopupView.java @@ -15,14 +15,19 @@ import org.ovirt.engine.core.common.businessentities.storage.DiskImage; import org.ovirt.engine.core.common.businessentities.storage.VolumeType; import org.ovirt.engine.ui.common.CommonApplicationTemplates; +import org.ovirt.engine.ui.common.idhandler.WithElementId; import org.ovirt.engine.ui.common.uicommon.model.DetailModelProvider; import org.ovirt.engine.ui.common.view.popup.AbstractModelBoundPopupView; +import org.ovirt.engine.ui.common.widget.Align; import org.ovirt.engine.ui.common.widget.dialog.SimpleDialogPanel; import org.ovirt.engine.ui.common.widget.editor.ListModelListBoxEditor; +import org.ovirt.engine.ui.common.widget.editor.ListModelListBoxOnlyEditor; import org.ovirt.engine.ui.common.widget.editor.ListModelObjectCellTable; +import org.ovirt.engine.ui.common.widget.editor.generic.EntityModelCheckBoxEditor; import org.ovirt.engine.ui.common.widget.renderer.EnumRenderer; import org.ovirt.engine.ui.common.widget.renderer.NullSafeRenderer; import org.ovirt.engine.ui.common.widget.renderer.StorageDomainFreeSpaceRenderer; +import org.ovirt.engine.ui.common.widget.renderer.StringRenderer; import org.ovirt.engine.ui.common.widget.table.column.AbstractCheckboxColumn; import org.ovirt.engine.ui.common.widget.table.column.AbstractDiskSizeColumn; import org.ovirt.engine.ui.common.widget.table.column.AbstractEnumColumn; @@ -105,6 +110,16 @@ @Path(value = "allocation.selectedItem") ListModelListBoxEditor<VolumeType> disksAllocationEditor; + @UiField(provided = true) + @Path(value = "iso.selectedItem") + @WithElementId("iso") + public ListModelListBoxOnlyEditor<String> cdImageEditor; + + @UiField(provided = true) + @Path(value = "attachDrivers.entity") + @WithElementId("attachDrivers") + public EntityModelCheckBoxEditor attachDriversEditor; + @UiField SplitLayoutPanel splitLayoutPanel; @@ -149,10 +164,14 @@ initListBoxEditors(); initWidget(ViewUiBinder.uiBinder.createAndBindUi(this)); - + applyStyles(); localize(constants); initTables(); driver.initialize(this); + } + + protected void applyStyles() { + attachDriversEditor.addContentWidgetContainerStyleName(style.cdAttachedLabelWidth()); } private void initTables() { @@ -266,6 +285,7 @@ destStorageEditor.setLabel(constants.storageDomainDisk()); cpuProfileEditor.setLabel(constants.cpuProfileLabel()); disksAllocationEditor.setLabel(constants.allocationDisk()); + attachDriversEditor.setLabel(constants.attachVirtioDrivers()); } private void initListBoxEditors() { @@ -297,6 +317,9 @@ return new EnumRenderer<VolumeType>().render(object); } }); + + attachDriversEditor = new EntityModelCheckBoxEditor(Align.LEFT); + cdImageEditor = new ListModelListBoxOnlyEditor<>(new StringRenderer<String>()); } @Override @@ -540,5 +563,7 @@ String collapseEditor(); String cellSelectBox(); + + String cdAttachedLabelWidth(); } } diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/vm/ImportVmFromExternalProviderPopupView.ui.xml b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/vm/ImportVmFromExternalProviderPopupView.ui.xml index 2fa6514..4089bc0 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/vm/ImportVmFromExternalProviderPopupView.ui.xml +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/vm/ImportVmFromExternalProviderPopupView.ui.xml @@ -1,8 +1,10 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent"> <ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder" - xmlns:g="urn:import:com.google.gwt.user.client.ui" xmlns:d="urn:import:org.ovirt.engine.ui.common.widget.dialog" + xmlns:g="urn:import:com.google.gwt.user.client.ui" + xmlns:d="urn:import:org.ovirt.engine.ui.common.widget.dialog" xmlns:e="urn:import:org.ovirt.engine.ui.common.widget.editor" + xmlns:ge="urn:import:org.ovirt.engine.ui.common.widget.editor.generic" xmlns:t="urn:import:org.ovirt.engine.ui.common.widget.dialog.tab"> <ui:with field='resources' type='org.ovirt.engine.ui.webadmin.ApplicationResources' /> @@ -70,8 +72,27 @@ } .listBoxEditor { - width: 515px; + width: 450px; } + + .cdImagesEditor { + width: 100px; + } + + .horizontalPanel { + float: left; + } + + .cdAttachedLabelWidth { + width: 30px; + margin-left: 50px; + } + + .aaa { + margin-left: 10px; + margin-right: 5px; + } + </ui:style> <d:SimpleDialogPanel height="575px" width="1000px"> <d:content> @@ -79,21 +100,24 @@ <g:HorizontalPanel> <g:VerticalPanel> <g:HorizontalPanel> - <g:VerticalPanel> + <g:VerticalPanel addStyleNames="{style.aaa}"> <e:ListModelListBoxEditor ui:field="destStorageEditor" addStyleNames="{style.listBoxEditor}"/> <e:ListModelListBoxEditor ui:field="destClusterEditor" addStyleNames="{style.listBoxEditor}"/> <e:ListModelListBoxEditor ui:field="cpuProfileEditor" addStyleNames="{style.listBoxEditor}"/> </g:VerticalPanel> - <g:VerticalPanel> - <e:ListModelListBoxEditor ui:field="disksAllocationEditor" /> + <g:VerticalPanel verticalAlignment="ALIGN_MIDDLE" addStyleNames="{style.aaa}"> + <e:ListModelListBoxEditor ui:field="disksAllocationEditor" addStyleNames="{style.listBoxEditor}" /> + <g:HorizontalPanel> + <ge:EntityModelCheckBoxEditor ui:field="attachDriversEditor" /> + <e:ListModelListBoxOnlyEditor ui:field="cdImageEditor" addStyleNames="avmpw_cdImageEditor_pfly_fix" /> + </g:HorizontalPanel> <e:ListModelListBoxEditor ui:field="destClusterQuotaEditor" /> </g:VerticalPanel> </g:HorizontalPanel> </g:VerticalPanel> </g:HorizontalPanel> <g:Label ui:field="message" addStyleNames="{style.labelStyle}" /> - <g:SplitLayoutPanel ui:field="splitLayoutPanel" - height="360px" addStyleNames="{style.splitLayoutPanelStyle}" /> + <g:SplitLayoutPanel ui:field="splitLayoutPanel" height="360px" addStyleNames="{style.splitLayoutPanelStyle}" /> </g:VerticalPanel> </d:content> </d:SimpleDialogPanel> -- To view, visit https://gerrit.ovirt.org/42259 To unsubscribe, visit https://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I7fd184bb4847dd07e1ac6b831c6857eeb8a16fc7 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Arik Hadas <aha...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches