Skip to content

Commit 6c7f07e

Browse files
committed
Explicitly accept() more events, use menu.popup()
Accept more events
1 parent 2a4d895 commit 6c7f07e

10 files changed

+40
-22
lines changed

src/windows/cutting.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -355,7 +355,8 @@ def close(self):
355355
log.info('close')
356356

357357
def closeEvent(self, event):
358-
log.info('closeEvent')
358+
log.debug('closeEvent')
359+
event.accept()
359360

360361
# Stop playback
361362
self.preview_parent.worker.Stop()

src/windows/main_window.py

+8-4
Original file line numberDiff line numberDiff line change
@@ -811,9 +811,13 @@ def promptImageSequence(self, filename=None):
811811
return False
812812

813813
# Get translations
814-
_ = get_app()._tr
814+
app = get_app()
815+
_ = app._tr
816+
817+
# Process the event queue first, since we've been ignoring input
818+
app.processEvents()
815819

816-
# Handle exception
820+
# Display prompt dialog
817821
ret = QMessageBox.question(
818822
self,
819823
_("Import Image Sequence"),
@@ -1541,6 +1545,7 @@ def keyPressEvent(self, event):
15411545
return
15421546

15431547
# A valid keysequence was detected
1548+
event.accept()
15441549
key = QKeySequence(modifiers + key_value)
15451550

15461551
# Get the video player object
@@ -1646,7 +1651,6 @@ def keyPressEvent(self, event):
16461651
elif key.matches(self.getShortcutByName("actionAnimatedTitle")) == QKeySequence.ExactMatch:
16471652
self.actionAnimatedTitle.trigger()
16481653
elif key.matches(self.getShortcutByName("actionDuplicateTitle")) == QKeySequence.ExactMatch:
1649-
log.info("Duplicating title, %s", event)
16501654
self.actionDuplicateTitle.trigger()
16511655
elif key.matches(self.getShortcutByName("actionEditTitle")) == QKeySequence.ExactMatch:
16521656
self.actionEditTitle.trigger()
@@ -1750,7 +1754,7 @@ def keyPressEvent(self, event):
17501754

17511755
# If we didn't act on the event, forward it to the base class
17521756
else:
1753-
super(MainWindow, self).keyPressEvent(event)
1757+
QMainWindow.keyPressEvent(self, event)
17541758

17551759
def actionProfile_trigger(self):
17561760
# Show dialog

src/windows/video_widget.py

+6
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@ def changed(self, action):
7373

7474
def paintEvent(self, event, *args):
7575
""" Custom paint event """
76+
event.accept()
7677
self.mutex.lock()
7778

7879
# Paint custom frame image on QWidget
@@ -309,6 +310,7 @@ def connectSignals(self, renderer):
309310

310311
def mousePressEvent(self, event):
311312
"""Capture mouse press event on video preview window"""
313+
event.accept()
312314
self.mouse_pressed = True
313315
self.mouse_dragging = False
314316
self.mouse_position = event.pos()
@@ -318,6 +320,7 @@ def mousePressEvent(self, event):
318320
get_app().updates.ignore_history = True
319321

320322
def mouseReleaseEvent(self, event):
323+
event.accept()
321324
"""Capture mouse release event on video preview window"""
322325
self.mouse_pressed = False
323326
self.mouse_dragging = False
@@ -342,6 +345,7 @@ def rotateCursor(self, pixmap, rotation, shear_x, shear_y):
342345
def mouseMoveEvent(self, event):
343346
"""Capture mouse events on video preview window """
344347
self.mutex.lock()
348+
event.accept()
345349

346350
if self.mouse_pressed:
347351
self.mouse_dragging = True
@@ -697,6 +701,7 @@ def transformTriggered(self, clip_id):
697701

698702
def resizeEvent(self, event):
699703
"""Widget resize event"""
704+
event.accept()
700705
self.delayed_size = self.size()
701706
self.delayed_resize_timer.start()
702707

@@ -722,6 +727,7 @@ def delayed_resize_callback(self):
722727

723728
# Capture wheel event to alter zoom/scale of widget
724729
def wheelEvent(self, event):
730+
event.accept()
725731
# For each 120 (standard scroll unit) adjust the zoom slider
726732
tick_scale = 1024
727733
self.zoom += event.angleDelta().y() / tick_scale

src/windows/views/effects_listview.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ def contextMenuEvent(self, event):
4444

4545
menu = QMenu(self)
4646
menu.addAction(self.win.actionDetailsView)
47-
menu.exec_(event.globalPos())
47+
menu.popup(event.globalPos())
4848

4949
def startDrag(self, event):
5050
""" Override startDrag method to display custom icon """

src/windows/views/effects_treeview.py

+3-2
Original file line numberDiff line numberDiff line change
@@ -39,14 +39,15 @@ class EffectsTreeView(QTreeView):
3939

4040
def contextMenuEvent(self, event):
4141
# Set context menu mode
42+
event.accept()
4243
app = get_app()
4344
app.context_menu_object = "effects"
4445

4546
menu = QMenu(self)
4647
menu.addAction(self.win.actionThumbnailView)
47-
menu.exec_(event.globalPos())
48+
menu.popup(event.globalPos())
4849

49-
def startDrag(self, event):
50+
def startDrag(self, supportedActions):
5051
""" Override startDrag method to display custom icon """
5152

5253
# Get first column indexes for all selected rows

src/windows/views/files_listview.py

+8-5
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ class FilesListView(QListView):
4040
drag_item_size = 48
4141

4242
def contextMenuEvent(self, event):
43+
event.accept()
4344

4445
# Set context menu mode
4546
app = get_app()
@@ -80,13 +81,15 @@ def contextMenuEvent(self, event):
8081
menu.addSeparator()
8182

8283
# Show menu
83-
menu.exec_(event.globalPos())
84+
menu.popup(event.globalPos())
8485

8586
def dragEnterEvent(self, event):
8687
# If dragging urls onto widget, accept
87-
if event.mimeData().hasUrls():
88-
event.setDropAction(Qt.CopyAction)
89-
event.accept()
88+
if not event.mimeData().hasUrls():
89+
event.ignore()
90+
return
91+
event.accept()
92+
event.setDropAction(Qt.CopyAction)
9093

9194
def startDrag(self, supportedActions):
9295
""" Override startDrag method to display custom icon """
@@ -115,7 +118,7 @@ def startDrag(self, supportedActions):
115118

116119
# Without defining this method, the 'copy' action doesn't show with cursor
117120
def dragMoveEvent(self, event):
118-
pass
121+
event.accept()
119122

120123
# Handle a drag and drop being dropped on widget
121124
def dropEvent(self, event):

src/windows/views/files_treeview.py

+4-3
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ def contextMenuEvent(self, event):
4848
app = get_app()
4949
app.context_menu_object = "files"
5050

51+
event.accept()
5152
index = self.indexAt(event.pos())
5253

5354
# Build menu
@@ -83,7 +84,7 @@ def contextMenuEvent(self, event):
8384
menu.addSeparator()
8485

8586
# Show menu
86-
menu.exec_(event.globalPos())
87+
menu.popup(event.globalPos())
8788

8889
def dragEnterEvent(self, event):
8990
# If dragging urls onto widget, accept
@@ -118,13 +119,13 @@ def startDrag(self, supportedActions):
118119

119120
# Without defining this method, the 'copy' action doesn't show with cursor
120121
def dragMoveEvent(self, event):
121-
pass
122+
event.accept()
122123

123124
# Handle a drag and drop being dropped on widget
124125
def dropEvent(self, event):
125126
if not event.mimeData().hasUrls():
126127
# Nothing we're interested in
127-
event.reject()
128+
event.ignore()
128129
return
129130
event.accept()
130131
# Use try/finally so we always reset the cursor

src/windows/views/properties_tableview.py

+4-1
Original file line numberDiff line numberDiff line change
@@ -166,6 +166,8 @@ def mouseMoveEvent(self, event):
166166
if row is None:
167167
return
168168

169+
event.accept()
170+
169171
if model.item(row, 0):
170172
self.selected_label = model.item(row, 0)
171173
self.selected_item = model.item(row, 1)
@@ -268,6 +270,7 @@ def mouseMoveEvent(self, event):
268270

269271
def mouseReleaseEvent(self, event):
270272
# Inform UpdateManager to accept updates, and only store our final update
273+
event.accept()
271274
get_app().updates.ignore_history = False
272275

273276
# Add final update to undo/redo history
@@ -500,7 +503,7 @@ def contextMenuEvent(self, event=None, release=False):
500503
Insert_Action.triggered.connect(self.Insert_Action_Triggered)
501504
Remove_Action = menu.addAction(_("Remove Keyframe"))
502505
Remove_Action.triggered.connect(self.Remove_Action_Triggered)
503-
menu.popup(QCursor.pos())
506+
menu.popup(event.globalPos())
504507

505508
# Menu for choices
506509
if not self.choices:

src/windows/views/transitions_listview.py

+3-4
Original file line numberDiff line numberDiff line change
@@ -38,16 +38,15 @@ class TransitionsListView(QListView):
3838
drag_item_size = 48
3939

4040
def contextMenuEvent(self, event):
41+
event.accept()
42+
4143
# Set context menu mode
4244
app = get_app()
4345
app.context_menu_object = "transitions"
4446

4547
menu = QMenu(self)
4648
menu.addAction(self.win.actionDetailsView)
47-
menu.exec_(event.globalPos())
48-
49-
# Ignore event, propagate to parent
50-
event.ignore()
49+
menu.popup(event.globalPos())
5150

5251
def startDrag(self, supportedActions):
5352
""" Override startDrag method to display custom icon """

src/windows/views/transitions_treeview.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ def contextMenuEvent(self, event):
4444

4545
menu = QMenu(self)
4646
menu.addAction(self.win.actionThumbnailView)
47-
menu.exec_(event.globalPos())
47+
menu.popup(event.globalPos())
4848

4949
def startDrag(self, event):
5050
""" Override startDrag method to display custom icon """

0 commit comments

Comments
 (0)