diff --git a/src/View/Debug/Table.py b/src/View/Debug/Table.py
index ce4c8f2b..cd9e9d5e 100644
--- a/src/View/Debug/Table.py
+++ b/src/View/Debug/Table.py
@@ -19,7 +19,7 @@
import logging
from functools import reduce
-from tools import trace, timer, _timers, _calls
+from tools import trace, timer, _timers, _calls, reset_timers
from PyQt5.QtCore import (
Qt, QVariant, QAbstractTableModel,
@@ -59,6 +59,10 @@ class TableModel(PamhyrTableModel):
self._setup_lst()
self.layoutChanged.emit()
+ def reset_timers(self):
+ reset_timers()
+ self.update_lst()
+
def data(self, index, role):
row = index.row()
column = index.column()
@@ -72,3 +76,7 @@ class TableModel(PamhyrTableModel):
return self._lst[row][2]
return QVariant()
+
+ def to_csv(self):
+ data = "\n".join(map(lambda x: f"{x[0]},{x[1]},{x[2]}", self._lst))
+ return f"""name,time,calls\n{data}\n"""
diff --git a/src/View/Debug/Window.py b/src/View/Debug/Window.py
index e93ec9bf..5ffc1c31 100644
--- a/src/View/Debug/Window.py
+++ b/src/View/Debug/Window.py
@@ -140,7 +140,7 @@ class TimerWindow(PamhyrWindow):
self._alarm.start(2000)
def setup_connections(self):
- self.find(QAction, "action_reset").triggered.connect(self.reset)
+ # self.find(QAction, "action_reset").triggered.connect(self.reset)
self.find(QAction, "action_export").triggered.connect(self.export)
self._alarm.timeout.connect(self.update)
@@ -148,8 +148,19 @@ class TimerWindow(PamhyrWindow):
def update(self):
self._table.update_lst()
- def reset(self):
- return
+ # def reset(self):
+ # self._table.reset_timers()
def export(self):
- return
+ self.file_dialog(
+ select_file="AnyFile",
+ callback=lambda f: self.export_to(f[0]),
+ default_suffix=".csv",
+ file_filter=["CSV file (*.csv)"],
+ )
+
+ def export_to(self, filename):
+ csv = self._table.to_csv()
+
+ with open(filename, 'w', newline='') as csvfile:
+ csvfile.write(csv)
diff --git a/src/View/ui/DebugTimer.ui b/src/View/ui/DebugTimer.ui
index 0a4a99f4..cc8a2132 100644
--- a/src/View/ui/DebugTimer.ui
+++ b/src/View/ui/DebugTimer.ui
@@ -41,7 +41,6 @@
false
-