Code: Select all
recorder=TutorialUi.make_recorder()
Code: Select all
ActionRecorder.handle_filter(event,self.newItem)
The log file didn't seem helpful, and I don't have a clue how to make sense of the system-provided crash report, but they're attached just in case.
The relevant code:
Code: Select all
class ActionRecorder(QtCore.QObject):
'''
Records user inputs to put into steps of tutorial using Qt event filter
'''
class PassCommand(QtCore.QObject):
newItem=QtCore.Signal(dict)
def __init__(self, parent=None):
super(ActionRecorder,self).__init__(parent)
signal=self.PassCommand()
self.newItem=signal.newItem
signal.newItem.connect(CommandSelection.add_command)
print("init instance")
def __del__(self):
print("delete instance")
def eventFilter(self, obj, event):
'''
Listens in to user input, copies & sends on to be saved as steps
The name of this function needs to be _exactly_ what it currently is
and have as little functionality as possible or it won't work.
'''
events = [QtCore.QEvent.Shortcut,QtCore.QEvent.KeyPress,
QtCore.QEvent.KeyRelease,QtCore.QEvent.MouseButtonDblClick,
QtCore.QEvent.MouseButtonPress,QtCore.QEvent.MouseButtonRelease,
]
if event.type() in events:
#Keeping eventFilter lightweight
ActionRecorder.handle_filter(event,self.newItem)
#keeps events from getting eaten by filter
return False
def make_recorder():
recorder=ActionRecorder()
QtWidgets.QApplication.instance().installEventFilter(recorder)
print("Recorder installed")
return recorder
OS: macOS 10.15
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.24291 (Git)
Build type: Release
Branch: (HEAD detached at 0.19.2)
Hash: 7b5e18a0759de778b74d3a5c17eba9cb815035ac
Python version: 3.8.8
Qt version: 5.12.9
Coin version: 4.0.0
OCC version: 7.4.0
Locale: English/United States (en_US)