1
0
mirror of https://github.com/ciromattia/kcc synced 2025-12-13 17:56:30 +00:00

Added drag & drop support

This commit is contained in:
Paweł Jastrzębski
2014-01-16 22:11:06 +01:00
parent c7e9d883fa
commit 170064853c

View File

@@ -712,6 +712,7 @@ class KCCGUI(KCC_ui.Ui_KCC):
icon.addPixmap(QtGui.QPixmap(":/Other/icons/convert.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
GUI.ConvertButton.setIcon(icon)
GUI.ConvertButton.setText('Convert')
GUI.Form.setAcceptDrops(True)
else:
self.conversionAlive = True
self.worker.sync()
@@ -719,6 +720,7 @@ class KCCGUI(KCC_ui.Ui_KCC):
icon.addPixmap(QtGui.QPixmap(":/Other/icons/clear.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
GUI.ConvertButton.setIcon(icon)
GUI.ConvertButton.setText('Abort')
GUI.Form.setAcceptDrops(False)
def toggleWebtoonBox(self, value):
if value:
@@ -943,6 +945,7 @@ class KCCGUI(KCC_ui.Ui_KCC):
def handleMessage(self, message):
MW.raise_()
MW.activateWindow()
if type(message) is bytes:
message = message.decode('UTF-8')
if not self.conversionAlive and message != 'ARISE':
if self.needClean:
@@ -967,6 +970,16 @@ class KCCGUI(KCC_ui.Ui_KCC):
else:
self.addMessage('This file type is unsupported!', 'error')
def dragAndDrop(self, e):
e.accept()
def dragAndDropAccepted(self, e):
for message in e.mimeData().urls():
message = urllib.parse.unquote(message.toString().replace('file:///', ''))
if sys.platform.startswith('win'):
message = message.replace('/', '\\')
self.handleMessage(message)
# noinspection PyArgumentList
def __init__(self, KCCAplication, KCCWindow):
global APP, MW, GUI
@@ -1152,6 +1165,10 @@ class KCCGUI(KCC_ui.Ui_KCC):
MW.hideProgressBar.connect(self.hideProgressBar)
MW.closeEvent = self.saveSettings
GUI.Form.setAcceptDrops(True)
GUI.Form.dragEnterEvent = self.dragAndDrop
GUI.Form.dropEvent = self.dragAndDropAccepted
for profile in profilesGUI:
if profile == "Other":
GUI.DeviceBox.addItem(self.icons.deviceOther, profile)