mirror of
https://github.com/283375/arcaea-offline-pyside-ui.git
synced 2025-07-01 04:16:26 +00:00
impr: FileSelector
drop support
This commit is contained in:
@ -1,4 +1,5 @@
|
||||
from PySide6.QtCore import QDir, QFileInfo, Qt, Signal, Slot
|
||||
from PySide6.QtGui import QDragEnterEvent, QDragLeaveEvent, QDropEvent
|
||||
from PySide6.QtWidgets import QFileDialog, QWidget
|
||||
|
||||
from ui.designer.components.fileSelector_ui import Ui_FileSelector
|
||||
@ -28,6 +29,26 @@ class FileSelector(Ui_FileSelector, QWidget):
|
||||
|
||||
self.settingsKey = None
|
||||
|
||||
self.setAcceptDrops(True)
|
||||
|
||||
def dragEnterEvent(self, event: QDragEnterEvent):
|
||||
if event.mimeData().hasUrls() and event.mimeData().urls()[0].isLocalFile():
|
||||
event.accept()
|
||||
self.elidedLabel.setText(
|
||||
f'Drop "{QFileInfo(event.mimeData().urls()[0].toLocalFile()).fileName()}"?'
|
||||
)
|
||||
return
|
||||
return super().dragEnterEvent(event)
|
||||
|
||||
def dragLeaveEvent(self, event: QDragLeaveEvent):
|
||||
self.updateLabel()
|
||||
return super().dragLeaveEvent(event)
|
||||
|
||||
def dropEvent(self, event: QDropEvent):
|
||||
url = event.mimeData().urls()[0]
|
||||
file = url.toLocalFile()
|
||||
self.selectFile(file)
|
||||
|
||||
def getOpenFileNames(self):
|
||||
selectedFiles, filter = QFileDialog.getOpenFileNames(
|
||||
self,
|
||||
|
Reference in New Issue
Block a user