git clone https://git.lucas.co/hou-control.git
keycam: rename zoom labels and symbols to explicitly separate Persp and Ortho
viewer_states/keycam.py | 58 ++++++++++++++++++++-----------------------------
1 file changed, 24 insertions(+), 34 deletions(-)
diff --git a/viewer_states/keycam.py b/viewer_states/keycam.py
index d99db81..d9f7411 100644
--- a/viewer_states/keycam.py
+++ b/viewer_states/keycam.py
@@ -86,32 +86,22 @@ class State(object):
def onMenuAction(self, kwargs):
menu_item = kwargs['menu_item']
- # Define zoom behavior based on projection
- def zoom_in():
- self.cam.zoom('in') if self.cam.projection == 'perspective' else self.cam.zoomOrtho('in')
- def zoom_out():
- self.cam.zoom('out') if self.cam.projection == 'perspective' else self.cam.zoomOrtho('out')
- def zoom_shift_in():
- self.cam.zoomOrtho('in') if self.cam.projection == 'perspective' else self.cam.zoom('in')
- def zoom_shift_out():
- self.cam.zoomOrtho('out') if self.cam.projection == 'perspective' else self.cam.zoom('out')
-
action_map = {
- 'frame': self.cam.frame,
- 'reset': self.cam.reset,
- 'rotate_left': self.cam.rotateLeft,
- 'rotate_right': self.cam.rotateRight,
- 'rotate_up': self.cam.rotateUp,
- 'rotate_down': self.cam.rotateDown,
- 'trans_left': self.cam.translateLeft,
- 'trans_right': self.cam.translateRight,
- 'trans_up': self.cam.translateUp,
- 'trans_down': self.cam.translateDown,
- 'toggle_proj': self.cam.toggleProjection,
- 'zoom_in': zoom_in,
- 'zoom_out': zoom_out,
- 'zoom_ortho_in': zoom_shift_in,
- 'zoom_ortho_out':zoom_shift_out,
+ 'frame': self.cam.frame,
+ 'reset': self.cam.reset,
+ 'rotate_left': self.cam.rotateLeft,
+ 'rotate_right': self.cam.rotateRight,
+ 'rotate_up': self.cam.rotateUp,
+ 'rotate_down': self.cam.rotateDown,
+ 'trans_left': self.cam.translateLeft,
+ 'trans_right': self.cam.translateRight,
+ 'trans_up': self.cam.translateUp,
+ 'trans_down': self.cam.translateDown,
+ 'toggle_proj': self.cam.toggleProjection,
+ 'zoom_persp_in': lambda: self.cam.zoom('in'),
+ 'zoom_persp_out': lambda: self.cam.zoom('out'),
+ 'zoom_ortho_in': lambda: self.cam.zoomOrtho('in'),
+ 'zoom_ortho_out': lambda: self.cam.zoomOrtho('out'),
}
if menu_item in action_map:
@@ -291,11 +281,11 @@ def createViewerStateTemplate():
'trans_down': ('Translate Down', ['Shift+j']),
'frame': ('Frame', ['f']),
'toggle_proj': ('Toggle Projection', ['o']),
- 'zoom_in': ('Zoom In', ['=']),
- 'zoom_out': ('Zoom Out', ['-']),
- 'zoom_ortho_in': ('Zoom Ortho In', ['Shift+=']),
- 'zoom_ortho_out':('Zoom Ortho Out',['Shift+-']),
- 'reset': ('Reset', ['r']),
+ 'zoom_persp_in': ('Zoom In (Persp)', ['=']),
+ 'zoom_persp_out':('Zoom Out (Persp)', ['-']),
+ 'zoom_ortho_in': ('Zoom In (Ortho)', ['Shift+=']),
+ 'zoom_ortho_out':('Zoom Out (Ortho)', ['Shift+-']),
+ 'reset': ('Reset', ['r']),
}
for cmd_id, (label, defaults) in commands.items():
@@ -503,10 +493,10 @@ def createViewerStateTemplate():
nav_menu.addActionItem('trans_up', 'Translate Up', hotkey=f'{ctx}.trans_up')
nav_menu.addActionItem('trans_down', 'Translate Down', hotkey=f'{ctx}.trans_down')
nav_menu.addSeparator()
- nav_menu.addActionItem('zoom_in', 'Zoom In', hotkey=f'{ctx}.zoom_in')
- nav_menu.addActionItem('zoom_out', 'Zoom Out', hotkey=f'{ctx}.zoom_out')
- nav_menu.addActionItem('zoom_ortho_in', 'Zoom Ortho In', hotkey=f'{ctx}.zoom_ortho_in')
- nav_menu.addActionItem('zoom_ortho_out','Zoom Ortho Out', hotkey=f'{ctx}.zoom_ortho_out')
+ nav_menu.addActionItem('zoom_persp_in', 'Zoom In (Persp)', hotkey=f'{ctx}.zoom_persp_in')
+ nav_menu.addActionItem('zoom_persp_out', 'Zoom Out (Persp)', hotkey=f'{ctx}.zoom_persp_out')
+ nav_menu.addActionItem('zoom_ortho_in', 'Zoom In (Ortho)', hotkey=f'{ctx}.zoom_ortho_in')
+ nav_menu.addActionItem('zoom_ortho_out', 'Zoom Out (Ortho)', hotkey=f'{ctx}.zoom_ortho_out')
menu.addMenu(nav_menu)