Curve Tools 2: Update addon to Blender 2.80
[blender-addons-contrib.git] / amaranth / misc / dopesheet_grapheditor.py
1 #  This program is free software; you can redistribute it and/or
2 #  modify it under the terms of the GNU General Public License
3 #  as published by the Free Software Foundation; either version 2
4 #  of the License, or (at your option) any later version.
5 #
6 #  This program is distributed in the hope that it will be useful,
7 #  but WITHOUT ANY WARRANTY; without even the implied warranty of
8 #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
9 #  GNU General Public License for more details.
10 #
11 #  You should have received a copy of the GNU General Public License
12 #  along with this program; if not, write to the Free Software Foundation,
13 #  Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
14 """
15 Shortcut: Ctrl+Tab to switch between Dopesheet/Graph Editor
16
17 Hit Ctrl + Tab to switch between Dopesheet and the Graph Editor.
18 Developed during Caminandes Open Movie Project
19 """
20
21
22 import bpy
23
24 KEYMAPS = list()
25
26
27 def register():
28     wm = bpy.context.window_manager
29     kc = wm.keyconfigs.addon
30
31     km = kc.keymaps.new(name="Graph Editor", space_type="GRAPH_EDITOR")
32     kmi = km.keymap_items.new("wm.context_set_enum", "TAB", "PRESS", ctrl=True)
33     kmi.properties.data_path = "area.type"
34     kmi.properties.value = "DOPESHEET_EDITOR"
35     KEYMAPS.append((km, kmi))
36
37     km = kc.keymaps.new(name="Dopesheet", space_type="DOPESHEET_EDITOR")
38     kmi = km.keymap_items.new("wm.context_set_enum", "TAB", "PRESS", ctrl=True)
39     kmi.properties.data_path = "area.type"
40     kmi.properties.value = "GRAPH_EDITOR"
41     KEYMAPS.append((km, kmi))
42
43     km = kc.keymaps.new(name="Dopesheet", space_type="DOPESHEET_EDITOR")
44     kmi = km.keymap_items.new("wm.context_toggle_enum",
45                               "TAB", "PRESS", shift=True)
46     kmi.properties.data_path = "space_data.mode"
47     kmi.properties.value_1 = "ACTION"
48     kmi.properties.value_2 = "DOPESHEET"
49     KEYMAPS.append((km, kmi))
50
51
52 def unregister():
53     for km, kmi in KEYMAPS:
54         km.keymap_items.remove(kmi)
55     KEYMAPS.clear()