boris-behav-obs 8.16.6__py3-none-any.whl → 9.7.1__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.
Files changed (125) hide show
  1. boris/__init__.py +1 -1
  2. boris/__main__.py +1 -1
  3. boris/about.py +24 -40
  4. boris/add_modifier.py +88 -80
  5. boris/add_modifier_ui.py +235 -131
  6. boris/advanced_event_filtering.py +23 -29
  7. boris/analysis_plugins/__init__.py +0 -0
  8. boris/analysis_plugins/_latency.py +59 -0
  9. boris/analysis_plugins/irr_cohen_kappa.py +109 -0
  10. boris/analysis_plugins/irr_cohen_kappa_with_modifiers.py +112 -0
  11. boris/analysis_plugins/irr_weighted_cohen_kappa.py +157 -0
  12. boris/analysis_plugins/irr_weighted_cohen_kappa_with_modifiers.py +162 -0
  13. boris/analysis_plugins/list_of_dataframe_columns.py +22 -0
  14. boris/analysis_plugins/number_of_occurences.py +22 -0
  15. boris/analysis_plugins/number_of_occurences_by_independent_variable.py +54 -0
  16. boris/analysis_plugins/time_budget.py +61 -0
  17. boris/behav_coding_map_creator.py +228 -229
  18. boris/behavior_binary_table.py +33 -50
  19. boris/behaviors_coding_map.py +17 -18
  20. boris/boris_cli.py +6 -25
  21. boris/cmd_arguments.py +12 -1
  22. boris/coding_pad.py +16 -34
  23. boris/config.py +101 -49
  24. boris/config_file.py +55 -64
  25. boris/connections.py +105 -58
  26. boris/converters.py +13 -37
  27. boris/converters_ui.py +187 -110
  28. boris/cooccurence.py +250 -0
  29. boris/core.py +2108 -1275
  30. boris/core_qrc.py +15892 -10829
  31. boris/core_ui.py +941 -806
  32. boris/db_functions.py +17 -42
  33. boris/dev.py +134 -0
  34. boris/dialog.py +461 -242
  35. boris/duration_widget.py +9 -14
  36. boris/edit_event.py +61 -31
  37. boris/edit_event_ui.py +208 -97
  38. boris/event_operations.py +405 -281
  39. boris/events_cursor.py +25 -17
  40. boris/events_snapshots.py +36 -82
  41. boris/exclusion_matrix.py +4 -9
  42. boris/export_events.py +180 -203
  43. boris/export_observation.py +60 -73
  44. boris/external_processes.py +123 -98
  45. boris/geometric_measurement.py +427 -218
  46. boris/gui_utilities.py +91 -14
  47. boris/image_overlay.py +4 -4
  48. boris/import_observations.py +190 -98
  49. boris/ipc_mpv.py +304 -0
  50. boris/irr.py +20 -57
  51. boris/latency.py +31 -24
  52. boris/measurement_widget.py +14 -18
  53. boris/media_file.py +17 -19
  54. boris/menu_options.py +16 -6
  55. boris/modifier_coding_map_creator.py +1013 -0
  56. boris/modifiers_coding_map.py +7 -9
  57. boris/mpv2.py +127 -36
  58. boris/observation.py +493 -210
  59. boris/observation_operations.py +1010 -391
  60. boris/observation_ui.py +573 -363
  61. boris/observations_list.py +51 -58
  62. boris/otx_parser.py +74 -68
  63. boris/param_panel.py +45 -59
  64. boris/param_panel_ui.py +254 -138
  65. boris/player_dock_widget.py +91 -56
  66. boris/plot_data_module.py +18 -53
  67. boris/plot_events.py +56 -153
  68. boris/plot_events_rt.py +16 -30
  69. boris/plot_spectrogram_rt.py +80 -56
  70. boris/plot_waveform_rt.py +23 -48
  71. boris/plugins.py +431 -0
  72. boris/portion/__init__.py +18 -8
  73. boris/portion/const.py +35 -18
  74. boris/portion/dict.py +5 -5
  75. boris/portion/func.py +2 -2
  76. boris/portion/interval.py +21 -41
  77. boris/portion/io.py +41 -32
  78. boris/preferences.py +298 -123
  79. boris/preferences_ui.py +664 -225
  80. boris/project.py +293 -270
  81. boris/project_functions.py +610 -537
  82. boris/project_import_export.py +204 -213
  83. boris/project_ui.py +673 -441
  84. boris/qrc_boris.py +6 -3
  85. boris/qrc_boris5.py +6 -3
  86. boris/select_modifiers.py +62 -90
  87. boris/select_observations.py +19 -197
  88. boris/select_subj_behav.py +67 -39
  89. boris/state_events.py +51 -33
  90. boris/subjects_pad.py +6 -8
  91. boris/synthetic_time_budget.py +25 -17
  92. boris/time_budget_functions.py +169 -169
  93. boris/time_budget_widget.py +71 -86
  94. boris/transitions.py +41 -41
  95. boris/utilities.py +562 -222
  96. boris/version.py +3 -3
  97. boris/video_equalizer.py +16 -14
  98. boris/video_equalizer_ui.py +199 -130
  99. boris/video_operations.py +78 -28
  100. boris/view_df.py +104 -0
  101. boris/view_df_ui.py +75 -0
  102. boris/write_event.py +240 -136
  103. boris_behav_obs-9.7.1.dist-info/METADATA +140 -0
  104. boris_behav_obs-9.7.1.dist-info/RECORD +109 -0
  105. {boris_behav_obs-8.16.6.dist-info → boris_behav_obs-9.7.1.dist-info}/WHEEL +1 -1
  106. boris_behav_obs-9.7.1.dist-info/entry_points.txt +2 -0
  107. boris/README.TXT +0 -22
  108. boris/add_modifier.ui +0 -323
  109. boris/converters.ui +0 -289
  110. boris/core.qrc +0 -37
  111. boris/core.ui +0 -1571
  112. boris/edit_event.ui +0 -233
  113. boris/icons/logo_eye.ico +0 -0
  114. boris/map_creator.py +0 -982
  115. boris/observation.ui +0 -814
  116. boris/param_panel.ui +0 -379
  117. boris/preferences.ui +0 -537
  118. boris/project.ui +0 -1074
  119. boris/vlc_local.py +0 -90
  120. boris_behav_obs-8.16.6.dist-info/LICENSE.TXT +0 -674
  121. boris_behav_obs-8.16.6.dist-info/METADATA +0 -134
  122. boris_behav_obs-8.16.6.dist-info/RECORD +0 -106
  123. boris_behav_obs-8.16.6.dist-info/entry_points.txt +0 -2
  124. {boris → boris_behav_obs-9.7.1.dist-info/licenses}/LICENSE.TXT +0 -0
  125. {boris_behav_obs-8.16.6.dist-info → boris_behav_obs-9.7.1.dist-info}/top_level.txt +0 -0
boris/observation_ui.py CHANGED
@@ -1,469 +1,679 @@
1
1
  # -*- coding: utf-8 -*-
2
2
 
3
- # Form implementation generated from reading ui file 'boris/observation.ui'
4
- #
5
- # Created by: PyQt5 UI code generator 5.15.7
6
- #
7
- # WARNING: Any manual changes made to this file will be lost when pyuic5 is
8
- # run again. Do not edit this file unless you know what you are doing.
9
-
10
-
11
- from PyQt5 import QtCore, QtGui, QtWidgets
3
+ ################################################################################
4
+ ## Form generated from reading UI file 'observation.ui'
5
+ ##
6
+ ## Created by: Qt User Interface Compiler version 6.8.0
7
+ ##
8
+ ## WARNING! All changes made in this file will be lost when recompiling UI file!
9
+ ################################################################################
12
10
 
11
+ from PySide6.QtCore import (QCoreApplication, QDate, QDateTime, QLocale,
12
+ QMetaObject, QObject, QPoint, QRect,
13
+ QSize, QTime, QUrl, Qt)
14
+ from PySide6.QtGui import (QBrush, QColor, QConicalGradient, QCursor,
15
+ QFont, QFontDatabase, QGradient, QIcon,
16
+ QImage, QKeySequence, QLinearGradient, QPainter,
17
+ QPalette, QPixmap, QRadialGradient, QTransform)
18
+ from PySide6.QtWidgets import (QAbstractItemView, QApplication, QCheckBox, QDateTimeEdit,
19
+ QDoubleSpinBox, QGroupBox, QHBoxLayout, QHeaderView,
20
+ QLabel, QLineEdit, QListWidget, QListWidgetItem,
21
+ QPushButton, QRadioButton, QSizePolicy, QSpacerItem,
22
+ QSpinBox, QSplitter, QStackedWidget, QTabWidget,
23
+ QTableWidget, QTableWidgetItem, QTextEdit, QVBoxLayout,
24
+ QWidget)
13
25
 
14
26
  class Ui_Form(object):
15
27
  def setupUi(self, Form):
16
- Form.setObjectName("Form")
17
- Form.resize(800, 650)
18
- self.verticalLayout_6 = QtWidgets.QVBoxLayout(Form)
19
- self.verticalLayout_6.setObjectName("verticalLayout_6")
20
- self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
21
- self.horizontalLayout_2.setObjectName("horizontalLayout_2")
22
- self.label = QtWidgets.QLabel(Form)
23
- self.label.setObjectName("label")
28
+ if not Form.objectName():
29
+ Form.setObjectName(u"Form")
30
+ Form.resize(1278, 677)
31
+ self.verticalLayout_6 = QVBoxLayout(Form)
32
+ self.verticalLayout_6.setObjectName(u"verticalLayout_6")
33
+ self.horizontalLayout_2 = QHBoxLayout()
34
+ self.horizontalLayout_2.setObjectName(u"horizontalLayout_2")
35
+ self.label = QLabel(Form)
36
+ self.label.setObjectName(u"label")
37
+
24
38
  self.horizontalLayout_2.addWidget(self.label)
25
- self.lb_star = QtWidgets.QLabel(Form)
26
- font = QtGui.QFont()
39
+
40
+ self.lb_star = QLabel(Form)
41
+ self.lb_star.setObjectName(u"lb_star")
42
+ font = QFont()
27
43
  font.setPointSize(14)
28
44
  self.lb_star.setFont(font)
29
- self.lb_star.setStyleSheet("color: red")
30
- self.lb_star.setObjectName("lb_star")
45
+ self.lb_star.setStyleSheet(u"color: red")
46
+
31
47
  self.horizontalLayout_2.addWidget(self.lb_star)
32
- self.leObservationId = QtWidgets.QLineEdit(Form)
33
- self.leObservationId.setObjectName("leObservationId")
48
+
49
+ self.leObservationId = QLineEdit(Form)
50
+ self.leObservationId.setObjectName(u"leObservationId")
51
+
34
52
  self.horizontalLayout_2.addWidget(self.leObservationId)
35
- self.label_8 = QtWidgets.QLabel(Form)
36
- self.label_8.setObjectName("label_8")
53
+
54
+ self.label_8 = QLabel(Form)
55
+ self.label_8.setObjectName(u"label_8")
56
+
37
57
  self.horizontalLayout_2.addWidget(self.label_8)
38
- self.dteDate = QtWidgets.QDateTimeEdit(Form)
58
+
59
+ self.dteDate = QDateTimeEdit(Form)
60
+ self.dteDate.setObjectName(u"dteDate")
39
61
  self.dteDate.setCalendarPopup(True)
40
- self.dteDate.setObjectName("dteDate")
62
+
41
63
  self.horizontalLayout_2.addWidget(self.dteDate)
64
+
65
+
42
66
  self.verticalLayout_6.addLayout(self.horizontalLayout_2)
43
- self.splitter = QtWidgets.QSplitter(Form)
44
- self.splitter.setOrientation(QtCore.Qt.Horizontal)
45
- self.splitter.setObjectName("splitter")
46
- self.layoutWidget = QtWidgets.QWidget(self.splitter)
47
- self.layoutWidget.setObjectName("layoutWidget")
48
- self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.layoutWidget)
67
+
68
+ self.splitter = QSplitter(Form)
69
+ self.splitter.setObjectName(u"splitter")
70
+ self.splitter.setOrientation(Qt.Orientation.Horizontal)
71
+ self.layoutWidget = QWidget(self.splitter)
72
+ self.layoutWidget.setObjectName(u"layoutWidget")
73
+ self.verticalLayout_2 = QVBoxLayout(self.layoutWidget)
74
+ self.verticalLayout_2.setObjectName(u"verticalLayout_2")
49
75
  self.verticalLayout_2.setContentsMargins(0, 0, 0, 0)
50
- self.verticalLayout_2.setObjectName("verticalLayout_2")
51
- self.label_9 = QtWidgets.QLabel(self.layoutWidget)
52
- sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred)
76
+ self.label_9 = QLabel(self.layoutWidget)
77
+ self.label_9.setObjectName(u"label_9")
78
+ sizePolicy = QSizePolicy(QSizePolicy.Policy.Preferred, QSizePolicy.Policy.Preferred)
53
79
  sizePolicy.setHorizontalStretch(0)
54
80
  sizePolicy.setVerticalStretch(0)
55
81
  sizePolicy.setHeightForWidth(self.label_9.sizePolicy().hasHeightForWidth())
56
82
  self.label_9.setSizePolicy(sizePolicy)
57
- self.label_9.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter)
58
- self.label_9.setObjectName("label_9")
83
+ self.label_9.setAlignment(Qt.AlignmentFlag.AlignLeading|Qt.AlignmentFlag.AlignLeft|Qt.AlignmentFlag.AlignVCenter)
84
+
59
85
  self.verticalLayout_2.addWidget(self.label_9)
60
- self.teDescription = QtWidgets.QTextEdit(self.layoutWidget)
61
- sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding)
62
- sizePolicy.setHorizontalStretch(0)
63
- sizePolicy.setVerticalStretch(0)
64
- sizePolicy.setHeightForWidth(self.teDescription.sizePolicy().hasHeightForWidth())
65
- self.teDescription.setSizePolicy(sizePolicy)
66
- self.teDescription.setMaximumSize(QtCore.QSize(16777215, 16777215))
86
+
87
+ self.teDescription = QTextEdit(self.layoutWidget)
88
+ self.teDescription.setObjectName(u"teDescription")
89
+ sizePolicy1 = QSizePolicy(QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Expanding)
90
+ sizePolicy1.setHorizontalStretch(0)
91
+ sizePolicy1.setVerticalStretch(0)
92
+ sizePolicy1.setHeightForWidth(self.teDescription.sizePolicy().hasHeightForWidth())
93
+ self.teDescription.setSizePolicy(sizePolicy1)
94
+ self.teDescription.setMaximumSize(QSize(16777215, 16777215))
67
95
  self.teDescription.setAcceptDrops(False)
68
- self.teDescription.setObjectName("teDescription")
96
+
69
97
  self.verticalLayout_2.addWidget(self.teDescription)
70
- self.horizontalLayout_6 = QtWidgets.QHBoxLayout()
71
- self.horizontalLayout_6.setObjectName("horizontalLayout_6")
72
- self.lbTimeOffset = QtWidgets.QLabel(self.layoutWidget)
73
- self.lbTimeOffset.setObjectName("lbTimeOffset")
98
+
99
+ self.cb_time_offset = QCheckBox(self.layoutWidget)
100
+ self.cb_time_offset.setObjectName(u"cb_time_offset")
101
+
102
+ self.verticalLayout_2.addWidget(self.cb_time_offset)
103
+
104
+ self.horizontalLayout_6 = QHBoxLayout()
105
+ self.horizontalLayout_6.setObjectName(u"horizontalLayout_6")
106
+ self.lbTimeOffset = QLabel(self.layoutWidget)
107
+ self.lbTimeOffset.setObjectName(u"lbTimeOffset")
108
+
74
109
  self.horizontalLayout_6.addWidget(self.lbTimeOffset)
75
- spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
76
- self.horizontalLayout_6.addItem(spacerItem)
110
+
111
+ self.horizontalSpacer_2 = QSpacerItem(40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum)
112
+
113
+ self.horizontalLayout_6.addItem(self.horizontalSpacer_2)
114
+
115
+
77
116
  self.verticalLayout_2.addLayout(self.horizontalLayout_6)
78
- self.cb_observation_time_interval = QtWidgets.QCheckBox(self.layoutWidget)
79
- self.cb_observation_time_interval.setObjectName("cb_observation_time_interval")
117
+
118
+ self.cb_observation_time_interval = QCheckBox(self.layoutWidget)
119
+ self.cb_observation_time_interval.setObjectName(u"cb_observation_time_interval")
120
+
80
121
  self.verticalLayout_2.addWidget(self.cb_observation_time_interval)
81
- self.layoutWidget1 = QtWidgets.QWidget(self.splitter)
82
- self.layoutWidget1.setObjectName("layoutWidget1")
83
- self.verticalLayout_11 = QtWidgets.QVBoxLayout(self.layoutWidget1)
122
+
123
+ self.splitter.addWidget(self.layoutWidget)
124
+ self.layoutWidget1 = QWidget(self.splitter)
125
+ self.layoutWidget1.setObjectName(u"layoutWidget1")
126
+ self.verticalLayout_11 = QVBoxLayout(self.layoutWidget1)
127
+ self.verticalLayout_11.setObjectName(u"verticalLayout_11")
84
128
  self.verticalLayout_11.setContentsMargins(0, 0, 0, 0)
85
- self.verticalLayout_11.setObjectName("verticalLayout_11")
86
- self.label_3 = QtWidgets.QLabel(self.layoutWidget1)
87
- self.label_3.setObjectName("label_3")
129
+ self.label_3 = QLabel(self.layoutWidget1)
130
+ self.label_3.setObjectName(u"label_3")
131
+
88
132
  self.verticalLayout_11.addWidget(self.label_3)
89
- self.twIndepVariables = QtWidgets.QTableWidget(self.layoutWidget1)
90
- self.twIndepVariables.setObjectName("twIndepVariables")
91
- self.twIndepVariables.setColumnCount(3)
92
- self.twIndepVariables.setRowCount(0)
93
- item = QtWidgets.QTableWidgetItem()
94
- self.twIndepVariables.setHorizontalHeaderItem(0, item)
95
- item = QtWidgets.QTableWidgetItem()
96
- self.twIndepVariables.setHorizontalHeaderItem(1, item)
97
- item = QtWidgets.QTableWidgetItem()
98
- self.twIndepVariables.setHorizontalHeaderItem(2, item)
133
+
134
+ self.twIndepVariables = QTableWidget(self.layoutWidget1)
135
+ if (self.twIndepVariables.columnCount() < 3):
136
+ self.twIndepVariables.setColumnCount(3)
137
+ __qtablewidgetitem = QTableWidgetItem()
138
+ self.twIndepVariables.setHorizontalHeaderItem(0, __qtablewidgetitem)
139
+ __qtablewidgetitem1 = QTableWidgetItem()
140
+ self.twIndepVariables.setHorizontalHeaderItem(1, __qtablewidgetitem1)
141
+ __qtablewidgetitem2 = QTableWidgetItem()
142
+ self.twIndepVariables.setHorizontalHeaderItem(2, __qtablewidgetitem2)
143
+ self.twIndepVariables.setObjectName(u"twIndepVariables")
144
+
99
145
  self.verticalLayout_11.addWidget(self.twIndepVariables)
146
+
147
+ self.splitter.addWidget(self.layoutWidget1)
148
+
100
149
  self.verticalLayout_6.addWidget(self.splitter)
101
- self.gb_observation_type = QtWidgets.QGroupBox(Form)
102
- self.gb_observation_type.setObjectName("gb_observation_type")
103
- self.horizontalLayout_7 = QtWidgets.QHBoxLayout(self.gb_observation_type)
104
- self.horizontalLayout_7.setObjectName("horizontalLayout_7")
105
- self.horizontalLayout_4 = QtWidgets.QHBoxLayout()
106
- self.horizontalLayout_4.setObjectName("horizontalLayout_4")
107
- self.rb_media_files = QtWidgets.QRadioButton(self.gb_observation_type)
108
- self.rb_media_files.setObjectName("rb_media_files")
150
+
151
+ self.gb_observation_type = QGroupBox(Form)
152
+ self.gb_observation_type.setObjectName(u"gb_observation_type")
153
+ self.horizontalLayout_7 = QHBoxLayout(self.gb_observation_type)
154
+ self.horizontalLayout_7.setObjectName(u"horizontalLayout_7")
155
+ self.horizontalLayout_4 = QHBoxLayout()
156
+ self.horizontalLayout_4.setObjectName(u"horizontalLayout_4")
157
+ self.rb_media_files = QRadioButton(self.gb_observation_type)
158
+ self.rb_media_files.setObjectName(u"rb_media_files")
159
+
109
160
  self.horizontalLayout_4.addWidget(self.rb_media_files)
110
- self.rb_live = QtWidgets.QRadioButton(self.gb_observation_type)
111
- self.rb_live.setObjectName("rb_live")
161
+
162
+ self.rb_live = QRadioButton(self.gb_observation_type)
163
+ self.rb_live.setObjectName(u"rb_live")
164
+
112
165
  self.horizontalLayout_4.addWidget(self.rb_live)
113
- self.rb_images = QtWidgets.QRadioButton(self.gb_observation_type)
166
+
167
+ self.rb_images = QRadioButton(self.gb_observation_type)
168
+ self.rb_images.setObjectName(u"rb_images")
114
169
  self.rb_images.setEnabled(True)
115
- self.rb_images.setObjectName("rb_images")
170
+
116
171
  self.horizontalLayout_4.addWidget(self.rb_images)
117
- spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
118
- self.horizontalLayout_4.addItem(spacerItem1)
172
+
173
+ self.horizontalSpacer_4 = QSpacerItem(40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum)
174
+
175
+ self.horizontalLayout_4.addItem(self.horizontalSpacer_4)
176
+
177
+
119
178
  self.horizontalLayout_7.addLayout(self.horizontalLayout_4)
179
+
180
+
120
181
  self.verticalLayout_6.addWidget(self.gb_observation_type)
121
- self.sw_observation_type = QtWidgets.QStackedWidget(Form)
122
- self.sw_observation_type.setObjectName("sw_observation_type")
123
- self.page = QtWidgets.QWidget()
124
- self.page.setObjectName("page")
182
+
183
+ self.sw_observation_type = QStackedWidget(Form)
184
+ self.sw_observation_type.setObjectName(u"sw_observation_type")
185
+ self.page = QWidget()
186
+ self.page.setObjectName(u"page")
125
187
  self.sw_observation_type.addWidget(self.page)
126
- self.pg_media_files = QtWidgets.QWidget()
127
- self.pg_media_files.setObjectName("pg_media_files")
128
- self.verticalLayout_7 = QtWidgets.QVBoxLayout(self.pg_media_files)
129
- self.verticalLayout_7.setObjectName("verticalLayout_7")
130
- self.tabWidget = QtWidgets.QTabWidget(self.pg_media_files)
131
- self.tabWidget.setObjectName("tabWidget")
132
- self.tab_player_1 = QtWidgets.QWidget()
133
- self.tab_player_1.setObjectName("tab_player_1")
134
- self.verticalLayout = QtWidgets.QVBoxLayout(self.tab_player_1)
135
- self.verticalLayout.setObjectName("verticalLayout")
136
- self.verticalLayout_3 = QtWidgets.QVBoxLayout()
137
- self.verticalLayout_3.setObjectName("verticalLayout_3")
138
- self.twVideo1 = QtWidgets.QTableWidget(self.tab_player_1)
139
- self.twVideo1.setEditTriggers(QtWidgets.QAbstractItemView.AnyKeyPressed|QtWidgets.QAbstractItemView.DoubleClicked|QtWidgets.QAbstractItemView.EditKeyPressed)
188
+ self.pg_media_files = QWidget()
189
+ self.pg_media_files.setObjectName(u"pg_media_files")
190
+ self.verticalLayout_7 = QVBoxLayout(self.pg_media_files)
191
+ self.verticalLayout_7.setObjectName(u"verticalLayout_7")
192
+ self.tabWidget = QTabWidget(self.pg_media_files)
193
+ self.tabWidget.setObjectName(u"tabWidget")
194
+ self.tab_player_1 = QWidget()
195
+ self.tab_player_1.setObjectName(u"tab_player_1")
196
+ self.verticalLayout = QVBoxLayout(self.tab_player_1)
197
+ self.verticalLayout.setObjectName(u"verticalLayout")
198
+ self.verticalLayout_3 = QVBoxLayout()
199
+ self.verticalLayout_3.setObjectName(u"verticalLayout_3")
200
+ self.twVideo1 = QTableWidget(self.tab_player_1)
201
+ if (self.twVideo1.columnCount() < 7):
202
+ self.twVideo1.setColumnCount(7)
203
+ __qtablewidgetitem3 = QTableWidgetItem()
204
+ self.twVideo1.setHorizontalHeaderItem(0, __qtablewidgetitem3)
205
+ __qtablewidgetitem4 = QTableWidgetItem()
206
+ self.twVideo1.setHorizontalHeaderItem(1, __qtablewidgetitem4)
207
+ __qtablewidgetitem5 = QTableWidgetItem()
208
+ self.twVideo1.setHorizontalHeaderItem(2, __qtablewidgetitem5)
209
+ __qtablewidgetitem6 = QTableWidgetItem()
210
+ self.twVideo1.setHorizontalHeaderItem(3, __qtablewidgetitem6)
211
+ __qtablewidgetitem7 = QTableWidgetItem()
212
+ self.twVideo1.setHorizontalHeaderItem(4, __qtablewidgetitem7)
213
+ __qtablewidgetitem8 = QTableWidgetItem()
214
+ self.twVideo1.setHorizontalHeaderItem(5, __qtablewidgetitem8)
215
+ __qtablewidgetitem9 = QTableWidgetItem()
216
+ self.twVideo1.setHorizontalHeaderItem(6, __qtablewidgetitem9)
217
+ self.twVideo1.setObjectName(u"twVideo1")
218
+ self.twVideo1.setEditTriggers(QAbstractItemView.EditTrigger.AnyKeyPressed|QAbstractItemView.EditTrigger.DoubleClicked|QAbstractItemView.EditTrigger.EditKeyPressed)
140
219
  self.twVideo1.setAlternatingRowColors(True)
141
- self.twVideo1.setSelectionMode(QtWidgets.QAbstractItemView.MultiSelection)
142
- self.twVideo1.setSelectionBehavior(QtWidgets.QAbstractItemView.SelectRows)
143
- self.twVideo1.setTextElideMode(QtCore.Qt.ElideNone)
144
- self.twVideo1.setObjectName("twVideo1")
145
- self.twVideo1.setColumnCount(7)
146
- self.twVideo1.setRowCount(0)
147
- item = QtWidgets.QTableWidgetItem()
148
- self.twVideo1.setHorizontalHeaderItem(0, item)
149
- item = QtWidgets.QTableWidgetItem()
150
- self.twVideo1.setHorizontalHeaderItem(1, item)
151
- item = QtWidgets.QTableWidgetItem()
152
- self.twVideo1.setHorizontalHeaderItem(2, item)
153
- item = QtWidgets.QTableWidgetItem()
154
- self.twVideo1.setHorizontalHeaderItem(3, item)
155
- item = QtWidgets.QTableWidgetItem()
156
- self.twVideo1.setHorizontalHeaderItem(4, item)
157
- item = QtWidgets.QTableWidgetItem()
158
- self.twVideo1.setHorizontalHeaderItem(5, item)
159
- item = QtWidgets.QTableWidgetItem()
160
- self.twVideo1.setHorizontalHeaderItem(6, item)
220
+ self.twVideo1.setSelectionMode(QAbstractItemView.SelectionMode.MultiSelection)
221
+ self.twVideo1.setSelectionBehavior(QAbstractItemView.SelectionBehavior.SelectRows)
222
+ self.twVideo1.setTextElideMode(Qt.TextElideMode.ElideNone)
223
+
161
224
  self.verticalLayout_3.addWidget(self.twVideo1)
225
+
226
+
162
227
  self.verticalLayout.addLayout(self.verticalLayout_3)
163
- self.horizontalLayout_3 = QtWidgets.QHBoxLayout()
164
- self.horizontalLayout_3.setObjectName("horizontalLayout_3")
165
- self.pbAddVideo = QtWidgets.QPushButton(self.tab_player_1)
166
- self.pbAddVideo.setObjectName("pbAddVideo")
228
+
229
+ self.horizontalLayout_3 = QHBoxLayout()
230
+ self.horizontalLayout_3.setObjectName(u"horizontalLayout_3")
231
+ self.pbAddVideo = QPushButton(self.tab_player_1)
232
+ self.pbAddVideo.setObjectName(u"pbAddVideo")
233
+
167
234
  self.horizontalLayout_3.addWidget(self.pbAddVideo)
168
- self.pbRemoveVideo = QtWidgets.QPushButton(self.tab_player_1)
169
- self.pbRemoveVideo.setObjectName("pbRemoveVideo")
235
+
236
+ self.pbRemoveVideo = QPushButton(self.tab_player_1)
237
+ self.pbRemoveVideo.setObjectName(u"pbRemoveVideo")
238
+
170
239
  self.horizontalLayout_3.addWidget(self.pbRemoveVideo)
171
- self.pb_use_media_file_name_as_obsid = QtWidgets.QPushButton(self.tab_player_1)
172
- self.pb_use_media_file_name_as_obsid.setObjectName("pb_use_media_file_name_as_obsid")
240
+
241
+ self.pb_use_media_file_name_as_obsid = QPushButton(self.tab_player_1)
242
+ self.pb_use_media_file_name_as_obsid.setObjectName(u"pb_use_media_file_name_as_obsid")
243
+
173
244
  self.horizontalLayout_3.addWidget(self.pb_use_media_file_name_as_obsid)
174
- spacerItem2 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
175
- self.horizontalLayout_3.addItem(spacerItem2)
245
+
246
+ self.horizontalSpacer_6 = QSpacerItem(40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum)
247
+
248
+ self.horizontalLayout_3.addItem(self.horizontalSpacer_6)
249
+
250
+
176
251
  self.verticalLayout.addLayout(self.horizontalLayout_3)
177
- self.horizontalLayout_15 = QtWidgets.QHBoxLayout()
178
- self.horizontalLayout_15.setObjectName("horizontalLayout_15")
179
- self.cbVisualizeSpectrogram = QtWidgets.QCheckBox(self.tab_player_1)
180
- self.cbVisualizeSpectrogram.setObjectName("cbVisualizeSpectrogram")
252
+
253
+ self.horizontalLayout_15 = QHBoxLayout()
254
+ self.horizontalLayout_15.setObjectName(u"horizontalLayout_15")
255
+ self.cbVisualizeSpectrogram = QCheckBox(self.tab_player_1)
256
+ self.cbVisualizeSpectrogram.setObjectName(u"cbVisualizeSpectrogram")
257
+
181
258
  self.horizontalLayout_15.addWidget(self.cbVisualizeSpectrogram)
182
- self.cb_visualize_waveform = QtWidgets.QCheckBox(self.tab_player_1)
183
- self.cb_visualize_waveform.setObjectName("cb_visualize_waveform")
259
+
260
+ self.cb_visualize_waveform = QCheckBox(self.tab_player_1)
261
+ self.cb_visualize_waveform.setObjectName(u"cb_visualize_waveform")
262
+
184
263
  self.horizontalLayout_15.addWidget(self.cb_visualize_waveform)
185
- spacerItem3 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
186
- self.horizontalLayout_15.addItem(spacerItem3)
264
+
265
+ self.cb_media_creation_date_as_offset = QCheckBox(self.tab_player_1)
266
+ self.cb_media_creation_date_as_offset.setObjectName(u"cb_media_creation_date_as_offset")
267
+ self.cb_media_creation_date_as_offset.setEnabled(False)
268
+
269
+ self.horizontalLayout_15.addWidget(self.cb_media_creation_date_as_offset)
270
+
271
+ self.horizontalSpacer_11 = QSpacerItem(40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum)
272
+
273
+ self.horizontalLayout_15.addItem(self.horizontalSpacer_11)
274
+
275
+
187
276
  self.verticalLayout.addLayout(self.horizontalLayout_15)
188
- self.horizontalLayout_12 = QtWidgets.QHBoxLayout()
189
- self.horizontalLayout_12.setObjectName("horizontalLayout_12")
190
- self.label_2 = QtWidgets.QLabel(self.tab_player_1)
191
- self.label_2.setObjectName("label_2")
277
+
278
+ self.horizontalLayout_12 = QHBoxLayout()
279
+ self.horizontalLayout_12.setObjectName(u"horizontalLayout_12")
280
+ self.label_5 = QLabel(self.tab_player_1)
281
+ self.label_5.setObjectName(u"label_5")
282
+
283
+ self.horizontalLayout_12.addWidget(self.label_5)
284
+
285
+ self.sb_media_scan_sampling = QSpinBox(self.tab_player_1)
286
+ self.sb_media_scan_sampling.setObjectName(u"sb_media_scan_sampling")
287
+ self.sb_media_scan_sampling.setMaximum(1000000)
288
+
289
+ self.horizontalLayout_12.addWidget(self.sb_media_scan_sampling)
290
+
291
+ self.label_2 = QLabel(self.tab_player_1)
292
+ self.label_2.setObjectName(u"label_2")
293
+
192
294
  self.horizontalLayout_12.addWidget(self.label_2)
193
- self.sb_image_display_duration = QtWidgets.QSpinBox(self.tab_player_1)
295
+
296
+ self.sb_image_display_duration = QSpinBox(self.tab_player_1)
297
+ self.sb_image_display_duration.setObjectName(u"sb_image_display_duration")
194
298
  self.sb_image_display_duration.setMinimum(1)
195
299
  self.sb_image_display_duration.setMaximum(86400)
196
- self.sb_image_display_duration.setObjectName("sb_image_display_duration")
300
+
197
301
  self.horizontalLayout_12.addWidget(self.sb_image_display_duration)
198
- spacerItem4 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
199
- self.horizontalLayout_12.addItem(spacerItem4)
302
+
303
+ self.horizontalSpacer_8 = QSpacerItem(40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum)
304
+
305
+ self.horizontalLayout_12.addItem(self.horizontalSpacer_8)
306
+
307
+
200
308
  self.verticalLayout.addLayout(self.horizontalLayout_12)
201
- self.cbCloseCurrentBehaviorsBetweenVideo = QtWidgets.QCheckBox(self.tab_player_1)
202
- self.cbCloseCurrentBehaviorsBetweenVideo.setObjectName("cbCloseCurrentBehaviorsBetweenVideo")
309
+
310
+ self.cbCloseCurrentBehaviorsBetweenVideo = QCheckBox(self.tab_player_1)
311
+ self.cbCloseCurrentBehaviorsBetweenVideo.setObjectName(u"cbCloseCurrentBehaviorsBetweenVideo")
312
+ self.cbCloseCurrentBehaviorsBetweenVideo.setEnabled(False)
313
+
203
314
  self.verticalLayout.addWidget(self.cbCloseCurrentBehaviorsBetweenVideo)
315
+
204
316
  self.tabWidget.addTab(self.tab_player_1, "")
205
- self.tab_data_files = QtWidgets.QWidget()
206
- self.tab_data_files.setObjectName("tab_data_files")
207
- self.verticalLayout_17 = QtWidgets.QVBoxLayout(self.tab_data_files)
208
- self.verticalLayout_17.setObjectName("verticalLayout_17")
209
- self.splitter_5 = QtWidgets.QSplitter(self.tab_data_files)
210
- self.splitter_5.setOrientation(QtCore.Qt.Vertical)
211
- self.splitter_5.setObjectName("splitter_5")
212
- self.layoutWidget_4 = QtWidgets.QWidget(self.splitter_5)
213
- self.layoutWidget_4.setObjectName("layoutWidget_4")
214
- self.verticalLayout_15 = QtWidgets.QVBoxLayout(self.layoutWidget_4)
317
+ self.tab_data_files = QWidget()
318
+ self.tab_data_files.setObjectName(u"tab_data_files")
319
+ self.verticalLayout_17 = QVBoxLayout(self.tab_data_files)
320
+ self.verticalLayout_17.setObjectName(u"verticalLayout_17")
321
+ self.splitter_5 = QSplitter(self.tab_data_files)
322
+ self.splitter_5.setObjectName(u"splitter_5")
323
+ self.splitter_5.setOrientation(Qt.Orientation.Vertical)
324
+ self.layoutWidget_4 = QWidget(self.splitter_5)
325
+ self.layoutWidget_4.setObjectName(u"layoutWidget_4")
326
+ self.verticalLayout_15 = QVBoxLayout(self.layoutWidget_4)
327
+ self.verticalLayout_15.setObjectName(u"verticalLayout_15")
215
328
  self.verticalLayout_15.setContentsMargins(0, 0, 0, 0)
216
- self.verticalLayout_15.setObjectName("verticalLayout_15")
217
- self.label_7 = QtWidgets.QLabel(self.layoutWidget_4)
218
- self.label_7.setObjectName("label_7")
329
+ self.label_7 = QLabel(self.layoutWidget_4)
330
+ self.label_7.setObjectName(u"label_7")
331
+
219
332
  self.verticalLayout_15.addWidget(self.label_7)
220
- self.tw_data_files = QtWidgets.QTableWidget(self.layoutWidget_4)
221
- self.tw_data_files.setSelectionMode(QtWidgets.QAbstractItemView.MultiSelection)
222
- self.tw_data_files.setObjectName("tw_data_files")
223
- self.tw_data_files.setColumnCount(9)
224
- self.tw_data_files.setRowCount(0)
225
- item = QtWidgets.QTableWidgetItem()
226
- self.tw_data_files.setHorizontalHeaderItem(0, item)
227
- item = QtWidgets.QTableWidgetItem()
228
- self.tw_data_files.setHorizontalHeaderItem(1, item)
229
- item = QtWidgets.QTableWidgetItem()
230
- self.tw_data_files.setHorizontalHeaderItem(2, item)
231
- item = QtWidgets.QTableWidgetItem()
232
- self.tw_data_files.setHorizontalHeaderItem(3, item)
233
- item = QtWidgets.QTableWidgetItem()
234
- self.tw_data_files.setHorizontalHeaderItem(4, item)
235
- item = QtWidgets.QTableWidgetItem()
236
- self.tw_data_files.setHorizontalHeaderItem(5, item)
237
- item = QtWidgets.QTableWidgetItem()
238
- self.tw_data_files.setHorizontalHeaderItem(6, item)
239
- item = QtWidgets.QTableWidgetItem()
240
- self.tw_data_files.setHorizontalHeaderItem(7, item)
241
- item = QtWidgets.QTableWidgetItem()
242
- self.tw_data_files.setHorizontalHeaderItem(8, item)
333
+
334
+ self.tw_data_files = QTableWidget(self.layoutWidget_4)
335
+ if (self.tw_data_files.columnCount() < 9):
336
+ self.tw_data_files.setColumnCount(9)
337
+ __qtablewidgetitem10 = QTableWidgetItem()
338
+ self.tw_data_files.setHorizontalHeaderItem(0, __qtablewidgetitem10)
339
+ __qtablewidgetitem11 = QTableWidgetItem()
340
+ self.tw_data_files.setHorizontalHeaderItem(1, __qtablewidgetitem11)
341
+ __qtablewidgetitem12 = QTableWidgetItem()
342
+ self.tw_data_files.setHorizontalHeaderItem(2, __qtablewidgetitem12)
343
+ __qtablewidgetitem13 = QTableWidgetItem()
344
+ self.tw_data_files.setHorizontalHeaderItem(3, __qtablewidgetitem13)
345
+ __qtablewidgetitem14 = QTableWidgetItem()
346
+ self.tw_data_files.setHorizontalHeaderItem(4, __qtablewidgetitem14)
347
+ __qtablewidgetitem15 = QTableWidgetItem()
348
+ self.tw_data_files.setHorizontalHeaderItem(5, __qtablewidgetitem15)
349
+ __qtablewidgetitem16 = QTableWidgetItem()
350
+ self.tw_data_files.setHorizontalHeaderItem(6, __qtablewidgetitem16)
351
+ __qtablewidgetitem17 = QTableWidgetItem()
352
+ self.tw_data_files.setHorizontalHeaderItem(7, __qtablewidgetitem17)
353
+ __qtablewidgetitem18 = QTableWidgetItem()
354
+ self.tw_data_files.setHorizontalHeaderItem(8, __qtablewidgetitem18)
355
+ self.tw_data_files.setObjectName(u"tw_data_files")
356
+ self.tw_data_files.setSelectionMode(QAbstractItemView.SelectionMode.MultiSelection)
357
+
243
358
  self.verticalLayout_15.addWidget(self.tw_data_files)
244
- self.layoutWidget_5 = QtWidgets.QWidget(self.splitter_5)
245
- self.layoutWidget_5.setObjectName("layoutWidget_5")
246
- self.verticalLayout_16 = QtWidgets.QVBoxLayout(self.layoutWidget_5)
359
+
360
+ self.splitter_5.addWidget(self.layoutWidget_4)
361
+ self.layoutWidget_5 = QWidget(self.splitter_5)
362
+ self.layoutWidget_5.setObjectName(u"layoutWidget_5")
363
+ self.verticalLayout_16 = QVBoxLayout(self.layoutWidget_5)
364
+ self.verticalLayout_16.setObjectName(u"verticalLayout_16")
247
365
  self.verticalLayout_16.setContentsMargins(0, 0, 0, 0)
248
- self.verticalLayout_16.setObjectName("verticalLayout_16")
249
- self.horizontalLayout_5 = QtWidgets.QHBoxLayout()
250
- self.horizontalLayout_5.setObjectName("horizontalLayout_5")
251
- self.pb_add_data_file = QtWidgets.QPushButton(self.layoutWidget_5)
252
- self.pb_add_data_file.setObjectName("pb_add_data_file")
366
+ self.horizontalLayout_5 = QHBoxLayout()
367
+ self.horizontalLayout_5.setObjectName(u"horizontalLayout_5")
368
+ self.pb_add_data_file = QPushButton(self.layoutWidget_5)
369
+ self.pb_add_data_file.setObjectName(u"pb_add_data_file")
370
+
253
371
  self.horizontalLayout_5.addWidget(self.pb_add_data_file)
254
- self.pb_remove_data_file = QtWidgets.QPushButton(self.layoutWidget_5)
255
- self.pb_remove_data_file.setObjectName("pb_remove_data_file")
372
+
373
+ self.pb_remove_data_file = QPushButton(self.layoutWidget_5)
374
+ self.pb_remove_data_file.setObjectName(u"pb_remove_data_file")
375
+
256
376
  self.horizontalLayout_5.addWidget(self.pb_remove_data_file)
257
- self.pb_view_data_head = QtWidgets.QPushButton(self.layoutWidget_5)
258
- self.pb_view_data_head.setObjectName("pb_view_data_head")
377
+
378
+ self.pb_view_data_head = QPushButton(self.layoutWidget_5)
379
+ self.pb_view_data_head.setObjectName(u"pb_view_data_head")
380
+
259
381
  self.horizontalLayout_5.addWidget(self.pb_view_data_head)
260
- self.pb_plot_data = QtWidgets.QPushButton(self.layoutWidget_5)
261
- self.pb_plot_data.setObjectName("pb_plot_data")
382
+
383
+ self.pb_plot_data = QPushButton(self.layoutWidget_5)
384
+ self.pb_plot_data.setObjectName(u"pb_plot_data")
385
+
262
386
  self.horizontalLayout_5.addWidget(self.pb_plot_data)
263
- spacerItem5 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
264
- self.horizontalLayout_5.addItem(spacerItem5)
387
+
388
+ self.horizontalSpacer_7 = QSpacerItem(40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum)
389
+
390
+ self.horizontalLayout_5.addItem(self.horizontalSpacer_7)
391
+
392
+
265
393
  self.verticalLayout_16.addLayout(self.horizontalLayout_5)
266
- spacerItem6 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
267
- self.verticalLayout_16.addItem(spacerItem6)
394
+
395
+ self.verticalSpacer_4 = QSpacerItem(20, 40, QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Expanding)
396
+
397
+ self.verticalLayout_16.addItem(self.verticalSpacer_4)
398
+
399
+ self.splitter_5.addWidget(self.layoutWidget_5)
400
+
268
401
  self.verticalLayout_17.addWidget(self.splitter_5)
402
+
269
403
  self.tabWidget.addTab(self.tab_data_files, "")
404
+
270
405
  self.verticalLayout_7.addWidget(self.tabWidget)
406
+
271
407
  self.sw_observation_type.addWidget(self.pg_media_files)
272
- self.pg_live = QtWidgets.QWidget()
273
- self.pg_live.setObjectName("pg_live")
274
- self.verticalLayout_4 = QtWidgets.QVBoxLayout(self.pg_live)
275
- self.verticalLayout_4.setObjectName("verticalLayout_4")
276
- self.verticalLayout_8 = QtWidgets.QVBoxLayout()
277
- self.verticalLayout_8.setObjectName("verticalLayout_8")
278
- self.horizontalLayout_8 = QtWidgets.QHBoxLayout()
279
- self.horizontalLayout_8.setObjectName("horizontalLayout_8")
280
- self.label_4 = QtWidgets.QLabel(self.pg_live)
281
- self.label_4.setObjectName("label_4")
408
+ self.pg_live = QWidget()
409
+ self.pg_live.setObjectName(u"pg_live")
410
+ self.verticalLayout_4 = QVBoxLayout(self.pg_live)
411
+ self.verticalLayout_4.setObjectName(u"verticalLayout_4")
412
+ self.verticalLayout_8 = QVBoxLayout()
413
+ self.verticalLayout_8.setObjectName(u"verticalLayout_8")
414
+ self.horizontalLayout_8 = QHBoxLayout()
415
+ self.horizontalLayout_8.setObjectName(u"horizontalLayout_8")
416
+ self.label_4 = QLabel(self.pg_live)
417
+ self.label_4.setObjectName(u"label_4")
418
+
282
419
  self.horizontalLayout_8.addWidget(self.label_4)
283
- self.sbScanSampling = QtWidgets.QSpinBox(self.pg_live)
420
+
421
+ self.sbScanSampling = QSpinBox(self.pg_live)
422
+ self.sbScanSampling.setObjectName(u"sbScanSampling")
284
423
  self.sbScanSampling.setMaximum(1000000)
285
- self.sbScanSampling.setObjectName("sbScanSampling")
424
+
286
425
  self.horizontalLayout_8.addWidget(self.sbScanSampling)
287
- self.label_6 = QtWidgets.QLabel(self.pg_live)
288
- self.label_6.setObjectName("label_6")
426
+
427
+ self.label_6 = QLabel(self.pg_live)
428
+ self.label_6.setObjectName(u"label_6")
429
+
289
430
  self.horizontalLayout_8.addWidget(self.label_6)
290
- spacerItem7 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
291
- self.horizontalLayout_8.addItem(spacerItem7)
431
+
432
+ self.horizontalSpacer = QSpacerItem(40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum)
433
+
434
+ self.horizontalLayout_8.addItem(self.horizontalSpacer)
435
+
436
+
292
437
  self.verticalLayout_8.addLayout(self.horizontalLayout_8)
293
- self.cb_start_from_current_time = QtWidgets.QCheckBox(self.pg_live)
294
- self.cb_start_from_current_time.setObjectName("cb_start_from_current_time")
438
+
439
+ self.cb_start_from_current_time = QCheckBox(self.pg_live)
440
+ self.cb_start_from_current_time.setObjectName(u"cb_start_from_current_time")
441
+
295
442
  self.verticalLayout_8.addWidget(self.cb_start_from_current_time)
296
- self.rb_day_time = QtWidgets.QRadioButton(self.pg_live)
443
+
444
+ self.rb_day_time = QRadioButton(self.pg_live)
445
+ self.rb_day_time.setObjectName(u"rb_day_time")
297
446
  self.rb_day_time.setEnabled(False)
298
447
  self.rb_day_time.setChecked(True)
299
- self.rb_day_time.setObjectName("rb_day_time")
448
+
300
449
  self.verticalLayout_8.addWidget(self.rb_day_time)
301
- self.rb_epoch_time = QtWidgets.QRadioButton(self.pg_live)
450
+
451
+ self.rb_epoch_time = QRadioButton(self.pg_live)
452
+ self.rb_epoch_time.setObjectName(u"rb_epoch_time")
302
453
  self.rb_epoch_time.setEnabled(False)
303
- self.rb_epoch_time.setObjectName("rb_epoch_time")
454
+
304
455
  self.verticalLayout_8.addWidget(self.rb_epoch_time)
305
- spacerItem8 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
306
- self.verticalLayout_8.addItem(spacerItem8)
456
+
457
+ self.verticalSpacer_2 = QSpacerItem(20, 40, QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Expanding)
458
+
459
+ self.verticalLayout_8.addItem(self.verticalSpacer_2)
460
+
461
+
307
462
  self.verticalLayout_4.addLayout(self.verticalLayout_8)
463
+
308
464
  self.sw_observation_type.addWidget(self.pg_live)
309
- self.pg_images = QtWidgets.QWidget()
310
- self.pg_images.setObjectName("pg_images")
311
- self.verticalLayout_5 = QtWidgets.QVBoxLayout(self.pg_images)
312
- self.verticalLayout_5.setObjectName("verticalLayout_5")
313
- self.horizontalLayout_9 = QtWidgets.QHBoxLayout()
314
- self.horizontalLayout_9.setObjectName("horizontalLayout_9")
315
- self.lw_images_directory = QtWidgets.QListWidget(self.pg_images)
316
- self.lw_images_directory.setObjectName("lw_images_directory")
465
+ self.pg_images = QWidget()
466
+ self.pg_images.setObjectName(u"pg_images")
467
+ self.verticalLayout_5 = QVBoxLayout(self.pg_images)
468
+ self.verticalLayout_5.setObjectName(u"verticalLayout_5")
469
+ self.horizontalLayout_9 = QHBoxLayout()
470
+ self.horizontalLayout_9.setObjectName(u"horizontalLayout_9")
471
+ self.lw_images_directory = QListWidget(self.pg_images)
472
+ self.lw_images_directory.setObjectName(u"lw_images_directory")
473
+
317
474
  self.horizontalLayout_9.addWidget(self.lw_images_directory)
475
+
476
+
318
477
  self.verticalLayout_5.addLayout(self.horizontalLayout_9)
319
- self.lb_images_info = QtWidgets.QLabel(self.pg_images)
320
- self.lb_images_info.setObjectName("lb_images_info")
478
+
479
+ self.lb_images_info = QLabel(self.pg_images)
480
+ self.lb_images_info.setObjectName(u"lb_images_info")
481
+
321
482
  self.verticalLayout_5.addWidget(self.lb_images_info)
322
- self.horizontalLayout_14 = QtWidgets.QHBoxLayout()
323
- self.horizontalLayout_14.setObjectName("horizontalLayout_14")
324
- self.pb_add_directory = QtWidgets.QPushButton(self.pg_images)
325
- self.pb_add_directory.setObjectName("pb_add_directory")
483
+
484
+ self.horizontalLayout_14 = QHBoxLayout()
485
+ self.horizontalLayout_14.setObjectName(u"horizontalLayout_14")
486
+ self.pb_add_directory = QPushButton(self.pg_images)
487
+ self.pb_add_directory.setObjectName(u"pb_add_directory")
488
+
326
489
  self.horizontalLayout_14.addWidget(self.pb_add_directory)
327
- self.pb_remove_directory = QtWidgets.QPushButton(self.pg_images)
328
- self.pb_remove_directory.setObjectName("pb_remove_directory")
490
+
491
+ self.pb_remove_directory = QPushButton(self.pg_images)
492
+ self.pb_remove_directory.setObjectName(u"pb_remove_directory")
493
+
329
494
  self.horizontalLayout_14.addWidget(self.pb_remove_directory)
330
- spacerItem9 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
331
- self.horizontalLayout_14.addItem(spacerItem9)
495
+
496
+ self.horizontalSpacer_10 = QSpacerItem(40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum)
497
+
498
+ self.horizontalLayout_14.addItem(self.horizontalSpacer_10)
499
+
500
+
332
501
  self.verticalLayout_5.addLayout(self.horizontalLayout_14)
333
- self.horizontalLayout_13 = QtWidgets.QHBoxLayout()
334
- self.horizontalLayout_13.setObjectName("horizontalLayout_13")
335
- self.pb_use_img_dir_as_obsid = QtWidgets.QPushButton(self.pg_images)
336
- self.pb_use_img_dir_as_obsid.setObjectName("pb_use_img_dir_as_obsid")
502
+
503
+ self.horizontalLayout_13 = QHBoxLayout()
504
+ self.horizontalLayout_13.setObjectName(u"horizontalLayout_13")
505
+ self.pb_use_img_dir_as_obsid = QPushButton(self.pg_images)
506
+ self.pb_use_img_dir_as_obsid.setObjectName(u"pb_use_img_dir_as_obsid")
507
+
337
508
  self.horizontalLayout_13.addWidget(self.pb_use_img_dir_as_obsid)
338
- spacerItem10 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
339
- self.horizontalLayout_13.addItem(spacerItem10)
509
+
510
+ self.horizontalSpacer_9 = QSpacerItem(40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum)
511
+
512
+ self.horizontalLayout_13.addItem(self.horizontalSpacer_9)
513
+
514
+
340
515
  self.verticalLayout_5.addLayout(self.horizontalLayout_13)
341
- self.groupBox = QtWidgets.QGroupBox(self.pg_images)
342
- self.groupBox.setObjectName("groupBox")
343
- self.horizontalLayout_11 = QtWidgets.QHBoxLayout(self.groupBox)
344
- self.horizontalLayout_11.setObjectName("horizontalLayout_11")
345
- self.horizontalLayout_10 = QtWidgets.QHBoxLayout()
346
- self.horizontalLayout_10.setObjectName("horizontalLayout_10")
347
- self.rb_no_time = QtWidgets.QRadioButton(self.groupBox)
348
- self.rb_no_time.setObjectName("rb_no_time")
516
+
517
+ self.groupBox = QGroupBox(self.pg_images)
518
+ self.groupBox.setObjectName(u"groupBox")
519
+ self.horizontalLayout_11 = QHBoxLayout(self.groupBox)
520
+ self.horizontalLayout_11.setObjectName(u"horizontalLayout_11")
521
+ self.horizontalLayout_10 = QHBoxLayout()
522
+ self.horizontalLayout_10.setObjectName(u"horizontalLayout_10")
523
+ self.rb_no_time = QRadioButton(self.groupBox)
524
+ self.rb_no_time.setObjectName(u"rb_no_time")
525
+
349
526
  self.horizontalLayout_10.addWidget(self.rb_no_time)
350
- self.rb_use_exif = QtWidgets.QRadioButton(self.groupBox)
351
- self.rb_use_exif.setObjectName("rb_use_exif")
527
+
528
+ self.rb_use_exif = QRadioButton(self.groupBox)
529
+ self.rb_use_exif.setObjectName(u"rb_use_exif")
530
+
352
531
  self.horizontalLayout_10.addWidget(self.rb_use_exif)
353
- self.rb_time_lapse = QtWidgets.QRadioButton(self.groupBox)
354
- self.rb_time_lapse.setObjectName("rb_time_lapse")
532
+
533
+ self.rb_time_lapse = QRadioButton(self.groupBox)
534
+ self.rb_time_lapse.setObjectName(u"rb_time_lapse")
535
+
355
536
  self.horizontalLayout_10.addWidget(self.rb_time_lapse)
356
- self.sb_time_lapse = QtWidgets.QDoubleSpinBox(self.groupBox)
537
+
538
+ self.sb_time_lapse = QDoubleSpinBox(self.groupBox)
539
+ self.sb_time_lapse.setObjectName(u"sb_time_lapse")
357
540
  self.sb_time_lapse.setDecimals(3)
358
- self.sb_time_lapse.setMaximum(86400.0)
359
- self.sb_time_lapse.setObjectName("sb_time_lapse")
541
+ self.sb_time_lapse.setMaximum(86400.000000000000000)
542
+
360
543
  self.horizontalLayout_10.addWidget(self.sb_time_lapse)
361
- spacerItem11 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
362
- self.horizontalLayout_10.addItem(spacerItem11)
544
+
545
+ self.horizontalSpacer_5 = QSpacerItem(40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum)
546
+
547
+ self.horizontalLayout_10.addItem(self.horizontalSpacer_5)
548
+
549
+
363
550
  self.horizontalLayout_11.addLayout(self.horizontalLayout_10)
551
+
552
+
364
553
  self.verticalLayout_5.addWidget(self.groupBox)
554
+
365
555
  self.sw_observation_type.addWidget(self.pg_images)
556
+
366
557
  self.verticalLayout_6.addWidget(self.sw_observation_type)
367
- self.horizontalLayout = QtWidgets.QHBoxLayout()
368
- self.horizontalLayout.setObjectName("horizontalLayout")
369
- spacerItem12 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
370
- self.horizontalLayout.addItem(spacerItem12)
371
- self.pbCancel = QtWidgets.QPushButton(Form)
372
- self.pbCancel.setObjectName("pbCancel")
558
+
559
+ self.horizontalLayout = QHBoxLayout()
560
+ self.horizontalLayout.setObjectName(u"horizontalLayout")
561
+ self.horizontalSpacer_3 = QSpacerItem(40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum)
562
+
563
+ self.horizontalLayout.addItem(self.horizontalSpacer_3)
564
+
565
+ self.pbCancel = QPushButton(Form)
566
+ self.pbCancel.setObjectName(u"pbCancel")
567
+
373
568
  self.horizontalLayout.addWidget(self.pbCancel)
374
- self.pbSave = QtWidgets.QPushButton(Form)
375
- self.pbSave.setObjectName("pbSave")
569
+
570
+ self.pbSave = QPushButton(Form)
571
+ self.pbSave.setObjectName(u"pbSave")
572
+
376
573
  self.horizontalLayout.addWidget(self.pbSave)
377
- self.pbLaunch = QtWidgets.QPushButton(Form)
378
- self.pbLaunch.setObjectName("pbLaunch")
574
+
575
+ self.pbLaunch = QPushButton(Form)
576
+ self.pbLaunch.setObjectName(u"pbLaunch")
577
+
379
578
  self.horizontalLayout.addWidget(self.pbLaunch)
579
+
580
+
380
581
  self.verticalLayout_6.addLayout(self.horizontalLayout)
381
582
 
583
+
382
584
  self.retranslateUi(Form)
585
+
383
586
  self.sw_observation_type.setCurrentIndex(1)
384
- self.tabWidget.setCurrentIndex(1)
385
- QtCore.QMetaObject.connectSlotsByName(Form)
587
+ self.tabWidget.setCurrentIndex(0)
588
+
589
+
590
+ QMetaObject.connectSlotsByName(Form)
591
+ # setupUi
386
592
 
387
593
  def retranslateUi(self, Form):
388
- _translate = QtCore.QCoreApplication.translate
389
- Form.setWindowTitle(_translate("Form", "New observation"))
390
- self.label.setText(_translate("Form", "Observation id"))
391
- self.lb_star.setText(_translate("Form", "*"))
392
- self.label_8.setText(_translate("Form", "Date and time"))
393
- self.dteDate.setDisplayFormat(_translate("Form", "yyyy-MM-dd hh:mm:ss"))
394
- self.label_9.setText(_translate("Form", "Description"))
395
- self.lbTimeOffset.setText(_translate("Form", "Time offset"))
396
- self.cb_observation_time_interval.setText(_translate("Form", "Limit observation to a time interval"))
397
- self.label_3.setText(_translate("Form", "Independent variables"))
398
- item = self.twIndepVariables.horizontalHeaderItem(0)
399
- item.setText(_translate("Form", "Variable"))
400
- item = self.twIndepVariables.horizontalHeaderItem(1)
401
- item.setText(_translate("Form", "Type"))
402
- item = self.twIndepVariables.horizontalHeaderItem(2)
403
- item.setText(_translate("Form", "Value"))
404
- self.gb_observation_type.setTitle(_translate("Form", "Observation type"))
405
- self.rb_media_files.setText(_translate("Form", "Observation from media file(s)"))
406
- self.rb_live.setText(_translate("Form", "Live observation"))
407
- self.rb_images.setText(_translate("Form", "Observation from pictures"))
408
- item = self.twVideo1.horizontalHeaderItem(0)
409
- item.setText(_translate("Form", "Player"))
410
- item = self.twVideo1.horizontalHeaderItem(1)
411
- item.setText(_translate("Form", "Offset (seconds)"))
412
- item = self.twVideo1.horizontalHeaderItem(2)
413
- item.setText(_translate("Form", "Path"))
414
- item = self.twVideo1.horizontalHeaderItem(3)
415
- item.setText(_translate("Form", "Duration"))
416
- item = self.twVideo1.horizontalHeaderItem(4)
417
- item.setText(_translate("Form", "FPS"))
418
- item = self.twVideo1.horizontalHeaderItem(5)
419
- item.setText(_translate("Form", "Video"))
420
- item = self.twVideo1.horizontalHeaderItem(6)
421
- item.setText(_translate("Form", "Audio"))
422
- self.pbAddVideo.setText(_translate("Form", "Add media"))
423
- self.pbRemoveVideo.setText(_translate("Form", "Remove selected media"))
424
- self.pb_use_media_file_name_as_obsid.setText(_translate("Form", "Use media file name as observation id"))
425
- self.cbVisualizeSpectrogram.setText(_translate("Form", "Visualize the sound spectrogram for the player #1"))
426
- self.cb_visualize_waveform.setText(_translate("Form", "Visualize the waveform for the player #1"))
427
- self.label_2.setText(_translate("Form", "Image display duration (s)"))
428
- self.cbCloseCurrentBehaviorsBetweenVideo.setText(_translate("Form", "Stop ongoing state events between successive media files"))
429
- self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_player_1), _translate("Form", "Media files"))
430
- self.label_7.setText(_translate("Form", "Data files to plot"))
431
- item = self.tw_data_files.horizontalHeaderItem(0)
432
- item.setText(_translate("Form", "Path"))
433
- item = self.tw_data_files.horizontalHeaderItem(1)
434
- item.setText(_translate("Form", "Columns to plot"))
435
- item = self.tw_data_files.horizontalHeaderItem(2)
436
- item.setText(_translate("Form", "Plot title"))
437
- item = self.tw_data_files.horizontalHeaderItem(3)
438
- item.setText(_translate("Form", "Variable name"))
439
- item = self.tw_data_files.horizontalHeaderItem(4)
440
- item.setText(_translate("Form", "Converters"))
441
- item = self.tw_data_files.horizontalHeaderItem(5)
442
- item.setText(_translate("Form", "Time interval (s)"))
443
- item = self.tw_data_files.horizontalHeaderItem(6)
444
- item.setText(_translate("Form", "Start position (s)"))
445
- item = self.tw_data_files.horizontalHeaderItem(7)
446
- item.setText(_translate("Form", "Substract first value"))
447
- item = self.tw_data_files.horizontalHeaderItem(8)
448
- item.setText(_translate("Form", "Color"))
449
- self.pb_add_data_file.setText(_translate("Form", "Add data file"))
450
- self.pb_remove_data_file.setText(_translate("Form", "Remove selected data file"))
451
- self.pb_view_data_head.setText(_translate("Form", "View data from file"))
452
- self.pb_plot_data.setText(_translate("Form", "Show plot"))
453
- self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_data_files), _translate("Form", "Data files"))
454
- self.label_4.setText(_translate("Form", "Scan sampling every"))
455
- self.label_6.setText(_translate("Form", "seconds"))
456
- self.cb_start_from_current_time.setText(_translate("Form", "Start from current time"))
457
- self.rb_day_time.setText(_translate("Form", "Day time"))
458
- self.rb_epoch_time.setText(_translate("Form", "Epoch time (seconds since 1970-01-01)"))
459
- self.lb_images_info.setText(_translate("Form", "Image info:"))
460
- self.pb_add_directory.setText(_translate("Form", "Add directory"))
461
- self.pb_remove_directory.setText(_translate("Form", "Remove directory"))
462
- self.pb_use_img_dir_as_obsid.setText(_translate("Form", "Use the pictures directory as observation id"))
463
- self.groupBox.setTitle(_translate("Form", "Time"))
464
- self.rb_no_time.setText(_translate("Form", "No time"))
465
- self.rb_use_exif.setText(_translate("Form", "Use the EXIF DateTimeOriginal tag"))
466
- self.rb_time_lapse.setText(_translate("Form", "Time lapse (s)"))
467
- self.pbCancel.setText(_translate("Form", "Cancel"))
468
- self.pbSave.setText(_translate("Form", "Save"))
469
- self.pbLaunch.setText(_translate("Form", "Start"))
594
+ Form.setWindowTitle(QCoreApplication.translate("Form", u"New observation", None))
595
+ self.label.setText(QCoreApplication.translate("Form", u"Observation id", None))
596
+ self.lb_star.setText(QCoreApplication.translate("Form", u"*", None))
597
+ self.label_8.setText(QCoreApplication.translate("Form", u"Date and time", None))
598
+ self.dteDate.setDisplayFormat(QCoreApplication.translate("Form", u"yyyy-MM-dd hh:mm:ss.zzz", None))
599
+ self.label_9.setText(QCoreApplication.translate("Form", u"Description", None))
600
+ self.cb_time_offset.setText(QCoreApplication.translate("Form", u"Time offset", None))
601
+ self.lbTimeOffset.setText(QCoreApplication.translate("Form", u"Time value", None))
602
+ self.cb_observation_time_interval.setText(QCoreApplication.translate("Form", u"Limit observation to a time interval", None))
603
+ self.label_3.setText(QCoreApplication.translate("Form", u"Independent variables", None))
604
+ ___qtablewidgetitem = self.twIndepVariables.horizontalHeaderItem(0)
605
+ ___qtablewidgetitem.setText(QCoreApplication.translate("Form", u"Variable", None));
606
+ ___qtablewidgetitem1 = self.twIndepVariables.horizontalHeaderItem(1)
607
+ ___qtablewidgetitem1.setText(QCoreApplication.translate("Form", u"Type", None));
608
+ ___qtablewidgetitem2 = self.twIndepVariables.horizontalHeaderItem(2)
609
+ ___qtablewidgetitem2.setText(QCoreApplication.translate("Form", u"Value", None));
610
+ self.gb_observation_type.setTitle(QCoreApplication.translate("Form", u"Observation type", None))
611
+ self.rb_media_files.setText(QCoreApplication.translate("Form", u"Observation from media file(s)", None))
612
+ self.rb_live.setText(QCoreApplication.translate("Form", u"Live observation", None))
613
+ self.rb_images.setText(QCoreApplication.translate("Form", u"Observation from pictures", None))
614
+ ___qtablewidgetitem3 = self.twVideo1.horizontalHeaderItem(0)
615
+ ___qtablewidgetitem3.setText(QCoreApplication.translate("Form", u"Player", None));
616
+ ___qtablewidgetitem4 = self.twVideo1.horizontalHeaderItem(1)
617
+ ___qtablewidgetitem4.setText(QCoreApplication.translate("Form", u"Offset (seconds)", None));
618
+ ___qtablewidgetitem5 = self.twVideo1.horizontalHeaderItem(2)
619
+ ___qtablewidgetitem5.setText(QCoreApplication.translate("Form", u"Path", None));
620
+ ___qtablewidgetitem6 = self.twVideo1.horizontalHeaderItem(3)
621
+ ___qtablewidgetitem6.setText(QCoreApplication.translate("Form", u"Duration", None));
622
+ ___qtablewidgetitem7 = self.twVideo1.horizontalHeaderItem(4)
623
+ ___qtablewidgetitem7.setText(QCoreApplication.translate("Form", u"FPS", None));
624
+ ___qtablewidgetitem8 = self.twVideo1.horizontalHeaderItem(5)
625
+ ___qtablewidgetitem8.setText(QCoreApplication.translate("Form", u"Video", None));
626
+ ___qtablewidgetitem9 = self.twVideo1.horizontalHeaderItem(6)
627
+ ___qtablewidgetitem9.setText(QCoreApplication.translate("Form", u"Audio", None));
628
+ self.pbAddVideo.setText(QCoreApplication.translate("Form", u"Add media", None))
629
+ self.pbRemoveVideo.setText(QCoreApplication.translate("Form", u"Remove selected media", None))
630
+ self.pb_use_media_file_name_as_obsid.setText(QCoreApplication.translate("Form", u"Use media file name as observation id", None))
631
+ self.cbVisualizeSpectrogram.setText(QCoreApplication.translate("Form", u"Visualize the sound spectrogram for the player #1", None))
632
+ self.cb_visualize_waveform.setText(QCoreApplication.translate("Form", u"Visualize the waveform for the player #1", None))
633
+ self.cb_media_creation_date_as_offset.setText(QCoreApplication.translate("Form", u"Use the media creation date/time as offset", None))
634
+ self.label_5.setText(QCoreApplication.translate("Form", u"Scan sampling every (s)", None))
635
+ self.label_2.setText(QCoreApplication.translate("Form", u"Image display duration (s)", None))
636
+ self.cbCloseCurrentBehaviorsBetweenVideo.setText(QCoreApplication.translate("Form", u"Stop ongoing state events between successive media files", None))
637
+ self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_player_1), QCoreApplication.translate("Form", u"Media files", None))
638
+ self.label_7.setText(QCoreApplication.translate("Form", u"Data files to plot", None))
639
+ ___qtablewidgetitem10 = self.tw_data_files.horizontalHeaderItem(0)
640
+ ___qtablewidgetitem10.setText(QCoreApplication.translate("Form", u"Path", None));
641
+ ___qtablewidgetitem11 = self.tw_data_files.horizontalHeaderItem(1)
642
+ ___qtablewidgetitem11.setText(QCoreApplication.translate("Form", u"Columns to plot", None));
643
+ ___qtablewidgetitem12 = self.tw_data_files.horizontalHeaderItem(2)
644
+ ___qtablewidgetitem12.setText(QCoreApplication.translate("Form", u"Plot title", None));
645
+ ___qtablewidgetitem13 = self.tw_data_files.horizontalHeaderItem(3)
646
+ ___qtablewidgetitem13.setText(QCoreApplication.translate("Form", u"Variable name", None));
647
+ ___qtablewidgetitem14 = self.tw_data_files.horizontalHeaderItem(4)
648
+ ___qtablewidgetitem14.setText(QCoreApplication.translate("Form", u"Converters", None));
649
+ ___qtablewidgetitem15 = self.tw_data_files.horizontalHeaderItem(5)
650
+ ___qtablewidgetitem15.setText(QCoreApplication.translate("Form", u"Time interval (s)", None));
651
+ ___qtablewidgetitem16 = self.tw_data_files.horizontalHeaderItem(6)
652
+ ___qtablewidgetitem16.setText(QCoreApplication.translate("Form", u"Start position (s)", None));
653
+ ___qtablewidgetitem17 = self.tw_data_files.horizontalHeaderItem(7)
654
+ ___qtablewidgetitem17.setText(QCoreApplication.translate("Form", u"Substract first value", None));
655
+ ___qtablewidgetitem18 = self.tw_data_files.horizontalHeaderItem(8)
656
+ ___qtablewidgetitem18.setText(QCoreApplication.translate("Form", u"Color", None));
657
+ self.pb_add_data_file.setText(QCoreApplication.translate("Form", u"Add data file", None))
658
+ self.pb_remove_data_file.setText(QCoreApplication.translate("Form", u"Remove selected data file", None))
659
+ self.pb_view_data_head.setText(QCoreApplication.translate("Form", u"View data from file", None))
660
+ self.pb_plot_data.setText(QCoreApplication.translate("Form", u"Show plot", None))
661
+ self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_data_files), QCoreApplication.translate("Form", u"Data files", None))
662
+ self.label_4.setText(QCoreApplication.translate("Form", u"Scan sampling every", None))
663
+ self.label_6.setText(QCoreApplication.translate("Form", u"seconds", None))
664
+ self.cb_start_from_current_time.setText(QCoreApplication.translate("Form", u"Start from current time", None))
665
+ self.rb_day_time.setText(QCoreApplication.translate("Form", u"Day time", None))
666
+ self.rb_epoch_time.setText(QCoreApplication.translate("Form", u"Epoch time (seconds since 1970-01-01)", None))
667
+ self.lb_images_info.setText(QCoreApplication.translate("Form", u"Image info:", None))
668
+ self.pb_add_directory.setText(QCoreApplication.translate("Form", u"Add directory", None))
669
+ self.pb_remove_directory.setText(QCoreApplication.translate("Form", u"Remove directory", None))
670
+ self.pb_use_img_dir_as_obsid.setText(QCoreApplication.translate("Form", u"Use the pictures directory as observation id", None))
671
+ self.groupBox.setTitle(QCoreApplication.translate("Form", u"Time", None))
672
+ self.rb_no_time.setText(QCoreApplication.translate("Form", u"No time", None))
673
+ self.rb_use_exif.setText(QCoreApplication.translate("Form", u"Use the EXIF DateTimeOriginal tag", None))
674
+ self.rb_time_lapse.setText(QCoreApplication.translate("Form", u"Time lapse (s)", None))
675
+ self.pbCancel.setText(QCoreApplication.translate("Form", u"Cancel", None))
676
+ self.pbSave.setText(QCoreApplication.translate("Form", u"Save", None))
677
+ self.pbLaunch.setText(QCoreApplication.translate("Form", u"Start", None))
678
+ # retranslateUi
679
+