Search in sources :

Example 1 with BooleanPrefAction

use of org.eclipse.egit.ui.internal.actions.BooleanPrefAction in project egit by eclipse.

the class RebaseInteractiveView method createPartControl.

@Override
public void createPartControl(Composite parent) {
    GridLayoutFactory.fillDefaults().applyTo(parent);
    final FormToolkit toolkit = new FormToolkit(parent.getDisplay());
    parent.addDisposeListener(new DisposeListener() {

        @Override
        public void widgetDisposed(DisposeEvent e) {
            toolkit.dispose();
        }
    });
    form = createForm(parent, toolkit);
    createCommandToolBar(form, toolkit);
    planTreeViewer = createPlanTreeViewer(form.getBody(), toolkit);
    planLayout = new PlanLayout();
    planTreeViewer.getTree().getParent().setLayout(planLayout);
    createColumns(planLayout);
    createStepActionToolBar(toolkit);
    createPopupMenu(planTreeViewer);
    setupListeners();
    createLocalDragandDrop();
    planTreeViewer.addDoubleClickListener(new IDoubleClickListener() {

        @Override
        public void doubleClick(DoubleClickEvent event) {
            PlanElement element = (PlanElement) ((IStructuredSelection) event.getSelection()).getFirstElement();
            if (element == null)
                return;
            RepositoryCommit commit = loadCommit(element.getCommit());
            if (commit != null)
                CommitEditor.openQuiet(commit);
        }

        private RepositoryCommit loadCommit(AbbreviatedObjectId abbreviatedObjectId) {
            if (abbreviatedObjectId != null) {
                try (RevWalk walk = new RevWalk(RebaseInteractiveView.this.currentRepository)) {
                    Collection<ObjectId> resolved = walk.getObjectReader().resolve(abbreviatedObjectId);
                    if (resolved.size() == 1) {
                        RevCommit commit = walk.parseCommit(resolved.iterator().next());
                        return new RepositoryCommit(RebaseInteractiveView.this.currentRepository, commit);
                    }
                } catch (IOException e) {
                    return null;
                }
            }
            return null;
        }
    });
    prefListener = new IPreferenceChangeListener() {

        @Override
        public void preferenceChange(PreferenceChangeEvent event) {
            if (!RepositoryUtil.PREFS_DIRECTORIES_REL.equals(event.getKey())) {
                return;
            }
            final Repository repo = currentRepository;
            if (repo == null)
                return;
            if (Activator.getDefault().getRepositoryUtil().contains(repo))
                return;
            // Unselect repository as it has been removed
            Display.getDefault().asyncExec(new Runnable() {

                @Override
                public void run() {
                    currentRepository = null;
                    showRepository(null);
                }
            });
        }
    };
    InstanceScope.INSTANCE.getNode(org.eclipse.egit.core.Activator.getPluginId()).addPreferenceChangeListener(prefListener);
    uiPrefsListener = new IPropertyChangeListener() {

        @Override
        public void propertyChange(PropertyChangeEvent event) {
            String property = event.getProperty();
            if (UIPreferences.DATE_FORMAT.equals(property) || UIPreferences.DATE_FORMAT_CHOICE.equals(property) || UIPreferences.RESOURCEHISTORY_SHOW_RELATIVE_DATE.equals(property)) {
                refresh();
            }
        }
    };
    Activator.getDefault().getPreferenceStore().addPropertyChangeListener(uiPrefsListener);
    IActionBars actionBars = getViewSite().getActionBars();
    IToolBarManager toolbar = actionBars.getToolBarManager();
    listenOnRepositoryViewSelection = RebaseInteractivePreferences.isReactOnSelection();
    // link with selection
    Action linkSelectionAction = new BooleanPrefAction((IPersistentPreferenceStore) Activator.getDefault().getPreferenceStore(), UIPreferences.REBASE_INTERACTIVE_SYNC_SELECTION, UIText.InteractiveRebaseView_LinkSelection) {

        @Override
        public void apply(boolean value) {
            listenOnRepositoryViewSelection = value;
        }
    };
    linkSelectionAction.setImageDescriptor(UIIcons.ELCL16_SYNCED);
    toolbar.add(linkSelectionAction);
    switchRepositoriesAction = new RepositoryToolbarAction(false, () -> currentRepository, repo -> setInput(new StructuredSelection(repo)));
    toolbar.add(switchRepositoriesAction);
    UIUtils.notifySelectionChangedWithCurrentSelection(selectionChangedListener, getSite());
    getSite().setSelectionProvider(new RepositorySelectionProvider(planTreeViewer, () -> currentRepository));
}
Also used : AdapterUtils(org.eclipse.egit.core.AdapterUtils) UIPreferences(org.eclipse.egit.ui.UIPreferences) IWorkbenchPartSite(org.eclipse.ui.IWorkbenchPartSite) DND(org.eclipse.swt.dnd.DND) CommitEditor(org.eclipse.egit.ui.internal.commit.CommitEditor) RepositoryState(org.eclipse.jgit.lib.RepositoryState) LocalSelectionTransfer(org.eclipse.jface.util.LocalSelectionTransfer) RevWalk(org.eclipse.jgit.revwalk.RevWalk) PropertyChangeEvent(org.eclipse.jface.util.PropertyChangeEvent) ProcessStepsRebaseCommand(org.eclipse.egit.ui.internal.commands.shared.ProcessStepsRebaseCommand) Composite(org.eclipse.swt.widgets.Composite) PartInitException(org.eclipse.ui.PartInitException) PreferenceBasedDateFormatter(org.eclipse.egit.ui.internal.PreferenceBasedDateFormatter) KeyEvent(org.eclipse.swt.events.KeyEvent) KeyAdapter(org.eclipse.swt.events.KeyAdapter) IEditorPart(org.eclipse.ui.IEditorPart) AbortRebaseCommand(org.eclipse.egit.ui.internal.commands.shared.AbortRebaseCommand) SelectionAdapter(org.eclipse.swt.events.SelectionAdapter) Separator(org.eclipse.jface.action.Separator) IEditorInput(org.eclipse.ui.IEditorInput) PlatformUI(org.eclipse.ui.PlatformUI) MenuManager(org.eclipse.jface.action.MenuManager) ToolItem(org.eclipse.swt.widgets.ToolItem) AbstractRebaseCommandHandler(org.eclipse.egit.ui.internal.commands.shared.AbstractRebaseCommandHandler) GridLayoutFactory(org.eclipse.jface.layout.GridLayoutFactory) Transfer(org.eclipse.swt.dnd.Transfer) InstanceScope(org.eclipse.core.runtime.preferences.InstanceScope) UIText(org.eclipse.egit.ui.internal.UIText) PreferenceChangeEvent(org.eclipse.core.runtime.preferences.IEclipsePreferences.PreferenceChangeEvent) SWT(org.eclipse.swt.SWT) BooleanPrefAction(org.eclipse.egit.ui.internal.actions.BooleanPrefAction) ElementType(org.eclipse.egit.core.internal.rebase.RebaseInteractivePlan.ElementType) RepositorySelectionProvider(org.eclipse.egit.ui.internal.selection.RepositorySelectionProvider) ViewPart(org.eclipse.ui.part.ViewPart) RevCommit(org.eclipse.jgit.revwalk.RevCommit) SelectionChangedEvent(org.eclipse.jface.viewers.SelectionChangedEvent) Format(org.eclipse.jgit.util.GitDateFormatter.Format) JFaceResources(org.eclipse.jface.resource.JFaceResources) RebaseInteractivePlan(org.eclipse.egit.core.internal.rebase.RebaseInteractivePlan) StructuredSelection(org.eclipse.jface.viewers.StructuredSelection) ArrayList(java.util.ArrayList) IFileEditorInput(org.eclipse.ui.IFileEditorInput) IWorkbenchPart(org.eclipse.ui.IWorkbenchPart) PlanElement(org.eclipse.egit.core.internal.rebase.RebaseInteractivePlan.PlanElement) IPropertyChangeListener(org.eclipse.jface.util.IPropertyChangeListener) Font(org.eclipse.swt.graphics.Font) DoubleClickEvent(org.eclipse.jface.viewers.DoubleClickEvent) IPreferenceChangeListener(org.eclipse.core.runtime.preferences.IEclipsePreferences.IPreferenceChangeListener) GridDataFactory(org.eclipse.jface.layout.GridDataFactory) IViewSite(org.eclipse.ui.IViewSite) IOException(java.io.IOException) ExecutionException(org.eclipse.core.commands.ExecutionException) IActionBars(org.eclipse.ui.IActionBars) CommonUtils(org.eclipse.egit.ui.internal.CommonUtils) Form(org.eclipse.ui.forms.widgets.Form) RepositoryToolbarAction(org.eclipse.egit.ui.internal.components.RepositoryMenuUtil.RepositoryToolbarAction) ToolTip(org.eclipse.jface.window.ToolTip) Repository(org.eclipse.jgit.lib.Repository) ElementAction(org.eclipse.egit.core.internal.rebase.RebaseInteractivePlan.ElementAction) DisposeEvent(org.eclipse.swt.events.DisposeEvent) DisposeListener(org.eclipse.swt.events.DisposeListener) IAction(org.eclipse.jface.action.IAction) ToolBar(org.eclipse.swt.widgets.ToolBar) IToolBarManager(org.eclipse.jface.action.IToolBarManager) SWTKeySupport(org.eclipse.jface.bindings.keys.SWTKeySupport) ColumnPixelData(org.eclipse.jface.viewers.ColumnPixelData) GC(org.eclipse.swt.graphics.GC) ISelectionListener(org.eclipse.ui.ISelectionListener) ColumnViewerToolTipSupport(org.eclipse.jface.viewers.ColumnViewerToolTipSupport) RepositoryCommit(org.eclipse.egit.ui.internal.commit.RepositoryCommit) IWorkbenchAction(org.eclipse.ui.actions.ActionFactory.IWorkbenchAction) TreeViewerColumn(org.eclipse.jface.viewers.TreeViewerColumn) IDoubleClickListener(org.eclipse.jface.viewers.IDoubleClickListener) Collection(java.util.Collection) GitDateFormatter(org.eclipse.jgit.util.GitDateFormatter) Display(org.eclipse.swt.widgets.Display) ColumnLabelProvider(org.eclipse.jface.viewers.ColumnLabelProvider) AbbreviatedObjectId(org.eclipse.jgit.lib.AbbreviatedObjectId) List(java.util.List) Tree(org.eclipse.swt.widgets.Tree) ISelection(org.eclipse.jface.viewers.ISelection) TreeViewer(org.eclipse.jface.viewers.TreeViewer) UIIcons(org.eclipse.egit.ui.internal.UIIcons) IStructuredSelection(org.eclipse.jface.viewers.IStructuredSelection) ISelectionChangedListener(org.eclipse.jface.viewers.ISelectionChangedListener) ISelectionService(org.eclipse.ui.ISelectionService) RepositoryMapping(org.eclipse.egit.core.project.RepositoryMapping) RepositoryTreeNode(org.eclipse.egit.ui.internal.repository.tree.RepositoryTreeNode) Activator(org.eclipse.egit.ui.Activator) Image(org.eclipse.swt.graphics.Image) RepositoryUtil(org.eclipse.egit.core.RepositoryUtil) IPersistentPreferenceStore(org.eclipse.jface.preference.IPersistentPreferenceStore) ColumnWeightData(org.eclipse.jface.viewers.ColumnWeightData) ContinueRebaseCommand(org.eclipse.egit.ui.internal.commands.shared.ContinueRebaseCommand) IWorkbenchActionConstants(org.eclipse.ui.IWorkbenchActionConstants) FormToolkit(org.eclipse.ui.forms.widgets.FormToolkit) Action(org.eclipse.jface.action.Action) TreeItem(org.eclipse.swt.widgets.TreeItem) ObjectId(org.eclipse.jgit.lib.ObjectId) IResource(org.eclipse.core.resources.IResource) UIUtils(org.eclipse.egit.ui.UIUtils) TreeColumnLayout(org.eclipse.jface.layout.TreeColumnLayout) LocalResourceManager(org.eclipse.jface.resource.LocalResourceManager) SelectionEvent(org.eclipse.swt.events.SelectionEvent) Menu(org.eclipse.swt.widgets.Menu) RepositoriesView(org.eclipse.egit.ui.internal.repository.RepositoriesView) Control(org.eclipse.swt.widgets.Control) SkipRebaseCommand(org.eclipse.egit.ui.internal.commands.shared.SkipRebaseCommand) DisposeListener(org.eclipse.swt.events.DisposeListener) BooleanPrefAction(org.eclipse.egit.ui.internal.actions.BooleanPrefAction) RepositoryToolbarAction(org.eclipse.egit.ui.internal.components.RepositoryMenuUtil.RepositoryToolbarAction) ElementAction(org.eclipse.egit.core.internal.rebase.RebaseInteractivePlan.ElementAction) IAction(org.eclipse.jface.action.IAction) IWorkbenchAction(org.eclipse.ui.actions.ActionFactory.IWorkbenchAction) Action(org.eclipse.jface.action.Action) FormToolkit(org.eclipse.ui.forms.widgets.FormToolkit) StructuredSelection(org.eclipse.jface.viewers.StructuredSelection) IStructuredSelection(org.eclipse.jface.viewers.IStructuredSelection) RepositorySelectionProvider(org.eclipse.egit.ui.internal.selection.RepositorySelectionProvider) IStructuredSelection(org.eclipse.jface.viewers.IStructuredSelection) DisposeEvent(org.eclipse.swt.events.DisposeEvent) PlanElement(org.eclipse.egit.core.internal.rebase.RebaseInteractivePlan.PlanElement) AbbreviatedObjectId(org.eclipse.jgit.lib.AbbreviatedObjectId) IDoubleClickListener(org.eclipse.jface.viewers.IDoubleClickListener) IActionBars(org.eclipse.ui.IActionBars) RevCommit(org.eclipse.jgit.revwalk.RevCommit) IPropertyChangeListener(org.eclipse.jface.util.IPropertyChangeListener) RepositoryToolbarAction(org.eclipse.egit.ui.internal.components.RepositoryMenuUtil.RepositoryToolbarAction) PreferenceChangeEvent(org.eclipse.core.runtime.preferences.IEclipsePreferences.PreferenceChangeEvent) IPreferenceChangeListener(org.eclipse.core.runtime.preferences.IEclipsePreferences.IPreferenceChangeListener) PropertyChangeEvent(org.eclipse.jface.util.PropertyChangeEvent) DoubleClickEvent(org.eclipse.jface.viewers.DoubleClickEvent) IOException(java.io.IOException) RevWalk(org.eclipse.jgit.revwalk.RevWalk) RepositoryCommit(org.eclipse.egit.ui.internal.commit.RepositoryCommit) Repository(org.eclipse.jgit.lib.Repository) IToolBarManager(org.eclipse.jface.action.IToolBarManager) Collection(java.util.Collection) BooleanPrefAction(org.eclipse.egit.ui.internal.actions.BooleanPrefAction)

Example 2 with BooleanPrefAction

use of org.eclipse.egit.ui.internal.actions.BooleanPrefAction in project egit by eclipse.

the class CompareTreeView method createActions.

private void createActions() {
    IWorkbenchAction reuseCompareEditorAction = new CompareUtils.ReuseCompareEditorAction();
    actionsToDispose.add(reuseCompareEditorAction);
    getViewSite().getActionBars().getMenuManager().add(reuseCompareEditorAction);
    compareModeAction = new BooleanPrefAction((IPersistentPreferenceStore) Activator.getDefault().getPreferenceStore(), UIPreferences.TREE_COMPARE_COMPARE_MODE, UIText.CompareTreeView_CompareModeTooltip) {

        @Override
        public void apply(boolean value) {
        // nothing, just switch the preference
        }
    };
    compareModeAction.setImageDescriptor(UIIcons.ELCL16_COMPARE_VIEW);
    compareModeAction.setEnabled(true);
    actionsToDispose.add(compareModeAction);
    getViewSite().getActionBars().getToolBarManager().add(compareModeAction);
    showEqualsAction = new BooleanPrefAction((IPersistentPreferenceStore) Activator.getDefault().getPreferenceStore(), UIPreferences.TREE_COMPARE_SHOW_EQUALS, UIText.CompareTreeView_EqualFilesTooltip) {

        @Override
        public void apply(boolean value) {
            buildTrees(false);
        }
    };
    showEqualsAction.setImageDescriptor(UIIcons.ELCL16_FILTER);
    showEqualsAction.setEnabled(false);
    actionsToDispose.add(showEqualsAction);
    getViewSite().getActionBars().getToolBarManager().add(showEqualsAction);
    IAction expandAllAction = new Action(UIText.CompareTreeView_ExpandAllTooltip) {

        @Override
        public void run() {
            tree.expandAll();
        }
    };
    expandAllAction.setImageDescriptor(UIIcons.EXPAND_ALL);
    getViewSite().getActionBars().getToolBarManager().add(expandAllAction);
    IAction collapseAllAction = new Action(UIText.CompareTreeView_CollapseAllTooltip) {

        @Override
        public void run() {
            tree.collapseAll();
        }
    };
    collapseAllAction.setImageDescriptor(UIIcons.COLLAPSEALL);
    getViewSite().getActionBars().getToolBarManager().add(collapseAllAction);
}
Also used : IAction(org.eclipse.jface.action.IAction) IWorkbenchAction(org.eclipse.ui.actions.ActionFactory.IWorkbenchAction) BooleanPrefAction(org.eclipse.egit.ui.internal.actions.BooleanPrefAction) Action(org.eclipse.jface.action.Action) IAction(org.eclipse.jface.action.IAction) IWorkbenchAction(org.eclipse.ui.actions.ActionFactory.IWorkbenchAction) BooleanPrefAction(org.eclipse.egit.ui.internal.actions.BooleanPrefAction) IPersistentPreferenceStore(org.eclipse.jface.preference.IPersistentPreferenceStore)

Example 3 with BooleanPrefAction

use of org.eclipse.egit.ui.internal.actions.BooleanPrefAction in project egit by eclipse.

the class StagingView method updateToolbar.

private void updateToolbar() {
    ControlContribution controlContribution = new ControlContribution(// $NON-NLS-1$
    "StagingView.searchText") {

        @Override
        protected Control createControl(Composite parent) {
            Composite toolbarComposite = toolkit.createComposite(parent, SWT.NONE);
            toolbarComposite.setBackground(null);
            GridLayout headLayout = new GridLayout();
            headLayout.numColumns = 2;
            headLayout.marginHeight = 0;
            headLayout.marginWidth = 0;
            headLayout.marginTop = 0;
            headLayout.marginBottom = 0;
            headLayout.marginLeft = 0;
            headLayout.marginRight = 0;
            toolbarComposite.setLayout(headLayout);
            filterText = new Text(toolbarComposite, SWT.SEARCH | SWT.ICON_CANCEL | SWT.ICON_SEARCH);
            filterText.setMessage(UIText.StagingView_Find);
            GridData data = new GridData(GridData.FILL_HORIZONTAL);
            data.widthHint = 150;
            filterText.setLayoutData(data);
            final Display display = Display.getCurrent();
            filterText.addModifyListener(new ModifyListener() {

                @Override
                public void modifyText(ModifyEvent e) {
                    filterPattern = wildcardToRegex(filterText.getText());
                    final StagingViewSearchThread searchThread = new StagingViewSearchThread(StagingView.this);
                    display.timerExec(200, new Runnable() {

                        @Override
                        public void run() {
                            searchThread.start();
                        }
                    });
                }
            });
            return toolbarComposite;
        }
    };
    IActionBars actionBars = getViewSite().getActionBars();
    IToolBarManager toolbar = actionBars.getToolBarManager();
    toolbar.add(controlContribution);
    refreshAction = new Action(UIText.StagingView_Refresh, IAction.AS_PUSH_BUTTON) {

        @Override
        public void run() {
            if (cacheEntry != null) {
                schedule(cacheEntry.createRefreshResourcesAndIndexDiffJob(), false);
            }
        }
    };
    refreshAction.setImageDescriptor(UIIcons.ELCL16_REFRESH);
    toolbar.add(refreshAction);
    // link with selection
    Action linkSelectionAction = new BooleanPrefAction((IPersistentPreferenceStore) getPreferenceStore(), UIPreferences.STAGING_VIEW_SYNC_SELECTION, UIText.StagingView_LinkSelection) {

        @Override
        public void apply(boolean value) {
            reactOnSelection = value;
        }
    };
    linkSelectionAction.setImageDescriptor(UIIcons.ELCL16_SYNCED);
    toolbar.add(linkSelectionAction);
    toolbar.add(new Separator());
    switchRepositoriesAction = new RepositoryToolbarAction(false, () -> realRepository, repo -> {
        if (realRepository != repo) {
            reload(repo);
        }
    });
    toolbar.add(switchRepositoriesAction);
    compareModeAction = new Action(UIText.StagingView_CompareMode, IAction.AS_CHECK_BOX) {

        @Override
        public void run() {
            getPreferenceStore().setValue(UIPreferences.STAGING_VIEW_COMPARE_MODE, isChecked());
        }
    };
    compareModeAction.setImageDescriptor(UIIcons.ELCL16_COMPARE_VIEW);
    compareModeAction.setChecked(getPreferenceStore().getBoolean(UIPreferences.STAGING_VIEW_COMPARE_MODE));
    toolbar.add(compareModeAction);
    toolbar.add(new Separator());
    openNewCommitsAction = new Action(UIText.StagingView_OpenNewCommits, IAction.AS_CHECK_BOX) {

        @Override
        public void run() {
            getPreferenceStore().setValue(UIPreferences.STAGING_VIEW_SHOW_NEW_COMMITS, isChecked());
        }
    };
    openNewCommitsAction.setChecked(getPreferenceStore().getBoolean(UIPreferences.STAGING_VIEW_SHOW_NEW_COMMITS));
    columnLayoutAction = new Action(UIText.StagingView_ColumnLayout, IAction.AS_CHECK_BOX) {

        @Override
        public void run() {
            getPreferenceStore().setValue(UIPreferences.STAGING_VIEW_COLUMN_LAYOUT, isChecked());
            stagingSashForm.setOrientation(isChecked() ? SWT.HORIZONTAL : SWT.VERTICAL);
        }
    };
    columnLayoutAction.setChecked(getPreferenceStore().getBoolean(UIPreferences.STAGING_VIEW_COLUMN_LAYOUT));
    fileNameModeAction = new Action(UIText.StagingView_ShowFileNamesFirst, IAction.AS_CHECK_BOX) {

        @Override
        public void run() {
            final boolean enable = isChecked();
            getLabelProvider(stagedViewer).setFileNameMode(enable);
            getLabelProvider(unstagedViewer).setFileNameMode(enable);
            getContentProvider(stagedViewer).setFileNameMode(enable);
            getContentProvider(unstagedViewer).setFileNameMode(enable);
            StagingEntryComparator comparator = (StagingEntryComparator) unstagedViewer.getComparator();
            comparator.setFileNamesFirst(enable);
            comparator = (StagingEntryComparator) stagedViewer.getComparator();
            comparator.setFileNamesFirst(enable);
            getPreferenceStore().setValue(UIPreferences.STAGING_VIEW_FILENAME_MODE, enable);
            refreshViewersPreservingExpandedElements();
        }
    };
    fileNameModeAction.setChecked(getPreferenceStore().getBoolean(UIPreferences.STAGING_VIEW_FILENAME_MODE));
    IMenuManager dropdownMenu = actionBars.getMenuManager();
    MenuManager presentationMenu = new MenuManager(UIText.StagingView_Presentation);
    listPresentationAction = new Action(UIText.StagingView_List, IAction.AS_RADIO_BUTTON) {

        @Override
        public void run() {
            if (!isChecked()) {
                return;
            }
            switchToListMode();
            refreshViewers();
        }
    };
    listPresentationAction.setImageDescriptor(UIIcons.FLAT);
    presentationMenu.add(listPresentationAction);
    treePresentationAction = new Action(UIText.StagingView_Tree, IAction.AS_RADIO_BUTTON) {

        @Override
        public void run() {
            if (!isChecked()) {
                return;
            }
            presentation = Presentation.TREE;
            setPresentation(presentation, false);
            listPresentationAction.setChecked(false);
            compactTreePresentationAction.setChecked(false);
            setExpandCollapseActionsVisible(false, isExpandAllowed(false), true);
            setExpandCollapseActionsVisible(true, isExpandAllowed(true), true);
            refreshViewers();
        }
    };
    treePresentationAction.setImageDescriptor(UIIcons.HIERARCHY);
    presentationMenu.add(treePresentationAction);
    compactTreePresentationAction = new Action(UIText.StagingView_CompactTree, IAction.AS_RADIO_BUTTON) {

        @Override
        public void run() {
            if (!isChecked()) {
                return;
            }
            switchToCompactModeInternal(false);
            refreshViewers();
        }
    };
    compactTreePresentationAction.setImageDescriptor(UIIcons.COMPACT);
    presentationMenu.add(compactTreePresentationAction);
    presentation = readPresentation(UIPreferences.STAGING_VIEW_PRESENTATION, Presentation.LIST);
    switch(presentation) {
        case LIST:
            listPresentationAction.setChecked(true);
            setExpandCollapseActionsVisible(false, false, false);
            setExpandCollapseActionsVisible(true, false, false);
            break;
        case TREE:
            treePresentationAction.setChecked(true);
            break;
        case COMPACT_TREE:
            compactTreePresentationAction.setChecked(true);
            break;
        default:
            break;
    }
    dropdownMenu.add(presentationMenu);
    dropdownMenu.add(new Separator());
    dropdownMenu.add(openNewCommitsAction);
    dropdownMenu.add(columnLayoutAction);
    dropdownMenu.add(fileNameModeAction);
    dropdownMenu.add(compareModeAction);
    actionBars.setGlobalActionHandler(ActionFactory.DELETE.getId(), new GlobalDeleteActionHandler());
    // For the normal resource undo/redo actions to be active, so that files
    // deleted via the "Delete" action in the staging view can be restored.
    IUndoContext workspaceContext = AdapterUtils.adapt(ResourcesPlugin.getWorkspace(), IUndoContext.class);
    undoRedoActionGroup = new UndoRedoActionGroup(getViewSite(), workspaceContext, true);
    undoRedoActionGroup.fillActionBars(actionBars);
    actionBars.updateActionBars();
}
Also used : RepositoryToolbarAction(org.eclipse.egit.ui.internal.components.RepositoryMenuUtil.RepositoryToolbarAction) SashForm(org.eclipse.swt.custom.SashForm) IWorkbenchPartSite(org.eclipse.ui.IWorkbenchPartSite) IWorkbenchWindow(org.eclipse.ui.IWorkbenchWindow) RepositoryState(org.eclipse.jgit.lib.RepositoryState) DiffViewer(org.eclipse.egit.ui.internal.commit.DiffViewer) Point(org.eclipse.swt.graphics.Point) Clipboard(org.eclipse.swt.dnd.Clipboard) DropTargetEvent(org.eclipse.swt.dnd.DropTargetEvent) PropertyChangeEvent(org.eclipse.jface.util.PropertyChangeEvent) Composite(org.eclipse.swt.widgets.Composite) Map(java.util.Map) ISelectionProvider(org.eclipse.jface.viewers.ISelectionProvider) MessageDialog(org.eclipse.jface.dialogs.MessageDialog) Cursor(org.eclipse.swt.graphics.Cursor) IEditorPart(org.eclipse.ui.IEditorPart) EnumSet(java.util.EnumSet) Nullable(org.eclipse.jgit.annotations.Nullable) AbortRebaseCommand(org.eclipse.egit.ui.internal.commands.shared.AbortRebaseCommand) JobFamilies(org.eclipse.egit.ui.JobFamilies) GitAPIException(org.eclipse.jgit.api.errors.GitAPIException) IEditorInput(org.eclipse.ui.IEditorInput) PlatformUI(org.eclipse.ui.PlatformUI) Constants(org.eclipse.jgit.lib.Constants) Transfer(org.eclipse.swt.dnd.Transfer) ILabelProvider(org.eclipse.jface.viewers.ILabelProvider) Window(org.eclipse.jface.window.Window) InstanceScope(org.eclipse.core.runtime.preferences.InstanceScope) Path(org.eclipse.core.runtime.Path) DragSourceAdapter(org.eclipse.swt.dnd.DragSourceAdapter) ResourcesPlugin(org.eclipse.core.resources.ResourcesPlugin) RevCommit(org.eclipse.jgit.revwalk.RevCommit) ControlListener(org.eclipse.swt.events.ControlListener) IFileEditorInput(org.eclipse.ui.IFileEditorInput) LinkedHashMap(java.util.LinkedHashMap) TreeExpansionEvent(org.eclipse.jface.viewers.TreeExpansionEvent) IWorkbenchPart(org.eclipse.ui.IWorkbenchPart) LaunchFinder(org.eclipse.egit.ui.internal.branch.LaunchFinder) CommitMessageArea(org.eclipse.egit.ui.internal.dialogs.CommitMessageArea) TextTransfer(org.eclipse.swt.dnd.TextTransfer) IPropertyChangeListener(org.eclipse.jface.util.IPropertyChangeListener) ILabelDecorator(org.eclipse.jface.viewers.ILabelDecorator) Section(org.eclipse.ui.forms.widgets.Section) ControlContribution(org.eclipse.jface.action.ControlContribution) IPreferenceChangeListener(org.eclipse.core.runtime.preferences.IEclipsePreferences.IPreferenceChangeListener) IMemento(org.eclipse.ui.IMemento) GridDataFactory(org.eclipse.jface.layout.GridDataFactory) IBaseLabelProvider(org.eclipse.jface.viewers.IBaseLabelProvider) IActionBars(org.eclipse.ui.IActionBars) ImageDescriptor(org.eclipse.jface.resource.ImageDescriptor) Form(org.eclipse.ui.forms.widgets.Form) ICommitMessageComponentNotifications(org.eclipse.egit.ui.internal.dialogs.ICommitMessageComponentNotifications) NoFilepatternException(org.eclipse.jgit.api.errors.NoFilepatternException) UntrackOperation(org.eclipse.egit.core.op.UntrackOperation) ModifyListener(org.eclipse.swt.events.ModifyListener) IPreferenceStore(org.eclipse.jface.preference.IPreferenceStore) DisposeEvent(org.eclipse.swt.events.DisposeEvent) IProblemDecoratable(org.eclipse.egit.ui.internal.decorators.IProblemDecoratable) PushMode(org.eclipse.egit.ui.internal.push.PushMode) DisposeListener(org.eclipse.swt.events.DisposeListener) MultiViewerSelectionProvider(org.eclipse.egit.ui.internal.selection.MultiViewerSelectionProvider) IAction(org.eclipse.jface.action.IAction) IToolBarManager(org.eclipse.jface.action.IToolBarManager) ILaunchConfiguration(org.eclipse.debug.core.ILaunchConfiguration) AddCommand(org.eclipse.jgit.api.AddCommand) RuleUtil(org.eclipse.egit.core.internal.job.RuleUtil) IStatus(org.eclipse.core.runtime.IStatus) ISelectionListener(org.eclipse.ui.ISelectionListener) ViewerComparator(org.eclipse.jface.viewers.ViewerComparator) IPartListener2(org.eclipse.ui.IPartListener2) UndoRedoActionGroup(org.eclipse.ui.operations.UndoRedoActionGroup) ModifyEvent(org.eclipse.swt.events.ModifyEvent) Button(org.eclipse.swt.widgets.Button) ActionUtils(org.eclipse.egit.ui.internal.ActionUtils) Collection(java.util.Collection) IProgressMonitor(org.eclipse.core.runtime.IProgressMonitor) AssumeUnchangedOperation(org.eclipse.egit.core.op.AssumeUnchangedOperation) CommitProposalProcessor(org.eclipse.egit.ui.internal.commit.CommitProposalProcessor) GitLabels(org.eclipse.egit.ui.internal.GitLabels) ISelection(org.eclipse.jface.viewers.ISelection) TreeViewer(org.eclipse.jface.viewers.TreeViewer) IShowInTarget(org.eclipse.ui.part.IShowInTarget) UIIcons(org.eclipse.egit.ui.internal.UIIcons) DragSourceEvent(org.eclipse.swt.dnd.DragSourceEvent) IStructuredSelection(org.eclipse.jface.viewers.IStructuredSelection) Label(org.eclipse.swt.widgets.Label) OpenEvent(org.eclipse.jface.viewers.OpenEvent) ToggleableWarningLabel(org.eclipse.egit.ui.internal.components.ToggleableWarningLabel) Activator(org.eclipse.egit.ui.Activator) Image(org.eclipse.swt.graphics.Image) MessageFormat(java.text.MessageFormat) CommitOperation(org.eclipse.egit.core.op.CommitOperation) IPersistentPreferenceStore(org.eclipse.jface.preference.IPersistentPreferenceStore) HashSet(java.util.HashSet) ContinueRebaseCommand(org.eclipse.egit.ui.internal.commands.shared.ContinueRebaseCommand) IMarker(org.eclipse.core.resources.IMarker) JobChangeAdapter(org.eclipse.core.runtime.jobs.JobChangeAdapter) ContentViewer(org.eclipse.jface.viewers.ContentViewer) Action(org.eclipse.jface.action.Action) IgnoreOperationUI(org.eclipse.egit.ui.internal.operations.IgnoreOperationUI) CheckoutCommand(org.eclipse.jgit.api.CheckoutCommand) Consumer(java.util.function.Consumer) JGitInternalException(org.eclipse.jgit.api.errors.JGitInternalException) ToolBarManager(org.eclipse.jface.action.ToolBarManager) IContributionItem(org.eclipse.jface.action.IContributionItem) IWorkbenchSiteProgressService(org.eclipse.ui.progress.IWorkbenchSiteProgressService) LocalResourceManager(org.eclipse.jface.resource.LocalResourceManager) SelectionEvent(org.eclipse.swt.events.SelectionEvent) Comparator(java.util.Comparator) SkipRebaseCommand(org.eclipse.egit.ui.internal.commands.shared.SkipRebaseCommand) AdapterUtils(org.eclipse.egit.core.AdapterUtils) UIPreferences(org.eclipse.egit.ui.UIPreferences) DialogSettings(org.eclipse.jface.dialogs.DialogSettings) DND(org.eclipse.swt.dnd.DND) CoreException(org.eclipse.core.runtime.CoreException) IDialogConstants(org.eclipse.jface.dialogs.IDialogConstants) FocusEvent(org.eclipse.swt.events.FocusEvent) ReplaceWithOursTheirsMenu(org.eclipse.egit.ui.internal.actions.ReplaceWithOursTheirsMenu) LocalSelectionTransfer(org.eclipse.jface.util.LocalSelectionTransfer) ResetCommand(org.eclipse.jgit.api.ResetCommand) Matcher(java.util.regex.Matcher) CommitHelper(org.eclipse.egit.ui.internal.commit.CommitHelper) PartInitException(org.eclipse.ui.PartInitException) SelectionAdapter(org.eclipse.swt.events.SelectionAdapter) Separator(org.eclipse.jface.action.Separator) Text(org.eclipse.swt.widgets.Text) MenuManager(org.eclipse.jface.action.MenuManager) Set(java.util.Set) Status(org.eclipse.core.runtime.Status) DeletePathsOperationUI(org.eclipse.egit.ui.internal.operations.DeletePathsOperationUI) AbstractRebaseCommandHandler(org.eclipse.egit.ui.internal.commands.shared.AbstractRebaseCommandHandler) IJobChangeEvent(org.eclipse.core.runtime.jobs.IJobChangeEvent) GridLayoutFactory(org.eclipse.jface.layout.GridLayoutFactory) ListenerHandle(org.eclipse.jgit.events.ListenerHandle) CommitMessageComponentState(org.eclipse.egit.ui.internal.dialogs.CommitMessageComponentState) UIText(org.eclipse.egit.ui.internal.UIText) PreferenceChangeEvent(org.eclipse.core.runtime.preferences.IEclipsePreferences.PreferenceChangeEvent) JobUtil(org.eclipse.egit.core.internal.job.JobUtil) ActionCommands(org.eclipse.egit.ui.internal.actions.ActionCommands) SWT(org.eclipse.swt.SWT) BooleanPrefAction(org.eclipse.egit.ui.internal.actions.BooleanPrefAction) RepositorySelectionProvider(org.eclipse.egit.ui.internal.selection.RepositorySelectionProvider) IWorkbenchPartReference(org.eclipse.ui.IWorkbenchPartReference) ViewPart(org.eclipse.ui.part.ViewPart) JFaceResources(org.eclipse.jface.resource.JFaceResources) AbstractTreeViewer(org.eclipse.jface.viewers.AbstractTreeViewer) WorkbenchJob(org.eclipse.ui.progress.WorkbenchJob) StructuredSelection(org.eclipse.jface.viewers.StructuredSelection) ArrayList(java.util.ArrayList) ControlEvent(org.eclipse.swt.events.ControlEvent) IContainer(org.eclipse.core.resources.IContainer) CommitMessageHistory(org.eclipse.egit.ui.internal.commit.CommitMessageHistory) IShowInSource(org.eclipse.ui.part.IShowInSource) ShowInContext(org.eclipse.ui.part.ShowInContext) IFile(org.eclipse.core.resources.IFile) GridData(org.eclipse.swt.layout.GridData) LinkedHashSet(java.util.LinkedHashSet) BaseLabelProvider(org.eclipse.jface.viewers.BaseLabelProvider) ViewerFilter(org.eclipse.jface.viewers.ViewerFilter) IViewSite(org.eclipse.ui.IViewSite) ExecutionException(org.eclipse.core.commands.ExecutionException) CommonUtils(org.eclipse.egit.ui.internal.CommonUtils) File(java.io.File) IURIEditorInput(org.eclipse.ui.IURIEditorInput) IMenuManager(org.eclipse.jface.action.IMenuManager) ActionFactory(org.eclipse.ui.actions.ActionFactory) RepositoryToolbarAction(org.eclipse.egit.ui.internal.components.RepositoryMenuUtil.RepositoryToolbarAction) IPartService(org.eclipse.ui.IPartService) Repository(org.eclipse.jgit.lib.Repository) GridLayout(org.eclipse.swt.layout.GridLayout) VerifyKeyListener(org.eclipse.swt.custom.VerifyKeyListener) IndexDiffData(org.eclipse.egit.core.internal.indexdiff.IndexDiffData) IndexDiffChangedListener(org.eclipse.egit.core.internal.indexdiff.IndexDiffChangedListener) IDialogSettings(org.eclipse.jface.dialogs.IDialogSettings) DropTargetAdapter(org.eclipse.swt.dnd.DropTargetAdapter) IPath(org.eclipse.core.runtime.IPath) IndexDiffCacheEntry(org.eclipse.egit.core.internal.indexdiff.IndexDiffCacheEntry) IWorkbenchAction(org.eclipse.ui.actions.ActionFactory.IWorkbenchAction) ITreeViewerListener(org.eclipse.jface.viewers.ITreeViewerListener) CommitMessageComponentStateManager(org.eclipse.egit.ui.internal.dialogs.CommitMessageComponentStateManager) Display(org.eclipse.swt.widgets.Display) IUndoContext(org.eclipse.core.commands.operations.IUndoContext) IHandlerService(org.eclipse.ui.handlers.IHandlerService) List(java.util.List) ILabelProviderListener(org.eclipse.jface.viewers.ILabelProviderListener) Tree(org.eclipse.swt.widgets.Tree) IFormColors(org.eclipse.ui.forms.IFormColors) CommitJob(org.eclipse.egit.ui.internal.commit.CommitJob) Pattern(java.util.regex.Pattern) IMenuListener(org.eclipse.jface.action.IMenuListener) RmCommand(org.eclipse.jgit.api.RmCommand) ExpandableComposite(org.eclipse.ui.forms.widgets.ExpandableComposite) ISelectionService(org.eclipse.ui.ISelectionService) RepositoryMapping(org.eclipse.egit.core.project.RepositoryMapping) RepositoryTreeNode(org.eclipse.egit.ui.internal.repository.tree.RepositoryTreeNode) CommonUtils.runCommand(org.eclipse.egit.ui.internal.CommonUtils.runCommand) RepositoryUtil(org.eclipse.egit.core.RepositoryUtil) FocusListener(org.eclipse.swt.events.FocusListener) VerifyEvent(org.eclipse.swt.events.VerifyEvent) FileTransfer(org.eclipse.swt.dnd.FileTransfer) SpellcheckableMessageArea(org.eclipse.egit.ui.internal.dialogs.SpellcheckableMessageArea) Iterator(java.util.Iterator) Viewer(org.eclipse.jface.viewers.Viewer) Job(org.eclipse.core.runtime.jobs.Job) ProblemLabelDecorator(org.eclipse.egit.ui.internal.decorators.ProblemLabelDecorator) FormToolkit(org.eclipse.ui.forms.widgets.FormToolkit) DecoratingLabelProvider(org.eclipse.jface.viewers.DecoratingLabelProvider) TreeItem(org.eclipse.swt.widgets.TreeItem) ObjectId(org.eclipse.jgit.lib.ObjectId) RowLayout(org.eclipse.swt.layout.RowLayout) CommitMessageComponent(org.eclipse.egit.ui.internal.dialogs.CommitMessageComponent) IResource(org.eclipse.core.resources.IResource) GerritUtil(org.eclipse.egit.core.internal.gerrit.GerritUtil) UIUtils(org.eclipse.egit.ui.UIUtils) NonNull(org.eclipse.jgit.annotations.NonNull) Git(org.eclipse.jgit.api.Git) Collections(java.util.Collections) Control(org.eclipse.swt.widgets.Control) IAction(org.eclipse.jface.action.IAction) Action(org.eclipse.jface.action.Action) BooleanPrefAction(org.eclipse.egit.ui.internal.actions.BooleanPrefAction) RepositoryToolbarAction(org.eclipse.egit.ui.internal.components.RepositoryMenuUtil.RepositoryToolbarAction) IWorkbenchAction(org.eclipse.ui.actions.ActionFactory.IWorkbenchAction) Composite(org.eclipse.swt.widgets.Composite) ExpandableComposite(org.eclipse.ui.forms.widgets.ExpandableComposite) ModifyListener(org.eclipse.swt.events.ModifyListener) ControlContribution(org.eclipse.jface.action.ControlContribution) Text(org.eclipse.swt.widgets.Text) UIText(org.eclipse.egit.ui.internal.UIText) IUndoContext(org.eclipse.core.commands.operations.IUndoContext) GridLayout(org.eclipse.swt.layout.GridLayout) ModifyEvent(org.eclipse.swt.events.ModifyEvent) UndoRedoActionGroup(org.eclipse.ui.operations.UndoRedoActionGroup) IToolBarManager(org.eclipse.jface.action.IToolBarManager) GridData(org.eclipse.swt.layout.GridData) MenuManager(org.eclipse.jface.action.MenuManager) IMenuManager(org.eclipse.jface.action.IMenuManager) BooleanPrefAction(org.eclipse.egit.ui.internal.actions.BooleanPrefAction) IMenuManager(org.eclipse.jface.action.IMenuManager) IActionBars(org.eclipse.ui.IActionBars) Separator(org.eclipse.jface.action.Separator) Display(org.eclipse.swt.widgets.Display)

Aggregations

BooleanPrefAction (org.eclipse.egit.ui.internal.actions.BooleanPrefAction)3 Action (org.eclipse.jface.action.Action)3 IAction (org.eclipse.jface.action.IAction)3 ArrayList (java.util.ArrayList)2 Collection (java.util.Collection)2 List (java.util.List)2 ExecutionException (org.eclipse.core.commands.ExecutionException)2 IResource (org.eclipse.core.resources.IResource)2 IPreferenceChangeListener (org.eclipse.core.runtime.preferences.IEclipsePreferences.IPreferenceChangeListener)2 PreferenceChangeEvent (org.eclipse.core.runtime.preferences.IEclipsePreferences.PreferenceChangeEvent)2 IPersistentPreferenceStore (org.eclipse.jface.preference.IPersistentPreferenceStore)2 IWorkbenchAction (org.eclipse.ui.actions.ActionFactory.IWorkbenchAction)2 File (java.io.File)1 IOException (java.io.IOException)1 MessageFormat (java.text.MessageFormat)1 Collections (java.util.Collections)1 Comparator (java.util.Comparator)1 EnumSet (java.util.EnumSet)1 HashSet (java.util.HashSet)1 Iterator (java.util.Iterator)1