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 71846 Details for
Bug 165809
allow a repository to be put into offline mode
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read
this important communication.
[patch]
add offline mode
clipboard.txt (text/plain), 9.56 KB, created by
Steffen Pingel
on 2007-06-20 04:08:50 EDT
(
hide
)
Description:
add offline mode
Filename:
MIME Type:
Creator:
Steffen Pingel
Created:
2007-06-20 04:08:50 EDT
Size:
9.56 KB
patch
obsolete
>### Eclipse Workspace Patch 1.0 >#P org.eclipse.mylyn.tasks.ui >Index: src/org/eclipse/mylyn/internal/tasks/ui/views/TaskRepositoriesView.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/TaskRepositoriesView.java,v >retrieving revision 1.18 >diff -u -r1.18 TaskRepositoriesView.java >--- src/org/eclipse/mylyn/internal/tasks/ui/views/TaskRepositoriesView.java 14 Jun 2007 18:01:05 -0000 1.18 >+++ src/org/eclipse/mylyn/internal/tasks/ui/views/TaskRepositoriesView.java 20 Jun 2007 08:06:35 -0000 >@@ -55,6 +55,8 @@ > private BaseSelectionListenerAction repositoryPropertiesAction; > > private BaseSelectionListenerAction resetConfigurationAction; >+ >+ private RepositoryOfflineAction offlineAction; > > private final ITaskRepositoryListener REPOSITORY_LISTENER = new ITaskRepositoryListener() { > >@@ -142,6 +144,8 @@ > } > }); > >+ TasksUiPlugin.getRepositoryManager().addListener(new TaskRepositoryListener()); >+ > makeActions(); > hookContextMenu(); > contributeToActionBars(); >@@ -157,6 +161,9 @@ > > resetConfigurationAction = new ResetRepositoryConfigurationAction(); > viewer.addSelectionChangedListener(resetConfigurationAction); >+ >+ offlineAction = new RepositoryOfflineAction(); >+ viewer.addSelectionChangedListener(offlineAction); > } > > private void hookContextMenu() { >@@ -187,6 +194,8 @@ > manager.add(new Separator()); > manager.add(deleteRepositoryAction); > manager.add(resetConfigurationAction); >+ manager.add(new Separator()); >+ manager.add(offlineAction); > manager.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS)); > manager.add(new Separator()); > manager.add(repositoryPropertiesAction); >@@ -214,5 +223,27 @@ > return viewer; > } > >+ public class TaskRepositoryListener implements ITaskRepositoryListener { >+ >+ public void repositoriesRead() { >+ } >+ >+ public void repositoryAdded(TaskRepository repository) { >+ } >+ >+ public void repositoryRemoved(TaskRepository repository) { >+ } >+ >+ public void repositorySettingsChanged(TaskRepository repository) { >+ PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() { >+ public void run() { >+ if (!getViewer().getControl().isDisposed()) { >+ getViewer().refresh(true); >+ } >+ } >+ }); >+ } >+ >+ } > > } >\ No newline at end of file >Index: src/org/eclipse/mylyn/internal/tasks/ui/views/TaskRepositoryLabelProvider.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/TaskRepositoryLabelProvider.java,v >retrieving revision 1.10 >diff -u -r1.10 TaskRepositoryLabelProvider.java >--- src/org/eclipse/mylyn/internal/tasks/ui/views/TaskRepositoryLabelProvider.java 8 Jun 2007 00:34:12 -0000 1.10 >+++ src/org/eclipse/mylyn/internal/tasks/ui/views/TaskRepositoryLabelProvider.java 20 Jun 2007 08:06:35 -0000 >@@ -44,7 +44,11 @@ > return TasksUiImages.getImage(TasksUiImages.REPOSITORY); > } > } else if (object instanceof TaskRepository) { >- return TasksUiImages.getImage(TasksUiImages.REPOSITORY); >+ if (((TaskRepository)object).isOffline()) { >+ return TasksUiImages.getImageWithOverlay(TasksUiImages.REPOSITORY, TasksUiImages.OVERLAY_OFFLINE, true, false); >+ } else { >+ return TasksUiImages.getImage(TasksUiImages.REPOSITORY); >+ } > } > return null; > } >Index: src/org/eclipse/mylyn/internal/tasks/ui/ScheduledTaskListSynchJob.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/ScheduledTaskListSynchJob.java,v >retrieving revision 1.17 >diff -u -r1.17 ScheduledTaskListSynchJob.java >--- src/org/eclipse/mylyn/internal/tasks/ui/ScheduledTaskListSynchJob.java 14 Jun 2007 21:20:27 -0000 1.17 >+++ src/org/eclipse/mylyn/internal/tasks/ui/ScheduledTaskListSynchJob.java 20 Jun 2007 08:06:35 -0000 >@@ -78,6 +78,11 @@ > scheduleDelay = -1; > throw new OperationCanceledException(); > } >+ >+ if (repository.isOffline()) { >+ continue; >+ } >+ > final AbstractRepositoryConnector connector = TasksUiPlugin.getRepositoryManager() > .getRepositoryConnector(repository.getKind()); > if (connector == null) { >Index: src/org/eclipse/mylyn/internal/tasks/ui/TasksUiImages.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/TasksUiImages.java,v >retrieving revision 1.39 >diff -u -r1.39 TasksUiImages.java >--- src/org/eclipse/mylyn/internal/tasks/ui/TasksUiImages.java 19 Jun 2007 07:51:44 -0000 1.39 >+++ src/org/eclipse/mylyn/internal/tasks/ui/TasksUiImages.java 20 Jun 2007 08:06:35 -0000 >@@ -111,6 +111,8 @@ > > public static final ImageDescriptor OVERLAY_WEB = create(T_TOOL, "overlay-web.gif"); > >+ public static final ImageDescriptor OVERLAY_OFFLINE = create(T_EVIEW, "overlay-offline.gif"); >+ > public static final ImageDescriptor BROWSER_SMALL = create(T_OBJ, "browser-small.gif"); > > public static final ImageDescriptor BROWSER_OPEN_TASK = create(T_TOOL, "open-browser.gif"); >Index: src/org/eclipse/mylyn/internal/tasks/ui/views/RepositoryOfflineAction.java >=================================================================== >RCS file: src/org/eclipse/mylyn/internal/tasks/ui/views/RepositoryOfflineAction.java >diff -N src/org/eclipse/mylyn/internal/tasks/ui/views/RepositoryOfflineAction.java >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ src/org/eclipse/mylyn/internal/tasks/ui/views/RepositoryOfflineAction.java 1 Jan 1970 00:00:00 -0000 >@@ -0,0 +1,74 @@ >+/******************************************************************************* >+ * Copyright (c) 2004 - 2006 Mylar committers and others. >+ * All rights reserved. This program and the accompanying materials >+ * are made available under the terms of the Eclipse Public License v1.0 >+ * which accompanies this distribution, and is available at >+ * http://www.eclipse.org/legal/epl-v10.html >+ *******************************************************************************/ >+ >+package org.eclipse.mylyn.internal.tasks.ui.views; >+ >+import java.util.Iterator; >+ >+import org.eclipse.core.runtime.CoreException; >+import org.eclipse.core.runtime.IProgressMonitor; >+import org.eclipse.core.runtime.IStatus; >+import org.eclipse.core.runtime.Status; >+import org.eclipse.core.runtime.jobs.Job; >+import org.eclipse.jface.action.Action; >+import org.eclipse.jface.action.IAction; >+import org.eclipse.jface.viewers.ISelection; >+import org.eclipse.jface.viewers.ISelectionChangedListener; >+import org.eclipse.jface.viewers.IStructuredSelection; >+import org.eclipse.jface.viewers.SelectionChangedEvent; >+import org.eclipse.jface.viewers.StructuredSelection; >+import org.eclipse.mylyn.internal.monitor.core.util.StatusManager; >+import org.eclipse.mylyn.tasks.core.AbstractRepositoryConnector; >+import org.eclipse.mylyn.tasks.core.TaskRepository; >+import org.eclipse.mylyn.tasks.ui.TasksUiPlugin; >+ >+/** >+ * @author Steffen Pingel >+ */ >+public class RepositoryOfflineAction extends Action implements ISelectionChangedListener { >+ >+ private static final String ID = "org.eclipse.mylyn.tasklist.repositories.offline"; >+ >+ private TaskRepository repository; >+ >+ public RepositoryOfflineAction() { >+ super("Offline", Action.AS_CHECK_BOX); >+ setId(ID); >+ setEnabled(false); >+ } >+ >+ @Override >+ public void run() { >+ repository.setOffline(isChecked()); >+ TasksUiPlugin.getRepositoryManager().notifyRepositorySettingsChagned(repository); >+ } >+ >+ public void selectionChanged(IAction action, ISelection selection) { >+ } >+ >+ public void selectionChanged(SelectionChangedEvent event) { >+ ISelection selection = event.getSelection(); >+ if (selection instanceof IStructuredSelection) { >+ Object selectedObject = ((IStructuredSelection)selection).getFirstElement(); >+ if (selectedObject instanceof TaskRepository) { >+ AbstractRepositoryConnector connector = TasksUiPlugin.getRepositoryManager().getRepositoryConnector( >+ ((TaskRepository) selectedObject).getKind()); >+ if (connector.isUserManaged()) { >+ this.repository = (TaskRepository) selectedObject; >+ setChecked(this.repository.isOffline()); >+ setEnabled(true); >+ return; >+ } >+ } >+ } >+ this.repository = null; >+ setChecked(false); >+ setEnabled(false); >+ } >+ >+} >#P org.eclipse.mylyn.tasks.core >Index: src/org/eclipse/mylyn/tasks/core/TaskRepository.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/TaskRepository.java,v >retrieving revision 1.33 >diff -u -r1.33 TaskRepository.java >--- src/org/eclipse/mylyn/tasks/core/TaskRepository.java 15 Jun 2007 22:04:35 -0000 1.33 >+++ src/org/eclipse/mylyn/tasks/core/TaskRepository.java 20 Jun 2007 08:06:36 -0000 >@@ -74,6 +74,8 @@ > public static final String PROXY_USERNAME = "org.eclipse.mylyn.tasklist.repositories.proxy.username"; > > public static final String PROXY_PASSWORD = "org.eclipse.mylyn.tasklist.repositories.proxy.password"; >+ >+ public static final String OFFLINE = "org.eclipse.mylyn.tasklist.repositories.offline"; > > // HACK: Lock used to work around race condition in > // Platform.add/get/flushAuthorizationInfo() >@@ -461,4 +463,13 @@ > public void setBugRepository(boolean isBugRepository) { > this.isBugRepository = isBugRepository; > } >+ >+ public void setOffline(boolean offline) { >+ properties.put(OFFLINE, String.valueOf(offline)); >+ } >+ >+ public boolean isOffline() { >+ return getProperty(OFFLINE) != null && "true".equals(getProperty(OFFLINE)); >+ } >+ > }
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 165809
: 71846 |
71847
|
71848
|
71965
|
71966
|
71969