Skip to content

Commit

Permalink
accept/ignore drop events
Browse files Browse the repository at this point in the history
  • Loading branch information
danielhrisca committed Mar 25, 2024
1 parent 3242858 commit a4ab68d
Show file tree
Hide file tree
Showing 7 changed files with 18 additions and 33 deletions.
2 changes: 2 additions & 0 deletions src/asammdf/gui/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,8 @@
]
COLORS_COUNT = len(COLORS)

SUPPORTED_FILE_EXTENSIONS = {".csv", ".zip", ".erg", ".dat", ".mdf", ".mf4", ".mf4z"}

GREEN = "#599e5e"
BLUE = "#61b2e2"

Expand Down
21 changes: 3 additions & 18 deletions src/asammdf/gui/widgets/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
from PySide6 import QtCore, QtGui, QtWidgets

from ...version import __version__ as libversion
from .. import utils
from ..dialogs.bus_database_manager import BusDatabaseManagerDialog
from ..dialogs.dependencies_dlg import DependenciesDlg
from ..dialogs.functions_manager import FunctionsManagerDialog
Expand Down Expand Up @@ -1274,31 +1275,15 @@ def dropEvent(self, e):
if self.stackedWidget.currentIndex() == 0:
for path in e.mimeData().text().splitlines():
path = Path(path.replace(r"file:///", ""))
if path.suffix.lower() in (
".csv",
".zip",
".erg",
".dat",
".mdf",
".mf4",
".mf4z",
):
if path.suffix.lower() in utils.SUPPORTED_FILE_EXTENSIONS:
self._open_file(path)
else:
icon = QtGui.QIcon()
icon.addPixmap(QtGui.QPixmap(":/file.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)

for path in e.mimeData().text().splitlines():
path = Path(path.replace(r"file:///", ""))
if path.suffix.lower() in (
".csv",
".zip",
".erg",
".dat",
".mdf",
".mf4",
".mf4z",
):
if path.suffix.lower() in utils.SUPPORTED_FILE_EXTENSIONS:
row = self.batch.files_list.count()
self.batch.files_list.addItem(str(path))
self.batch.files_list.item(row).setIcon(icon)
Expand Down
13 changes: 3 additions & 10 deletions src/asammdf/gui/widgets/mdi_area.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@
)
from ...blocks.v4_blocks import EventBlock, HeaderBlock
from ...signal import Signal
from .. import utils
from ..dialogs.advanced_search import AdvancedSearch
from ..dialogs.channel_info import ChannelInfoDialog
from ..dialogs.messagebox import MessageBox
Expand Down Expand Up @@ -585,15 +586,7 @@ def dropEvent(self, e):
try:
for path in e.mimeData().text().splitlines():
path = Path(path.replace(r"file:///", ""))
if path.suffix.lower() in (
".csv",
".zip",
".erg",
".dat",
".mdf",
".mf4",
".mf4z",
):
if path.suffix.lower() in utils.SUPPORTED_FILE_EXTENSIONS:
self.open_file_request.emit(str(path))
except:
print(format_exc())
Expand Down Expand Up @@ -3782,7 +3775,7 @@ def _load_tabular_window(self, window_info):

for name in sorted(required - found):
vals = np.empty(dim)
vals.fill(np.NaN)
vals.fill(np.nan)
signals[name] = pd.Series(vals, index=signals.index)

tabular = Tabular(
Expand Down
3 changes: 3 additions & 0 deletions src/asammdf/gui/widgets/numeric.py
Original file line number Diff line number Diff line change
Expand Up @@ -887,6 +887,9 @@ def dropEvent(self, e):
if data.hasFormat("application/octet-stream-asammdf"):
names = extract_mime_names(data)
self.add_channels_request.emit(names)
e.accept()
else:
e.ignore()

def edit_ranges(self, index):
if not self.double_clicked_enabled or not index.isValid():
Expand Down
4 changes: 2 additions & 2 deletions src/asammdf/gui/widgets/plot.py
Original file line number Diff line number Diff line change
Expand Up @@ -2551,7 +2551,7 @@ def dropEvent(self, e):
names = extract_mime_names(data)
self.add_channels_request.emit(names)
else:
super().dropEvent(e)
e.ignore()

def flash_curve(self, item, column):
if self.plot.cursor1:
Expand Down Expand Up @@ -4251,7 +4251,7 @@ def dropEvent(self, e):
names = extract_mime_names(data)
self.add_channels_request.emit(names)
else:
super().dropEvent(e)
e.ignore()

def edit_computation(self, item):
signal = item.signal
Expand Down
5 changes: 3 additions & 2 deletions src/asammdf/gui/widgets/tabular_base.py
Original file line number Diff line number Diff line change
Expand Up @@ -449,14 +449,15 @@ def dragEnterEvent(self, e):

def dropEvent(self, e):
if e.source() is self:
return
e.ignore()
else:
data = e.mimeData()
if data.hasFormat("application/octet-stream-asammdf"):
names = extract_mime_names(data)
self.add_channels_request.emit(names)
e.accept()
else:
return
e.ignore()

def keyPressEvent(self, event):
key = event.key()
Expand Down
3 changes: 2 additions & 1 deletion src/asammdf/gui/widgets/tree.py
Original file line number Diff line number Diff line change
Expand Up @@ -529,8 +529,9 @@ def dropEvent(self, e):
self.drop_target = item

self.add_channels_request.emit(names)
e.accept()
else:
super().dropEvent(e)
e.ignore()

self.refresh()
self.update_channel_groups_count()
Expand Down

0 comments on commit a4ab68d

Please sign in to comment.