[yocto] [PATCH] [eclipse-poky][master]Check build directory when location is set using "Browse" button

Zhang, Jessica jessica.zhang at intel.com
Fri Apr 5 16:04:31 PDT 2013


Hi Ioana,

I can't reproduce the bug on my end so can't further debug the issue.  But based on the context of this patch, seems we're missing checkBuildDir for buildLocation?  By looking at the code, shouldn't the easiest fix is to add checkBuildDir on the validatePage for the case the buildLocationText is not empty?

Thanks,
Jessica

-----Original Message-----
From: yocto-bounces at yoctoproject.org [mailto:yocto-bounces at yoctoproject.org] On Behalf Of Ioana Grigoropol
Sent: Friday, April 05, 2013 7:31 AM
To: yocto at yoctoproject.org
Subject: [yocto] [PATCH] [eclipse-poky][master]Check build directory when location is set using "Browse" button

[Yocto #4206]

Signed-off-by: Ioana Grigoropol <ioanax.grigoropol at intel.com>
---
 .../sdk/remotetools/wizards/bsp/MainPage.java      |   57 +++++++++++++++-----
 1 file changed, 43 insertions(+), 14 deletions(-)

diff --git a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/wizards/bsp/MainPage.java b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/wizards/bsp/MainPage.java
index d84cc24..156829b 100644
--- a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/wizards/bsp/MainPage.java
+++ b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/wi
+++ zards/bsp/MainPage.java
@@ -25,6 +25,7 @@ import org.eclipse.swt.events.ModifyEvent;
 import org.eclipse.swt.events.ModifyListener;
 import org.eclipse.swt.events.SelectionAdapter;
 import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.events.SelectionListener;
 import org.eclipse.swt.layout.GridData;  import org.eclipse.swt.layout.GridLayout;
 import org.eclipse.swt.widgets.Button;
@@ -108,7 +109,8 @@ public class MainPage extends WizardPage {
                                controlChanged(e.widget);
                        }
                });
-               setBtnMetadataLoc(addFileSelectButton(textContainer, textMetadataLoc));
+               buildLocationListener = new BuildLocationListener("");
+               setBtnMetadataLoc(addFileSelectButton(textContainer, textMetadataLoc,
+null));

                labelBuildLoc = new Label(composite, SWT.NONE);
                labelBuildLoc.setText("Build location: "); @@ -118,10 +120,10 @@ public class MainPage extends WizardPage {
                textContainer.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));

                textBuildLoc = (Text)addTextControl(textContainer, "");
-               buildLocationListener = new BuildLocationListener("");
                textBuildLoc.addFocusListener(buildLocationListener);
+               textBuildLoc.addModifyListener(buildLocationListener);

-               setBtnBuilddirLoc(addFileSelectButton(textContainer, textBuildLoc));
+               setBtnBuilddirLoc(addFileSelectButton(textContainer, textBuildLoc,
+buildLocationListener));

                labelBspName = new Label(composite, SWT.NONE);
                labelBspName.setText("BSP Name*: ");
@@ -152,7 +154,7 @@ public class MainPage extends WizardPage {
                                controlChanged(e.widget);
                        }
                });
-               setBtnBspOutLoc(addFileSelectButton(textContainer, textBspOutputLoc));
+               setBtnBspOutLoc(addFileSelectButton(textContainer, textBspOutputLoc,
+null));

                labelKArch = new Label(composite, SWT.NONE);
                labelKArch.setText("Kernel Architecture*: "); @@ -206,18 +208,25 @@ public class MainPage extends WizardPage {
                return text;
        }

-       private Button addFileSelectButton(final Composite parent, final Text text) {
+       private Button addFileSelectButton(final Composite parent, final Text
+text, SelectionListener listener) {
                Button button = new Button(parent, SWT.PUSH | SWT.LEAD);
                button.setText("Browse...");
-               button.addSelectionListener(new SelectionAdapter() {
-                       @Override
-                       public void widgetSelected(SelectionEvent event) {
-                               String dirName = new DirectoryDialog(parent.getShell()).open();
-                               if (dirName != null) {
-                                       text.setText(dirName);
+               if (listener == null) {
+                       button.addSelectionListener(new SelectionListener() {
+                               @Override
+                               public void widgetSelected(SelectionEvent e) {
+                                       // TODO Auto-generated method stub
+                                       String dirName = new DirectoryDialog(parent.getShell()).open();
+                                       if (dirName != null) {
+                                               text.setText(dirName);
+                                       }
                                }
-                       }
-               });
+                               @Override
+                               public void widgetDefaultSelected(SelectionEvent e) {
+                               }
+                       });
+               } else
+                       button.addSelectionListener(listener);
                return button;
        }

@@ -473,7 +482,7 @@ public class MainPage extends WizardPage {
                this.btnBuildLoc = btnBuilddirLoc;
        }

-       class BuildLocationListener implements FocusListener{
+       class BuildLocationListener implements FocusListener,
+SelectionListener, ModifyListener{
                String value;
                boolean changed;

@@ -492,6 +501,26 @@ public class MainPage extends WizardPage {
                                buildDirChecked = true;
                        }
                }
+               @Override
+               public void widgetSelected(SelectionEvent e) {
+                       String dirName = new DirectoryDialog(((Button)e.getSource()).getParent().getShell()).open();
+                       if (dirName != null) {
+                               textBuildLoc.setText(dirName);
+                               value = dirName;
+                       }
+               }
+               @Override
+               public void widgetDefaultSelected(SelectionEvent e) {
+                       // TODO Auto-generated method stub
+               }
+               @Override
+               public void modifyText(ModifyEvent e) {
+
+                       if(!((Text)e.getSource()).getText().equals(value)) {
+                               checkBuildDir();
+                               buildDirChecked = true;
+                       }
+               }

        }
 }
--
1.7.9.5

_______________________________________________
yocto mailing list
yocto at yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto



More information about the yocto mailing list