Skip to content

Commit

Permalink
fix handling of Lab files in the modify and export view
Browse files Browse the repository at this point in the history
  • Loading branch information
danielhrisca committed Apr 5, 2023
1 parent b481e45 commit 8e9500a
Show file tree
Hide file tree
Showing 2 changed files with 34 additions and 10 deletions.
42 changes: 33 additions & 9 deletions src/asammdf/gui/widgets/file.py
Original file line number Diff line number Diff line change
Expand Up @@ -1288,10 +1288,13 @@ def load_filter_list(self, event=None, file_name=None):
iterator = QtWidgets.QTreeWidgetItemIterator(self.filter_tree)

if self.filter_view.currentText() == "Internal file structure":
while iterator.value():
while True:
item = iterator.value()
if item is None:
break
iterator += 1

if item.parent() is None:
iterator += 1
continue

channel_name = item.text(0)
Expand All @@ -1301,10 +1304,11 @@ def load_filter_list(self, event=None, file_name=None):
else:
item.setCheckState(0, QtCore.Qt.Unchecked)

iterator += 1
elif self.filter_view.currentText() == "Natural sort":
while iterator.value():
while True:
item = iterator.value()
if item is None:
break

channel_name = item.text(0)
if channel_name in channels:
Expand All @@ -1319,6 +1323,8 @@ def load_filter_list(self, event=None, file_name=None):
items = []
self.filter_tree.clear()

self._selected_filter = set(channels)

for i, gp in enumerate(self.mdf.groups):
for j, ch in enumerate(gp.channels):
if ch.name in channels:
Expand All @@ -1327,7 +1333,6 @@ def load_filter_list(self, event=None, file_name=None):
channel.setText(0, ch.name)
channel.setCheckState(0, QtCore.Qt.Checked)
items.append(channel)

channels.pop(channels.index(ch.name))

if len(items) < 30000:
Expand All @@ -1336,6 +1341,8 @@ def load_filter_list(self, event=None, file_name=None):
items.sort(key=lambda x: x.name)
self.filter_tree.addTopLevelItems(items)

self.update_selected_filter_channels()

def compute_cut_hints(self):
t_min = []
t_max = []
Expand Down Expand Up @@ -2965,11 +2972,28 @@ def raster_search(self, event):

def filter_changed(self, item, column):
name = item.text(0)
if item.checkState(0) == QtCore.Qt.Checked:
self._selected_filter.add(name)
if self.filter_view.currentText() == "Internal file structure":
if item.checkState(0) == QtCore.Qt.Checked and item.parent() is not None:
self._selected_filter.add(name)
else:
if name in self._selected_filter:
self._selected_filter.remove(name)

elif self.filter_view.currentText() == "Natural sort":
if item.checkState(0) == QtCore.Qt.Checked:
self._selected_filter.add(name)
else:
if name in self._selected_filter:
self._selected_filter.remove(name)

else:
if name in self._selected_filter:
self._selected_filter.remove(name)
if item.checkState(0) == QtCore.Qt.Checked:
self._selected_filter.add(name)
else:
if name in self._selected_filter:
self._selected_filter.remove(name)
self._update_channel_tree(widget=self.filter_tree)

self._filter_timer.start(10)

def update_selected_filter_channels(self):
Expand Down
2 changes: 1 addition & 1 deletion src/asammdf/version.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# -*- coding: utf-8 -*-
""" asammdf version module """

__version__ = "7.3.10"
__version__ = "7.3.11"

0 comments on commit 8e9500a

Please sign in to comment.