Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrelves2008-02-20 18:45:41 +0000
committerrelves2008-02-20 18:45:41 +0000
commit31348d87b6e54fb6eb4d776dbfd00836fc54e013 (patch)
treef3dcf34dedfd3229597f310faa6674a2e9035ea6
parent4826295682935fdb124785ef062c7f709bf6b738 (diff)
downloadorg.eclipse.mylyn.tasks-31348d87b6e54fb6eb4d776dbfd00836fc54e013.tar.gz
org.eclipse.mylyn.tasks-31348d87b6e54fb6eb4d776dbfd00836fc54e013.tar.xz
org.eclipse.mylyn.tasks-31348d87b6e54fb6eb4d776dbfd00836fc54e013.zip
RESOLVED - bug 201620: [activity] make activity timeout value a preference
https://bugs.eclipse.org/bugs/show_bug.cgi?id=201620
-rw-r--r--org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskActivityTimingTest.java2
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/TasksUiPreferenceConstants.java4
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/preferences/TasksUiPreferencePage.java285
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/TasksUiPlugin.java19
4 files changed, 210 insertions, 100 deletions
diff --git a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskActivityTimingTest.java b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskActivityTimingTest.java
index f6584faa3..5f07484bd 100644
--- a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskActivityTimingTest.java
+++ b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskActivityTimingTest.java
@@ -19,8 +19,8 @@ import junit.framework.TestCase;
import org.eclipse.mylyn.context.core.ContextCorePlugin;
import org.eclipse.mylyn.internal.context.core.InteractionContext;
import org.eclipse.mylyn.internal.context.core.InteractionContextManager;
-import org.eclipse.mylyn.internal.context.core.LegacyActivityAdaptor;
import org.eclipse.mylyn.internal.context.core.InteractionContextScaling;
+import org.eclipse.mylyn.internal.context.core.LegacyActivityAdaptor;
import org.eclipse.mylyn.internal.tasks.core.LocalTask;
import org.eclipse.mylyn.internal.tasks.core.ScheduledTaskContainer;
import org.eclipse.mylyn.internal.tasks.core.TaskActivityManager;
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/TasksUiPreferenceConstants.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/TasksUiPreferenceConstants.java
index c0ebfcb96..a34e2d009 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/TasksUiPreferenceConstants.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/TasksUiPreferenceConstants.java
@@ -65,4 +65,8 @@ public final class TasksUiPreferenceConstants {
public static final String LOCAL_SUB_TASKS_ENABLED = "org.eclipse.mylyn.tasks.ui.subtasks.local";
+ public static final String ACTIVITY_TIMEOUT = "org.eclipse.mylyn.tasks.ui.activity.timeout";
+
+ public static final String ACTIVITY_TIMEOUT_ENABLED = "org.eclipse.mylyn.tasks.ui.activity.timeout.enabled";
+
}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/preferences/TasksUiPreferencePage.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/preferences/TasksUiPreferencePage.java
index d9d102300..5d37bccfc 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/preferences/TasksUiPreferencePage.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/preferences/TasksUiPreferencePage.java
@@ -57,16 +57,23 @@ public class TasksUiPreferencePage extends PreferencePage implements IWorkbenchP
private static final String TITLE_FOLDER_SELECTION = "Folder Selection";
- private static final String END_HOUR_LABEL = "Work day end (24hr): ";
- private static final String START_HOUR_LABEL = "Work day start (24hr): ";
-
- private static final String GROUP_WORK_WEEK_LABEL = "Scheduling";
+ private static final String LABEL_ACTIVITY_TIMEOUT = "Stop time accumulation after";
+ private static final String LABEL_ACTIVITY_TIMEOUT2 = "minutes of inactivity.";
+
+// private static final String END_HOUR_LABEL = "Work day end (24hr): ";
+//
+// private static final String START_HOUR_LABEL = "Work day start (24hr): ";
+// private static final String GROUP_WORK_WEEK_LABEL = "Scheduling";
+//
+ private static final String GROUP_TASK_TIMING = "Task Timing";
private static final String FORWARDSLASH = "/";
private static final String BACKSLASH_MULTI = "\\\\";
+ private static final int MS_MINUTES = 60*1000;
+
private Button useRichEditor;
private Button useWebBrowser;
@@ -87,15 +94,19 @@ public class TasksUiPreferencePage extends PreferencePage implements IWorkbenchP
private Text backupFolderText;
- private Spinner hourDayStart;
-
- private Spinner hourDayEnd;
+// private Spinner hourDayStart;
+//
+// private Spinner hourDayEnd;
private int taskDataDirectoryAction = -1;
private FormToolkit toolkit;
- private ExpandableComposite taskDataComposite;
+ private Spinner timeoutMinutes;
+
+ private Button timeoutEnabledButton;
+
+ private ExpandableComposite advancedComposite;
public TasksUiPreferencePage() {
super();
@@ -117,14 +128,37 @@ public class TasksUiPreferencePage extends PreferencePage implements IWorkbenchP
}
createTaskRefreshScheduleGroup(container);
- createSchedulingGroup(container);
+ //createSchedulingGroup(container);
createOpenWith(container);
- createTaskDataControl(container);
+ Composite advanced = createAdvancedSection(container);
+ createTaskActivityGroup(advanced);
+ createTaskDataControl(advanced);
updateRefreshGroupEnablements();
return container;
}
+ private Composite createAdvancedSection(Composite container) {
+ advancedComposite = toolkit.createExpandableComposite(container, Section.COMPACT | Section.TWISTIE
+ | Section.TITLE_BAR);
+ advancedComposite.setFont(container.getFont());
+ advancedComposite.setBackground(container.getBackground());
+ advancedComposite.setText("Advanced");
+ advancedComposite.setLayout(new GridLayout(1, false));
+ advancedComposite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+ advancedComposite.addExpansionListener(new ExpansionAdapter() {
+ @Override
+ public void expansionStateChanged(ExpansionEvent e) {
+ getControl().getShell().pack();
+ }
+ });
+
+ Composite advanced = new Composite(advancedComposite, SWT.NONE);
+ advanced.setLayout(new GridLayout(1, false));
+ advancedComposite.setClient(advanced);
+ return advanced;
+ }
+
public void init(IWorkbench workbench) {
// TODO Auto-generated method stub
}
@@ -160,8 +194,10 @@ public class TasksUiPreferencePage extends PreferencePage implements IWorkbenchP
getPreferenceStore().setValue(TasksUiPreferenceConstants.REPOSITORY_SYNCH_SCHEDULE_MILISECONDS,
"" + miliseconds);
- getPreferenceStore().setValue(TasksUiPreferenceConstants.PLANNING_STARTHOUR, hourDayStart.getSelection());
- getPreferenceStore().setValue(TasksUiPreferenceConstants.PLANNING_ENDHOUR, hourDayEnd.getSelection());
+ ///getPreferenceStore().setValue(TasksUiPreferenceConstants.PLANNING_STARTHOUR, hourDayStart.getSelection());
+ ///getPreferenceStore().setValue(TasksUiPreferenceConstants.PLANNING_ENDHOUR, hourDayEnd.getSelection());
+ getPreferenceStore().setValue(TasksUiPreferenceConstants.ACTIVITY_TIMEOUT_ENABLED, timeoutEnabledButton.getSelection());
+ getPreferenceStore().setValue(TasksUiPreferenceConstants.ACTIVITY_TIMEOUT, timeoutMinutes.getSelection() * (60*1000));
backupNow.setEnabled(true);
return true;
}
@@ -181,9 +217,12 @@ public class TasksUiPreferencePage extends PreferencePage implements IWorkbenchP
TasksUiPreferenceConstants.REPOSITORY_SYNCH_SCHEDULE_ENABLED));
synchScheduleTime.setText(getMinutesString());
- hourDayStart.setSelection(getPreferenceStore().getInt(TasksUiPreferenceConstants.PLANNING_STARTHOUR));
- hourDayEnd.setSelection(getPreferenceStore().getInt(TasksUiPreferenceConstants.PLANNING_ENDHOUR));
+ ///hourDayStart.setSelection(getPreferenceStore().getInt(TasksUiPreferenceConstants.PLANNING_STARTHOUR));
+ ///hourDayEnd.setSelection(getPreferenceStore().getInt(TasksUiPreferenceConstants.PLANNING_ENDHOUR));
backupNow.setEnabled(true);
+ int minutes = getPreferenceStore().getInt(TasksUiPreferenceConstants.ACTIVITY_TIMEOUT)/MS_MINUTES;
+ timeoutMinutes.setSelection(minutes);
+ timeoutEnabledButton.setSelection(getPreferenceStore().getBoolean(TasksUiPreferenceConstants.ACTIVITY_TIMEOUT_ENABLED));
return true;
}
@@ -220,8 +259,11 @@ public class TasksUiPreferencePage extends PreferencePage implements IWorkbenchP
long minutes = miliseconds / 60000;
synchScheduleTime.setText("" + minutes);
- hourDayStart.setSelection(getPreferenceStore().getDefaultInt(TasksUiPreferenceConstants.PLANNING_STARTHOUR));
- hourDayEnd.setSelection(getPreferenceStore().getDefaultInt(TasksUiPreferenceConstants.PLANNING_ENDHOUR));
+ ///hourDayStart.setSelection(getPreferenceStore().getDefaultInt(TasksUiPreferenceConstants.PLANNING_STARTHOUR));
+ ///hourDayEnd.setSelection(getPreferenceStore().getDefaultInt(TasksUiPreferenceConstants.PLANNING_ENDHOUR));
+ int activityTimeoutMinutes = getPreferenceStore().getDefaultInt(TasksUiPreferenceConstants.ACTIVITY_TIMEOUT)/MS_MINUTES;
+ timeoutMinutes.setSelection(activityTimeoutMinutes);
+ timeoutEnabledButton.setSelection(getPreferenceStore().getDefaultBoolean(TasksUiPreferenceConstants.ACTIVITY_TIMEOUT_ENABLED));
updateRefreshGroupEnablements();
}
@@ -267,11 +309,6 @@ public class TasksUiPreferencePage extends PreferencePage implements IWorkbenchP
notificationEnabledButton.setSelection(getPreferenceStore().getBoolean(
TasksUiPreferenceConstants.NOTIFICATIONS_ENABLED));
- // synchQueries = new Button(group, SWT.CHECK);
- // synchQueries.setText("Synchronize on startup");
- // synchQueries.setSelection(getPreferenceStore().getBoolean(
- // TaskListPreferenceConstants.REPOSITORY_SYNCH_ON_STARTUP));
-
}
private void createOpenWith(Composite parent) {
@@ -290,22 +327,8 @@ public class TasksUiPreferencePage extends PreferencePage implements IWorkbenchP
private void createTaskDataControl(Composite parent) {
- taskDataComposite = toolkit.createExpandableComposite(parent, Section.COMPACT | Section.TWISTIE
- | Section.TITLE_BAR);
- taskDataComposite.setFont(parent.getFont());
- taskDataComposite.setBackground(parent.getBackground());
- taskDataComposite.setText("Task Data (Advanced)");
- taskDataComposite.setLayout(new GridLayout(1, false));
- taskDataComposite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
- taskDataComposite.addExpansionListener(new ExpansionAdapter() {
- @Override
- public void expansionStateChanged(ExpansionEvent e) {
- getControl().getShell().pack();
- }
- });
- Group taskDataGroup = new Group(taskDataComposite, SWT.SHADOW_ETCHED_IN);
- taskDataComposite.setClient(taskDataGroup);
-// taskDataGroup.setText("Task Data (Advanced)");
+ Group taskDataGroup = new Group(parent, SWT.SHADOW_ETCHED_IN);
+ taskDataGroup.setText("Task Data");
taskDataGroup.setLayout(new GridLayout(1, false));
taskDataGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
@@ -399,70 +422,38 @@ public class TasksUiPreferencePage extends PreferencePage implements IWorkbenchP
}
});
}
-
- private void createSchedulingGroup(Composite container) {
+
+
+ private void createTaskActivityGroup(Composite container) {
Group group = new Group(container, SWT.SHADOW_ETCHED_IN);
- group.setText(GROUP_WORK_WEEK_LABEL);
- group.setLayout(new GridLayout(5, false));
+ group.setText(GROUP_TASK_TIMING);
+ group.setLayout(new GridLayout(3, 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() {
-
+
+ boolean timeoutEnabled = getPreferenceStore().getBoolean(TasksUiPreferenceConstants.ACTIVITY_TIMEOUT_ENABLED);
+
+ timeoutEnabledButton = new Button(group, SWT.CHECK);
+ timeoutEnabledButton.setText("Enable inactivity timeouts");
+ timeoutEnabledButton.setSelection(timeoutEnabled);
+ timeoutEnabledButton.setToolTipText("If disabled, time accumulates while a task is active with no timeout due to inactivity.");
+ timeoutEnabledButton.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() {
+ GridDataFactory.swtDefaults().span(3, 1).applyTo(timeoutEnabledButton);
+
+ Label timeoutLabel = new Label(group, SWT.NONE);
+ timeoutLabel.setText(LABEL_ACTIVITY_TIMEOUT);
+ timeoutMinutes = new Spinner(group, SWT.BORDER);
+ timeoutMinutes.setDigits(0);
+ timeoutMinutes.setIncrement(5);
+ timeoutMinutes.setMaximum(60);
+ timeoutMinutes.setMinimum(1);
+ long minutes = getPreferenceStore().getLong(TasksUiPreferenceConstants.ACTIVITY_TIMEOUT)/MS_MINUTES;
+ timeoutMinutes.setSelection((int)minutes);
+ timeoutMinutes.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
@@ -470,9 +461,107 @@ public class TasksUiPreferencePage extends PreferencePage implements IWorkbenchP
}
});
+
+ timeoutLabel = new Label(group, SWT.NONE);
+ timeoutLabel.setText(LABEL_ACTIVITY_TIMEOUT2);
+
+
+// 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;
@@ -498,14 +587,16 @@ public class TasksUiPreferencePage extends PreferencePage implements IWorkbenchP
}
}
- if (hourDayEnd.getSelection() <= hourDayStart.getSelection()) {
- errorMessage = "Planning: Work day start must be before end.";
- }
+// if (hourDayEnd.getSelection() <= hourDayStart.getSelection()) {
+// errorMessage = "Planning: Work day start must be before end.";
+// }
setErrorMessage(errorMessage);
setValid(errorMessage == null);
synchScheduleTime.setEnabled(enableBackgroundSynch.getSelection());
+
+ timeoutMinutes.setEnabled(timeoutEnabledButton.getSelection());
}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/TasksUiPlugin.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/TasksUiPlugin.java
index 0f1776ef0..6e23dce10 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/TasksUiPlugin.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/TasksUiPlugin.java
@@ -66,6 +66,7 @@ import org.eclipse.mylyn.internal.tasks.ui.util.TaskListWriter;
import org.eclipse.mylyn.internal.tasks.ui.util.TasksUiExtensionReader;
import org.eclipse.mylyn.internal.tasks.ui.views.TaskRepositoriesView;
import org.eclipse.mylyn.monitor.core.StatusHandler;
+import org.eclipse.mylyn.monitor.ui.MonitorUiPlugin;
import org.eclipse.mylyn.tasks.core.AbstractAttributeFactory;
import org.eclipse.mylyn.tasks.core.AbstractRepositoryConnector;
import org.eclipse.mylyn.tasks.core.AbstractRepositoryQuery;
@@ -309,9 +310,8 @@ public class TasksUiPlugin extends AbstractUIPlugin {
if (event.getOldValue() instanceof String) {
reloadDataDirectory(true);
}
- }
+ }
}
-
};
private final org.eclipse.jface.util.IPropertyChangeListener PROPERTY_LISTENER = new org.eclipse.jface.util.IPropertyChangeListener() {
@@ -321,6 +321,17 @@ public class TasksUiPlugin extends AbstractUIPlugin {
if (event.getOldValue() instanceof String) {
reloadDataDirectory(true);
}
+ } else if (event.getProperty().equals(TasksUiPreferenceConstants.ACTIVITY_TIMEOUT)) {
+ MonitorUiPlugin.getDefault().setInactivityTimeout(
+ getPreferenceStore().getInt(TasksUiPreferenceConstants.ACTIVITY_TIMEOUT));
+ } else if (event.getProperty().equals(TasksUiPreferenceConstants.ACTIVITY_TIMEOUT_ENABLED)) {
+ if (getPreferenceStore().getBoolean(TasksUiPreferenceConstants.ACTIVITY_TIMEOUT_ENABLED)) {
+ MonitorUiPlugin.getDefault().setInactivityTimeout(
+ getPreferenceStore().getInt(TasksUiPreferenceConstants.ACTIVITY_TIMEOUT));
+ } else {
+ MonitorUiPlugin.getDefault().setInactivityTimeout(0);
+ }
+
}
}
@@ -381,6 +392,8 @@ public class TasksUiPlugin extends AbstractUIPlugin {
try {
taskListSaveManager = new TaskListSaveManager();
taskListManager.setTaskListSaveManager(taskListSaveManager);
+
+ MonitorUiPlugin.getDefault().setInactivityTimeout(getPreferenceStore().getInt(TasksUiPreferenceConstants.ACTIVITY_TIMEOUT));
ContextCorePlugin.getDefault().getPluginPreferences().addPropertyChangeListener(PREFERENCE_LISTENER);
@@ -653,6 +666,8 @@ public class TasksUiPlugin extends AbstractUIPlugin {
store.setDefault(TasksUiPreferenceConstants.PLANNING_STARTHOUR, 9);
store.setDefault(TasksUiPreferenceConstants.PLANNING_ENDHOUR, 18);
+ store.setDefault(TasksUiPreferenceConstants.ACTIVITY_TIMEOUT, 180000);
+ store.setDefault(TasksUiPreferenceConstants.ACTIVITY_TIMEOUT_ENABLED, true);
}
public static TaskListManager getTaskListManager() {

Back to the top