Source code for RWESharp.widgets.LevelTabs
import traceback
from PySide6.QtWidgets import QTabWidget
from PySide6.QtCore import Qt
[docs]
class LevelTabs(QTabWidget):
[docs]
def __init__(self, parent=None):
super().__init__(parent)
self.setAcceptDrops(True)
self.setMovable(True)
self.manager = None
[docs]
def dragEnterEvent(self, event):
if event.mimeData().hasUrls:
event.accept()
else:
event.ignore()
[docs]
def dragMoveEvent(self, event):
if event.mimeData().hasUrls:
event.setDropAction(Qt.DropAction.CopyAction)
event.accept()
else:
event.ignore()
[docs]
def dropEvent(self, event, /):
if event.mimeData().hasUrls:
event.setDropAction(Qt.DropAction.CopyAction)
event.accept()
links = []
for url in event.mimeData().urls():
links.append(str(url.toLocalFile()))
from RWESharp.Level.RWELevel import RWELevel
for i in links:
try:
level = RWELevel(self.manager, i)
self.manager.open_level(level)
except:
traceback.print_exc()
else:
event.ignore()