diff --git a/Server/copter_table.py b/Server/copter_table.py index fd341fd..2f9b1ac 100644 --- a/Server/copter_table.py +++ b/Server/copter_table.py @@ -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): diff --git a/Server/server_qt.py b/Server/server_qt.py index 0e8d7f6..77f273d 100644 --- a/Server/server_qt.py +++ b/Server/server_qt.py @@ -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) diff --git a/config.py b/config.py index 824d280..a00f638 100644 --- a/config.py +++ b/config.py @@ -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() diff --git a/messaging_lib.py b/messaging_lib.py index d5c02b6..ccb6852 100644 --- a/messaging_lib.py +++ b/messaging_lib.py @@ -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()