Download
Getting Started
Members
Projects
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
More
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
Toggle navigation
Bugzilla – Attachment 149197 Details for
Bug 291084
make time tracking optional and opt-in
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
[patch]
update
clipboard.txt (text/plain), 35.08 KB, created by
Robert Elves
on 2009-10-08 22:16:48 EDT
(
hide
)
Description:
update
Filename:
MIME Type:
Creator:
Robert Elves
Created:
2009-10-08 22:16:48 EDT
Size:
35.08 KB
patch
obsolete
>### Eclipse Workspace Patch 1.0 >#P org.eclipse.mylyn.tasks.ui >Index: src/org/eclipse/mylyn/internal/tasks/ui/preferences/Messages.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/preferences/Messages.java,v >retrieving revision 1.1 >diff -u -r1.1 Messages.java >--- src/org/eclipse/mylyn/internal/tasks/ui/preferences/Messages.java 5 Dec 2008 02:25:12 -0000 1.1 >+++ src/org/eclipse/mylyn/internal/tasks/ui/preferences/Messages.java 9 Oct 2009 02:18:12 -0000 >@@ -41,6 +41,8 @@ > > public static String TasksUiPreferencePage_Enable_inactivity_timeouts; > >+ public static String TasksUiPreferencePage_Enable_Time_Tracking; >+ > public static String TasksUiPreferencePage_Error_applying_Task_List_data_directory_changes; > > public static String TasksUiPreferencePage_Folder_Selection; >@@ -79,9 +81,17 @@ > > public static String TasksUiPreferencePage_Task_Timing; > >+ public static String TasksUiPreferencePage_Track_Time_Spent; >+ > public static String TasksUiPreferencePage_Use_the_Restore_dialog_to_recover_missing_tasks; > > public static String TasksUiPreferencePage_Web_Browser; > > public static String TasksUiPreferencePage_Week_Start; >+ >+ public static String Thursday; >+ >+ public static String Tuesday; >+ >+ public static String Wednesday; > } >Index: src/org/eclipse/mylyn/internal/tasks/ui/preferences/TasksUiPreferencePage.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/preferences/TasksUiPreferencePage.java,v >retrieving revision 1.36 >diff -u -r1.36 TasksUiPreferencePage.java >--- src/org/eclipse/mylyn/internal/tasks/ui/preferences/TasksUiPreferencePage.java 24 Jul 2009 12:05:47 -0000 1.36 >+++ src/org/eclipse/mylyn/internal/tasks/ui/preferences/TasksUiPreferencePage.java 9 Oct 2009 02:18:12 -0000 >@@ -99,6 +99,8 @@ > > private Combo weekStartCombo; > >+ private Button activityTrackingEnabledButton; >+ > public TasksUiPreferencePage() { > super(); > setPreferenceStore(TasksUiPlugin.getDefault().getPreferenceStore()); >@@ -112,20 +114,20 @@ > GridLayout layout = new GridLayout(1, false); > container.setLayout(layout); > >- if (getContainer() instanceof IWorkbenchPreferenceContainer) { >- String message = Messages.TasksUiPreferencePage_See_X_for_configuring_Task_List_colors; >- new PreferenceLinkArea(container, SWT.NONE, "org.eclipse.ui.preferencePages.ColorsAndFonts", message, //$NON-NLS-1$ >- (IWorkbenchPreferenceContainer) getContainer(), null); >- } >- > createTaskRefreshScheduleGroup(container); > createSchedulingGroup(container); > createOpenWith(container); >+ createTaskActivityGroup(container); > Composite advanced = createAdvancedSection(container); >- createTaskActivityGroup(advanced); > createTaskDataControl(advanced); >- createLinks(container); > >+ if (getContainer() instanceof IWorkbenchPreferenceContainer) { >+ String message = Messages.TasksUiPreferencePage_See_X_for_configuring_Task_List_colors; >+ new PreferenceLinkArea(advanced, SWT.NONE, "org.eclipse.ui.preferencePages.ColorsAndFonts", message, //$NON-NLS-1$ >+ (IWorkbenchPreferenceContainer) getContainer(), null); >+ } >+ >+ createLinks(advanced); > updateRefreshGroupEnablements(); > applyDialogFont(container); > return container; >@@ -199,7 +201,9 @@ > timeoutEnabledButton.getSelection()); > MonitorUiPlugin.getDefault().getPreferenceStore().setValue(ActivityContextManager.ACTIVITY_TIMEOUT, > timeoutMinutes.getSelection() * (60 * 1000)); >- //backupNow.setEnabled(true); >+ >+ MonitorUiPlugin.getDefault().getPreferenceStore().setValue(MonitorUiPlugin.ACTIVITY_TRACKING_ENABLED, >+ activityTrackingEnabledButton.getSelection()); > > String taskDirectory = taskDirectoryText.getText(); > taskDirectory = taskDirectory.replaceAll(BACKSLASH_MULTI, FORWARDSLASH); >@@ -262,6 +266,10 @@ > timeoutMinutes.setSelection(minutes); > timeoutEnabledButton.setSelection(MonitorUiPlugin.getDefault().getPreferenceStore().getBoolean( > ActivityContextManager.ACTIVITY_TIMEOUT_ENABLED)); >+ >+ activityTrackingEnabledButton.setSelection(MonitorUiPlugin.getDefault().getPreferenceStore().getBoolean( >+ MonitorUiPlugin.ACTIVITY_TRACKING_ENABLED)); >+ > return true; > } > >@@ -306,6 +314,10 @@ > timeoutMinutes.setSelection(activityTimeoutMinutes); > timeoutEnabledButton.setSelection(MonitorUiPlugin.getDefault().getPreferenceStore().getDefaultBoolean( > ActivityContextManager.ACTIVITY_TIMEOUT_ENABLED)); >+ >+ activityTrackingEnabledButton.setSelection(MonitorUiPlugin.getDefault().getPreferenceStore().getDefaultBoolean( >+ MonitorUiPlugin.ACTIVITY_TRACKING_ENABLED)); >+ > updateRefreshGroupEnablements(); > } > >@@ -413,54 +425,11 @@ > > if (taskDataDirectoryAction != IDialogConstants.CANCEL_ID) { > taskDirectoryText.setText(dir); >-// backupFolderText.setText(dir + FORWARDSLASH + ITasksCoreConstants.DEFAULT_BACKUP_FOLDER_NAME); >-// backupNow.setEnabled(false); > } > } > > }); > >-// Composite backupComposite = new Composite(taskDataGroup, SWT.NULL); >-// gridLayout = new GridLayout(5, false); >-// gridLayout.marginWidth = 0; >-// gridLayout.marginHeight = 0; >-// backupComposite.setLayout(gridLayout); >-// backupComposite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); >- >-// label = new Label(backupComposite, SWT.NULL); >-// label.setText("Backup every"); >-// backupScheduleTimeText = new Text(backupComposite, SWT.BORDER | SWT.RIGHT); >-// final GridData gridData_1 = new GridData(); >-// gridData_1.widthHint = 13; >-// backupScheduleTimeText.setLayoutData(gridData_1); >-// >-// backupScheduleTimeText.setText("" + getPreferenceStore().getInt(TasksUiPreferenceConstants.BACKUP_SCHEDULE)); >-// backupScheduleTimeText.addModifyListener(new ModifyListener() { >-// public void modifyText(ModifyEvent e) { >-// updateRefreshGroupEnablements(); >-// } >-// }); >-// >-// label = new Label(backupComposite, SWT.NONE); >-// label.setText("days to"); >- >-// String backupDirectory = TasksUiPlugin.getDefault().getBackupFolderPath();// getPreferenceStore().getString(TaskListPreferenceConstants.BACKUP_FOLDER); >-// backupDirectory = backupDirectory.replaceAll(BACKSLASH_MULTI, FORWARDSLASH); >-// backupFolderText = new Text(backupComposite, SWT.BORDER); >-// backupFolderText.setText(backupDirectory); >-// backupFolderText.setEditable(false); >-// backupFolderText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); >-// >-// backupNow = new Button(backupComposite, SWT.NONE); >-// backupNow.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_END)); >-// backupNow.setText("Backup Now"); >-// backupNow.addSelectionListener(new SelectionAdapter() { >-// >-// @Override >-// public void widgetSelected(SelectionEvent e) { >-// TasksUiPlugin.getBackupManager().backupNow(true); >-// } >-// }); > } > > private void createSchedulingGroup(Composite container) { >@@ -485,71 +454,6 @@ > weekStartCombo.add(CommonMessages.Saturday); > weekStartCombo.select(getPreferenceStore().getInt(ITasksUiPreferenceConstants.WEEK_START_DAY) - 1); > >-// Label workWeekBeginLabel = new Label(group, SWT.NONE); >-// workWeekBeginLabel.setText(START_DAY_LABEL); >-// workWeekBegin = new Combo(group, SWT.READ_ONLY); >-// // Calendar.SUNDAY = 1 >-// workWeekBegin.add("SUNDAY"); >-// workWeekBegin.add("MONDAY"); >-// workWeekBegin.add("TUESDAY"); >-// workWeekBegin.add("WEDNESDAY"); >-// workWeekBegin.add("THURSDAY"); >-// workWeekBegin.add("FRIDAY"); >-// workWeekBegin.add("SATURDAY"); >-// workWeekBegin.select(getPreferenceStore().getInt(TaskListPreferenceConstants.PLANNING_STARTDAY) >-// - 1); >- >-// Label workWeekEndLabel = new Label(group, SWT.NONE); >-// workWeekEndLabel.setText(END_DAY_LABEL); >-// workWeekEnd = new Combo(group, SWT.READ_ONLY); >-// workWeekEnd.add("SUNDAY"); >-// workWeekEnd.add("MONDAY"); >-// workWeekEnd.add("TUESDAY"); >-// workWeekEnd.add("WEDNESDAY"); >-// workWeekEnd.add("THURSDAY"); >-// workWeekEnd.add("FRIDAY"); >-// workWeekEnd.add("SATURDAY"); >-// workWeekEnd.select(getPreferenceStore().getInt(TaskListPreferenceConstants.PLANNING_ENDDAY) >-// - 1); >- >-// Label hourDayStartLabel = new Label(group, SWT.NONE); >-// hourDayStartLabel.setText(START_HOUR_LABEL); >-// hourDayStart = new Spinner(group, SWT.BORDER); >-// hourDayStart.setDigits(0); >-// hourDayStart.setIncrement(1); >-// hourDayStart.setMaximum(23); >-// hourDayStart.setMinimum(0); >-// hourDayStart.setSelection(getPreferenceStore().getInt(TasksUiPreferenceConstants.PLANNING_STARTHOUR)); >-// hourDayStart.addSelectionListener(new SelectionAdapter() { >-// >-// @Override >-// public void widgetSelected(SelectionEvent e) { >-// updateRefreshGroupEnablements(); >-// } >-// >-// }); >-// >-// Label spacer = new Label(group, SWT.NONE); >-// GridDataFactory.fillDefaults().hint(40, SWT.DEFAULT).applyTo(spacer); >-// >-// Label hourDayEndLabel = new Label(group, SWT.NONE); >-// hourDayEndLabel.setText(END_HOUR_LABEL); >-// >-// hourDayEnd = new Spinner(group, SWT.BORDER); >-// hourDayEnd.setDigits(0); >-// hourDayEnd.setIncrement(1); >-// hourDayEnd.setMaximum(23); >-// hourDayEnd.setMinimum(0); >-// hourDayEnd.setSelection(getPreferenceStore().getInt(TasksUiPreferenceConstants.PLANNING_ENDHOUR)); >-// hourDayEnd.addSelectionListener(new SelectionAdapter() { >-// >-// @Override >-// public void widgetSelected(SelectionEvent e) { >-// updateRefreshGroupEnablements(); >-// } >-// >-// }); >- > } > > private void createTaskActivityGroup(Composite container) { >@@ -558,9 +462,24 @@ > group.setLayout(new GridLayout(3, false)); > group.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); > >+ boolean activityTrackingEnabled = MonitorUiPlugin.getDefault().getPreferenceStore().getBoolean( >+ MonitorUiPlugin.ACTIVITY_TRACKING_ENABLED); >+ > boolean timeoutEnabled = MonitorUiPlugin.getDefault().getPreferenceStore().getBoolean( > ActivityContextManager.ACTIVITY_TIMEOUT_ENABLED); > >+ activityTrackingEnabledButton = new Button(group, SWT.CHECK); >+ activityTrackingEnabledButton.setText(Messages.TasksUiPreferencePage_Enable_Time_Tracking); >+ activityTrackingEnabledButton.setSelection(activityTrackingEnabled); >+ activityTrackingEnabledButton.setToolTipText(Messages.TasksUiPreferencePage_Track_Time_Spent); >+ activityTrackingEnabledButton.addSelectionListener(new SelectionAdapter() { >+ @Override >+ public void widgetSelected(SelectionEvent e) { >+ updateRefreshGroupEnablements(); >+ } >+ }); >+ GridDataFactory.swtDefaults().span(3, 1).applyTo(activityTrackingEnabledButton); >+ > timeoutEnabledButton = new Button(group, SWT.CHECK); > timeoutEnabledButton.setText(Messages.TasksUiPreferencePage_Enable_inactivity_timeouts); > timeoutEnabledButton.setSelection(timeoutEnabled); >@@ -596,116 +515,11 @@ > timeoutLabel = new Label(group, SWT.NONE); > timeoutLabel.setText(Messages.TasksUiPreferencePage_minutes_of_inactivity); > >-// Label spacer = new Label(group, SWT.NONE); >-// GridDataFactory.fillDefaults().hint(40, SWT.DEFAULT).applyTo(spacer); >-// >-// Label hourDayEndLabel = new Label(group, SWT.NONE); >-// hourDayEndLabel.setText(END_HOUR_LABEL); >-// >-// hourDayEnd = new Spinner(group, SWT.BORDER); >-// hourDayEnd.setDigits(0); >-// hourDayEnd.setIncrement(1); >-// hourDayEnd.setMaximum(23); >-// hourDayEnd.setMinimum(0); >-// hourDayEnd.setSelection(getPreferenceStore().getInt(TasksUiPreferenceConstants.PLANNING_ENDHOUR)); >-// hourDayEnd.addSelectionListener(new SelectionAdapter() { >-// >-// @Override >-// public void widgetSelected(SelectionEvent e) { >-// updateRefreshGroupEnablements(); >-// } >-// >-// }); >- >- } >- >-// private void createSchedulingGroup(Composite container) { >-// Group group = new Group(container, SWT.SHADOW_ETCHED_IN); >-// group.setText(GROUP_WORK_WEEK_LABEL); >-// group.setLayout(new GridLayout(5, false)); >-// group.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); >-// >-// // Label workWeekBeginLabel = new Label(group, SWT.NONE); >-// // workWeekBeginLabel.setText(START_DAY_LABEL); >-// // workWeekBegin = new Combo(group, SWT.READ_ONLY); >-// // // Calendar.SUNDAY = 1 >-// // workWeekBegin.add("SUNDAY"); >-// // workWeekBegin.add("MONDAY"); >-// // workWeekBegin.add("TUESDAY"); >-// // workWeekBegin.add("WEDNESDAY"); >-// // workWeekBegin.add("THURSDAY"); >-// // workWeekBegin.add("FRIDAY"); >-// // workWeekBegin.add("SATURDAY"); >-// // workWeekBegin.select(getPreferenceStore().getInt(TaskListPreferenceConstants.PLANNING_STARTDAY) >-// // - 1); >-// // >-// // Label workWeekEndLabel = new Label(group, SWT.NONE); >-// // workWeekEndLabel.setText(END_DAY_LABEL); >-// // workWeekEnd = new Combo(group, SWT.READ_ONLY); >-// // workWeekEnd.add("SUNDAY"); >-// // workWeekEnd.add("MONDAY"); >-// // workWeekEnd.add("TUESDAY"); >-// // workWeekEnd.add("WEDNESDAY"); >-// // workWeekEnd.add("THURSDAY"); >-// // workWeekEnd.add("FRIDAY"); >-// // workWeekEnd.add("SATURDAY"); >-// // workWeekEnd.select(getPreferenceStore().getInt(TaskListPreferenceConstants.PLANNING_ENDDAY) >-// // - 1); >-// >-// Label hourDayStartLabel = new Label(group, SWT.NONE); >-// hourDayStartLabel.setText(START_HOUR_LABEL); >-// hourDayStart = new Spinner(group, SWT.BORDER); >-// hourDayStart.setDigits(0); >-// hourDayStart.setIncrement(1); >-// hourDayStart.setMaximum(23); >-// hourDayStart.setMinimum(0); >-// hourDayStart.setSelection(getPreferenceStore().getInt(TasksUiPreferenceConstants.PLANNING_STARTHOUR)); >-// hourDayStart.addSelectionListener(new SelectionAdapter() { >-// >-// @Override >-// public void widgetSelected(SelectionEvent e) { >-// updateRefreshGroupEnablements(); >-// } >-// >-// }); >-// >-// Label spacer = new Label(group, SWT.NONE); >-// GridDataFactory.fillDefaults().hint(40, SWT.DEFAULT).applyTo(spacer); >-// >-// Label hourDayEndLabel = new Label(group, SWT.NONE); >-// hourDayEndLabel.setText(END_HOUR_LABEL); >-// >-// hourDayEnd = new Spinner(group, SWT.BORDER); >-// hourDayEnd.setDigits(0); >-// hourDayEnd.setIncrement(1); >-// hourDayEnd.setMaximum(23); >-// hourDayEnd.setMinimum(0); >-// hourDayEnd.setSelection(getPreferenceStore().getInt(TasksUiPreferenceConstants.PLANNING_ENDHOUR)); >-// hourDayEnd.addSelectionListener(new SelectionAdapter() { >-// >-// @Override >-// public void widgetSelected(SelectionEvent e) { >-// updateRefreshGroupEnablements(); >-// } >-// >-// }); >-// >-// } >+ } > > public void updateRefreshGroupEnablements() { > String errorMessage = null; > >-// try { >-// long number = Integer.parseInt(backupScheduleTimeText.getText()); >-// if (number <= 0) { >-// errorMessage = "Backup schedule time must be > 0"; >-// } else if (backupFolderText.getText() == "") { >-// errorMessage = "Backup destination folder must be specified"; >-// } >-// } catch (NumberFormatException e) { >-// errorMessage = "Backup schedule time must be valid integer"; >-// } >- > if (enableBackgroundSynch.getSelection()) { > try { > long number = Long.parseLong(synchScheduleTime.getText()); >@@ -717,16 +531,23 @@ > } > } > >-// if (hourDayEnd.getSelection() <= hourDayStart.getSelection()) { >-// errorMessage = "Planning: Work day start must be before end."; >-// } >- > setErrorMessage(errorMessage); > setValid(errorMessage == null); > >- synchScheduleTime.setEnabled(enableBackgroundSynch.getSelection()); >+ if (activityTrackingEnabledButton.getSelection()) { >+ >+ timeoutEnabledButton.setEnabled(true); >+ >+ synchScheduleTime.setEnabled(enableBackgroundSynch.getSelection()); > >- timeoutMinutes.setEnabled(timeoutEnabledButton.getSelection()); >+ timeoutMinutes.setEnabled(timeoutEnabledButton.getSelection()); >+ } else { >+ timeoutEnabledButton.setEnabled(false); >+ >+ synchScheduleTime.setEnabled(false); >+ >+ timeoutMinutes.setEnabled(false); >+ } > > } > >Index: src/org/eclipse/mylyn/internal/tasks/ui/preferences/messages.properties >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/preferences/messages.properties,v >retrieving revision 1.3 >diff -u -r1.3 messages.properties >--- src/org/eclipse/mylyn/internal/tasks/ui/preferences/messages.properties 24 Jul 2009 12:05:47 -0000 1.3 >+++ src/org/eclipse/mylyn/internal/tasks/ui/preferences/messages.properties 9 Oct 2009 02:18:12 -0000 >@@ -1,3 +1,6 @@ >+Monday= >+Saturday= >+Sunday= > ############################################################################### > # Copyright (c) 2009 Tasktop Technologies and others. > # All rights reserved. This program and the accompanying materials >@@ -8,6 +11,7 @@ > # Contributors: > # Tasktop Technologies - initial API and implementation > ############################################################################### >+Friday= > TasksUiPreferencePage_Advanced=Advanced > TasksUiPreferencePage_Browse_=Browse... > TasksUiPreferencePage_Change_data_directory=Change data directory >@@ -16,6 +20,7 @@ > TasksUiPreferencePage_Destination_folder_does_not_exist=Destination folder does not exist. > TasksUiPreferencePage_Display_notifications_for_overdue_tasks_and_incoming_changes=Display notifications for overdue tasks and incoming changes > TasksUiPreferencePage_Enable_inactivity_timeouts=Enable inactivity timeouts >+TasksUiPreferencePage_Enable_Time_Tracking=Enable Time Tracking (track time spent within Eclipse when a task is active) > TasksUiPreferencePage_Error_applying_Task_List_data_directory_changes=Error applying Task List data directory changes. The previous setting will be restored. > TasksUiPreferencePage_Folder_Selection=Folder Selection > TasksUiPreferencePage_If_disabled=If disabled, time accumulates while a task is active with no timeout due to inactivity. >@@ -34,7 +39,11 @@ > TasksUiPreferencePage_Task_Data=Task Data > TasksUiPreferencePage_Task_Data_Directory_Error=Task Data Directory Error > TasksUiPreferencePage_Task_Editing=Task Editing >-TasksUiPreferencePage_Task_Timing=Task Timing >+TasksUiPreferencePage_Task_Timing=Time Tracking >+TasksUiPreferencePage_Track_Time_Spent=Track time spent within Eclipse when a task is active > TasksUiPreferencePage_Use_the_Restore_dialog_to_recover_missing_tasks=Use the Restore dialog to recover missing tasks > TasksUiPreferencePage_Web_Browser=Web Browser > TasksUiPreferencePage_Week_Start=Week Start: >+Thursday= >+Tuesday= >+Wednesday= >Index: src/org/eclipse/mylyn/internal/tasks/ui/editors/PlanningPart.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/PlanningPart.java,v >retrieving revision 1.23 >diff -u -r1.23 PlanningPart.java >--- src/org/eclipse/mylyn/internal/tasks/ui/editors/PlanningPart.java 8 Oct 2009 01:16:50 -0000 1.23 >+++ src/org/eclipse/mylyn/internal/tasks/ui/editors/PlanningPart.java 9 Oct 2009 02:18:12 -0000 >@@ -21,6 +21,8 @@ > import org.eclipse.jface.text.ITextListener; > import org.eclipse.jface.text.TextEvent; > import org.eclipse.mylyn.commons.core.DateUtil; >+import org.eclipse.mylyn.internal.context.core.ContextCorePlugin; >+import org.eclipse.mylyn.internal.monitor.ui.MonitorUiPlugin; > import org.eclipse.mylyn.internal.provisional.commons.ui.CommonImages; > import org.eclipse.mylyn.internal.provisional.commons.ui.CommonTextSupport; > import org.eclipse.mylyn.internal.provisional.commons.ui.CommonUiUtil; >@@ -67,6 +69,7 @@ > import org.eclipse.ui.forms.events.HyperlinkAdapter; > import org.eclipse.ui.forms.events.HyperlinkEvent; > import org.eclipse.ui.forms.widgets.FormToolkit; >+import org.eclipse.ui.forms.widgets.Hyperlink; > import org.eclipse.ui.forms.widgets.ImageHyperlink; > import org.eclipse.ui.forms.widgets.Section; > >@@ -358,6 +361,7 @@ > rowLayout.marginLeft = 0; > rowLayout.marginRight = 0; > actualTimeComposite.setLayout(rowLayout); >+ GridDataFactory.fillDefaults().span(4, SWT.DEFAULT).applyTo(toolbarComposite); > > Label label = toolkit.createLabel(actualTimeComposite, Messages.TaskEditorPlanningPart_Active); > label.setForeground(toolkit.getColors().getColor(IFormColors.TITLE)); >@@ -393,20 +397,22 @@ > > private void updateElapsedTime() { > long elapsedTime = TasksUiPlugin.getTaskActivityManager().getElapsedTime(getTask()); >- if (elapsedTime > 0) { >- if (actualTimeComposite != null && !actualTimeComposite.isVisible()) { >- actualTimeComposite.setVisible(true); >- } >- } else { >- if (actualTimeComposite != null) { >- actualTimeComposite.setVisible(false); >- } >- } >+// if (elapsedTime > 0) { >+// if (actualTimeComposite != null && !actualTimeComposite.isVisible()) { >+// actualTimeComposite.setVisible(true); >+// } >+// } else { >+// if (actualTimeComposite != null) { >+// actualTimeComposite.setVisible(false); >+// } >+// } > String elapsedTimeString = DateUtil.getFormattedDurationShort(elapsedTime); > if (elapsedTimeString.equals("")) { //$NON-NLS-1$ > elapsedTimeString = Messages.TaskEditorPlanningPart_0_SECOUNDS; > } >- elapsedTimeText.setText(elapsedTimeString); >+ if (elapsedTimeText != null) { >+ elapsedTimeText.setText(elapsedTimeString); >+ } > > } > >@@ -514,10 +520,11 @@ > } > } > >+ @SuppressWarnings("restriction") > @Override >- protected void setSection(FormToolkit toolkit, Section section) { >+ protected void setSection(final FormToolkit toolkit, final Section section) { > if (section.getTextClient() == null) { >- Composite toolbarComposite = toolkit.createComposite(section); >+ final Composite toolbarComposite = toolkit.createComposite(section); > toolbarComposite.setBackground(null); > RowLayout rowLayout = new RowLayout(); > rowLayout.marginTop = 0; >@@ -525,9 +532,23 @@ > rowLayout.center = true; > toolbarComposite.setLayout(rowLayout); > >- createActualTime(toolkit, toolbarComposite); >- >- fillToolbar(toolbarComposite); >+ if (ContextCorePlugin.getDefault().isActivityTrackingEnabled()) { >+ createActualTime(toolkit, toolbarComposite); >+ } else { >+ final Hyperlink link = toolkit.createHyperlink(toolbarComposite, "Enable Time Tracking", SWT.NONE); //$NON-NLS-1$ >+ link.setForeground(toolkit.getColors().getColor(IFormColors.TITLE)); >+ link.setBackground(null); >+ link.addHyperlinkListener(new HyperlinkAdapter() { >+ @Override >+ public void linkActivated(HyperlinkEvent e) { >+ MonitorUiPlugin.getDefault().getPreferenceStore().setValue( >+ MonitorUiPlugin.ACTIVITY_TRACKING_ENABLED, true); >+ link.dispose(); >+ createActualTime(toolkit, toolbarComposite); >+ section.layout(); >+ } >+ }); >+ } > section.setTextClient(toolbarComposite); > > } >@@ -535,14 +556,6 @@ > super.setSection(toolkit, section); > } > >- private void fillToolbar(Composite parent) { >-// if (toolBarManager == null) { >-// toolBarManager = new ToolBarManager(SWT.FLAT | SWT.HORIZONTAL); >-// toolBarManager.add(new TaskEditorScheduleAction(getTask())); >-// toolBarManager.createControl(parent); >-// } >- } >- > public boolean needsNotes() { > return needsNotes; > } >Index: src/org/eclipse/mylyn/internal/tasks/ui/TasksUiPlugin.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/TasksUiPlugin.java,v >retrieving revision 1.123 >diff -u -r1.123 TasksUiPlugin.java >--- src/org/eclipse/mylyn/internal/tasks/ui/TasksUiPlugin.java 8 Oct 2009 03:41:16 -0000 1.123 >+++ src/org/eclipse/mylyn/internal/tasks/ui/TasksUiPlugin.java 9 Oct 2009 02:18:12 -0000 >@@ -12,6 +12,8 @@ > package org.eclipse.mylyn.internal.tasks.ui; > > import java.io.File; >+import java.io.StringReader; >+import java.io.StringWriter; > import java.lang.reflect.Field; > import java.lang.reflect.InvocationTargetException; > import java.util.ArrayList; >@@ -93,8 +95,10 @@ > import org.eclipse.mylyn.tasks.ui.editors.AbstractTaskEditorPageFactory; > import org.eclipse.swt.graphics.Image; > import org.eclipse.swt.widgets.Display; >+import org.eclipse.ui.IMemento; > import org.eclipse.ui.IStartup; > import org.eclipse.ui.PlatformUI; >+import org.eclipse.ui.XMLMemento; > import org.eclipse.ui.forms.FormColors; > import org.eclipse.ui.plugin.AbstractUIPlugin; > import org.eclipse.ui.progress.IProgressService; >@@ -110,6 +114,8 @@ > */ > public class TasksUiPlugin extends AbstractUIPlugin { > >+ private static final String PREF_ACTIVATION_HISTORY = "org.eclipse.mylyn.tasks.ui.activation.history"; >+ > private static final int DELAY_QUERY_REFRESH_ON_STARTUP = 20 * 1000; > > private static final int DEFAULT_LINK_PROVIDER_TIMEOUT = 5 * 1000; >@@ -413,6 +419,24 @@ > } > } > } >+ >+ // Load Activation History >+ String historyString = getPreferenceStore().getString(PREF_ACTIVATION_HISTORY); >+ if (historyString.length() > 0) { >+ StringReader reader = new StringReader(historyString); >+ XMLMemento historyMemento = XMLMemento.createReadRoot(reader); >+ IMemento[] historyItems = historyMemento.getChildren("task"); //$NON-NLS-1$ >+ for (IMemento iMemento : historyItems) { >+ String handle = iMemento.getString("handle"); //$NON-NLS-1$ >+ if (handle != null) { >+ AbstractTask activatedTask = taskList.getTask(handle); >+ if (activatedTask != null) { >+ taskActivityManager.getTaskActivationHistory().addTask(activatedTask); >+ } >+ } >+ } >+ } >+ > //taskActivityMonitor.reloadActivityTime(); > } catch (Throwable t) { > StatusHandler.log(new Status(IStatus.ERROR, TasksUiPlugin.ID_PLUGIN, >@@ -472,7 +496,7 @@ > } > } > >- @SuppressWarnings({ "restriction" }) >+ @SuppressWarnings( { "restriction" }) > @Override > public void start(BundleContext context) throws Exception { > super.start(context); >@@ -514,6 +538,7 @@ > taskList.addChangeListener(taskListExternalizationParticipant); > > taskActivityManager = new TaskActivityManager(repositoryManager, taskList); >+ > taskActivityManager.addActivationListener(taskListExternalizationParticipant); > > // initialize >@@ -677,6 +702,16 @@ > @Override > public void stop(BundleContext context) throws Exception { > try { >+ >+ XMLMemento history = XMLMemento.createWriteRoot(PREF_ACTIVATION_HISTORY); >+ for (AbstractTask task : taskActivityManager.getTaskActivationHistory().getHistory()) { >+ IMemento mem = history.createChild("task"); //$NON-NLS-1$ >+ mem.putString("handle", task.getHandleIdentifier()); //$NON-NLS-1$ >+ } >+ StringWriter writer = new StringWriter(); >+ history.save(writer); >+ getPreferenceStore().setValue(PREF_ACTIVATION_HISTORY, writer.toString()); >+ > if (formColors != null) { > formColors.dispose(); > formColors = null; >@@ -799,6 +834,21 @@ > taskActivityMonitor.reloadActivityTime(); > taskActivityManager.reloadPlanningData(); > >+ if (!MonitorUiPlugin.getDefault().getPreferenceStore().getBoolean( >+ MonitorUiPlugin.ACTIVITY_TRACKING_ENABLED + ".checked")) { //$NON-NLS-1$ >+ Calendar cal = Calendar.getInstance(); >+ cal.set(Calendar.YEAR, 1970); >+ Set<AbstractTask> activeTasks = taskActivityManager.getActiveTasks(cal, Calendar.getInstance()); >+ if (activeTasks.size() > 0) { >+ // task activity has been active before so fore preference enabled >+ MonitorUiPlugin.getDefault().getPreferenceStore().setValue(MonitorUiPlugin.ACTIVITY_TRACKING_ENABLED, >+ true); >+ MonitorUiPlugin.getDefault().savePluginPreferences(); >+ } >+ MonitorUiPlugin.getDefault().getPreferenceStore().setValue( >+ MonitorUiPlugin.ACTIVITY_TRACKING_ENABLED + ".checked", true); //$NON-NLS-1$ >+ } >+ > // inform listeners that initialization is complete > for (final IRepositoryModelListener listener : listeners) { > SafeRunner.run(new ISafeRunnable() { >Index: src/org/eclipse/mylyn/internal/tasks/ui/ActivityExternalizationParticipant.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/ActivityExternalizationParticipant.java,v >retrieving revision 1.18 >diff -u -r1.18 ActivityExternalizationParticipant.java >--- src/org/eclipse/mylyn/internal/tasks/ui/ActivityExternalizationParticipant.java 24 Jul 2009 12:05:46 -0000 1.18 >+++ src/org/eclipse/mylyn/internal/tasks/ui/ActivityExternalizationParticipant.java 9 Oct 2009 02:18:11 -0000 >@@ -47,7 +47,8 @@ > Assert.isNotNull(context); > switch (context.getKind()) { > case SAVE: >- if (ContextCorePlugin.getDefault() != null && ContextCorePlugin.getContextManager() != null) { >+ if (ContextCorePlugin.getDefault() != null && ContextCorePlugin.getDefault().isActivityTrackingEnabled() >+ && ContextCorePlugin.getContextManager() != null) { > setDirty(false); > ContextCorePlugin.getContextManager().saveActivityMetaContext(); > } >Index: src/org/eclipse/mylyn/internal/tasks/ui/TaskActivityMonitor.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/TaskActivityMonitor.java,v >retrieving revision 1.23 >diff -u -r1.23 TaskActivityMonitor.java >--- src/org/eclipse/mylyn/internal/tasks/ui/TaskActivityMonitor.java 24 Jul 2009 12:05:46 -0000 1.23 >+++ src/org/eclipse/mylyn/internal/tasks/ui/TaskActivityMonitor.java 9 Oct 2009 02:18:11 -0000 >@@ -97,6 +97,9 @@ > AbstractTask activatedTask = taskList.getTask(event.getStructureHandle()); > if (activatedTask != null) { > taskActivityManager.addElapsedTime(activatedTask, event.getDate(), event.getEndDate()); >+ if (!isReloading) { >+ externalizationParticipant.setDirty(false); >+ } > } > } > } >#P org.eclipse.mylyn.monitor.ui >Index: src/org/eclipse/mylyn/internal/monitor/ui/MonitorUiPlugin.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.monitor.ui/src/org/eclipse/mylyn/internal/monitor/ui/MonitorUiPlugin.java,v >retrieving revision 1.18 >diff -u -r1.18 MonitorUiPlugin.java >--- src/org/eclipse/mylyn/internal/monitor/ui/MonitorUiPlugin.java 8 Oct 2009 03:41:14 -0000 1.18 >+++ src/org/eclipse/mylyn/internal/monitor/ui/MonitorUiPlugin.java 9 Oct 2009 02:18:13 -0000 >@@ -81,7 +81,7 @@ > > public static final String OBFUSCATED_LABEL = "[obfuscated]"; //$NON-NLS-1$ > >- public static final String PREF_USER_ACTIVITY_ENABLED = "org.eclipse.mylyn.monitor.user.activity.enabled"; //$NON-NLS-1$ >+ public static final String ACTIVITY_TRACKING_ENABLED = "org.eclipse.mylyn.monitor.activity.tracking.enabled"; //$NON-NLS-1$ > > private IWorkbenchWindow launchingWorkbenchWindow = null; > >@@ -91,13 +91,9 @@ > if (event.getProperty().equals(ActivityContextManager.ACTIVITY_TIMEOUT) > || event.getProperty().equals(ActivityContextManager.ACTIVITY_TIMEOUT_ENABLED)) { > updateActivityTimout(); >- } else if (event.getProperty().equals(PREF_USER_ACTIVITY_ENABLED)) { >- if (getPreferenceStore().getBoolean(PREF_USER_ACTIVITY_ENABLED)) { >- activityContextManager.start(); >- } else { >- activityContextManager.stop(); >- } >- >+ } else if (event.getProperty().equals(ACTIVITY_TRACKING_ENABLED)) { >+ ContextCorePlugin.getDefault().setActivityTrackingEnabled( >+ getPreferenceStore().getBoolean(ACTIVITY_TRACKING_ENABLED)); > } > } > >@@ -145,6 +141,10 @@ > > getPreferenceStore().setDefault(ActivityContextManager.ACTIVITY_TIMEOUT, DEFAULT_ACTIVITY_TIMEOUT); > getPreferenceStore().setDefault(ActivityContextManager.ACTIVITY_TIMEOUT_ENABLED, true); >+ getPreferenceStore().setDefault(ACTIVITY_TRACKING_ENABLED, false); >+ >+ ContextCorePlugin.getDefault().setActivityTrackingEnabled( >+ getPreferenceStore().getBoolean(ACTIVITY_TRACKING_ENABLED)); > > this.activityContextManager = new ActivityContextManager(new ArrayList<AbstractUserActivityMonitor>(0)); > >@@ -414,9 +414,7 @@ > > updateActivityTimout(); > >- if (getPreferenceStore().getBoolean(PREF_USER_ACTIVITY_ENABLED)) { >- activityContextManager.start(); >- } >+ activityContextManager.start(); > > getPreferenceStore().addPropertyChangeListener(PROPERTY_LISTENER); > >#P org.eclipse.mylyn.context.core >Index: src/org/eclipse/mylyn/internal/context/core/ContextCorePlugin.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.context.core/src/org/eclipse/mylyn/internal/context/core/ContextCorePlugin.java,v >retrieving revision 1.16 >diff -u -r1.16 ContextCorePlugin.java >--- src/org/eclipse/mylyn/internal/context/core/ContextCorePlugin.java 24 Jul 2009 12:06:53 -0000 1.16 >+++ src/org/eclipse/mylyn/internal/context/core/ContextCorePlugin.java 9 Oct 2009 02:18:14 -0000 >@@ -64,6 +64,8 @@ > > private final InteractionContextScaling commonContextScaling = new InteractionContextScaling(); > >+ private boolean activityTrackingEnabled; >+ > private static final AbstractContextStructureBridge DEFAULT_BRIDGE = new AbstractContextStructureBridge() { > > @Override >@@ -471,4 +473,13 @@ > public IInteractionContextScaling getCommonContextScaling() { > return commonContextScaling; > } >+ >+ public void setActivityTrackingEnabled(boolean b) { >+ this.activityTrackingEnabled = b; >+ } >+ >+ public boolean isActivityTrackingEnabled() { >+ return activityTrackingEnabled; >+ } >+ > } >#P org.eclipse.mylyn.context.ui >Index: src/org/eclipse/mylyn/internal/context/ui/ContextUiPlugin.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.context.ui/src/org/eclipse/mylyn/internal/context/ui/ContextUiPlugin.java,v >retrieving revision 1.42 >diff -u -r1.42 ContextUiPlugin.java >--- src/org/eclipse/mylyn/internal/context/ui/ContextUiPlugin.java 7 Oct 2009 23:15:05 -0000 1.42 >+++ src/org/eclipse/mylyn/internal/context/ui/ContextUiPlugin.java 9 Oct 2009 02:18:15 -0000 >@@ -47,7 +47,6 @@ > import org.eclipse.mylyn.context.ui.AbstractContextUiBridge; > import org.eclipse.mylyn.context.ui.IContextUiStartup; > import org.eclipse.mylyn.internal.context.ui.wizards.RetrieveLatestContextDialog; >-import org.eclipse.mylyn.internal.monitor.ui.MonitorUiPlugin; > import org.eclipse.mylyn.internal.provisional.commons.ui.WorkbenchUtil; > import org.eclipse.mylyn.monitor.ui.MonitorUi; > import org.eclipse.mylyn.tasks.core.ITask; >@@ -186,7 +185,7 @@ > > private static final ITaskActivationListener TASK_ACTIVATION_LISTENER = new TaskActivationAdapter() { > >- @SuppressWarnings({ "restriction" }) >+ @SuppressWarnings( { "restriction" }) > @Override > public void taskActivated(ITask task) { > if (CoreUtil.TEST_MODE) { >@@ -246,10 +245,6 @@ > @SuppressWarnings("restriction") > private void lazyStart(IWorkbench workbench) { > try { >- MonitorUiPlugin.getDefault() >- .getPreferenceStore() >- .setValue(MonitorUiPlugin.PREF_USER_ACTIVITY_ENABLED, true); >- MonitorUiPlugin.getDefault().savePluginPreferences(); > ContextCore.getContextManager().addListener(viewerManager); > MonitorUi.addWindowPartListener(contentOutlineManager); > perspectiveManager.addManagedPerspective(ITasksUiConstants.ID_PERSPECTIVE_PLANNING); >#P org.eclipse.mylyn.tasks.core >Index: src/org/eclipse/mylyn/internal/tasks/core/TaskActivationHistory.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/TaskActivationHistory.java,v >retrieving revision 1.8 >diff -u -r1.8 TaskActivationHistory.java >--- src/org/eclipse/mylyn/internal/tasks/core/TaskActivationHistory.java 24 Jul 2009 12:07:58 -0000 1.8 >+++ src/org/eclipse/mylyn/internal/tasks/core/TaskActivationHistory.java 9 Oct 2009 02:18:15 -0000 >@@ -124,4 +124,8 @@ > return history.size(); > } > >+ public List<AbstractTask> getHistory() { >+ return Collections.unmodifiableList(history); >+ } >+ > }
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 291084
:
149078
|
149079
|
149177
|
149178
|
149197
|
149198
|
149287
|
149345
|
149399
|
149482