accusleepy 0.6.0__py3-none-any.whl → 0.7.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -12,6 +12,7 @@ from PySide6.QtCore import QCoreApplication, QMetaObject, QRect, QSize, Qt
12
12
  from PySide6.QtGui import QBrush, QColor, QFont, QIcon, QPalette
13
13
  from PySide6.QtWidgets import (
14
14
  QCheckBox,
15
+ QComboBox,
15
16
  QDoubleSpinBox,
16
17
  QFrame,
17
18
  QGridLayout,
@@ -25,6 +26,7 @@ from PySide6.QtWidgets import (
25
26
  QSizePolicy,
26
27
  QSpacerItem,
27
28
  QSpinBox,
29
+ QStackedWidget,
28
30
  QTabWidget,
29
31
  QTextBrowser,
30
32
  QVBoxLayout,
@@ -980,23 +982,92 @@ class Ui_PrimaryWindow(object):
980
982
  self.settings_tab_layout.setHorizontalSpacing(20)
981
983
  self.settings_tab_layout.setVerticalSpacing(10)
982
984
  self.settings_tab_layout.setContentsMargins(20, 20, 20, -1)
983
- self.settings_description_layout = QVBoxLayout()
984
- self.settings_description_layout.setObjectName("settings_description_layout")
985
- self.settings_text = QLabel(self.settings_tab)
986
- self.settings_text.setObjectName("settings_text")
987
- self.settings_text.setStyleSheet("background-color: white;")
988
- self.settings_text.setMargin(16)
985
+ self.verticalLayout_3 = QVBoxLayout()
986
+ self.verticalLayout_3.setObjectName("verticalLayout_3")
987
+ self.saveconfig_layout = QHBoxLayout()
988
+ self.saveconfig_layout.setObjectName("saveconfig_layout")
989
+ self.horizontalSpacer_79 = QSpacerItem(
990
+ 40, 20, QSizePolicy.Policy.Preferred, QSizePolicy.Policy.Minimum
991
+ )
989
992
 
990
- self.settings_description_layout.addWidget(self.settings_text)
993
+ self.saveconfig_layout.addItem(self.horizontalSpacer_79)
994
+
995
+ self.save_config_button = QPushButton(self.settings_tab)
996
+ self.save_config_button.setObjectName("save_config_button")
997
+ sizePolicy1.setHeightForWidth(
998
+ self.save_config_button.sizePolicy().hasHeightForWidth()
999
+ )
1000
+ self.save_config_button.setSizePolicy(sizePolicy1)
1001
+
1002
+ self.saveconfig_layout.addWidget(self.save_config_button)
1003
+
1004
+ self.save_config_status = QLabel(self.settings_tab)
1005
+ self.save_config_status.setObjectName("save_config_status")
1006
+ sizePolicy3.setHeightForWidth(
1007
+ self.save_config_status.sizePolicy().hasHeightForWidth()
1008
+ )
1009
+ self.save_config_status.setSizePolicy(sizePolicy3)
1010
+ self.save_config_status.setStyleSheet("background-color: transparent;")
1011
+
1012
+ self.saveconfig_layout.addWidget(self.save_config_status)
1013
+
1014
+ self.saveconfig_layout.setStretch(0, 10)
1015
+ self.saveconfig_layout.setStretch(1, 2)
1016
+ self.saveconfig_layout.setStretch(2, 10)
1017
+
1018
+ self.verticalLayout_3.addLayout(self.saveconfig_layout)
1019
+
1020
+ self.verticalSpacer_2 = QSpacerItem(
1021
+ 20, 40, QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Expanding
1022
+ )
1023
+
1024
+ self.verticalLayout_3.addItem(self.verticalSpacer_2)
1025
+
1026
+ self.settings_tab_layout.addLayout(self.verticalLayout_3, 2, 0, 1, 1)
1027
+
1028
+ self.settings_layout = QVBoxLayout()
1029
+ self.settings_layout.setObjectName("settings_layout")
1030
+ self.settings_combo_layout = QHBoxLayout()
1031
+ self.settings_combo_layout.setSpacing(20)
1032
+ self.settings_combo_layout.setObjectName("settings_combo_layout")
1033
+ self.settings_combobox = QComboBox(self.settings_tab)
1034
+ self.settings_combobox.addItem("")
1035
+ self.settings_combobox.addItem("")
1036
+ self.settings_combobox.addItem("")
1037
+ self.settings_combobox.addItem("")
1038
+ self.settings_combobox.setObjectName("settings_combobox")
1039
+ sizePolicy3.setHeightForWidth(
1040
+ self.settings_combobox.sizePolicy().hasHeightForWidth()
1041
+ )
1042
+ self.settings_combobox.setSizePolicy(sizePolicy3)
1043
+
1044
+ self.settings_combo_layout.addWidget(self.settings_combobox)
1045
+
1046
+ self.horizontalSpacer_89 = QSpacerItem(
1047
+ 5, 5, QSizePolicy.Policy.Preferred, QSizePolicy.Policy.Minimum
1048
+ )
1049
+
1050
+ self.settings_combo_layout.addItem(self.horizontalSpacer_89)
1051
+
1052
+ self.settings_combo_layout.setStretch(0, 1)
1053
+ self.settings_combo_layout.setStretch(1, 3)
991
1054
 
992
- self.settings_tab_layout.addLayout(self.settings_description_layout, 0, 1, 1, 1)
1055
+ self.settings_layout.addLayout(self.settings_combo_layout)
993
1056
 
1057
+ self.settings_stack = QStackedWidget(self.settings_tab)
1058
+ self.settings_stack.setObjectName("settings_stack")
1059
+ self.brain_state_page = QWidget()
1060
+ self.brain_state_page.setObjectName("brain_state_page")
1061
+ self.horizontalLayout_80 = QHBoxLayout(self.brain_state_page)
1062
+ self.horizontalLayout_80.setSpacing(20)
1063
+ self.horizontalLayout_80.setObjectName("horizontalLayout_80")
994
1064
  self.settings_controls_layout = QVBoxLayout()
1065
+ self.settings_controls_layout.setSpacing(10)
995
1066
  self.settings_controls_layout.setObjectName("settings_controls_layout")
996
1067
  self.horizontalLayout_3 = QHBoxLayout()
997
1068
  self.horizontalLayout_3.setSpacing(10)
998
1069
  self.horizontalLayout_3.setObjectName("horizontalLayout_3")
999
- self.label_15 = QLabel(self.settings_tab)
1070
+ self.label_15 = QLabel(self.brain_state_page)
1000
1071
  self.label_15.setObjectName("label_15")
1001
1072
  sizePolicy3.setHeightForWidth(self.label_15.sizePolicy().hasHeightForWidth())
1002
1073
  self.label_15.setSizePolicy(sizePolicy3)
@@ -1004,7 +1075,7 @@ class Ui_PrimaryWindow(object):
1004
1075
 
1005
1076
  self.horizontalLayout_3.addWidget(self.label_15)
1006
1077
 
1007
- self.label_14 = QLabel(self.settings_tab)
1078
+ self.label_14 = QLabel(self.brain_state_page)
1008
1079
  self.label_14.setObjectName("label_14")
1009
1080
  sizePolicy3.setHeightForWidth(self.label_14.sizePolicy().hasHeightForWidth())
1010
1081
  self.label_14.setSizePolicy(sizePolicy3)
@@ -1012,7 +1083,7 @@ class Ui_PrimaryWindow(object):
1012
1083
 
1013
1084
  self.horizontalLayout_3.addWidget(self.label_14)
1014
1085
 
1015
- self.label_16 = QLabel(self.settings_tab)
1086
+ self.label_16 = QLabel(self.brain_state_page)
1016
1087
  self.label_16.setObjectName("label_16")
1017
1088
  sizePolicy3.setHeightForWidth(self.label_16.sizePolicy().hasHeightForWidth())
1018
1089
  self.label_16.setSizePolicy(sizePolicy3)
@@ -1020,7 +1091,7 @@ class Ui_PrimaryWindow(object):
1020
1091
 
1021
1092
  self.horizontalLayout_3.addWidget(self.label_16)
1022
1093
 
1023
- self.label_13 = QLabel(self.settings_tab)
1094
+ self.label_13 = QLabel(self.brain_state_page)
1024
1095
  self.label_13.setObjectName("label_13")
1025
1096
  sizePolicy3.setHeightForWidth(self.label_13.sizePolicy().hasHeightForWidth())
1026
1097
  self.label_13.setSizePolicy(sizePolicy3)
@@ -1028,7 +1099,7 @@ class Ui_PrimaryWindow(object):
1028
1099
 
1029
1100
  self.horizontalLayout_3.addWidget(self.label_13)
1030
1101
 
1031
- self.label_18 = QLabel(self.settings_tab)
1102
+ self.label_18 = QLabel(self.brain_state_page)
1032
1103
  self.label_18.setObjectName("label_18")
1033
1104
  sizePolicy6 = QSizePolicy(QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Fixed)
1034
1105
  sizePolicy6.setHorizontalStretch(0)
@@ -1052,7 +1123,7 @@ class Ui_PrimaryWindow(object):
1052
1123
  self.horizontalLayout_17.setObjectName("horizontalLayout_17")
1053
1124
  self.horizontalLayout_19 = QHBoxLayout()
1054
1125
  self.horizontalLayout_19.setObjectName("horizontalLayout_19")
1055
- self.label_12 = QLabel(self.settings_tab)
1126
+ self.label_12 = QLabel(self.brain_state_page)
1056
1127
  self.label_12.setObjectName("label_12")
1057
1128
  sizePolicy.setHeightForWidth(self.label_12.sizePolicy().hasHeightForWidth())
1058
1129
  self.label_12.setSizePolicy(sizePolicy)
@@ -1073,7 +1144,7 @@ class Ui_PrimaryWindow(object):
1073
1144
 
1074
1145
  self.horizontalLayout_20.addItem(self.horizontalSpacer_12)
1075
1146
 
1076
- self.enable_state_1 = QCheckBox(self.settings_tab)
1147
+ self.enable_state_1 = QCheckBox(self.brain_state_page)
1077
1148
  self.enable_state_1.setObjectName("enable_state_1")
1078
1149
  sizePolicy1.setHeightForWidth(
1079
1150
  self.enable_state_1.sizePolicy().hasHeightForWidth()
@@ -1090,7 +1161,7 @@ class Ui_PrimaryWindow(object):
1090
1161
 
1091
1162
  self.horizontalLayout_17.addLayout(self.horizontalLayout_20)
1092
1163
 
1093
- self.state_name_1 = QLineEdit(self.settings_tab)
1164
+ self.state_name_1 = QLineEdit(self.brain_state_page)
1094
1165
  self.state_name_1.setObjectName("state_name_1")
1095
1166
  sizePolicy3.setHeightForWidth(
1096
1167
  self.state_name_1.sizePolicy().hasHeightForWidth()
@@ -1108,7 +1179,7 @@ class Ui_PrimaryWindow(object):
1108
1179
 
1109
1180
  self.horizontalLayout_21.addItem(self.horizontalSpacer_14)
1110
1181
 
1111
- self.state_scored_1 = QCheckBox(self.settings_tab)
1182
+ self.state_scored_1 = QCheckBox(self.brain_state_page)
1112
1183
  self.state_scored_1.setObjectName("state_scored_1")
1113
1184
  sizePolicy1.setHeightForWidth(
1114
1185
  self.state_scored_1.sizePolicy().hasHeightForWidth()
@@ -1134,7 +1205,7 @@ class Ui_PrimaryWindow(object):
1134
1205
 
1135
1206
  self.horizontalLayout_22.addItem(self.horizontalSpacer_10)
1136
1207
 
1137
- self.state_frequency_1 = QDoubleSpinBox(self.settings_tab)
1208
+ self.state_frequency_1 = QDoubleSpinBox(self.brain_state_page)
1138
1209
  self.state_frequency_1.setObjectName("state_frequency_1")
1139
1210
  self.state_frequency_1.setMaximum(1.000000000000000)
1140
1211
  self.state_frequency_1.setSingleStep(0.010000000000000)
@@ -1162,7 +1233,7 @@ class Ui_PrimaryWindow(object):
1162
1233
  self.horizontalLayout_16.setObjectName("horizontalLayout_16")
1163
1234
  self.horizontalLayout_23 = QHBoxLayout()
1164
1235
  self.horizontalLayout_23.setObjectName("horizontalLayout_23")
1165
- self.label_11 = QLabel(self.settings_tab)
1236
+ self.label_11 = QLabel(self.brain_state_page)
1166
1237
  self.label_11.setObjectName("label_11")
1167
1238
  sizePolicy.setHeightForWidth(self.label_11.sizePolicy().hasHeightForWidth())
1168
1239
  self.label_11.setSizePolicy(sizePolicy)
@@ -1181,7 +1252,7 @@ class Ui_PrimaryWindow(object):
1181
1252
 
1182
1253
  self.horizontalLayout_24.addItem(self.horizontalSpacer_16)
1183
1254
 
1184
- self.enable_state_2 = QCheckBox(self.settings_tab)
1255
+ self.enable_state_2 = QCheckBox(self.brain_state_page)
1185
1256
  self.enable_state_2.setObjectName("enable_state_2")
1186
1257
  sizePolicy1.setHeightForWidth(
1187
1258
  self.enable_state_2.sizePolicy().hasHeightForWidth()
@@ -1198,7 +1269,7 @@ class Ui_PrimaryWindow(object):
1198
1269
 
1199
1270
  self.horizontalLayout_16.addLayout(self.horizontalLayout_24)
1200
1271
 
1201
- self.state_name_2 = QLineEdit(self.settings_tab)
1272
+ self.state_name_2 = QLineEdit(self.brain_state_page)
1202
1273
  self.state_name_2.setObjectName("state_name_2")
1203
1274
  sizePolicy3.setHeightForWidth(
1204
1275
  self.state_name_2.sizePolicy().hasHeightForWidth()
@@ -1215,7 +1286,7 @@ class Ui_PrimaryWindow(object):
1215
1286
 
1216
1287
  self.horizontalLayout_26.addItem(self.horizontalSpacer_18)
1217
1288
 
1218
- self.state_scored_2 = QCheckBox(self.settings_tab)
1289
+ self.state_scored_2 = QCheckBox(self.brain_state_page)
1219
1290
  self.state_scored_2.setObjectName("state_scored_2")
1220
1291
  sizePolicy1.setHeightForWidth(
1221
1292
  self.state_scored_2.sizePolicy().hasHeightForWidth()
@@ -1241,7 +1312,7 @@ class Ui_PrimaryWindow(object):
1241
1312
 
1242
1313
  self.horizontalLayout_25.addItem(self.horizontalSpacer_52)
1243
1314
 
1244
- self.state_frequency_2 = QDoubleSpinBox(self.settings_tab)
1315
+ self.state_frequency_2 = QDoubleSpinBox(self.brain_state_page)
1245
1316
  self.state_frequency_2.setObjectName("state_frequency_2")
1246
1317
  self.state_frequency_2.setMaximum(1.000000000000000)
1247
1318
  self.state_frequency_2.setSingleStep(0.010000000000000)
@@ -1269,7 +1340,7 @@ class Ui_PrimaryWindow(object):
1269
1340
  self.horizontalLayout_15.setObjectName("horizontalLayout_15")
1270
1341
  self.horizontalLayout_28 = QHBoxLayout()
1271
1342
  self.horizontalLayout_28.setObjectName("horizontalLayout_28")
1272
- self.label_10 = QLabel(self.settings_tab)
1343
+ self.label_10 = QLabel(self.brain_state_page)
1273
1344
  self.label_10.setObjectName("label_10")
1274
1345
  sizePolicy.setHeightForWidth(self.label_10.sizePolicy().hasHeightForWidth())
1275
1346
  self.label_10.setSizePolicy(sizePolicy)
@@ -1288,7 +1359,7 @@ class Ui_PrimaryWindow(object):
1288
1359
 
1289
1360
  self.horizontalLayout_29.addItem(self.horizontalSpacer_20)
1290
1361
 
1291
- self.enable_state_3 = QCheckBox(self.settings_tab)
1362
+ self.enable_state_3 = QCheckBox(self.brain_state_page)
1292
1363
  self.enable_state_3.setObjectName("enable_state_3")
1293
1364
  sizePolicy1.setHeightForWidth(
1294
1365
  self.enable_state_3.sizePolicy().hasHeightForWidth()
@@ -1305,7 +1376,7 @@ class Ui_PrimaryWindow(object):
1305
1376
 
1306
1377
  self.horizontalLayout_15.addLayout(self.horizontalLayout_29)
1307
1378
 
1308
- self.state_name_3 = QLineEdit(self.settings_tab)
1379
+ self.state_name_3 = QLineEdit(self.brain_state_page)
1309
1380
  self.state_name_3.setObjectName("state_name_3")
1310
1381
  sizePolicy3.setHeightForWidth(
1311
1382
  self.state_name_3.sizePolicy().hasHeightForWidth()
@@ -1322,7 +1393,7 @@ class Ui_PrimaryWindow(object):
1322
1393
 
1323
1394
  self.horizontalLayout_30.addItem(self.horizontalSpacer_22)
1324
1395
 
1325
- self.state_scored_3 = QCheckBox(self.settings_tab)
1396
+ self.state_scored_3 = QCheckBox(self.brain_state_page)
1326
1397
  self.state_scored_3.setObjectName("state_scored_3")
1327
1398
  sizePolicy1.setHeightForWidth(
1328
1399
  self.state_scored_3.sizePolicy().hasHeightForWidth()
@@ -1348,7 +1419,7 @@ class Ui_PrimaryWindow(object):
1348
1419
 
1349
1420
  self.horizontalLayout_27.addItem(self.horizontalSpacer_55)
1350
1421
 
1351
- self.state_frequency_3 = QDoubleSpinBox(self.settings_tab)
1422
+ self.state_frequency_3 = QDoubleSpinBox(self.brain_state_page)
1352
1423
  self.state_frequency_3.setObjectName("state_frequency_3")
1353
1424
  self.state_frequency_3.setMaximum(1.000000000000000)
1354
1425
  self.state_frequency_3.setSingleStep(0.010000000000000)
@@ -1376,7 +1447,7 @@ class Ui_PrimaryWindow(object):
1376
1447
  self.horizontalLayout_14.setObjectName("horizontalLayout_14")
1377
1448
  self.horizontalLayout_31 = QHBoxLayout()
1378
1449
  self.horizontalLayout_31.setObjectName("horizontalLayout_31")
1379
- self.label_9 = QLabel(self.settings_tab)
1450
+ self.label_9 = QLabel(self.brain_state_page)
1380
1451
  self.label_9.setObjectName("label_9")
1381
1452
  sizePolicy.setHeightForWidth(self.label_9.sizePolicy().hasHeightForWidth())
1382
1453
  self.label_9.setSizePolicy(sizePolicy)
@@ -1395,7 +1466,7 @@ class Ui_PrimaryWindow(object):
1395
1466
 
1396
1467
  self.horizontalLayout_45.addItem(self.horizontalSpacer_24)
1397
1468
 
1398
- self.enable_state_4 = QCheckBox(self.settings_tab)
1469
+ self.enable_state_4 = QCheckBox(self.brain_state_page)
1399
1470
  self.enable_state_4.setObjectName("enable_state_4")
1400
1471
  sizePolicy1.setHeightForWidth(
1401
1472
  self.enable_state_4.sizePolicy().hasHeightForWidth()
@@ -1412,7 +1483,7 @@ class Ui_PrimaryWindow(object):
1412
1483
 
1413
1484
  self.horizontalLayout_14.addLayout(self.horizontalLayout_45)
1414
1485
 
1415
- self.state_name_4 = QLineEdit(self.settings_tab)
1486
+ self.state_name_4 = QLineEdit(self.brain_state_page)
1416
1487
  self.state_name_4.setObjectName("state_name_4")
1417
1488
  sizePolicy3.setHeightForWidth(
1418
1489
  self.state_name_4.sizePolicy().hasHeightForWidth()
@@ -1429,7 +1500,7 @@ class Ui_PrimaryWindow(object):
1429
1500
 
1430
1501
  self.horizontalLayout_52.addItem(self.horizontalSpacer_26)
1431
1502
 
1432
- self.state_scored_4 = QCheckBox(self.settings_tab)
1503
+ self.state_scored_4 = QCheckBox(self.brain_state_page)
1433
1504
  self.state_scored_4.setObjectName("state_scored_4")
1434
1505
  sizePolicy1.setHeightForWidth(
1435
1506
  self.state_scored_4.sizePolicy().hasHeightForWidth()
@@ -1455,7 +1526,7 @@ class Ui_PrimaryWindow(object):
1455
1526
 
1456
1527
  self.horizontalLayout_38.addItem(self.horizontalSpacer_57)
1457
1528
 
1458
- self.state_frequency_4 = QDoubleSpinBox(self.settings_tab)
1529
+ self.state_frequency_4 = QDoubleSpinBox(self.brain_state_page)
1459
1530
  self.state_frequency_4.setObjectName("state_frequency_4")
1460
1531
  self.state_frequency_4.setMaximum(1.000000000000000)
1461
1532
  self.state_frequency_4.setSingleStep(0.010000000000000)
@@ -1483,7 +1554,7 @@ class Ui_PrimaryWindow(object):
1483
1554
  self.horizontalLayout_13.setObjectName("horizontalLayout_13")
1484
1555
  self.horizontalLayout_32 = QHBoxLayout()
1485
1556
  self.horizontalLayout_32.setObjectName("horizontalLayout_32")
1486
- self.label_8 = QLabel(self.settings_tab)
1557
+ self.label_8 = QLabel(self.brain_state_page)
1487
1558
  self.label_8.setObjectName("label_8")
1488
1559
  sizePolicy.setHeightForWidth(self.label_8.sizePolicy().hasHeightForWidth())
1489
1560
  self.label_8.setSizePolicy(sizePolicy)
@@ -1502,7 +1573,7 @@ class Ui_PrimaryWindow(object):
1502
1573
 
1503
1574
  self.horizontalLayout_46.addItem(self.horizontalSpacer_29)
1504
1575
 
1505
- self.enable_state_5 = QCheckBox(self.settings_tab)
1576
+ self.enable_state_5 = QCheckBox(self.brain_state_page)
1506
1577
  self.enable_state_5.setObjectName("enable_state_5")
1507
1578
  sizePolicy1.setHeightForWidth(
1508
1579
  self.enable_state_5.sizePolicy().hasHeightForWidth()
@@ -1519,7 +1590,7 @@ class Ui_PrimaryWindow(object):
1519
1590
 
1520
1591
  self.horizontalLayout_13.addLayout(self.horizontalLayout_46)
1521
1592
 
1522
- self.state_name_5 = QLineEdit(self.settings_tab)
1593
+ self.state_name_5 = QLineEdit(self.brain_state_page)
1523
1594
  self.state_name_5.setObjectName("state_name_5")
1524
1595
  sizePolicy3.setHeightForWidth(
1525
1596
  self.state_name_5.sizePolicy().hasHeightForWidth()
@@ -1536,7 +1607,7 @@ class Ui_PrimaryWindow(object):
1536
1607
 
1537
1608
  self.horizontalLayout_53.addItem(self.horizontalSpacer_27)
1538
1609
 
1539
- self.state_scored_5 = QCheckBox(self.settings_tab)
1610
+ self.state_scored_5 = QCheckBox(self.brain_state_page)
1540
1611
  self.state_scored_5.setObjectName("state_scored_5")
1541
1612
  sizePolicy1.setHeightForWidth(
1542
1613
  self.state_scored_5.sizePolicy().hasHeightForWidth()
@@ -1562,7 +1633,7 @@ class Ui_PrimaryWindow(object):
1562
1633
 
1563
1634
  self.horizontalLayout_39.addItem(self.horizontalSpacer_59)
1564
1635
 
1565
- self.state_frequency_5 = QDoubleSpinBox(self.settings_tab)
1636
+ self.state_frequency_5 = QDoubleSpinBox(self.brain_state_page)
1566
1637
  self.state_frequency_5.setObjectName("state_frequency_5")
1567
1638
  self.state_frequency_5.setMaximum(1.000000000000000)
1568
1639
  self.state_frequency_5.setSingleStep(0.010000000000000)
@@ -1590,7 +1661,7 @@ class Ui_PrimaryWindow(object):
1590
1661
  self.horizontalLayout_12.setObjectName("horizontalLayout_12")
1591
1662
  self.horizontalLayout_33 = QHBoxLayout()
1592
1663
  self.horizontalLayout_33.setObjectName("horizontalLayout_33")
1593
- self.label_7 = QLabel(self.settings_tab)
1664
+ self.label_7 = QLabel(self.brain_state_page)
1594
1665
  self.label_7.setObjectName("label_7")
1595
1666
  sizePolicy.setHeightForWidth(self.label_7.sizePolicy().hasHeightForWidth())
1596
1667
  self.label_7.setSizePolicy(sizePolicy)
@@ -1609,7 +1680,7 @@ class Ui_PrimaryWindow(object):
1609
1680
 
1610
1681
  self.horizontalLayout_47.addItem(self.horizontalSpacer_32)
1611
1682
 
1612
- self.enable_state_6 = QCheckBox(self.settings_tab)
1683
+ self.enable_state_6 = QCheckBox(self.brain_state_page)
1613
1684
  self.enable_state_6.setObjectName("enable_state_6")
1614
1685
  sizePolicy1.setHeightForWidth(
1615
1686
  self.enable_state_6.sizePolicy().hasHeightForWidth()
@@ -1626,7 +1697,7 @@ class Ui_PrimaryWindow(object):
1626
1697
 
1627
1698
  self.horizontalLayout_12.addLayout(self.horizontalLayout_47)
1628
1699
 
1629
- self.state_name_6 = QLineEdit(self.settings_tab)
1700
+ self.state_name_6 = QLineEdit(self.brain_state_page)
1630
1701
  self.state_name_6.setObjectName("state_name_6")
1631
1702
  sizePolicy3.setHeightForWidth(
1632
1703
  self.state_name_6.sizePolicy().hasHeightForWidth()
@@ -1643,7 +1714,7 @@ class Ui_PrimaryWindow(object):
1643
1714
 
1644
1715
  self.horizontalLayout_54.addItem(self.horizontalSpacer_34)
1645
1716
 
1646
- self.state_scored_6 = QCheckBox(self.settings_tab)
1717
+ self.state_scored_6 = QCheckBox(self.brain_state_page)
1647
1718
  self.state_scored_6.setObjectName("state_scored_6")
1648
1719
  sizePolicy1.setHeightForWidth(
1649
1720
  self.state_scored_6.sizePolicy().hasHeightForWidth()
@@ -1669,7 +1740,7 @@ class Ui_PrimaryWindow(object):
1669
1740
 
1670
1741
  self.horizontalLayout_40.addItem(self.horizontalSpacer_61)
1671
1742
 
1672
- self.state_frequency_6 = QDoubleSpinBox(self.settings_tab)
1743
+ self.state_frequency_6 = QDoubleSpinBox(self.brain_state_page)
1673
1744
  self.state_frequency_6.setObjectName("state_frequency_6")
1674
1745
  self.state_frequency_6.setMaximum(1.000000000000000)
1675
1746
  self.state_frequency_6.setSingleStep(0.010000000000000)
@@ -1697,7 +1768,7 @@ class Ui_PrimaryWindow(object):
1697
1768
  self.horizontalLayout_9.setObjectName("horizontalLayout_9")
1698
1769
  self.horizontalLayout_34 = QHBoxLayout()
1699
1770
  self.horizontalLayout_34.setObjectName("horizontalLayout_34")
1700
- self.label_6 = QLabel(self.settings_tab)
1771
+ self.label_6 = QLabel(self.brain_state_page)
1701
1772
  self.label_6.setObjectName("label_6")
1702
1773
  sizePolicy.setHeightForWidth(self.label_6.sizePolicy().hasHeightForWidth())
1703
1774
  self.label_6.setSizePolicy(sizePolicy)
@@ -1716,7 +1787,7 @@ class Ui_PrimaryWindow(object):
1716
1787
 
1717
1788
  self.horizontalLayout_48.addItem(self.horizontalSpacer_36)
1718
1789
 
1719
- self.enable_state_7 = QCheckBox(self.settings_tab)
1790
+ self.enable_state_7 = QCheckBox(self.brain_state_page)
1720
1791
  self.enable_state_7.setObjectName("enable_state_7")
1721
1792
  sizePolicy1.setHeightForWidth(
1722
1793
  self.enable_state_7.sizePolicy().hasHeightForWidth()
@@ -1733,7 +1804,7 @@ class Ui_PrimaryWindow(object):
1733
1804
 
1734
1805
  self.horizontalLayout_9.addLayout(self.horizontalLayout_48)
1735
1806
 
1736
- self.state_name_7 = QLineEdit(self.settings_tab)
1807
+ self.state_name_7 = QLineEdit(self.brain_state_page)
1737
1808
  self.state_name_7.setObjectName("state_name_7")
1738
1809
  sizePolicy3.setHeightForWidth(
1739
1810
  self.state_name_7.sizePolicy().hasHeightForWidth()
@@ -1750,7 +1821,7 @@ class Ui_PrimaryWindow(object):
1750
1821
 
1751
1822
  self.horizontalLayout_55.addItem(self.horizontalSpacer_38)
1752
1823
 
1753
- self.state_scored_7 = QCheckBox(self.settings_tab)
1824
+ self.state_scored_7 = QCheckBox(self.brain_state_page)
1754
1825
  self.state_scored_7.setObjectName("state_scored_7")
1755
1826
  sizePolicy1.setHeightForWidth(
1756
1827
  self.state_scored_7.sizePolicy().hasHeightForWidth()
@@ -1776,7 +1847,7 @@ class Ui_PrimaryWindow(object):
1776
1847
 
1777
1848
  self.horizontalLayout_41.addItem(self.horizontalSpacer_63)
1778
1849
 
1779
- self.state_frequency_7 = QDoubleSpinBox(self.settings_tab)
1850
+ self.state_frequency_7 = QDoubleSpinBox(self.brain_state_page)
1780
1851
  self.state_frequency_7.setObjectName("state_frequency_7")
1781
1852
  self.state_frequency_7.setMaximum(1.000000000000000)
1782
1853
  self.state_frequency_7.setSingleStep(0.010000000000000)
@@ -1804,7 +1875,7 @@ class Ui_PrimaryWindow(object):
1804
1875
  self.horizontalLayout_8.setObjectName("horizontalLayout_8")
1805
1876
  self.horizontalLayout_35 = QHBoxLayout()
1806
1877
  self.horizontalLayout_35.setObjectName("horizontalLayout_35")
1807
- self.label_5 = QLabel(self.settings_tab)
1878
+ self.label_5 = QLabel(self.brain_state_page)
1808
1879
  self.label_5.setObjectName("label_5")
1809
1880
  sizePolicy.setHeightForWidth(self.label_5.sizePolicy().hasHeightForWidth())
1810
1881
  self.label_5.setSizePolicy(sizePolicy)
@@ -1823,7 +1894,7 @@ class Ui_PrimaryWindow(object):
1823
1894
 
1824
1895
  self.horizontalLayout_49.addItem(self.horizontalSpacer_40)
1825
1896
 
1826
- self.enable_state_8 = QCheckBox(self.settings_tab)
1897
+ self.enable_state_8 = QCheckBox(self.brain_state_page)
1827
1898
  self.enable_state_8.setObjectName("enable_state_8")
1828
1899
  sizePolicy1.setHeightForWidth(
1829
1900
  self.enable_state_8.sizePolicy().hasHeightForWidth()
@@ -1840,7 +1911,7 @@ class Ui_PrimaryWindow(object):
1840
1911
 
1841
1912
  self.horizontalLayout_8.addLayout(self.horizontalLayout_49)
1842
1913
 
1843
- self.state_name_8 = QLineEdit(self.settings_tab)
1914
+ self.state_name_8 = QLineEdit(self.brain_state_page)
1844
1915
  self.state_name_8.setObjectName("state_name_8")
1845
1916
  sizePolicy3.setHeightForWidth(
1846
1917
  self.state_name_8.sizePolicy().hasHeightForWidth()
@@ -1857,7 +1928,7 @@ class Ui_PrimaryWindow(object):
1857
1928
 
1858
1929
  self.horizontalLayout_56.addItem(self.horizontalSpacer_42)
1859
1930
 
1860
- self.state_scored_8 = QCheckBox(self.settings_tab)
1931
+ self.state_scored_8 = QCheckBox(self.brain_state_page)
1861
1932
  self.state_scored_8.setObjectName("state_scored_8")
1862
1933
  sizePolicy1.setHeightForWidth(
1863
1934
  self.state_scored_8.sizePolicy().hasHeightForWidth()
@@ -1883,7 +1954,7 @@ class Ui_PrimaryWindow(object):
1883
1954
 
1884
1955
  self.horizontalLayout_42.addItem(self.horizontalSpacer_65)
1885
1956
 
1886
- self.state_frequency_8 = QDoubleSpinBox(self.settings_tab)
1957
+ self.state_frequency_8 = QDoubleSpinBox(self.brain_state_page)
1887
1958
  self.state_frequency_8.setObjectName("state_frequency_8")
1888
1959
  self.state_frequency_8.setMaximum(1.000000000000000)
1889
1960
  self.state_frequency_8.setSingleStep(0.010000000000000)
@@ -1911,7 +1982,7 @@ class Ui_PrimaryWindow(object):
1911
1982
  self.horizontalLayout_7.setObjectName("horizontalLayout_7")
1912
1983
  self.horizontalLayout_36 = QHBoxLayout()
1913
1984
  self.horizontalLayout_36.setObjectName("horizontalLayout_36")
1914
- self.label_4 = QLabel(self.settings_tab)
1985
+ self.label_4 = QLabel(self.brain_state_page)
1915
1986
  self.label_4.setObjectName("label_4")
1916
1987
  sizePolicy.setHeightForWidth(self.label_4.sizePolicy().hasHeightForWidth())
1917
1988
  self.label_4.setSizePolicy(sizePolicy)
@@ -1930,7 +2001,7 @@ class Ui_PrimaryWindow(object):
1930
2001
 
1931
2002
  self.horizontalLayout_50.addItem(self.horizontalSpacer_44)
1932
2003
 
1933
- self.enable_state_9 = QCheckBox(self.settings_tab)
2004
+ self.enable_state_9 = QCheckBox(self.brain_state_page)
1934
2005
  self.enable_state_9.setObjectName("enable_state_9")
1935
2006
  sizePolicy1.setHeightForWidth(
1936
2007
  self.enable_state_9.sizePolicy().hasHeightForWidth()
@@ -1947,7 +2018,7 @@ class Ui_PrimaryWindow(object):
1947
2018
 
1948
2019
  self.horizontalLayout_7.addLayout(self.horizontalLayout_50)
1949
2020
 
1950
- self.state_name_9 = QLineEdit(self.settings_tab)
2021
+ self.state_name_9 = QLineEdit(self.brain_state_page)
1951
2022
  self.state_name_9.setObjectName("state_name_9")
1952
2023
  sizePolicy3.setHeightForWidth(
1953
2024
  self.state_name_9.sizePolicy().hasHeightForWidth()
@@ -1964,7 +2035,7 @@ class Ui_PrimaryWindow(object):
1964
2035
 
1965
2036
  self.horizontalLayout_57.addItem(self.horizontalSpacer_46)
1966
2037
 
1967
- self.state_scored_9 = QCheckBox(self.settings_tab)
2038
+ self.state_scored_9 = QCheckBox(self.brain_state_page)
1968
2039
  self.state_scored_9.setObjectName("state_scored_9")
1969
2040
  sizePolicy1.setHeightForWidth(
1970
2041
  self.state_scored_9.sizePolicy().hasHeightForWidth()
@@ -1990,7 +2061,7 @@ class Ui_PrimaryWindow(object):
1990
2061
 
1991
2062
  self.horizontalLayout_43.addItem(self.horizontalSpacer_67)
1992
2063
 
1993
- self.state_frequency_9 = QDoubleSpinBox(self.settings_tab)
2064
+ self.state_frequency_9 = QDoubleSpinBox(self.brain_state_page)
1994
2065
  self.state_frequency_9.setObjectName("state_frequency_9")
1995
2066
  self.state_frequency_9.setMaximum(1.000000000000000)
1996
2067
  self.state_frequency_9.setSingleStep(0.010000000000000)
@@ -2018,7 +2089,7 @@ class Ui_PrimaryWindow(object):
2018
2089
  self.horizontalLayout_4.setObjectName("horizontalLayout_4")
2019
2090
  self.horizontalLayout_37 = QHBoxLayout()
2020
2091
  self.horizontalLayout_37.setObjectName("horizontalLayout_37")
2021
- self.label_3 = QLabel(self.settings_tab)
2092
+ self.label_3 = QLabel(self.brain_state_page)
2022
2093
  self.label_3.setObjectName("label_3")
2023
2094
  sizePolicy.setHeightForWidth(self.label_3.sizePolicy().hasHeightForWidth())
2024
2095
  self.label_3.setSizePolicy(sizePolicy)
@@ -2037,7 +2108,7 @@ class Ui_PrimaryWindow(object):
2037
2108
 
2038
2109
  self.horizontalLayout_51.addItem(self.horizontalSpacer_48)
2039
2110
 
2040
- self.enable_state_0 = QCheckBox(self.settings_tab)
2111
+ self.enable_state_0 = QCheckBox(self.brain_state_page)
2041
2112
  self.enable_state_0.setObjectName("enable_state_0")
2042
2113
  sizePolicy1.setHeightForWidth(
2043
2114
  self.enable_state_0.sizePolicy().hasHeightForWidth()
@@ -2054,7 +2125,7 @@ class Ui_PrimaryWindow(object):
2054
2125
 
2055
2126
  self.horizontalLayout_4.addLayout(self.horizontalLayout_51)
2056
2127
 
2057
- self.state_name_0 = QLineEdit(self.settings_tab)
2128
+ self.state_name_0 = QLineEdit(self.brain_state_page)
2058
2129
  self.state_name_0.setObjectName("state_name_0")
2059
2130
  sizePolicy3.setHeightForWidth(
2060
2131
  self.state_name_0.sizePolicy().hasHeightForWidth()
@@ -2071,7 +2142,7 @@ class Ui_PrimaryWindow(object):
2071
2142
 
2072
2143
  self.horizontalLayout_58.addItem(self.horizontalSpacer_49)
2073
2144
 
2074
- self.state_scored_0 = QCheckBox(self.settings_tab)
2145
+ self.state_scored_0 = QCheckBox(self.brain_state_page)
2075
2146
  self.state_scored_0.setObjectName("state_scored_0")
2076
2147
  sizePolicy1.setHeightForWidth(
2077
2148
  self.state_scored_0.sizePolicy().hasHeightForWidth()
@@ -2097,7 +2168,7 @@ class Ui_PrimaryWindow(object):
2097
2168
 
2098
2169
  self.horizontalLayout_44.addItem(self.horizontalSpacer_69)
2099
2170
 
2100
- self.state_frequency_0 = QDoubleSpinBox(self.settings_tab)
2171
+ self.state_frequency_0 = QDoubleSpinBox(self.brain_state_page)
2101
2172
  self.state_frequency_0.setObjectName("state_frequency_0")
2102
2173
  self.state_frequency_0.setMaximum(1.000000000000000)
2103
2174
  self.state_frequency_0.setSingleStep(0.010000000000000)
@@ -2120,24 +2191,55 @@ class Ui_PrimaryWindow(object):
2120
2191
 
2121
2192
  self.settings_controls_layout.addLayout(self.horizontalLayout_4)
2122
2193
 
2123
- self.default_epoch_layout = QHBoxLayout()
2124
- self.default_epoch_layout.setObjectName("default_epoch_layout")
2125
- self.horizontalSpacer_71 = QSpacerItem(
2126
- 10, 10, QSizePolicy.Policy.Preferred, QSizePolicy.Policy.Minimum
2194
+ self.verticalSpacer_3 = QSpacerItem(
2195
+ 5, 5, QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Expanding
2196
+ )
2197
+
2198
+ self.settings_controls_layout.addItem(self.verticalSpacer_3)
2199
+
2200
+ self.horizontalLayout_80.addLayout(self.settings_controls_layout)
2201
+
2202
+ self.settings_description_layout = QVBoxLayout()
2203
+ self.settings_description_layout.setObjectName("settings_description_layout")
2204
+ self.settings_text = QLabel(self.brain_state_page)
2205
+ self.settings_text.setObjectName("settings_text")
2206
+ self.settings_text.setStyleSheet("background-color: white;")
2207
+ self.settings_text.setTextFormat(Qt.TextFormat.MarkdownText)
2208
+ self.settings_text.setAlignment(
2209
+ Qt.AlignmentFlag.AlignLeading
2210
+ | Qt.AlignmentFlag.AlignLeft
2211
+ | Qt.AlignmentFlag.AlignTop
2127
2212
  )
2213
+ self.settings_text.setWordWrap(True)
2214
+ self.settings_text.setMargin(12)
2128
2215
 
2129
- self.default_epoch_layout.addItem(self.horizontalSpacer_71)
2216
+ self.settings_description_layout.addWidget(self.settings_text)
2130
2217
 
2218
+ self.horizontalLayout_80.addLayout(self.settings_description_layout)
2219
+
2220
+ self.horizontalLayout_80.setStretch(0, 1)
2221
+ self.horizontalLayout_80.setStretch(1, 1)
2222
+ self.settings_stack.addWidget(self.brain_state_page)
2223
+ self.ui_default_page = QWidget()
2224
+ self.ui_default_page.setObjectName("ui_default_page")
2225
+ self.horizontalLayout_81 = QHBoxLayout(self.ui_default_page)
2226
+ self.horizontalLayout_81.setSpacing(20)
2227
+ self.horizontalLayout_81.setObjectName("horizontalLayout_81")
2228
+ self.verticalLayout_6 = QVBoxLayout()
2229
+ self.verticalLayout_6.setSpacing(10)
2230
+ self.verticalLayout_6.setObjectName("verticalLayout_6")
2231
+ self.default_epoch_layout = QHBoxLayout()
2232
+ self.default_epoch_layout.setObjectName("default_epoch_layout")
2131
2233
  self.horizontalLayout_60 = QHBoxLayout()
2132
2234
  self.horizontalLayout_60.setObjectName("horizontalLayout_60")
2133
- self.label_17 = QLabel(self.settings_tab)
2235
+ self.label_17 = QLabel(self.ui_default_page)
2134
2236
  self.label_17.setObjectName("label_17")
2135
2237
  sizePolicy1.setHeightForWidth(self.label_17.sizePolicy().hasHeightForWidth())
2136
2238
  self.label_17.setSizePolicy(sizePolicy1)
2137
2239
 
2138
2240
  self.horizontalLayout_60.addWidget(self.label_17)
2139
2241
 
2140
- self.default_epoch_input = QDoubleSpinBox(self.settings_tab)
2242
+ self.default_epoch_input = QDoubleSpinBox(self.ui_default_page)
2141
2243
  self.default_epoch_input.setObjectName("default_epoch_input")
2142
2244
  sizePolicy1.setHeightForWidth(
2143
2245
  self.default_epoch_input.sizePolicy().hasHeightForWidth()
@@ -2151,26 +2253,39 @@ class Ui_PrimaryWindow(object):
2151
2253
  self.default_epoch_layout.addLayout(self.horizontalLayout_60)
2152
2254
 
2153
2255
  self.horizontalSpacer_70 = QSpacerItem(
2154
- 10, 10, QSizePolicy.Policy.Preferred, QSizePolicy.Policy.Minimum
2256
+ 10, 10, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum
2155
2257
  )
2156
2258
 
2157
2259
  self.default_epoch_layout.addItem(self.horizontalSpacer_70)
2158
2260
 
2159
- self.settings_controls_layout.addLayout(self.default_epoch_layout)
2261
+ self.verticalLayout_6.addLayout(self.default_epoch_layout)
2262
+
2263
+ self.horizontalLayout_75 = QHBoxLayout()
2264
+ self.horizontalLayout_75.setObjectName("horizontalLayout_75")
2265
+ self.horizontalLayout_76 = QHBoxLayout()
2266
+ self.horizontalLayout_76.setObjectName("horizontalLayout_76")
2267
+ self.overwrite_default_checkbox = QCheckBox(self.ui_default_page)
2268
+ self.overwrite_default_checkbox.setObjectName("overwrite_default_checkbox")
2269
+
2270
+ self.horizontalLayout_76.addWidget(self.overwrite_default_checkbox)
2271
+
2272
+ self.horizontalLayout_75.addLayout(self.horizontalLayout_76)
2273
+
2274
+ self.horizontalSpacer_88 = QSpacerItem(
2275
+ 40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum
2276
+ )
2277
+
2278
+ self.horizontalLayout_75.addItem(self.horizontalSpacer_88)
2279
+
2280
+ self.verticalLayout_6.addLayout(self.horizontalLayout_75)
2160
2281
 
2161
2282
  self.confidence_score_setting_layout = QHBoxLayout()
2162
2283
  self.confidence_score_setting_layout.setObjectName(
2163
2284
  "confidence_score_setting_layout"
2164
2285
  )
2165
- self.horizontalSpacer_73 = QSpacerItem(
2166
- 10, 10, QSizePolicy.Policy.Preferred, QSizePolicy.Policy.Minimum
2167
- )
2168
-
2169
- self.confidence_score_setting_layout.addItem(self.horizontalSpacer_73)
2170
-
2171
2286
  self.horizontalLayout_62 = QHBoxLayout()
2172
2287
  self.horizontalLayout_62.setObjectName("horizontalLayout_62")
2173
- self.confidence_setting_checkbox = QCheckBox(self.settings_tab)
2288
+ self.confidence_setting_checkbox = QCheckBox(self.ui_default_page)
2174
2289
  self.confidence_setting_checkbox.setObjectName("confidence_setting_checkbox")
2175
2290
  sizePolicy1.setHeightForWidth(
2176
2291
  self.confidence_setting_checkbox.sizePolicy().hasHeightForWidth()
@@ -2183,71 +2298,451 @@ class Ui_PrimaryWindow(object):
2183
2298
  self.confidence_score_setting_layout.addLayout(self.horizontalLayout_62)
2184
2299
 
2185
2300
  self.horizontalSpacer_72 = QSpacerItem(
2186
- 10, 10, QSizePolicy.Policy.Preferred, QSizePolicy.Policy.Minimum
2301
+ 10, 10, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum
2187
2302
  )
2188
2303
 
2189
2304
  self.confidence_score_setting_layout.addItem(self.horizontalSpacer_72)
2190
2305
 
2191
- self.settings_controls_layout.addLayout(self.confidence_score_setting_layout)
2306
+ self.verticalLayout_6.addLayout(self.confidence_score_setting_layout)
2192
2307
 
2308
+ self.horizontalLayout_2 = QHBoxLayout()
2309
+ self.horizontalLayout_2.setObjectName("horizontalLayout_2")
2193
2310
  self.horizontalLayout_18 = QHBoxLayout()
2194
- self.horizontalLayout_18.setSpacing(10)
2195
2311
  self.horizontalLayout_18.setObjectName("horizontalLayout_18")
2312
+ self.label_19 = QLabel(self.ui_default_page)
2313
+ self.label_19.setObjectName("label_19")
2314
+ sizePolicy1.setHeightForWidth(self.label_19.sizePolicy().hasHeightForWidth())
2315
+ self.label_19.setSizePolicy(sizePolicy1)
2316
+
2317
+ self.horizontalLayout_18.addWidget(self.label_19)
2318
+
2319
+ self.default_min_bout_length_spinbox = QDoubleSpinBox(self.ui_default_page)
2320
+ self.default_min_bout_length_spinbox.setObjectName(
2321
+ "default_min_bout_length_spinbox"
2322
+ )
2323
+ sizePolicy1.setHeightForWidth(
2324
+ self.default_min_bout_length_spinbox.sizePolicy().hasHeightForWidth()
2325
+ )
2326
+ self.default_min_bout_length_spinbox.setSizePolicy(sizePolicy1)
2327
+ self.default_min_bout_length_spinbox.setMaximum(1000.000000000000000)
2328
+ self.default_min_bout_length_spinbox.setValue(5.000000000000000)
2329
+
2330
+ self.horizontalLayout_18.addWidget(self.default_min_bout_length_spinbox)
2331
+
2332
+ self.horizontalLayout_2.addLayout(self.horizontalLayout_18)
2333
+
2334
+ self.horizontalSpacer_90 = QSpacerItem(
2335
+ 5, 5, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum
2336
+ )
2337
+
2338
+ self.horizontalLayout_2.addItem(self.horizontalSpacer_90)
2339
+
2340
+ self.verticalLayout_6.addLayout(self.horizontalLayout_2)
2341
+
2342
+ self.verticalSpacer_5 = QSpacerItem(
2343
+ 5, 5, QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Expanding
2344
+ )
2345
+
2346
+ self.verticalLayout_6.addItem(self.verticalSpacer_5)
2347
+
2348
+ self.horizontalLayout_81.addLayout(self.verticalLayout_6)
2349
+
2350
+ self.ui_default_description_layout = QVBoxLayout()
2351
+ self.ui_default_description_layout.setObjectName(
2352
+ "ui_default_description_layout"
2353
+ )
2354
+ self.ui_default_description_label = QLabel(self.ui_default_page)
2355
+ self.ui_default_description_label.setObjectName("ui_default_description_label")
2356
+ self.ui_default_description_label.setStyleSheet("background-color: white;")
2357
+ self.ui_default_description_label.setTextFormat(Qt.TextFormat.MarkdownText)
2358
+ self.ui_default_description_label.setAlignment(
2359
+ Qt.AlignmentFlag.AlignLeading
2360
+ | Qt.AlignmentFlag.AlignLeft
2361
+ | Qt.AlignmentFlag.AlignTop
2362
+ )
2363
+ self.ui_default_description_label.setWordWrap(True)
2364
+ self.ui_default_description_label.setMargin(12)
2365
+
2366
+ self.ui_default_description_layout.addWidget(self.ui_default_description_label)
2367
+
2368
+ self.horizontalLayout_81.addLayout(self.ui_default_description_layout)
2369
+
2370
+ self.horizontalLayout_81.setStretch(0, 1)
2371
+ self.horizontalLayout_81.setStretch(1, 1)
2372
+ self.settings_stack.addWidget(self.ui_default_page)
2373
+ self.emg_filter_page = QWidget()
2374
+ self.emg_filter_page.setObjectName("emg_filter_page")
2375
+ self.horizontalLayout_82 = QHBoxLayout(self.emg_filter_page)
2376
+ self.horizontalLayout_82.setSpacing(20)
2377
+ self.horizontalLayout_82.setObjectName("horizontalLayout_82")
2378
+ self.verticalLayout_13 = QVBoxLayout()
2379
+ self.verticalLayout_13.setSpacing(10)
2380
+ self.verticalLayout_13.setObjectName("verticalLayout_13")
2381
+ self.filter_order_layout = QHBoxLayout()
2382
+ self.filter_order_layout.setObjectName("filter_order_layout")
2383
+ self.horizontalLayout_63 = QHBoxLayout()
2384
+ self.horizontalLayout_63.setObjectName("horizontalLayout_63")
2385
+ self.filter_order_label = QLabel(self.emg_filter_page)
2386
+ self.filter_order_label.setObjectName("filter_order_label")
2387
+ sizePolicy1.setHeightForWidth(
2388
+ self.filter_order_label.sizePolicy().hasHeightForWidth()
2389
+ )
2390
+ self.filter_order_label.setSizePolicy(sizePolicy1)
2391
+
2392
+ self.horizontalLayout_63.addWidget(self.filter_order_label)
2393
+
2394
+ self.emg_order_spinbox = QSpinBox(self.emg_filter_page)
2395
+ self.emg_order_spinbox.setObjectName("emg_order_spinbox")
2396
+ sizePolicy1.setHeightForWidth(
2397
+ self.emg_order_spinbox.sizePolicy().hasHeightForWidth()
2398
+ )
2399
+ self.emg_order_spinbox.setSizePolicy(sizePolicy1)
2400
+ self.emg_order_spinbox.setMinimum(1)
2401
+ self.emg_order_spinbox.setMaximum(10)
2402
+ self.emg_order_spinbox.setValue(8)
2403
+
2404
+ self.horizontalLayout_63.addWidget(self.emg_order_spinbox)
2405
+
2406
+ self.filter_order_layout.addLayout(self.horizontalLayout_63)
2407
+
2196
2408
  self.horizontalSpacer_9 = QSpacerItem(
2197
- 10, 5, QSizePolicy.Policy.Preferred, QSizePolicy.Policy.Minimum
2409
+ 10, 10, QSizePolicy.Policy.Preferred, QSizePolicy.Policy.Minimum
2198
2410
  )
2199
2411
 
2200
- self.horizontalLayout_18.addItem(self.horizontalSpacer_9)
2412
+ self.filter_order_layout.addItem(self.horizontalSpacer_9)
2201
2413
 
2202
- self.save_config_button = QPushButton(self.settings_tab)
2203
- self.save_config_button.setObjectName("save_config_button")
2414
+ self.filter_order_layout.setStretch(0, 1)
2415
+ self.filter_order_layout.setStretch(1, 3)
2416
+
2417
+ self.verticalLayout_13.addLayout(self.filter_order_layout)
2418
+
2419
+ self.bp_lower_layout = QHBoxLayout()
2420
+ self.bp_lower_layout.setObjectName("bp_lower_layout")
2421
+ self.horizontalLayout_65 = QHBoxLayout()
2422
+ self.horizontalLayout_65.setObjectName("horizontalLayout_65")
2423
+ self.bp_lower_label = QLabel(self.emg_filter_page)
2424
+ self.bp_lower_label.setObjectName("bp_lower_label")
2204
2425
  sizePolicy1.setHeightForWidth(
2205
- self.save_config_button.sizePolicy().hasHeightForWidth()
2426
+ self.bp_lower_label.sizePolicy().hasHeightForWidth()
2206
2427
  )
2207
- self.save_config_button.setSizePolicy(sizePolicy1)
2428
+ self.bp_lower_label.setSizePolicy(sizePolicy1)
2208
2429
 
2209
- self.horizontalLayout_18.addWidget(self.save_config_button)
2430
+ self.horizontalLayout_65.addWidget(self.bp_lower_label)
2210
2431
 
2211
- self.save_config_status = QLabel(self.settings_tab)
2212
- self.save_config_status.setObjectName("save_config_status")
2213
- sizePolicy3.setHeightForWidth(
2214
- self.save_config_status.sizePolicy().hasHeightForWidth()
2432
+ self.bp_lower_spinbox = QDoubleSpinBox(self.emg_filter_page)
2433
+ self.bp_lower_spinbox.setObjectName("bp_lower_spinbox")
2434
+ self.bp_lower_spinbox.setMaximum(999.990000000000009)
2435
+ self.bp_lower_spinbox.setValue(20.000000000000000)
2436
+
2437
+ self.horizontalLayout_65.addWidget(self.bp_lower_spinbox)
2438
+
2439
+ self.bp_lower_layout.addLayout(self.horizontalLayout_65)
2440
+
2441
+ self.horizontalSpacer_73 = QSpacerItem(
2442
+ 10, 10, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum
2215
2443
  )
2216
- self.save_config_status.setSizePolicy(sizePolicy3)
2217
- self.save_config_status.setStyleSheet("background-color: transparent;")
2218
2444
 
2219
- self.horizontalLayout_18.addWidget(self.save_config_status)
2445
+ self.bp_lower_layout.addItem(self.horizontalSpacer_73)
2446
+
2447
+ self.verticalLayout_13.addLayout(self.bp_lower_layout)
2448
+
2449
+ self.bp_upper_layout = QHBoxLayout()
2450
+ self.bp_upper_layout.setObjectName("bp_upper_layout")
2451
+ self.horizontalLayout_61 = QHBoxLayout()
2452
+ self.horizontalLayout_61.setObjectName("horizontalLayout_61")
2453
+ self.bp_upper_label = QLabel(self.emg_filter_page)
2454
+ self.bp_upper_label.setObjectName("bp_upper_label")
2455
+ sizePolicy1.setHeightForWidth(
2456
+ self.bp_upper_label.sizePolicy().hasHeightForWidth()
2457
+ )
2458
+ self.bp_upper_label.setSizePolicy(sizePolicy1)
2459
+
2460
+ self.horizontalLayout_61.addWidget(self.bp_upper_label)
2461
+
2462
+ self.bp_upper_spinbox = QDoubleSpinBox(self.emg_filter_page)
2463
+ self.bp_upper_spinbox.setObjectName("bp_upper_spinbox")
2464
+ sizePolicy1.setHeightForWidth(
2465
+ self.bp_upper_spinbox.sizePolicy().hasHeightForWidth()
2466
+ )
2467
+ self.bp_upper_spinbox.setSizePolicy(sizePolicy1)
2468
+ self.bp_upper_spinbox.setMaximum(999.990000000000009)
2469
+ self.bp_upper_spinbox.setValue(50.000000000000000)
2470
+
2471
+ self.horizontalLayout_61.addWidget(self.bp_upper_spinbox)
2220
2472
 
2221
- self.horizontalLayout_18.setStretch(0, 6)
2222
- self.horizontalLayout_18.setStretch(1, 1)
2223
- self.horizontalLayout_18.setStretch(2, 7)
2473
+ self.bp_upper_layout.addLayout(self.horizontalLayout_61)
2474
+
2475
+ self.horizontalSpacer_71 = QSpacerItem(
2476
+ 10, 10, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum
2477
+ )
2224
2478
 
2225
- self.settings_controls_layout.addLayout(self.horizontalLayout_18)
2479
+ self.bp_upper_layout.addItem(self.horizontalSpacer_71)
2226
2480
 
2227
- self.settings_controls_layout.setStretch(0, 2)
2228
- self.settings_controls_layout.setStretch(1, 2)
2229
- self.settings_controls_layout.setStretch(2, 2)
2230
- self.settings_controls_layout.setStretch(3, 2)
2231
- self.settings_controls_layout.setStretch(4, 2)
2232
- self.settings_controls_layout.setStretch(5, 2)
2233
- self.settings_controls_layout.setStretch(6, 2)
2234
- self.settings_controls_layout.setStretch(7, 2)
2235
- self.settings_controls_layout.setStretch(8, 2)
2236
- self.settings_controls_layout.setStretch(9, 2)
2237
- self.settings_controls_layout.setStretch(10, 2)
2238
- self.settings_controls_layout.setStretch(11, 2)
2239
- self.settings_controls_layout.setStretch(13, 3)
2481
+ self.verticalLayout_13.addLayout(self.bp_upper_layout)
2240
2482
 
2241
- self.settings_tab_layout.addLayout(self.settings_controls_layout, 0, 0, 1, 1)
2483
+ self.horizontalLayout_73 = QHBoxLayout()
2484
+ self.horizontalLayout_73.setObjectName("horizontalLayout_73")
2485
+ self.horizontalSpacer_85 = QSpacerItem(
2486
+ 5, 5, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum
2487
+ )
2488
+
2489
+ self.horizontalLayout_73.addItem(self.horizontalSpacer_85)
2490
+
2491
+ self.reset_emg_params_button = QPushButton(self.emg_filter_page)
2492
+ self.reset_emg_params_button.setObjectName("reset_emg_params_button")
2493
+ sizePolicy1.setHeightForWidth(
2494
+ self.reset_emg_params_button.sizePolicy().hasHeightForWidth()
2495
+ )
2496
+ self.reset_emg_params_button.setSizePolicy(sizePolicy1)
2497
+
2498
+ self.horizontalLayout_73.addWidget(self.reset_emg_params_button)
2499
+
2500
+ self.horizontalSpacer_84 = QSpacerItem(
2501
+ 5, 5, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum
2502
+ )
2503
+
2504
+ self.horizontalLayout_73.addItem(self.horizontalSpacer_84)
2505
+
2506
+ self.verticalLayout_13.addLayout(self.horizontalLayout_73)
2507
+
2508
+ self.verticalSpacer_6 = QSpacerItem(
2509
+ 5, 5, QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Expanding
2510
+ )
2511
+
2512
+ self.verticalLayout_13.addItem(self.verticalSpacer_6)
2513
+
2514
+ self.horizontalLayout_82.addLayout(self.verticalLayout_13)
2515
+
2516
+ self.verticalLayout_12 = QVBoxLayout()
2517
+ self.verticalLayout_12.setObjectName("verticalLayout_12")
2518
+ self.emg_filter_description_label = QLabel(self.emg_filter_page)
2519
+ self.emg_filter_description_label.setObjectName("emg_filter_description_label")
2520
+ self.emg_filter_description_label.setStyleSheet("background-color: white;")
2521
+ self.emg_filter_description_label.setAlignment(
2522
+ Qt.AlignmentFlag.AlignLeading
2523
+ | Qt.AlignmentFlag.AlignLeft
2524
+ | Qt.AlignmentFlag.AlignTop
2525
+ )
2526
+ self.emg_filter_description_label.setWordWrap(True)
2527
+ self.emg_filter_description_label.setMargin(12)
2528
+
2529
+ self.verticalLayout_12.addWidget(self.emg_filter_description_label)
2530
+
2531
+ self.horizontalLayout_82.addLayout(self.verticalLayout_12)
2532
+
2533
+ self.horizontalLayout_82.setStretch(0, 1)
2534
+ self.horizontalLayout_82.setStretch(1, 1)
2535
+ self.settings_stack.addWidget(self.emg_filter_page)
2536
+ self.hyperparameter_page = QWidget()
2537
+ self.hyperparameter_page.setObjectName("hyperparameter_page")
2538
+ self.horizontalLayout_83 = QHBoxLayout(self.hyperparameter_page)
2539
+ self.horizontalLayout_83.setSpacing(20)
2540
+ self.horizontalLayout_83.setObjectName("horizontalLayout_83")
2541
+ self.verticalLayout_14 = QVBoxLayout()
2542
+ self.verticalLayout_14.setSpacing(10)
2543
+ self.verticalLayout_14.setObjectName("verticalLayout_14")
2544
+ self.horizontalLayout_64 = QHBoxLayout()
2545
+ self.horizontalLayout_64.setObjectName("horizontalLayout_64")
2546
+ self.horizontalLayout_66 = QHBoxLayout()
2547
+ self.horizontalLayout_66.setObjectName("horizontalLayout_66")
2548
+ self.batch_size_label = QLabel(self.hyperparameter_page)
2549
+ self.batch_size_label.setObjectName("batch_size_label")
2550
+ sizePolicy1.setHeightForWidth(
2551
+ self.batch_size_label.sizePolicy().hasHeightForWidth()
2552
+ )
2553
+ self.batch_size_label.setSizePolicy(sizePolicy1)
2554
+
2555
+ self.horizontalLayout_66.addWidget(self.batch_size_label)
2556
+
2557
+ self.batch_size_spinbox = QSpinBox(self.hyperparameter_page)
2558
+ self.batch_size_spinbox.setObjectName("batch_size_spinbox")
2559
+ sizePolicy1.setHeightForWidth(
2560
+ self.batch_size_spinbox.sizePolicy().hasHeightForWidth()
2561
+ )
2562
+ self.batch_size_spinbox.setSizePolicy(sizePolicy1)
2563
+ self.batch_size_spinbox.setMinimum(1)
2564
+ self.batch_size_spinbox.setMaximum(9999)
2565
+ self.batch_size_spinbox.setValue(64)
2566
+
2567
+ self.horizontalLayout_66.addWidget(self.batch_size_spinbox)
2568
+
2569
+ self.horizontalLayout_64.addLayout(self.horizontalLayout_66)
2570
+
2571
+ self.horizontalSpacer_80 = QSpacerItem(
2572
+ 5, 5, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum
2573
+ )
2574
+
2575
+ self.horizontalLayout_64.addItem(self.horizontalSpacer_80)
2576
+
2577
+ self.verticalLayout_14.addLayout(self.horizontalLayout_64)
2578
+
2579
+ self.horizontalLayout_67 = QHBoxLayout()
2580
+ self.horizontalLayout_67.setObjectName("horizontalLayout_67")
2581
+ self.horizontalLayout_68 = QHBoxLayout()
2582
+ self.horizontalLayout_68.setObjectName("horizontalLayout_68")
2583
+ self.learning_rate_label = QLabel(self.hyperparameter_page)
2584
+ self.learning_rate_label.setObjectName("learning_rate_label")
2585
+ sizePolicy1.setHeightForWidth(
2586
+ self.learning_rate_label.sizePolicy().hasHeightForWidth()
2587
+ )
2588
+ self.learning_rate_label.setSizePolicy(sizePolicy1)
2589
+
2590
+ self.horizontalLayout_68.addWidget(self.learning_rate_label)
2591
+
2592
+ self.learning_rate_spinbox = QDoubleSpinBox(self.hyperparameter_page)
2593
+ self.learning_rate_spinbox.setObjectName("learning_rate_spinbox")
2594
+ sizePolicy1.setHeightForWidth(
2595
+ self.learning_rate_spinbox.sizePolicy().hasHeightForWidth()
2596
+ )
2597
+ self.learning_rate_spinbox.setSizePolicy(sizePolicy1)
2598
+ self.learning_rate_spinbox.setDecimals(5)
2599
+ self.learning_rate_spinbox.setMinimum(0.000010000000000)
2600
+ self.learning_rate_spinbox.setSingleStep(0.000100000000000)
2601
+ self.learning_rate_spinbox.setValue(0.001000000000000)
2602
+
2603
+ self.horizontalLayout_68.addWidget(self.learning_rate_spinbox)
2604
+
2605
+ self.horizontalLayout_67.addLayout(self.horizontalLayout_68)
2606
+
2607
+ self.horizontalSpacer_81 = QSpacerItem(
2608
+ 5, 5, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum
2609
+ )
2610
+
2611
+ self.horizontalLayout_67.addItem(self.horizontalSpacer_81)
2612
+
2613
+ self.verticalLayout_14.addLayout(self.horizontalLayout_67)
2614
+
2615
+ self.horizontalLayout_69 = QHBoxLayout()
2616
+ self.horizontalLayout_69.setObjectName("horizontalLayout_69")
2617
+ self.horizontalLayout_70 = QHBoxLayout()
2618
+ self.horizontalLayout_70.setObjectName("horizontalLayout_70")
2619
+ self.momentum_label = QLabel(self.hyperparameter_page)
2620
+ self.momentum_label.setObjectName("momentum_label")
2621
+ sizePolicy1.setHeightForWidth(
2622
+ self.momentum_label.sizePolicy().hasHeightForWidth()
2623
+ )
2624
+ self.momentum_label.setSizePolicy(sizePolicy1)
2625
+
2626
+ self.horizontalLayout_70.addWidget(self.momentum_label)
2627
+
2628
+ self.momentum_spinbox = QDoubleSpinBox(self.hyperparameter_page)
2629
+ self.momentum_spinbox.setObjectName("momentum_spinbox")
2630
+ sizePolicy1.setHeightForWidth(
2631
+ self.momentum_spinbox.sizePolicy().hasHeightForWidth()
2632
+ )
2633
+ self.momentum_spinbox.setSizePolicy(sizePolicy1)
2634
+ self.momentum_spinbox.setDecimals(3)
2635
+ self.momentum_spinbox.setMinimum(0.010000000000000)
2636
+ self.momentum_spinbox.setMaximum(0.999000000000000)
2637
+ self.momentum_spinbox.setSingleStep(0.010000000000000)
2638
+ self.momentum_spinbox.setValue(0.900000000000000)
2639
+
2640
+ self.horizontalLayout_70.addWidget(self.momentum_spinbox)
2641
+
2642
+ self.horizontalLayout_69.addLayout(self.horizontalLayout_70)
2643
+
2644
+ self.horizontalSpacer_82 = QSpacerItem(
2645
+ 5, 5, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum
2646
+ )
2647
+
2648
+ self.horizontalLayout_69.addItem(self.horizontalSpacer_82)
2649
+
2650
+ self.verticalLayout_14.addLayout(self.horizontalLayout_69)
2651
+
2652
+ self.horizontalLayout_71 = QHBoxLayout()
2653
+ self.horizontalLayout_71.setObjectName("horizontalLayout_71")
2654
+ self.horizontalLayout_72 = QHBoxLayout()
2655
+ self.horizontalLayout_72.setObjectName("horizontalLayout_72")
2656
+ self.training_epochs_label = QLabel(self.hyperparameter_page)
2657
+ self.training_epochs_label.setObjectName("training_epochs_label")
2658
+ sizePolicy1.setHeightForWidth(
2659
+ self.training_epochs_label.sizePolicy().hasHeightForWidth()
2660
+ )
2661
+ self.training_epochs_label.setSizePolicy(sizePolicy1)
2662
+
2663
+ self.horizontalLayout_72.addWidget(self.training_epochs_label)
2664
+
2665
+ self.training_epochs_spinbox = QSpinBox(self.hyperparameter_page)
2666
+ self.training_epochs_spinbox.setObjectName("training_epochs_spinbox")
2667
+ sizePolicy1.setHeightForWidth(
2668
+ self.training_epochs_spinbox.sizePolicy().hasHeightForWidth()
2669
+ )
2670
+ self.training_epochs_spinbox.setSizePolicy(sizePolicy1)
2671
+ self.training_epochs_spinbox.setMinimum(1)
2672
+ self.training_epochs_spinbox.setValue(6)
2673
+
2674
+ self.horizontalLayout_72.addWidget(self.training_epochs_spinbox)
2675
+
2676
+ self.horizontalLayout_71.addLayout(self.horizontalLayout_72)
2677
+
2678
+ self.horizontalSpacer_83 = QSpacerItem(
2679
+ 40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum
2680
+ )
2681
+
2682
+ self.horizontalLayout_71.addItem(self.horizontalSpacer_83)
2683
+
2684
+ self.verticalLayout_14.addLayout(self.horizontalLayout_71)
2685
+
2686
+ self.horizontalLayout_74 = QHBoxLayout()
2687
+ self.horizontalLayout_74.setObjectName("horizontalLayout_74")
2688
+ self.horizontalSpacer_86 = QSpacerItem(
2689
+ 5, 5, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum
2690
+ )
2691
+
2692
+ self.horizontalLayout_74.addItem(self.horizontalSpacer_86)
2693
+
2694
+ self.reset_hyperparams_button = QPushButton(self.hyperparameter_page)
2695
+ self.reset_hyperparams_button.setObjectName("reset_hyperparams_button")
2696
+ sizePolicy1.setHeightForWidth(
2697
+ self.reset_hyperparams_button.sizePolicy().hasHeightForWidth()
2698
+ )
2699
+ self.reset_hyperparams_button.setSizePolicy(sizePolicy1)
2700
+
2701
+ self.horizontalLayout_74.addWidget(self.reset_hyperparams_button)
2702
+
2703
+ self.horizontalSpacer_87 = QSpacerItem(
2704
+ 5, 5, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum
2705
+ )
2706
+
2707
+ self.horizontalLayout_74.addItem(self.horizontalSpacer_87)
2708
+
2709
+ self.verticalLayout_14.addLayout(self.horizontalLayout_74)
2242
2710
 
2243
2711
  self.verticalSpacer = QSpacerItem(
2244
- 5, 30, QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Expanding
2712
+ 5, 5, QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Expanding
2713
+ )
2714
+
2715
+ self.verticalLayout_14.addItem(self.verticalSpacer)
2716
+
2717
+ self.horizontalLayout_83.addLayout(self.verticalLayout_14)
2718
+
2719
+ self.verticalLayout_15 = QVBoxLayout()
2720
+ self.verticalLayout_15.setObjectName("verticalLayout_15")
2721
+ self.hyperparameter_description_label = QLabel(self.hyperparameter_page)
2722
+ self.hyperparameter_description_label.setObjectName(
2723
+ "hyperparameter_description_label"
2724
+ )
2725
+ self.hyperparameter_description_label.setStyleSheet("background-color: white;")
2726
+ self.hyperparameter_description_label.setTextFormat(Qt.TextFormat.MarkdownText)
2727
+ self.hyperparameter_description_label.setAlignment(
2728
+ Qt.AlignmentFlag.AlignLeading
2729
+ | Qt.AlignmentFlag.AlignLeft
2730
+ | Qt.AlignmentFlag.AlignTop
2245
2731
  )
2732
+ self.hyperparameter_description_label.setWordWrap(True)
2733
+ self.hyperparameter_description_label.setMargin(12)
2246
2734
 
2247
- self.settings_tab_layout.addItem(self.verticalSpacer, 1, 1, 1, 1)
2735
+ self.verticalLayout_15.addWidget(self.hyperparameter_description_label)
2248
2736
 
2249
- self.settings_tab_layout.setColumnStretch(0, 1)
2250
- self.settings_tab_layout.setColumnStretch(1, 1)
2737
+ self.horizontalLayout_83.addLayout(self.verticalLayout_15)
2738
+
2739
+ self.horizontalLayout_83.setStretch(0, 1)
2740
+ self.horizontalLayout_83.setStretch(1, 1)
2741
+ self.settings_stack.addWidget(self.hyperparameter_page)
2742
+
2743
+ self.settings_layout.addWidget(self.settings_stack)
2744
+
2745
+ self.settings_tab_layout.addLayout(self.settings_layout, 1, 0, 1, 1)
2251
2746
 
2252
2747
  self.gridLayout_5.addLayout(self.settings_tab_layout, 0, 0, 1, 1)
2253
2748
 
@@ -2272,9 +2767,14 @@ class Ui_PrimaryWindow(object):
2272
2767
  QWidget.setTabOrder(self.recording_list_widget, self.message_area)
2273
2768
 
2274
2769
  self.retranslateUi(PrimaryWindow)
2770
+ self.settings_combobox.currentIndexChanged.connect(
2771
+ self.settings_stack.setCurrentIndex
2772
+ )
2275
2773
 
2276
2774
  self.upper_tab_widget.setCurrentIndex(0)
2277
2775
  self.lower_tab_widget.setCurrentIndex(0)
2776
+ self.settings_combobox.setCurrentIndex(0)
2777
+ self.settings_stack.setCurrentIndex(0)
2278
2778
 
2279
2779
  QMetaObject.connectSlotsByName(PrimaryWindow)
2280
2780
 
@@ -2506,7 +3006,33 @@ class Ui_PrimaryWindow(object):
2506
3006
  self.upper_tab_widget.indexOf(self.scoring_tab),
2507
3007
  QCoreApplication.translate("PrimaryWindow", "Sleep scoring", None),
2508
3008
  )
2509
- self.settings_text.setText("")
3009
+ # if QT_CONFIG(tooltip)
3010
+ self.save_config_button.setToolTip(
3011
+ QCoreApplication.translate(
3012
+ "PrimaryWindow", "Save current configuration", None
3013
+ )
3014
+ )
3015
+ # endif // QT_CONFIG(tooltip)
3016
+ self.save_config_button.setText(
3017
+ QCoreApplication.translate("PrimaryWindow", "Save settings", None)
3018
+ )
3019
+ self.save_config_status.setText("")
3020
+ self.settings_combobox.setItemText(
3021
+ 0, QCoreApplication.translate("PrimaryWindow", "Brain states", None)
3022
+ )
3023
+ self.settings_combobox.setItemText(
3024
+ 1, QCoreApplication.translate("PrimaryWindow", "UI defaults", None)
3025
+ )
3026
+ self.settings_combobox.setItemText(
3027
+ 2, QCoreApplication.translate("PrimaryWindow", "EMG filter", None)
3028
+ )
3029
+ self.settings_combobox.setItemText(
3030
+ 3,
3031
+ QCoreApplication.translate(
3032
+ "PrimaryWindow", "Training hyperparameters", None
3033
+ ),
3034
+ )
3035
+
2510
3036
  self.label_15.setText(
2511
3037
  QCoreApplication.translate("PrimaryWindow", "Digit", None)
2512
3038
  )
@@ -2550,25 +3076,101 @@ class Ui_PrimaryWindow(object):
2550
3076
  self.label_3.setText(QCoreApplication.translate("PrimaryWindow", "0", None))
2551
3077
  self.enable_state_0.setText("")
2552
3078
  self.state_scored_0.setText("")
3079
+ self.settings_text.setText(
3080
+ QCoreApplication.translate(
3081
+ "PrimaryWindow",
3082
+ "This is the current set of brain states. Important notes:\n"
3083
+ "- You must click 'Save settings' to store any changes.\n"
3084
+ "- Changing these settings can prevent existing label files, calibration files, and trained models from working properly.\n"
3085
+ "- Reinstalling AccuSleePy will overwrite this configuration.\n"
3086
+ "\n"
3087
+ "Each brain state has several attributes:\n"
3088
+ "- Digit: how the brain state is represented in label files, and keyboard shortcut for this state in manual scoring.\n"
3089
+ "- Enabled: whether a brain state for this digit exists.\n"
3090
+ "- Name: unique name of the brain state (e.g., REM).\n"
3091
+ "- Scored: whether a classification model should output this brain state. If a state corresponds to missing/corrupted data, you probably want to uncheck this box.\n"
3092
+ "- Frequency: approximate relative frequency of this brain state. Does not need to be very accurate. Frequencies for all scored states must sum to 1.",
3093
+ None,
3094
+ )
3095
+ )
2553
3096
  self.label_17.setText(
2554
- QCoreApplication.translate("PrimaryWindow", "Default epoch length:", None)
3097
+ QCoreApplication.translate("PrimaryWindow", "Epoch length:", None)
3098
+ )
3099
+ self.overwrite_default_checkbox.setText(
3100
+ QCoreApplication.translate(
3101
+ "PrimaryWindow", "Only overwrite undefined epochs", None
3102
+ )
2555
3103
  )
2556
3104
  self.confidence_setting_checkbox.setText(
3105
+ QCoreApplication.translate("PrimaryWindow", "Save confidence scores", None)
3106
+ )
3107
+ self.label_19.setText(
2557
3108
  QCoreApplication.translate(
2558
- "PrimaryWindow", "Save confidence scores by default", None
3109
+ "PrimaryWindow", "Minimum bout length (sec):", None
2559
3110
  )
2560
3111
  )
2561
- # if QT_CONFIG(tooltip)
2562
- self.save_config_button.setToolTip(
3112
+ self.ui_default_description_label.setText(
2563
3113
  QCoreApplication.translate(
2564
- "PrimaryWindow", "Save current configuration", None
3114
+ "PrimaryWindow",
3115
+ "These are the default values/settings that are shown in the primary UI window when it starts up.\n"
3116
+ "\n"
3117
+ 'Changes here will not affect the **current** state of the controls in the "Sleep scoring" tab.',
3118
+ None,
2565
3119
  )
2566
3120
  )
2567
- # endif // QT_CONFIG(tooltip)
2568
- self.save_config_button.setText(
2569
- QCoreApplication.translate("PrimaryWindow", "Save", None)
3121
+ self.filter_order_label.setText(
3122
+ QCoreApplication.translate("PrimaryWindow", "Filter order:", None)
3123
+ )
3124
+ self.bp_lower_label.setText(
3125
+ QCoreApplication.translate("PrimaryWindow", "Lower cutoff:", None)
3126
+ )
3127
+ self.bp_lower_spinbox.setSuffix(
3128
+ QCoreApplication.translate("PrimaryWindow", " Hz", None)
3129
+ )
3130
+ self.bp_upper_label.setText(
3131
+ QCoreApplication.translate("PrimaryWindow", "Upper cutoff:", None)
3132
+ )
3133
+ self.bp_upper_spinbox.setSuffix(
3134
+ QCoreApplication.translate("PrimaryWindow", " Hz", None)
3135
+ )
3136
+ self.reset_emg_params_button.setText(
3137
+ QCoreApplication.translate("PrimaryWindow", "reset to defaults", None)
3138
+ )
3139
+ self.emg_filter_description_label.setText(
3140
+ QCoreApplication.translate(
3141
+ "PrimaryWindow",
3142
+ "EMG power is calculated as the root-mean-square of the EMG signal in each epoch after a bandpass filter is applied. You can change the proprties of that filter here. If the manual scoring window displays the EMG signal but not the EMG power, you can try lowering the filter order to 4.\n"
3143
+ "\n"
3144
+ "Changing these settings can prevent existing classification models and calibration files from working as expected. You will probably want to recreate them using your new settings.",
3145
+ None,
3146
+ )
3147
+ )
3148
+ self.batch_size_label.setText(
3149
+ QCoreApplication.translate("PrimaryWindow", "Batch size:", None)
3150
+ )
3151
+ self.learning_rate_label.setText(
3152
+ QCoreApplication.translate("PrimaryWindow", "Learning rate:", None)
3153
+ )
3154
+ self.momentum_label.setText(
3155
+ QCoreApplication.translate("PrimaryWindow", "Momentum:", None)
3156
+ )
3157
+ self.training_epochs_label.setText(
3158
+ QCoreApplication.translate("PrimaryWindow", "Epochs:", None)
3159
+ )
3160
+ self.reset_hyperparams_button.setText(
3161
+ QCoreApplication.translate("PrimaryWindow", "reset to defaults", None)
3162
+ )
3163
+ self.hyperparameter_description_label.setText(
3164
+ QCoreApplication.translate(
3165
+ "PrimaryWindow",
3166
+ "These are the hyperparameters used for training new classification models.\n"
3167
+ "- Batch size: number of examples in each training iteration\n"
3168
+ "- Learning rate: step size for adjusting model weights\n"
3169
+ "- Momentum: amount of past gradients to use in the current update. Typically between 0.6 and 0.99\n"
3170
+ "- Epochs: number of passes over the training data",
3171
+ None,
3172
+ )
2570
3173
  )
2571
- self.save_config_status.setText("")
2572
3174
  self.upper_tab_widget.setTabText(
2573
3175
  self.upper_tab_widget.indexOf(self.settings_tab),
2574
3176
  QCoreApplication.translate("PrimaryWindow", "Settings", None),