Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2019-03-15 04:45:41 +0300
committerCampbell Barton <ideasman42@gmail.com>2019-03-15 06:53:08 +0300
commit3400fe3ecee99cb6a74455943f2755e6f22ef047 (patch)
treed38e6d65b73f32d4b7685f2010e3f70df45994a0 /release/scripts/modules
parent388ff003e28bb8077d3dbd300e7e1f6beccea263 (diff)
Tool System: split UI label from tool identifiers
Prepare for exposing tool registration to the Python API. - Generated tools can use their own prefix so naming collisions won't happen between hard coded & generated tools. - Add-on authors can use the add-on name as a prefix. Currently the names match, renaming will happen next.
Diffstat (limited to 'release/scripts/modules')
-rw-r--r--release/scripts/modules/bl_keymap_utils/keymap_from_toolbar.py54
1 files changed, 27 insertions, 27 deletions
diff --git a/release/scripts/modules/bl_keymap_utils/keymap_from_toolbar.py b/release/scripts/modules/bl_keymap_utils/keymap_from_toolbar.py
index 66d05903335..0c812780a23 100644
--- a/release/scripts/modules/bl_keymap_utils/keymap_from_toolbar.py
+++ b/release/scripts/modules/bl_keymap_utils/keymap_from_toolbar.py
@@ -59,7 +59,7 @@ def generate(context, space_type):
for item in ToolSelectPanelHelper._tools_flatten(cls.tools_from_context(context))
if item is not None
]
- items_all_text = {item_container[0].text for item_container in items_all}
+ items_all_id = {item_container[0].idname for item_container in items_all}
# Press the toolbar popup key again to set the default tool,
# this is useful because the select box tool is useful as a way
@@ -70,7 +70,7 @@ def generate(context, space_type):
# TODO: support other tools for modes which don't use this tool.
tap_reset_tool = "Cursor"
# Check the tool is available in the current context.
- if tap_reset_tool not in items_all_text:
+ if tap_reset_tool not in items_all_id:
use_tap_reset = False
from bl_operators.wm import use_toolbar_release_hack
@@ -102,13 +102,13 @@ def generate(context, space_type):
for kmi_src in keymap_src.keymap_items:
# Skip tools that aren't currently shown.
if (
- (kmi_src.idname == "wm.tool_set_by_name") and
- (kmi_src.properties.name not in items_all_text)
+ (kmi_src.idname == "wm.tool_set_by_id") and
+ (kmi_src.properties.name not in items_all_id)
):
continue
keymap.keymap_items.new_from_item(kmi_src)
del keymap_src
- del items_all_text
+ del items_all_id
kmi_unique_args = set()
@@ -122,7 +122,7 @@ def generate(context, space_type):
cls = ToolSelectPanelHelper._tool_class_from_space_type(space_type)
if use_hack_properties:
- kmi_hack = keymap.keymap_items.new("wm.tool_set_by_name", 'NONE', 'PRESS')
+ kmi_hack = keymap.keymap_items.new("wm.tool_set_by_id", 'NONE', 'PRESS')
kmi_hack_properties = kmi_hack.properties
kmi_hack.active = False
@@ -148,9 +148,9 @@ def generate(context, space_type):
# First check for direct assignment, if this tool already has a key, no need to add a new one.
kmi_hack_properties.name = tap_reset_tool
kmi_found = wm.keyconfigs.find_item_from_operator(
- idname="wm.tool_set_by_name",
+ idname="wm.tool_set_by_id",
context='INVOKE_REGION_WIN',
- # properties={"name": item.text},
+ # properties={"name": item.idname},
properties=kmi_hack_properties,
include={'KEYBOARD'},
)[1]
@@ -165,7 +165,7 @@ def generate(context, space_type):
items_all[:] = [
item_container
for item_container in items_all
- if item_container[0].text != tap_reset_tool
+ if item_container[0].idname != tap_reset_tool
]
# -----------------------
@@ -179,11 +179,11 @@ def generate(context, space_type):
# Only check the first item in the tools key-map (a little arbitrary).
if use_hack_properties:
# First check for direct assignment.
- kmi_hack_properties.name = item.text
+ kmi_hack_properties.name = item.idname
kmi_found = wm.keyconfigs.find_item_from_operator(
- idname="wm.tool_set_by_name",
+ idname="wm.tool_set_by_id",
context='INVOKE_REGION_WIN',
- # properties={"name": item.text},
+ # properties={"name": item.idname},
properties=kmi_hack_properties,
include={'KEYBOARD'},
)[1]
@@ -229,7 +229,7 @@ def generate(context, space_type):
elif item.keymap is not None:
km = keyconf_user.keymaps.get(item.keymap[0])
if km is None:
- print("Keymap", repr(item.keymap[0]), "not found for tool", item.text)
+ print("Keymap", repr(item.keymap[0]), "not found for tool", item.idname)
kmi_found = None
else:
kmi_first = km.keymap_items
@@ -274,12 +274,12 @@ def generate(context, space_type):
if (
(len(kmi_found_type) == 1) or
# When a tool is being activated instead of running an operator, just copy the shortcut.
- (kmi_found.idname in {"wm.tool_set_by_name", "WM_OT_tool_set_by_name"})
+ (kmi_found.idname in {"wm.tool_set_by_id", "WM_OT_tool_set_by_id"})
):
kmi_args = {"type": kmi_found_type, **modifier_keywords_from_item(kmi_found)}
if kmi_unique_or_pass(kmi_args):
- kmi = keymap.keymap_items.new(idname="wm.tool_set_by_name", value='PRESS', **kmi_args)
- kmi.properties.name = item.text
+ kmi = keymap.keymap_items.new(idname="wm.tool_set_by_id", value='PRESS', **kmi_args)
+ kmi.properties.name = item.idname
item_container[2] = kmi
# -------------------------------------------------------------------------
@@ -310,8 +310,8 @@ def generate(context, space_type):
kmi_args = {"type": kmi_found_type, **modifier_keywords_from_item(kmi_found)}
del kmi_args["key_modifier"]
if kmi_unique_or_pass(kmi_args):
- kmi = keymap.keymap_items.new(idname="wm.tool_set_by_name", value='PRESS', **kmi_args)
- kmi.properties.name = item.text
+ kmi = keymap.keymap_items.new(idname="wm.tool_set_by_id", value='PRESS', **kmi_args)
+ kmi.properties.name = item.idname
item_container[2] = kmi
# -------------------------------------------------------------------------
@@ -331,16 +331,16 @@ def generate(context, space_type):
item, kmi_found, kmi_exist = item_container
if kmi_exist:
continue
- kmi_type = item.text[0].upper()
+ kmi_type = item.label[0].upper()
kmi_tuple = kmi_type_alpha_args_tuple.get(kmi_type)
if kmi_tuple and kmi_tuple not in kmi_unique_args:
kmi_unique_args.add(kmi_tuple)
kmi = keymap.keymap_items.new(
- idname="wm.tool_set_by_name",
+ idname="wm.tool_set_by_id",
value='PRESS',
**kmi_type_alpha_args[kmi_type],
)
- kmi.properties.name = item.text
+ kmi.properties.name = item.idname
item_container[2] = kmi
del kmi_type_alpha_char, kmi_type_alpha_args, kmi_type_alpha_args_tuple
@@ -388,8 +388,8 @@ def generate(context, space_type):
break
if kmi_args is not None:
- kmi = keymap.keymap_items.new(idname="wm.tool_set_by_name", value='PRESS', **kmi_args)
- kmi.properties.name = item.text
+ kmi = keymap.keymap_items.new(idname="wm.tool_set_by_id", value='PRESS', **kmi_args)
+ kmi.properties.name = item.idname
item_container[2] = kmi
kmi_unique_args.add(kmi_tuple)
@@ -398,8 +398,8 @@ def generate(context, space_type):
kmi_args["type"] = key
kmi_tuple = dict_as_tuple(kmi_args)
if not kmi_tuple in kmi_unique_args:
- kmi = keymap.keymap_items.new(idname="wm.tool_set_by_name", value='PRESS', **kmi_args)
- kmi.properties.name = item.text
+ kmi = keymap.keymap_items.new(idname="wm.tool_set_by_id", value='PRESS', **kmi_args)
+ kmi.properties.name = item.idname
kmi_unique_args.add(kmi_tuple)
@@ -426,7 +426,7 @@ def generate(context, space_type):
del kmi_toolbar_tuple
kmi = keymap.keymap_items.new(
- "wm.tool_set_by_name",
+ "wm.tool_set_by_id",
value='PRESS' if use_toolbar_release_hack else 'DOUBLE_CLICK',
**kmi_toolbar_args_available,
)
@@ -445,7 +445,7 @@ def generate(context, space_type):
# ... or pass through to let the toolbar know we're released.
# Let the operator know we're released.
kmi = keymap.keymap_items.new(
- "wm.tool_set_by_name",
+ "wm.tool_set_by_id",
type=kmi_toolbar_type,
value='RELEASE',
any=True,