diff options
author | relves | 2006-06-29 02:09:14 +0000 |
---|---|---|
committer | relves | 2006-06-29 02:09:14 +0000 |
commit | 4c72484dcd35f628158010e925cf1b5f59a3c997 (patch) | |
tree | b53ce2df968052e66638b845bfccc0cda4d60986 | |
parent | cbccc8033a721a623693a50c298d0c9eee92f1ba (diff) | |
download | org.eclipse.mylyn.tasks-4c72484dcd35f628158010e925cf1b5f59a3c997.tar.gz org.eclipse.mylyn.tasks-4c72484dcd35f628158010e925cf1b5f59a3c997.tar.xz org.eclipse.mylyn.tasks-4c72484dcd35f628158010e925cf1b5f59a3c997.zip |
Completed: 131361: bugzilla task change notifications via toaster
https://bugs.eclipse.org/bugs/show_bug.cgi?id=131361
3 files changed, 32 insertions, 84 deletions
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/TaskListImages.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/TaskListImages.java index 1850e7a07..e2c3e9abf 100644 --- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/TaskListImages.java +++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/TaskListImages.java @@ -158,7 +158,7 @@ public class TaskListImages { public static final ImageDescriptor COLLAPSE_ALL = create(T_ELCL, "collapseall.png"); - public static final ImageDescriptor NOTIFICATION_CLOSE = create(T_EVIEW, "notification-close.jpg"); + public static final ImageDescriptor NOTIFICATION_CLOSE = create(T_EVIEW, "notification-close.gif"); public static final ImageDescriptor EXPAND_ALL = create(T_ELCL, "expandall.gif"); diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/TaskListNotificationPopup.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/TaskListNotificationPopup.java index 2ed1cf5c4..dfb9f46b0 100644 --- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/TaskListNotificationPopup.java +++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/TaskListNotificationPopup.java @@ -16,15 +16,9 @@ import java.util.List; import org.eclipse.jface.dialogs.PopupDialog; import org.eclipse.jface.layout.GridDataFactory; import org.eclipse.swt.SWT; -import org.eclipse.swt.events.SelectionAdapter; -import org.eclipse.swt.events.SelectionEvent; -import org.eclipse.swt.graphics.Font; -import org.eclipse.swt.graphics.FontData; import org.eclipse.swt.graphics.Rectangle; import org.eclipse.swt.layout.GridLayout; -import org.eclipse.swt.layout.RowData; import org.eclipse.swt.layout.RowLayout; -import org.eclipse.swt.widgets.Button; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.Display; @@ -44,13 +38,12 @@ import org.eclipse.ui.forms.widgets.Section; */ public class TaskListNotificationPopup extends PopupDialog { - private static final int BUTTON_FONT_SIZE = 7; static boolean takeFocusOnOpen = false; static boolean persistBounds = false; - static boolean showDialogMenu = false; + static boolean showDialogMenu =false; static boolean showPersistAction = false; @@ -100,13 +93,11 @@ public class TaskListNotificationPopup extends PopupDialog { sectionClient = toolkit.createComposite(section); sectionClient.setLayout(new GridLayout(2, false)); for (final ITaskListNotification notification : notifications) { - -// Composite notificationComp = toolkit.createComposite(sectionClient); -// notificationComp.setLayout(new RowLayout()); + Label notificationLabelIcon = toolkit.createLabel(sectionClient, ""); - notificationLabelIcon.setImage(notification.getOverlayIcon()); - ImageHyperlink link = toolkit.createImageHyperlink(sectionClient, SWT.WRAP | SWT.TOP); - link.setText(notification.getLabel()); + notificationLabelIcon.setImage(notification.getOverlayIcon()); + ImageHyperlink link = toolkit.createImageHyperlink(sectionClient, SWT.WRAP | SWT.TOP); + link.setText(notification.getLabel()); link.setImage(notification.getNotificationIcon()); link.addHyperlinkListener(new HyperlinkAdapter() { public void linkActivated(HyperlinkEvent e) { @@ -121,15 +112,15 @@ public class TaskListNotificationPopup extends PopupDialog { } } }); - + String descriptionText = null; if (notification.getDescription() != null && notification.getDescription().length() > 40) { String truncated = notification.getDescription().substring(0, 35); descriptionText = truncated + "..."; - } else if(notification.getDescription() != null) { + } else if (notification.getDescription() != null) { descriptionText = notification.getDescription(); } - if(descriptionText != null) { + if (descriptionText != null) { Label descriptionLabel = toolkit.createLabel(sectionClient, descriptionText); GridDataFactory.fillDefaults().span(2, SWT.DEFAULT).applyTo(descriptionLabel); } @@ -140,61 +131,17 @@ public class TaskListNotificationPopup extends PopupDialog { Composite buttonsComposite = toolkit.createComposite(section); section.setTextClient(buttonsComposite); buttonsComposite.setLayout(new RowLayout()); - Button buttonOpenAll = toolkit.createButton(buttonsComposite, "Open All", SWT.NONE); - - { - Font initialFont = buttonOpenAll.getFont(); - FontData[] fontData = initialFont.getFontData(); - for (int i = 0; i < fontData.length; i++) { - fontData[i].setHeight(BUTTON_FONT_SIZE); - } - Font newFont = new Font(getShell().getDisplay(), fontData); - buttonOpenAll.setFont(newFont); - } - buttonOpenAll.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent e) { - for (ITaskListNotification notification : notifications) { - //notification.setNotified(true); - notification.openTask(); - } - IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow(); - if (window != null) { - Shell windowShell = window.getShell(); - if (windowShell != null) { - windowShell.setMaximized(true); - windowShell.open(); - } - } - close(); - } - }); - - RowData buttonOpenAllRowData = new RowData(45, 15); - buttonOpenAll.setLayoutData(buttonOpenAllRowData); - - Button buttonDismiss = toolkit.createButton(buttonsComposite, "Close", SWT.NONE); - - { - Font initialFont = buttonDismiss.getFont(); - FontData[] fontData = initialFont.getFontData(); - for (int i = 0; i < fontData.length; i++) { - fontData[i].setHeight(BUTTON_FONT_SIZE); - } - Font newFont = new Font(getShell().getDisplay(), fontData); - buttonDismiss.setFont(newFont); - } - buttonDismiss.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent e) { -// for (ITaskListNotification notification : notifications) { -// notification.setNotified(true); -// } + buttonsComposite.setBackground(section.getTitleBarBackground()); + final ImageHyperlink closeHyperlink = toolkit.createImageHyperlink(buttonsComposite, SWT.NONE); + // closeHyperlink.setBackgroundMode(SWT.INHERIT_FORCE); + closeHyperlink.setBackground(section.getTitleBarBackground()); + closeHyperlink.setImage(TaskListImages.getImage(TaskListImages.NOTIFICATION_CLOSE)); + closeHyperlink.addHyperlinkListener(new HyperlinkAdapter() { + public void linkActivated(HyperlinkEvent e) { close(); } }); - RowData buttonDismissRowData = new RowData(30, 15); - buttonDismiss.setLayoutData(buttonDismissRowData); - // toolkit.paintBordersFor(parent); form.pack(); return parent; } diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/provisional/tasklist/SynchronizeTaskJob.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/provisional/tasklist/SynchronizeTaskJob.java index 22f56a6dd..af62bdbc2 100644 --- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/provisional/tasklist/SynchronizeTaskJob.java +++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/provisional/tasklist/SynchronizeTaskJob.java @@ -73,7 +73,7 @@ class SynchronizeTaskJob extends Job { || repositoryTask.getSyncState() == RepositoryTaskSyncState.CONFLICT; if (forceSync || (!canNotSynch && !hasLocalChanges) || !repositoryTask.isDownloaded()) { monitor.setTaskName(LABEL_SYNCHRONIZING + repositoryTask.getDescription()); - repositoryTask.setCurrentlyDownloading(true); + repositoryTask.setCurrentlyDownloading(true); MylarTaskListPlugin.getTaskListManager().getTaskList().notifyRepositoryInfoChanged(repositoryTask); IOfflineTaskHandler offlineHandler = connector.getOfflineTaskHandler(); if (offlineHandler != null) { @@ -84,18 +84,20 @@ class SynchronizeTaskJob extends Job { MylarStatusHandler.log(e.getStatus()); } - if (downloadedTaskData != null) { - boolean changed = connector.updateOfflineState(repositoryTask, downloadedTaskData, forceSync); + if (downloadedTaskData != null) { + boolean changed = connector.updateOfflineState(repositoryTask, downloadedTaskData, + forceSync); connector.updateTaskState(repositoryTask); - if(changed) { - refreshEditors(repositoryTask); + if (changed) { + refreshEditors(repositoryTask); } } - } -// else { -// MylarStatusHandler.log("No offline content handler available for " -// + connector.getRepositoryType() + " connector.", this); -// } + } + // else { + // MylarStatusHandler.log("No offline content handler + // available for " + // + connector.getRepositoryType() + " connector.", this); + // } repositoryTask.setCurrentlyDownloading(false); MylarTaskListPlugin.getTaskListManager().getTaskList().notifyRepositoryInfoChanged(repositoryTask); @@ -103,7 +105,9 @@ class SynchronizeTaskJob extends Job { monitor.worked(1); } - + + MylarTaskListPlugin.getDefault().getTaskListNotificationManager().startNotification(1); + } catch (Exception e) { MylarStatusHandler.fail(e, "Could not download report", false); } finally { @@ -113,7 +117,6 @@ class SynchronizeTaskJob extends Job { return new Status(IStatus.OK, MylarPlugin.PLUGIN_ID, IStatus.OK, "", null); } - private void refreshEditors(final AbstractRepositoryTask repositoryTask) { // TODO: move out of SynchronizeTaskJob (but beware of race conditions) if (repositoryTask.getSyncState() == RepositoryTaskSyncState.INCOMING @@ -138,8 +141,6 @@ class SynchronizeTaskJob extends Job { } } } - - // private boolean isDirty(AbstractRepositoryTask task) { // // TODO: move out of SynchronizeTaskJob @@ -152,6 +153,6 @@ class SynchronizeTaskJob extends Job { // } // } // return false; - // } + // } }
\ No newline at end of file |