diff options
Diffstat (limited to 'bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/repo/RepositoriesView.java')
-rw-r--r-- | bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/repo/RepositoriesView.java | 316 |
1 files changed, 0 insertions, 316 deletions
diff --git a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/repo/RepositoriesView.java b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/repo/RepositoriesView.java deleted file mode 100644 index 6ab0637d7..000000000 --- a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/repo/RepositoriesView.java +++ /dev/null @@ -1,316 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.team.internal.ccvs.ui.repo; - - -import java.util.Properties; - -import org.eclipse.core.runtime.IStatus; -import org.eclipse.jface.action.Action; -import org.eclipse.jface.action.IMenuManager; -import org.eclipse.jface.action.MenuManager; -import org.eclipse.jface.action.Separator; -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.jface.wizard.WizardDialog; -import org.eclipse.swt.SWT; -import org.eclipse.swt.events.KeyAdapter; -import org.eclipse.swt.events.KeyEvent; -import org.eclipse.swt.events.KeyListener; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Display; -import org.eclipse.swt.widgets.Shell; -import org.eclipse.team.core.TeamException; -import org.eclipse.team.internal.ccvs.core.CVSException; -import org.eclipse.team.internal.ccvs.core.CVSProviderPlugin; -import org.eclipse.team.internal.ccvs.core.ICVSRemoteFile; -import org.eclipse.team.internal.ccvs.core.ICVSRemoteResource; -import org.eclipse.team.internal.ccvs.core.ICVSRepositoryLocation; -import org.eclipse.team.internal.ccvs.core.ICVSResource; -import org.eclipse.team.internal.ccvs.ui.CVSUIPlugin; -import org.eclipse.team.internal.ccvs.ui.ICVSUIConstants; -import org.eclipse.team.internal.ccvs.ui.IHelpContextIds; -import org.eclipse.team.internal.ccvs.ui.IRepositoryListener; -import org.eclipse.team.internal.ccvs.ui.Policy; -import org.eclipse.team.internal.ccvs.ui.WorkbenchUserAuthenticator; -import org.eclipse.team.internal.ccvs.ui.actions.CVSAction; -import org.eclipse.team.internal.ccvs.ui.model.AllRootsElement; -import org.eclipse.team.internal.ccvs.ui.wizards.NewLocationWizard; -import org.eclipse.team.internal.core.TeamPlugin; -import org.eclipse.ui.IActionBars; -import org.eclipse.ui.IWorkbenchActionConstants; -import org.eclipse.ui.IWorkbenchPart; -import org.eclipse.ui.dialogs.PropertyDialogAction; -import org.eclipse.ui.help.WorkbenchHelp; - -/** - * RepositoriesView is a view on a set of known CVS repositories - * which allows navigation of the structure of the repository and - * the performing of CVS-specific operations on the repository contents. - */ -public class RepositoriesView extends RemoteViewPart { - public static final String VIEW_ID = "org.eclipse.team.ccvs.ui.RepositoriesView"; //$NON-NLS-1$ - - // The root - private AllRootsElement root; - - // Actions - private Action newAction; - private Action newAnonAction; - private PropertyDialogAction propertiesAction; - private RemoveRootAction removeRootAction; - - IRepositoryListener listener = new IRepositoryListener() { - public void repositoryAdded(final ICVSRepositoryLocation root) { - getViewer().getControl().getDisplay().syncExec(new Runnable() { - public void run() { - refreshViewer(); - getViewer().setSelection(new StructuredSelection(root)); - } - }); - } - public void repositoryRemoved(ICVSRepositoryLocation root) { - refresh(); - } - public void repositoriesChanged(ICVSRepositoryLocation[] roots) { - refresh(); - } - private void refresh() { - Display display = getViewer().getControl().getDisplay(); - display.syncExec(new Runnable() { - public void run() { - RepositoriesView.this.refreshViewer(); - } - }); - } - }; - - /** - * Constructor for RepositoriesView. - * @param partName - */ - public RepositoriesView() { - super(VIEW_ID); - } - - /** - * Contribute actions to the view - */ - protected void contributeActions() { - - final Shell shell = getShell(); - - // Create actions - - // New Repository (popup) - newAction = new Action(Policy.bind("RepositoriesView.new"), CVSUIPlugin.getPlugin().getImageDescriptor(ICVSUIConstants.IMG_NEWLOCATION)) { //$NON-NLS-1$ - public void run() { - NewLocationWizard wizard = new NewLocationWizard(); - WizardDialog dialog = new WizardDialog(shell, wizard); - dialog.open(); - } - }; - WorkbenchHelp.setHelp(newAction, IHelpContextIds.NEW_REPOSITORY_LOCATION_ACTION); - - if (includeAnonConnection()) { - newAnonAction = new Action(Policy.bind("RepositoriesView.newAnonCVS"), CVSUIPlugin.getPlugin().getImageDescriptor(ICVSUIConstants.IMG_NEWLOCATION)) { //$NON-NLS-1$ - public void run() { - Properties p = new Properties(); - p.setProperty("connection", "pserver"); //$NON-NLS-1$ //$NON-NLS-2$ - p.setProperty("user", "anonymous"); //$NON-NLS-1$ //$NON-NLS-2$ - p.setProperty("host", "dev.eclipse.org"); //$NON-NLS-1$ //$NON-NLS-2$ - p.setProperty("root", "/home/eclipse"); //$NON-NLS-1$ //$NON-NLS-2$ - NewLocationWizard wizard = new NewLocationWizard(p); - WizardDialog dialog = new WizardDialog(shell, wizard); - dialog.open(); - } - }; - WorkbenchHelp.setHelp(newAnonAction, IHelpContextIds.NEW_DEV_ECLIPSE_REPOSITORY_LOCATION_ACTION); - } - - // Properties - propertiesAction = new PropertyDialogAction(shell, getViewer()); - getViewSite().getActionBars().setGlobalActionHandler(IWorkbenchActionConstants.PROPERTIES, propertiesAction); - IStructuredSelection selection = (IStructuredSelection)getViewer().getSelection(); - if (selection.size() == 1 && selection.getFirstElement() instanceof RepositoryRoot) { - propertiesAction.setEnabled(true); - } else { - propertiesAction.setEnabled(false); - } - getViewer().addSelectionChangedListener(new ISelectionChangedListener() { - public void selectionChanged(SelectionChangedEvent event) { - IStructuredSelection ss = (IStructuredSelection)event.getSelection(); - boolean enabled = ss.size() == 1 && ss.getFirstElement() instanceof RepositoryRoot; - propertiesAction.setEnabled(enabled); - } - }); - removeRootAction = new RemoveRootAction(viewer.getControl().getShell(), this); - removeRootAction.selectionChanged((IStructuredSelection)null); - WorkbenchHelp.setHelp(removeRootAction, IHelpContextIds.REMOVE_REPOSITORY_LOCATION_ACTION); - IActionBars bars = getViewSite().getActionBars(); - bars.setGlobalActionHandler(IWorkbenchActionConstants.DELETE, removeRootAction); - super.contributeActions(); - } - - /** - * Method includeEclipseConnection. - * @return boolean - */ - private boolean includeAnonConnection() { - return System.getProperty("eclipse.cvs.anon") != null; //$NON-NLS-1$ - } - - /** - * @see org.eclipse.team.internal.ccvs.ui.repo.RemoteViewPart#addWorkbenchActions(org.eclipse.jface.action.IMenuManager) - */ - protected void addWorkbenchActions(IMenuManager manager) { - // New actions go next - MenuManager sub = new MenuManager(Policy.bind("RepositoriesView.newSubmenu"), IWorkbenchActionConstants.GROUP_ADD); //$NON-NLS-1$ - sub.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS)); - manager.add(sub); - super.addWorkbenchActions(manager); - IStructuredSelection selection = (IStructuredSelection)getViewer().getSelection(); - - removeRootAction.selectionChanged(selection); - if(removeRootAction.isEnabled()) { - manager.add(removeRootAction); - } - - if (selection.size() == 1 && selection.getFirstElement() instanceof RepositoryRoot) { - manager.add(new Separator()); - manager.add(propertiesAction); - } - sub.add(newAction); - if (newAnonAction != null) - sub.add(newAnonAction); - } - - /* - * @see WorkbenchPart#createPartControl - */ - public void createPartControl(Composite parent) { - super.createPartControl(parent); - CVSUIPlugin.getPlugin().getRepositoryManager().addRepositoryListener(listener); - } - - /* - * @see WorkbenchPart#dispose - */ - public void dispose() { - CVSUIPlugin.getPlugin().getRepositoryManager().removeRepositoryListener(listener); - super.dispose(); - } - - /** - * Initialize the repositories and actions - */ - private void initialize() { - root = new AllRootsElement(); - } - - protected void initializeListeners() { - super.initializeListeners(); - viewer.addSelectionChangedListener(removeRootAction); - viewer.getControl().addKeyListener(new KeyListener() { - public void keyPressed(KeyEvent event) { - handleKeyPressed(event); - } - public void keyReleased(KeyEvent event) { - handleKeyReleased(event); - } - }); - } - public void handleKeyPressed(KeyEvent event) { - if (event.character == SWT.DEL && event.stateMask == 0) { - removeRootAction.run(); - } - } - protected void handleKeyReleased(KeyEvent event) { - } - - /** - * @see org.eclipse.team.internal.ccvs.ui.repo.RemoteViewPart#getTreeInput() - */ - protected Object getTreeInput() { - initialize(); - return root; - } - - /** - * @see org.eclipse.ui.ISelectionListener#selectionChanged(org.eclipse.ui.IWorkbenchPart, org.eclipse.jface.viewers.ISelection) - */ - public void selectionChanged(IWorkbenchPart part, ISelection selection) { - String msg = getStatusLineMessage(selection); - getViewSite().getActionBars().getStatusLineManager().setMessage(msg); - } - - private String getStatusLineMessage(ISelection selection) { - if (selection==null || selection.isEmpty()) return ""; //$NON-NLS-1$ - if (!(selection instanceof IStructuredSelection)) return ""; //$NON-NLS-1$ - IStructuredSelection s = (IStructuredSelection)selection; - - if (s.size() > 1) return Policy.bind("RepositoriesView.NItemsSelected", String.valueOf(s.size())); //$NON-NLS-1$ - Object element = CVSAction.getAdapter(s.getFirstElement(), ICVSResource.class); - if (element instanceof ICVSRemoteResource) { - ICVSRemoteResource res = (ICVSRemoteResource)element; - String name; - if (res.isContainer()) { - name = res.getRepositoryRelativePath(); - } else { - try { - name = res.getRepositoryRelativePath() + " " + ((ICVSRemoteFile)res).getRevision(); //$NON-NLS-1$ - } catch (TeamException e) { - TeamPlugin.log(IStatus.ERROR, Policy.bind("RepositoriesView.CannotGetRevision"), e); //$NON-NLS-1$ - name = res.getRepositoryRelativePath(); - } - } - return Policy.bind("RepositoriesView.ResourceInRepository", name, res.getRepository().getLocation()); //$NON-NLS-1$ - } - return Policy.bind("RepositoriesView.OneItemSelected"); //$NON-NLS-1$ - } - - /** - * @see org.eclipse.team.internal.ccvs.ui.repo.RemoteViewPart#getHelpContextId() - */ - protected String getHelpContextId() { - return IHelpContextIds.REPOSITORIES_VIEW; - } - - /** - * @see org.eclipse.team.internal.ccvs.ui.repo.RemoteViewPart#getKeyListener() - */ - protected KeyAdapter getKeyListener() { - return new KeyAdapter() { - public void keyPressed(KeyEvent event) { - if (event.keyCode == SWT.F5) { - if (WorkbenchUserAuthenticator.USE_ALTERNATE_PROMPTER) { - try { - ICVSRepositoryLocation[] locations = CVSProviderPlugin.getPlugin().getKnownRepositories(); - for (int i = 0; i < locations.length; i++) { - locations[i].flushUserInfo(); - } - } catch (CVSException e) { - // Do nothing - } - } else { - refreshAll(); - } - } else if (event.keyCode == SWT.F9 && WorkbenchUserAuthenticator.USE_ALTERNATE_PROMPTER) { - refreshAll(); - } - } - }; - } - -} |