import inspect
import os

from PyQt6.QtWidgets import QDockWidget
from PyQt6.uic import loadUi


class QDropMenu(QDockWidget):
    def __init__(self, parent=None, widget=None, main=None):
        QDockWidget.__init__(self, parent)

        self.ScriptYolu = os.path.dirname(os.path.abspath(
            inspect.getfile(inspect.currentframe())))
        self.ui = loadUi(self.ScriptYolu + r'\\dockDropMenu.ui', self)
        # --->
        self.main = main

    def dragEnterEvent(self, event):
        if event.mimeData().hasUrls():
            if len(event.mimeData().urls()) <= 1:
                uzanti = str(event.mimeData().urls()[0].toLocalFile()).split(".")[-1]
                if uzanti == "fikoPostVT":
                    event.accept()
                elif uzanti == "aptsource":
                    event.accept()
        else:
            event.ignore()

    def dropEvent(self, event):
        for url in event.mimeData().urls():
            path = url.toLocalFile()
            uzanti = str(path).split(".")[-1]
            if uzanti == "fikoPostVT":
                self.main.dosyaFikoVtSecildi(path)
            elif uzanti == "aptsource":
                self.main.dosyaAptSourceSecildi(path)

