mirror of
https://github.com/CopterExpress/clever-show.git
synced 2026-05-26 07:07:58 +00:00
Merge branch 'qt-gui-update' of https://github.com/CopterExpress/clever-show into qt-gui-update
This commit is contained in:
@@ -15,10 +15,9 @@ import copter_table_models as table
|
||||
class CopterTableWidget(QTableView):
|
||||
config_dialog_signal = QtCore.pyqtSignal(object, object)
|
||||
|
||||
def __init__(self, model, window, data_model=table.StatedCopterData):
|
||||
def __init__(self, model, data_model=table.StatedCopterData):
|
||||
QTableView.__init__(self)
|
||||
|
||||
self._window = window
|
||||
self.model = model
|
||||
self._data_model = data_model
|
||||
|
||||
@@ -31,10 +30,12 @@ class CopterTableWidget(QTableView):
|
||||
# Initiate table and table self.model
|
||||
self.setModel(self.proxy_model)
|
||||
|
||||
self.columns = [header.strip() for header in self.model.headers]
|
||||
self.columns = [header.strip() for header in self.model.headers] # header keys
|
||||
self.current_columns = self.columns[:]
|
||||
|
||||
header = self.horizontalHeader()
|
||||
header.setCascadingSectionResizes(False)
|
||||
header.setStretchLastSection(True)
|
||||
header.setSectionsMovable(True)
|
||||
header.sectionMoved.connect(self.moved)
|
||||
header.setContextMenuPolicy(Qt.CustomContextMenu)
|
||||
@@ -46,6 +47,7 @@ class CopterTableWidget(QTableView):
|
||||
self._signal_connection = None
|
||||
|
||||
# Adjust properties
|
||||
self.setSizeAdjustPolicy(QtWidgets.QAbstractScrollArea.AdjustToContents)
|
||||
self.resizeColumnsToContents()
|
||||
self.setSelectionBehavior(QtWidgets.QAbstractItemView.SelectRows)
|
||||
self.doubleClicked.connect(self.on_double_click)
|
||||
@@ -54,7 +56,7 @@ class CopterTableWidget(QTableView):
|
||||
name = self.current_columns.pop(old_index)
|
||||
self.current_columns.insert(new_index, name)
|
||||
|
||||
def load_column_order(self, order):
|
||||
def set_column_order(self, order):
|
||||
if set(order) != set(self.current_columns):
|
||||
raise ValueError
|
||||
|
||||
@@ -121,7 +123,7 @@ class CopterTableWidget(QTableView):
|
||||
if self._signal_connection is not None:
|
||||
self.config_dialog_signal.disconnect(self._signal_connection)
|
||||
|
||||
call = ConfigDialog(self._window).call_copter_dialog
|
||||
call = ConfigDialog().call_copter_dialog
|
||||
self._signal_connection = self.config_dialog_signal.connect(call)
|
||||
copter.client.get_response("config", self.config_dialog_signal.emit)
|
||||
|
||||
@@ -160,7 +162,7 @@ class HeaderListWidget(QListWidget):
|
||||
def dropEvent(self, event: QtGui.QDropEvent):
|
||||
super().dropEvent(event)
|
||||
column_order = [self.item(i).text() for i in range(self.count())]
|
||||
self.source_widget.load_column_order(column_order)
|
||||
self.source_widget.set_column_order(column_order)
|
||||
|
||||
@pyqtSlot(QListWidgetItem)
|
||||
def on_itemChanged(self, item):
|
||||
|
||||
@@ -150,7 +150,7 @@ class MainWindow(QtWidgets.QMainWindow):
|
||||
self.ui.horizontalLayout.removeWidget(self.ui.tableView)
|
||||
self.ui.tableView.close()
|
||||
# Init our custom widget
|
||||
self.ui.copter_table = CopterTableWidget(self.model, self)
|
||||
self.ui.copter_table = CopterTableWidget(self.model)
|
||||
self.ui.copter_table.setObjectName("copter_table")
|
||||
# Insert to layout at right
|
||||
self.ui.horizontalLayout.insertWidget(0, self.ui.copter_table, 0)
|
||||
|
||||
@@ -218,6 +218,7 @@ class ConfigManager:
|
||||
config = ConfigObj(configspec=cls._get_spec_path(cfg_path))
|
||||
config.filename = cfg_path
|
||||
config.validate(vdt, copy=True)
|
||||
config.indent_type = ''
|
||||
config.initial_comment = ('This is generated config with default values',
|
||||
'Modify to configure')
|
||||
config.write()
|
||||
|
||||
@@ -506,7 +506,6 @@ class NotifierSock(Singleton):
|
||||
self._send_lock = threading.Lock()
|
||||
|
||||
self._receiving_sock = None
|
||||
self._selector = None
|
||||
|
||||
def init(self, selector, port=26000):
|
||||
port += random.randint(0, 100) # local testing fix
|
||||
@@ -518,7 +517,6 @@ class NotifierSock(Singleton):
|
||||
logger.info("Notify socket: connected")
|
||||
|
||||
selector.register(self._receiving_sock, selectors.EVENT_READ, data=self)
|
||||
self._selector = selector
|
||||
logger.info("Notify socket: selector registered")
|
||||
|
||||
def get_sock(self):
|
||||
@@ -543,7 +541,6 @@ class NotifierSock(Singleton):
|
||||
|
||||
def close(self):
|
||||
try:
|
||||
self._selector.unregister(self._receiving_sock)
|
||||
self._server_socket.close()
|
||||
self._sending_sock.close()
|
||||
self._receiving_sock.close()
|
||||
|
||||
Reference in New Issue
Block a user