Skip to content

Commit 281b1c7

Browse files
committed
Fix FileOpenEvent with custom URL not being handled
1 parent c06120b commit 281b1c7

File tree

1 file changed

+13
-8
lines changed

1 file changed

+13
-8
lines changed

picard/tagger.py

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -801,14 +801,19 @@ def event(self, event):
801801
if isinstance(event, thread.ProxyToMainEvent):
802802
event.run()
803803
elif event.type() == QtCore.QEvent.Type.FileOpen:
804-
file = event.file()
805-
self.add_paths([file])
806-
if IS_HAIKU:
807-
self.bring_tagger_front()
808-
# We should just return True here, except that seems to
809-
# cause the event's sender to get a -9874 error, so
810-
# apparently there's some magic inside QFileOpenEvent...
811-
return 1
804+
url = event.url()
805+
log.debug('Received file open event: %r', url)
806+
if url.isLocalFile():
807+
self.add_paths([url.toLocalFile()])
808+
if IS_HAIKU:
809+
self.bring_tagger_front()
810+
# We should just return True here, except that seems to
811+
# cause the event's sender to get a -9874 error, so
812+
# apparently there's some magic inside QFileOpenEvent...
813+
return 1
814+
elif url.scheme() == PICARD_CUSTOM_PROTOCOL:
815+
self.browser_integration.url_handler(url)
816+
return 1
812817
return super().event(event)
813818

814819
def _file_loaded(self, file, target=None, remove_file=False, unmatched_files=None):

0 commit comments

Comments
 (0)