diff options
author | fbecker | 2011-05-08 12:39:37 +0000 |
---|---|---|
committer | fbecker | 2011-05-08 12:39:37 +0000 |
commit | 149081d946c3a89d5680caeef390f95e88e882c3 (patch) | |
tree | b8b8187ca832178bd2f32abbd50c0fc5703a246e /org.eclipse.mylyn.bugzilla.ui | |
parent | 295aeddab3f6cf43890010c03ec26c72b9758022 (diff) | |
download | org.eclipse.mylyn.tasks-149081d946c3a89d5680caeef390f95e88e882c3.tar.gz org.eclipse.mylyn.tasks-149081d946c3a89d5680caeef390f95e88e882c3.tar.xz org.eclipse.mylyn.tasks-149081d946c3a89d5680caeef390f95e88e882c3.zip |
ASSIGNED - bug 345056: disable the submit button if we know that we get an error
https://bugs.eclipse.org/bugs/show_bug.cgi?id=345056
Diffstat (limited to 'org.eclipse.mylyn.bugzilla.ui')
-rw-r--r-- | org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/editor/BugzillaTaskEditorPage.java | 84 |
1 files changed, 47 insertions, 37 deletions
diff --git a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/editor/BugzillaTaskEditorPage.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/editor/BugzillaTaskEditorPage.java index 8dbe62b39..c2d94f34e 100644 --- a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/editor/BugzillaTaskEditorPage.java +++ b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/editor/BugzillaTaskEditorPage.java @@ -300,7 +300,9 @@ public class BugzillaTaskEditorPage extends AbstractTaskEditorPage { attrToken.setValue(tokenString); } } - + if (!checkCanSubmit(IMessageProvider.ERROR)) { + return; + } getTaskEditor().setMessage("", IMessageProvider.NONE); //$NON-NLS-1$ super.doSubmit(); } @@ -309,7 +311,7 @@ public class BugzillaTaskEditorPage extends AbstractTaskEditorPage { protected void createParts() { attributeEditorMap.clear(); super.createParts(); - testCanSubmit(); + checkCanSubmit(IMessageProvider.INFORMATION); } @Override @@ -494,59 +496,67 @@ public class BugzillaTaskEditorPage extends AbstractTaskEditorPage { @Override public void refresh() { super.refresh(); - testCanSubmit(); + checkCanSubmit(IMessageProvider.INFORMATION); } - private void testCanSubmit() { + private boolean checkCanSubmit(final int type) { final TaskRepository taskRepository = getModel().getTaskRepository(); AuthenticationCredentials cred = taskRepository.getCredentials(AuthenticationType.REPOSITORY); if (cred == null || cred.getUserName() == null || cred.getUserName().equals("")) { //$NON-NLS-1$ - getTaskEditor().setMessage(Messages.BugzillaTaskEditorPage_Anonymous_can_not_submit_Tasks, - IMessageProvider.WARNING, new HyperlinkAdapter() { - @Override - public void linkActivated(HyperlinkEvent e) { - TasksUiUtil.openEditRepositoryWizard(taskRepository); - refresh(); - } - }); - disableSubmit(); - return; + PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() { + public void run() { + getTaskEditor().setMessage(Messages.BugzillaTaskEditorPage_Anonymous_can_not_submit_Tasks, type, + new HyperlinkAdapter() { + @Override + public void linkActivated(HyperlinkEvent e) { + TasksUiUtil.openEditRepositoryWizard(taskRepository); + refresh(); + } + }); + } + }); + return false; } if (!getModel().getTaskData().isNew()) { TaskAttribute exporter = getModel().getTaskData() .getRoot() .getAttribute(BugzillaAttribute.EXPORTER_NAME.getKey()); if (exporter == null) { - getTaskEditor().setMessage(Messages.BugzillaTaskEditorPage_submit_disabled_please_refresh, - IMessageProvider.WARNING, new HyperlinkAdapter() { - @Override - public void linkActivated(HyperlinkEvent e) { - ITask task = getModel().getTask(); - AbstractRepositoryConnector connector = TasksUi.getRepositoryManager() - .getRepositoryConnector(task.getConnectorKind()); - if (connector == null) { - return; - } - TasksUiInternal.synchronizeTask(connector, task, true, new JobChangeAdapter() { + PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() { + public void run() { + getTaskEditor().setMessage(Messages.BugzillaTaskEditorPage_submit_disabled_please_refresh, + type, new HyperlinkAdapter() { @Override - public void done(IJobChangeEvent event) { - PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() { - public void run() { - try { - getTaskEditor().refreshPages(); - } finally { - if (getTaskEditor() != null) { - getTaskEditor().showBusy(false); + public void linkActivated(HyperlinkEvent e) { + ITask task = getModel().getTask(); + AbstractRepositoryConnector connector = TasksUi.getRepositoryManager() + .getRepositoryConnector(task.getConnectorKind()); + if (connector == null) { + return; + } + TasksUiInternal.synchronizeTask(connector, task, true, new JobChangeAdapter() { + @Override + public void done(IJobChangeEvent event) { + PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() { + public void run() { + try { + getTaskEditor().refreshPages(); + } finally { + if (getTaskEditor() != null) { + getTaskEditor().showBusy(false); + } + } } - } + }); } }); } }); - } - }); - disableSubmit(); + } + }); + return false; } } + return true; } } |