54 import org.eclipse.core.runtime.NullProgressMonitor; |
54 import org.eclipse.core.runtime.NullProgressMonitor; |
55 import org.eclipse.core.runtime.Path; |
55 import org.eclipse.core.runtime.Path; |
56 import org.eclipse.core.runtime.Status; |
56 import org.eclipse.core.runtime.Status; |
57 import org.eclipse.core.runtime.SubProgressMonitor; |
57 import org.eclipse.core.runtime.SubProgressMonitor; |
58 import org.eclipse.core.runtime.jobs.Job; |
58 import org.eclipse.core.runtime.jobs.Job; |
59 import org.eclipse.jface.dialogs.IDialogConstants; |
|
60 import org.eclipse.jface.dialogs.MessageDialogWithToggle; |
|
61 import org.eclipse.jface.viewers.StructuredSelection; |
59 import org.eclipse.jface.viewers.StructuredSelection; |
62 import org.eclipse.swt.widgets.Display; |
60 import org.eclipse.swt.widgets.Display; |
63 import org.eclipse.swt.widgets.Shell; |
|
64 import org.eclipse.ui.IPageLayout; |
61 import org.eclipse.ui.IPageLayout; |
65 import org.eclipse.ui.IViewReference; |
62 import org.eclipse.ui.IViewReference; |
66 import org.eclipse.ui.IWorkbenchPage; |
63 import org.eclipse.ui.IWorkbenchPage; |
67 import org.eclipse.ui.IWorkbenchPart; |
64 import org.eclipse.ui.IWorkbenchPart; |
68 import org.eclipse.ui.PlatformUI; |
65 import org.eclipse.ui.PlatformUI; |
76 import org.eclipse.wst.jsdt.internal.core.JavaProject; |
73 import org.eclipse.wst.jsdt.internal.core.JavaProject; |
77 import org.eclipse.wst.jsdt.internal.ui.wizards.buildpaths.BuildPathsBlock; |
74 import org.eclipse.wst.jsdt.internal.ui.wizards.buildpaths.BuildPathsBlock; |
78 import org.eclipse.wst.validation.ValidationFramework; |
75 import org.eclipse.wst.validation.ValidationFramework; |
79 import org.symbian.tools.wrttools.Activator; |
76 import org.symbian.tools.wrttools.Activator; |
80 import org.symbian.tools.wrttools.WidgetProjectNature; |
77 import org.symbian.tools.wrttools.WidgetProjectNature; |
81 import org.symbian.tools.wrttools.core.deploy.PreferenceConstants; |
|
82 import org.symbian.tools.wrttools.core.packager.WRTPackagerConstants; |
78 import org.symbian.tools.wrttools.core.packager.WRTPackagerConstants; |
83 import org.symbian.tools.wrttools.wizards.WrtLibraryWizardPage; |
79 import org.symbian.tools.wrttools.wizards.WrtLibraryWizardPage; |
84 |
80 |
85 @SuppressWarnings("restriction") |
81 @SuppressWarnings("restriction") |
86 public class ProjectUtils { |
82 public class ProjectUtils { |
445 } |
441 } |
446 } catch (CoreException e) { |
442 } catch (CoreException e) { |
447 Activator.log(e); |
443 Activator.log(e); |
448 } |
444 } |
449 } |
445 } |
450 |
|
451 public static boolean canPackageWithErrors(final IProject project) { |
|
452 final boolean[] flag = new boolean[1]; |
|
453 String value = Activator.getDefault().getPreferenceStore().getString(PreferenceConstants.PACKAGE_WITH_ERRORS); |
|
454 if (MessageDialogWithToggle.ALWAYS.equals(value)) { |
|
455 flag[0] = true; |
|
456 } else if (MessageDialogWithToggle.NEVER.equals(value)) { |
|
457 flag[0] = false; |
|
458 } else if (MessageDialogWithToggle.PROMPT.equals(value)) { |
|
459 Display.getDefault().syncExec(new Runnable() { |
|
460 public void run() { |
|
461 flag[0] = queryUser(project); |
|
462 } |
|
463 }); |
|
464 } |
|
465 return flag[0]; |
|
466 } |
|
467 |
|
468 protected static boolean queryUser(IProject project) { |
|
469 Shell shell = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(); |
|
470 MessageDialogWithToggle dialog = MessageDialogWithToggle.openYesNoQuestion(shell, "WRT Application Packages", |
|
471 String |
|
472 .format("Project %s has errors. Are you sure you want to package the project?", project |
|
473 .getName()), "Remember my selection", false, Activator.getDefault() |
|
474 .getPreferenceStore(), |
|
475 PreferenceConstants.PACKAGE_WITH_ERRORS); |
|
476 return dialog.getReturnCode() == IDialogConstants.YES_ID; |
|
477 } |
|
478 |
|
479 } |
446 } |