2
2
import shutil
3
3
import typing
4
4
5
- from PySide6 .QtCore import QThreadPool ,Qt ,QMimeData ,QUrl
6
- from PySide6 .QtGui import QDropEvent , QDragEnterEvent ,QImage , QDragMoveEvent ,QMouseEvent ,QDrag ,QDragLeaveEvent
5
+ from PySide6 .QtCore import QThreadPool , Qt , QMimeData , QUrl
6
+ from PySide6 .QtGui import (
7
+ QDropEvent ,
8
+ QDragEnterEvent ,
9
+ QDragMoveEvent ,
10
+ QMouseEvent ,
11
+ QDrag ,
12
+ QDragLeaveEvent ,
13
+ )
7
14
from PySide6 .QtWidgets import QMessageBox
8
- from src .qt .widgets import ProgressWidget
9
- from src .qt .helpers import FunctionIterator , CustomRunnable
10
-
11
- from ctypes import wintypes ,windll
15
+ from src .qt .widgets .progress import ProgressWidget
16
+ from src .qt .helpers .function_iterator import FunctionIterator
17
+ from src .qt .helpers .custom_runnable import CustomRunnable
12
18
13
19
if typing .TYPE_CHECKING :
14
20
from src .qt .ts_qt import QtDriver
15
21
16
22
import logging
17
23
24
+
18
25
class DropImport :
19
26
def __init__ (self , driver : "QtDriver" ):
20
27
self .driver = driver
21
-
22
- def mouseMoveEvent (self ,event :QMouseEvent ):
23
- if event .buttons () is not Qt .MouseButton .LeftButton : return
24
- if len (self .driver .selected ) == 0 : return
25
-
28
+
29
+ def mouseMoveEvent (self , event : QMouseEvent ):
30
+ if event .buttons () is not Qt .MouseButton .LeftButton :
31
+ return
32
+ if len (self .driver .selected ) == 0 :
33
+ return
34
+
26
35
drag = QDrag (self .driver )
27
36
paths = []
28
37
mimedata = QMimeData ()
29
- for selected in self .driver .selected :
30
- entry = self .driver .lib .get_entry (selected [1 ])
31
- url = QUrl .fromLocalFile (self .driver .lib .library_dir + "/" + entry .path + "/" + entry .filename )
38
+ for selected in self .driver .selected :
39
+ entry = self .driver .lib .get_entry (selected [1 ])
40
+ url = QUrl .fromLocalFile (
41
+ self .driver .lib .library_dir + "/" + entry .path + "/" + entry .filename
42
+ )
32
43
paths .append (url )
33
-
44
+
34
45
mimedata .setUrls (paths )
35
46
drag .setMimeData (mimedata )
36
47
drag .exec (Qt .DropAction .CopyAction )
37
-
48
+
38
49
def dropEvent (self , event : QDropEvent ):
39
- if event .source () is self .driver : # change that if you want to drop something originating from tagstudio, for moving or so
50
+ if (
51
+ event .source () is self .driver
52
+ ): # change that if you want to drop something originating from tagstudio, for moving or so
40
53
return
41
54
42
55
if not event .mimeData ().hasUrls ():
@@ -45,7 +58,7 @@ def dropEvent(self, event: QDropEvent):
45
58
self .urls = event .mimeData ().urls ()
46
59
self .import_files ()
47
60
48
- def dragLeaveEvent (self ,event :QDragLeaveEvent ):
61
+ def dragLeaveEvent (self , event : QDragLeaveEvent ):
49
62
if event .mimeData ().hasUrls ():
50
63
event .accept ()
51
64
else :
@@ -244,5 +257,3 @@ def get_renamed_duplicate_filename_in_lib(self, filePath: Path) -> str:
244
257
)
245
258
index += 1
246
259
return filePath .name
247
-
248
-
0 commit comments