org.symbian.tools.wrttools/src/org/symbian/tools/wrttools/util/ProjectUtils.java
changeset 458 5ff93668b08c
parent 455 5da55957c779
child 468 a05c6e5cc7d9
equal deleted inserted replaced
457:f1087591ff71 458:5ff93668b08c
    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 }