Search in sources :

Example 1 with OpenRemoteFileAction

use of org.tigris.subversion.subclipse.ui.actions.OpenRemoteFileAction in project subclipse by subclipse.

the class RepositoriesView method contributeActions.

/**
 * Contribute actions to the view
 */
protected void contributeActions() {
    final Shell shell = getShell();
    // Create actions
    // New Repository (popup)
    newAction = new Action(// $NON-NLS-1$
    Policy.bind("RepositoriesView.new"), SVNUIPlugin.getPlugin().getImageDescriptor(// $NON-NLS-1$
    ISVNUIConstants.IMG_NEWLOCATION)) {

        public void run() {
            if (!WorkspacePathValidator.validateWorkspacePath())
                return;
            NewLocationWizard wizard = new NewLocationWizard();
            WizardDialog dialog = new ClosableWizardDialog(shell, wizard);
            dialog.open();
        }
    };
    PlatformUI.getWorkbench().getHelpSystem().setHelp(newAction, IHelpContextIds.NEW_REPOSITORY_LOCATION_ACTION);
    // Properties
    propertiesAction = new PropertyDialogAction(new SameShellProvider(shell), getViewer());
    getViewSite().getActionBars().setGlobalActionHandler(ActionFactory.PROPERTIES.getId(), propertiesAction);
    IStructuredSelection selection = (IStructuredSelection) getViewer().getSelection();
    if (selection.size() == 1 && selection.getFirstElement() instanceof ISVNRepositoryLocation) {
        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 ISVNRepositoryLocation;
            propertiesAction.setEnabled(enabled);
        }
    });
    // Remove Root
    removeRootAction = new RemoveRootAction(treeViewer.getControl().getShell());
    removeRootAction.selectionChanged((IStructuredSelection) null);
    PlatformUI.getWorkbench().getHelpSystem().setHelp(removeRootAction, IHelpContextIds.REMOVE_REPOSITORY_LOCATION_ACTION);
    IActionBars bars = getViewSite().getActionBars();
    bars.setGlobalActionHandler(ActionFactory.DELETE.getId(), removeRootAction);
    // Refresh action (toolbar)
    SVNUIPlugin plugin = SVNUIPlugin.getPlugin();
    refreshAction = new Action(Policy.bind("RepositoriesView.refresh"), SVNUIPlugin.getPlugin().getImageDescriptor(// $NON-NLS-1$
    ISVNUIConstants.IMG_REFRESH_ENABLED)) {

        public void run() {
            refreshViewer(null, true);
        }
    };
    // $NON-NLS-1$
    refreshAction.setToolTipText(Policy.bind("RepositoriesView.refreshTooltip"));
    refreshAction.setDisabledImageDescriptor(plugin.getImageDescriptor(ISVNUIConstants.IMG_REFRESH_DISABLED));
    refreshAction.setHoverImageDescriptor(plugin.getImageDescriptor(ISVNUIConstants.IMG_REFRESH));
    getViewSite().getActionBars().setGlobalActionHandler(ActionFactory.REFRESH.getId(), refreshAction);
    refreshPopupAction = new Action(Policy.bind("RepositoriesView.refreshPopup"), SVNUIPlugin.getPlugin().getImageDescriptor(// $NON-NLS-1$
    ISVNUIConstants.IMG_REFRESH)) {

        public void run() {
            refreshViewerNode();
        }
    };
    // Collapse action
    collapseAllAction = new Action(Policy.bind("RepositoriesView.collapseAll"), SVNUIPlugin.getPlugin().getImageDescriptor(// $NON-NLS-1$
    ISVNUIConstants.IMG_COLLAPSE_ALL_ENABLED)) {

        public void run() {
            collapseAll();
        }
    };
    collapseAllAction.setToolTipText(// $NON-NLS-1$
    Policy.bind("RepositoriesView.collapseAllTooltip"));
    collapseAllAction.setHoverImageDescriptor(plugin.getImageDescriptor(ISVNUIConstants.IMG_COLLAPSE_ALL));
    // Create the popup menu
    MenuManager menuMgr = new MenuManager();
    Tree tree = treeViewer.getTree();
    Menu menu = menuMgr.createContextMenu(tree);
    menuMgr.addMenuListener(new IMenuListener() {

        public void menuAboutToShow(IMenuManager manager) {
            addWorkbenchActions(manager);
        }
    });
    menuMgr.setRemoveAllWhenShown(true);
    tree.setMenu(menu);
    getSite().registerContextMenu(menuMgr, treeViewer);
    // Create the local tool bar
    IToolBarManager tbm = bars.getToolBarManager();
    drillPart.addNavigationActions(tbm);
    tbm.add(refreshAction);
    tbm.add(new Separator());
    tbm.add(collapseAllAction);
    tbm.update(false);
    // Create the open action for double clicks
    openAction = new OpenRemoteFileAction();
    bars.updateActionBars();
    IActionBars actionBars = getViewSite().getActionBars();
    IMenuManager actionBarsMenu = actionBars.getMenuManager();
    Action newRepositoryAction = new // $NON-NLS-1$
    Action(// $NON-NLS-1$
    Policy.bind("RepositoriesView.newRepository")) {

        public void run() {
            SvnWizardNewRepositoryPage newRepositoryPage = new SvnWizardNewRepositoryPage();
            SvnWizard wizard = new SvnWizard(newRepositoryPage);
            SvnWizardDialog dialog = new SvnWizardDialog(getShell(), wizard);
            if (dialog.open() == SvnWizardDialog.OK)
                refreshViewer(null, false);
        }
    };
    actionBarsMenu.add(newRepositoryAction);
}
Also used : OpenRemoteFileAction(org.tigris.subversion.subclipse.ui.actions.OpenRemoteFileAction) PropertyDialogAction(org.eclipse.ui.dialogs.PropertyDialogAction) SVNAction(org.tigris.subversion.subclipse.ui.actions.SVNAction) Action(org.eclipse.jface.action.Action) SvnWizardDialog(org.tigris.subversion.subclipse.ui.wizards.dialogs.SvnWizardDialog) SvnWizard(org.tigris.subversion.subclipse.ui.wizards.dialogs.SvnWizard) SelectionChangedEvent(org.eclipse.jface.viewers.SelectionChangedEvent) IStructuredSelection(org.eclipse.jface.viewers.IStructuredSelection) NewLocationWizard(org.tigris.subversion.subclipse.ui.wizards.NewLocationWizard) PropertyDialogAction(org.eclipse.ui.dialogs.PropertyDialogAction) Shell(org.eclipse.swt.widgets.Shell) ISVNRepositoryLocation(org.tigris.subversion.subclipse.core.ISVNRepositoryLocation) Tree(org.eclipse.swt.widgets.Tree) OpenRemoteFileAction(org.tigris.subversion.subclipse.ui.actions.OpenRemoteFileAction) SvnWizardNewRepositoryPage(org.tigris.subversion.subclipse.ui.wizards.dialogs.SvnWizardNewRepositoryPage) ClosableWizardDialog(org.tigris.subversion.subclipse.ui.wizards.ClosableWizardDialog) Menu(org.eclipse.swt.widgets.Menu) IActionBars(org.eclipse.ui.IActionBars) SameShellProvider(org.eclipse.jface.window.SameShellProvider) ISelectionChangedListener(org.eclipse.jface.viewers.ISelectionChangedListener) IMenuListener(org.eclipse.jface.action.IMenuListener) SVNUIPlugin(org.tigris.subversion.subclipse.ui.SVNUIPlugin) IToolBarManager(org.eclipse.jface.action.IToolBarManager) MenuManager(org.eclipse.jface.action.MenuManager) IMenuManager(org.eclipse.jface.action.IMenuManager) IMenuManager(org.eclipse.jface.action.IMenuManager) WizardDialog(org.eclipse.jface.wizard.WizardDialog) ClosableWizardDialog(org.tigris.subversion.subclipse.ui.wizards.ClosableWizardDialog) SvnWizardDialog(org.tigris.subversion.subclipse.ui.wizards.dialogs.SvnWizardDialog) Separator(org.eclipse.jface.action.Separator)

Aggregations

Action (org.eclipse.jface.action.Action)1 IMenuListener (org.eclipse.jface.action.IMenuListener)1 IMenuManager (org.eclipse.jface.action.IMenuManager)1 IToolBarManager (org.eclipse.jface.action.IToolBarManager)1 MenuManager (org.eclipse.jface.action.MenuManager)1 Separator (org.eclipse.jface.action.Separator)1 ISelectionChangedListener (org.eclipse.jface.viewers.ISelectionChangedListener)1 IStructuredSelection (org.eclipse.jface.viewers.IStructuredSelection)1 SelectionChangedEvent (org.eclipse.jface.viewers.SelectionChangedEvent)1 SameShellProvider (org.eclipse.jface.window.SameShellProvider)1 WizardDialog (org.eclipse.jface.wizard.WizardDialog)1 Menu (org.eclipse.swt.widgets.Menu)1 Shell (org.eclipse.swt.widgets.Shell)1 Tree (org.eclipse.swt.widgets.Tree)1 IActionBars (org.eclipse.ui.IActionBars)1 PropertyDialogAction (org.eclipse.ui.dialogs.PropertyDialogAction)1 ISVNRepositoryLocation (org.tigris.subversion.subclipse.core.ISVNRepositoryLocation)1 SVNUIPlugin (org.tigris.subversion.subclipse.ui.SVNUIPlugin)1 OpenRemoteFileAction (org.tigris.subversion.subclipse.ui.actions.OpenRemoteFileAction)1 SVNAction (org.tigris.subversion.subclipse.ui.actions.SVNAction)1