<!--
  ~ Copyright (C) 2017 The Android Open Source Project
  ~
  ~ Licensed under the Apache License, Version 2.0 (the "License");
  ~ you may not use this file except in compliance with the License.
  ~ You may obtain a copy of the License at
  ~
  ~      http://www.apache.org/licenses/LICENSE-2.0
  ~
  ~ Unless required by applicable law or agreed to in writing, software
  ~ distributed under the License is distributed on an "AS IS" BASIS,
  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  ~ See the License for the specific language governing permissions and
  ~ limitations under the License.
  -->
<idea-plugin xmlns:xi="http://www.w3.org/2001/XInclude">
  <extensions defaultExtensionNs="com.intellij">
    <applicationService serviceImplementation="com.android.tools.adtui.workbench.WorkBenchManager" />
    <projectService serviceImplementation="com.android.tools.adtui.workbench.DetachedToolWindowManager" />
    <applicationService serviceInterface="com.android.tools.adtui.common.AdtUiCursorsProvider"
                        serviceImplementation="com.android.tools.adtui.common.AdtUiCursorProviderImpl"/>
  </extensions>

  <actions>
    <group id="Adtui.ZoomActions">
      <action id="Adtui.ZoomInAction"
              icon="AllIcons.General.ZoomIn"
              class="com.android.tools.adtui.actions.ZoomInAction"
              text="Zoom In"
              description="Zoom in preview" >
        <keyboard-shortcut keymap="$default" first-keystroke="control ADD" />
        <keyboard-shortcut keymap="$default" first-keystroke="control EQUALS" />
        <keyboard-shortcut keymap="Mac OS X 10.5+" first-keystroke="meta ADD" replace-all="true"/>
        <keyboard-shortcut keymap="Mac OS X 10.5+" first-keystroke="meta EQUALS" />
      </action>
      <action id="Adtui.ZoomOutAction"
              icon="AllIcons.General.ZoomOut"
              class="com.android.tools.adtui.actions.ZoomOutAction"
              text="Zoom Out"
              description="Zoom out preview">
        <keyboard-shortcut keymap="$default" first-keystroke="control MINUS" />
        <keyboard-shortcut keymap="$default" first-keystroke="control SUBTRACT" />
        <keyboard-shortcut keymap="Mac OS X 10.5+" first-keystroke="meta MINUS" replace-all="true"/>
        <keyboard-shortcut keymap="Mac OS X 10.5+" first-keystroke="meta SUBTRACT" />
      </action>
      <action id="Adtui.ZoomToActualAction"
              icon="AllIcons.General.ActualZoom"
              class="com.android.tools.adtui.actions.ZoomActualAction"
              text="Zoom to Actual Size (100%)"
              description="Zoom to actual size of preview">
        <keyboard-shortcut keymap="$default" first-keystroke="control PERIOD" />
        <keyboard-shortcut keymap="$default" first-keystroke="control NUMPAD0" />
        <keyboard-shortcut keymap="Mac OS X 10.5+" first-keystroke="meta PERIOD" replace-all="true"/>
        <keyboard-shortcut keymap="Mac OS X 10.5+" first-keystroke="meta NUMPAD0" />
      </action>
      <action id="Adtui.ZoomToFitAction"
              icon="AllIcons.General.FitContent"
              class="com.android.tools.adtui.actions.ZoomToFitAction"
              text="Zoom to Fit Screen"
              description="Zoom the preview to fit the screen size">
        <keyboard-shortcut keymap="$default" first-keystroke="control SLASH" />
        <keyboard-shortcut keymap="$default" first-keystroke="control DIVIDE" />
        <keyboard-shortcut keymap="Mac OS X 10.5+" first-keystroke="meta SLASH" replace-all="true"/>
        <keyboard-shortcut keymap="Mac OS X 10.5+" first-keystroke="meta DIVIDE" />
      </action>
      <action id="Adtui.ZoomResetAction"
              class="com.android.tools.adtui.actions.ZoomResetAction"
              text="Reset Zoom"
              description="Reset zoom level to default">
      </action>
    </group>
    <action id="com.android.tools.adtui.webp.WebpSupportTestAction" class="com.android.tools.adtui.webp.WebpSupportTestAction"
            text="WebpSupportTestAction" internal="true"/>
  </actions>

  <xi:include href="/META-INF/splittingtabs.xml"/>
</idea-plugin>
