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

git.blender.org/blender-addons.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRyan Inch <mythologylover75@gmail.com>2020-03-27 06:28:02 +0300
committerRyan Inch <mythologylover75@gmail.com>2020-03-27 06:28:02 +0300
commit928d6a2e0a68b1ff93928bf0efdac560fb4ce2f2 (patch)
treee152485aec6da770e5b95a1ca7b156920721f141 /object_collection_manager
parent6c3fbd669d233452d9970cb95b2695c45d78e626 (diff)
Collection Manager: Update tooltips. Task: T69577
Make tooltips for QCD slots show the slot number and its collection's name in both the OpenGL widget and the 3D View header widget.
Diffstat (limited to 'object_collection_manager')
-rw-r--r--object_collection_manager/__init__.py2
-rw-r--r--object_collection_manager/qcd_move_widget.py21
-rw-r--r--object_collection_manager/qcd_operators.py19
3 files changed, 33 insertions, 9 deletions
diff --git a/object_collection_manager/__init__.py b/object_collection_manager/__init__.py
index f273af7b..b272b917 100644
--- a/object_collection_manager/__init__.py
+++ b/object_collection_manager/__init__.py
@@ -22,7 +22,7 @@ bl_info = {
"name": "Collection Manager",
"description": "Manage collections and their objects",
"author": "Ryan Inch",
- "version": (2,4,3),
+ "version": (2,4,4),
"blender": (2, 80, 0),
"location": "View3D - Object Mode (Shortcut - M)",
"warning": '', # used for warning icon and text in addons panel
diff --git a/object_collection_manager/qcd_move_widget.py b/object_collection_manager/qcd_move_widget.py
index c787db67..441c39de 100644
--- a/object_collection_manager/qcd_move_widget.py
+++ b/object_collection_manager/qcd_move_widget.py
@@ -774,12 +774,13 @@ def draw_callback_px(self, context):
shader.bind()
in_tooltip_area = False
+ tooltip_slot_idx = None
for num in range(20):
slot_num = num + 1
- qcd_slot = qcd_slots.get_name(f"{slot_num}")
- if qcd_slot:
- qcd_laycol = layer_collections[qcd_slot]["ptr"]
+ qcd_slot_name = qcd_slots.get_name(f"{slot_num}")
+ if qcd_slot_name:
+ qcd_laycol = layer_collections[qcd_slot_name]["ptr"]
collection_objects = qcd_laycol.collection.objects
selected_objects = qcd_operators.get_move_selection()
active_object = qcd_operators.get_move_active()
@@ -794,6 +795,7 @@ def draw_callback_px(self, context):
if mouse_in_area(self.mouse_pos, button_area):
in_tooltip_area = True
+ tooltip_slot_idx = slot_num
mod = 0.1
@@ -908,7 +910,12 @@ def draw_callback_px(self, context):
if in_tooltip_area:
if self.draw_tooltip:
- draw_tooltip(self, context, shader,"Move Object To QCD Slot\n * Shift-Click to toggle objects\' slot")
+ slot_name = qcd_slots.get_name(f"{tooltip_slot_idx}")
+ slot_string = f"QCD Slot {tooltip_slot_idx}: \"{slot_name}\"\n"
+ hotkey_string = " * Shift-Click to toggle objects\' slot."
+
+ draw_tooltip(self, context, shader, f"{slot_string}{hotkey_string}")
+
self.hover_time = None
else:
@@ -930,8 +937,10 @@ def draw_tooltip(self, context, shader, message):
num_lines = len(lines)
for line in lines:
- if len(line) > longest[0]:
- longest[0] = len(line)
+ w, _ = blf.dimensions(font_id, line)
+
+ if w > longest[0]:
+ longest[0] = w
longest[1] = line
w, h = blf.dimensions(font_id, longest[1])
diff --git a/object_collection_manager/qcd_operators.py b/object_collection_manager/qcd_operators.py
index ea4187ec..2b45c1de 100644
--- a/object_collection_manager/qcd_operators.py
+++ b/object_collection_manager/qcd_operators.py
@@ -154,13 +154,28 @@ class MoveToQCDSlot(Operator):
class ViewMoveQCDSlot(Operator):
- ''' * Shift-Click to toggle QCD slots\n * Ctrl-Click to move objects to QCD slot\n * Ctrl-Shift-Click to toggle objects\' slot'''
- bl_label = "View QCD Slot"
+ bl_label = ""
bl_idname = "view3d.view_move_qcd_slot"
bl_options = {'REGISTER', 'UNDO'}
slot: StringProperty()
+ @classmethod
+ def description(cls, context, properties):
+ global qcd_slots
+
+ slot_name = qcd_slots.get_name(properties.slot)
+
+ slot_string = f"QCD Slot {properties.slot}: \"{slot_name}\"\n"
+
+ hotkey_string = (
+ " * Shift-Click to toggle QCD slot.\n"
+ " * Ctrl-Click to move objects to QCD slot.\n"
+ " * Ctrl-Shift-Click to toggle objects' slot"
+ )
+
+ return f"{slot_string}{hotkey_string}"
+
def invoke(self, context, event):
global layer_collections
global qcd_history