IDEA-194199: remove TouchbarActionsProvider, use DataProvider instead

This commit is contained in:
Artem Bochkarev
2018-06-21 11:28:12 +07:00
parent 1a92dd0442
commit db8ed6b7e9
4 changed files with 18 additions and 20 deletions
@@ -23,7 +23,7 @@ import com.intellij.ui.OnePixelSplitter;
import com.intellij.ui.SearchTextField;
import com.intellij.ui.components.panels.NonOpaquePanel;
import com.intellij.ui.components.panels.Wrapper;
import com.intellij.ui.mac.TouchbarActionsProvider;
import com.intellij.ui.mac.TouchbarDataKeys;
import com.intellij.ui.speedSearch.SpeedSearchSupply;
import com.intellij.util.EventDispatcher;
import com.intellij.util.containers.ContainerUtil;
@@ -44,7 +44,7 @@ import java.util.List;
import static java.awt.event.InputEvent.CTRL_DOWN_MASK;
import static java.awt.event.InputEvent.META_DOWN_MASK;
public class SearchReplaceComponent extends EditorHeaderComponent implements DataProvider, TouchbarActionsProvider {
public class SearchReplaceComponent extends EditorHeaderComponent implements DataProvider {
private final EventDispatcher<Listener> myEventDispatcher = EventDispatcher.create(Listener.class);
private final MyTextComponentWrapper mySearchFieldWrapper;
@@ -224,16 +224,6 @@ public class SearchReplaceComponent extends EditorHeaderComponent implements Dat
}
}
@Override
public @Nullable ActionGroup getTouchbarActions() {
if (myTouchbarActions == null) {
myTouchbarActions = new DefaultActionGroup();
myTouchbarActions.add(new PrevOccurrenceAction());
myTouchbarActions.add(new NextOccurrenceAction());
}
return myTouchbarActions;
}
public void setStatusText(@NotNull String status) {
myStatusText = status;
}
@@ -279,6 +269,14 @@ public class SearchReplaceComponent extends EditorHeaderComponent implements Dat
if (SpeedSearchSupply.SPEED_SEARCH_CURRENT_QUERY.is(dataId)) {
return mySearchTextComponent.getText();
}
if (TouchbarDataKeys.ACTIONS_KEY.is(dataId)) {
if (myTouchbarActions == null) {
myTouchbarActions = new DefaultActionGroup();
myTouchbarActions.add(new PrevOccurrenceAction());
myTouchbarActions.add(new NextOccurrenceAction());
}
return myTouchbarActions;
}
return myDataProviderDelegate != null ? myDataProviderDelegate.getData(dataId) : null;
}
@@ -2,9 +2,8 @@
package com.intellij.ui.mac;
import com.intellij.openapi.actionSystem.ActionGroup;
import org.jetbrains.annotations.Nullable;
import com.intellij.openapi.actionSystem.DataKey;
public interface TouchbarActionsProvider {
@Nullable
ActionGroup getTouchbarActions();
public interface TouchbarDataKeys {
DataKey<ActionGroup> ACTIONS_KEY = DataKey.create("TouchBarActions");
}
@@ -67,7 +67,6 @@ import com.intellij.ui.components.JBLayeredPane;
import com.intellij.ui.components.JBScrollBar;
import com.intellij.ui.components.JBScrollPane;
import com.intellij.ui.mac.MacGestureSupportForEditor;
import com.intellij.ui.mac.TouchbarActionsProvider;
import com.intellij.ui.mac.touchbar.TouchBarsManager;
import com.intellij.ui.paint.PaintUtil;
import com.intellij.ui.paint.PaintUtil.RoundingMode;
@@ -1809,8 +1808,7 @@ public final class EditorImpl extends UserDataHolderBase implements EditorEx, Hi
myHeaderPanel.revalidate();
myHeaderPanel.repaint();
final ActionGroup tbActions = header instanceof TouchbarActionsProvider ? ((TouchbarActionsProvider)header).getTouchbarActions() : null;
TouchBarsManager.onUpdateEditorHeader(this, header, tbActions);
TouchBarsManager.onUpdateEditorHeader(this, header);
}
@Override
@@ -7,6 +7,7 @@ import com.intellij.execution.process.ProcessHandler;
import com.intellij.execution.runners.ExecutionEnvironment;
import com.intellij.execution.ui.RunContentDescriptor;
import com.intellij.openapi.actionSystem.ActionGroup;
import com.intellij.openapi.actionSystem.DataProvider;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.editor.Editor;
@@ -21,6 +22,7 @@ import com.intellij.openapi.util.Pair;
import com.intellij.openapi.wm.ToolWindowId;
import com.intellij.openapi.wm.ex.ToolWindowManagerEx;
import com.intellij.openapi.wm.ex.ToolWindowManagerListener;
import com.intellij.ui.mac.TouchbarDataKeys;
import com.intellij.ui.popup.list.ListPopupImpl;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
@@ -182,7 +184,7 @@ public class TouchBarsManager {
pd.removeEditor(editor);
}
public static void onUpdateEditorHeader(@NotNull Editor editor, JComponent header, ActionGroup actions) {
public static void onUpdateEditorHeader(@NotNull Editor editor, JComponent header) {
if (!isTouchBarAvailable())
return;
@@ -197,6 +199,7 @@ public class TouchBarsManager {
return;
}
final ActionGroup actions = header instanceof DataProvider ? TouchbarDataKeys.ACTIONS_KEY.getData((DataProvider)header) : null;
if (header == null) {
// System.out.println("set null header");
ed.editorHeader = null;