mirror of
https://github.com/CopterExpress/clever-show.git
synced 2026-05-26 15:13:26 +00:00
Server UI: Add Select All menu button and shortcut, set row size to fit headers names on start
This commit is contained in:
@@ -37,6 +37,7 @@ class CopterDataModel(QtCore.QAbstractTableModel):
|
||||
super(CopterDataModel, self).__init__(parent)
|
||||
self.headers = ('copter ID', 'animation ID', 'battery V', 'battery %', 'system status', 'calibration status', 'selfcheck', 'time delta')
|
||||
self.data_contents = []
|
||||
self.first_col_is_checked = False
|
||||
|
||||
def insertRows(self, contents, position='last', parent=QtCore.QModelIndex()):
|
||||
rows = len(contents)
|
||||
@@ -131,6 +132,13 @@ class CopterDataModel(QtCore.QAbstractTableModel):
|
||||
|
||||
return True
|
||||
|
||||
def select_all(self):
|
||||
self.first_col_is_checked = not self.first_col_is_checked
|
||||
for copter in self.data_contents:
|
||||
copter.checked = int(self.first_col_is_checked)*2
|
||||
for row in range(len(self.data_contents)):
|
||||
self.update_model(self.index(row, 0))
|
||||
|
||||
def flags(self, index):
|
||||
roles = Qt.ItemIsSelectable | Qt.ItemIsEnabled
|
||||
if index.column() == 0:
|
||||
|
||||
@@ -53,6 +53,7 @@ class MainWindow(QtWidgets.QMainWindow):
|
||||
self.signals = SignalManager()
|
||||
self.gyro_calibrated = {}
|
||||
self.level_calibrated = {}
|
||||
self.first_col_is_checked = False
|
||||
|
||||
self.init_model()
|
||||
|
||||
@@ -64,8 +65,7 @@ class MainWindow(QtWidgets.QMainWindow):
|
||||
|
||||
# Initiate table and table self.model
|
||||
self.ui.tableView.setModel(self.proxy_model)
|
||||
#self.ui.tableView.horizontalHeader().setStretchLastSection(True)
|
||||
#self.ui.tableView.setSortingEnabled(True)
|
||||
self.ui.tableView.resizeColumnsToContents()
|
||||
|
||||
# Connect signals to manipulate model from threads
|
||||
self.signals.update_data_signal.connect(self.model.update_item)
|
||||
@@ -88,6 +88,8 @@ class MainWindow(QtWidgets.QMainWindow):
|
||||
self.model.selected_calibration_ready_signal.connect(self.ui.calibrate_gyro.setEnabled)
|
||||
self.model.selected_calibration_ready_signal.connect(self.ui.calibrate_level.setEnabled)
|
||||
|
||||
self.ui.action_select_all_rows.triggered.connect(self.model.select_all)
|
||||
|
||||
|
||||
def client_connected(self, client: Client):
|
||||
self.signals.add_client_signal.emit(CopterData(copter_id=client.copter_id, client=client))
|
||||
|
||||
Reference in New Issue
Block a user