diff --git a/src/brickv/main.py b/src/brickv/main.py index 7c3a97ae5..5a48782c1 100644 --- a/src/brickv/main.py +++ b/src/brickv/main.py @@ -344,6 +344,8 @@ def main(dev_mode): parser.add_argument('-v', '--version', action='version', version=config.BRICKV_VERSION) parser.add_argument('--no-dev-mode', action='store_true', help='disable Python dev mode') parser.add_argument('--no-error-reporter', action='store_true', help='disable error reporter') + parser.add_argument('host', nargs='?', help='connect to the given host') + parser.add_argument('--port', type=int, help='port override if host is given') args = parser.parse_args(sys.argv[1:]) @@ -390,7 +392,7 @@ def main(dev_mode): from brickv.mainwindow import MainWindow - main_window = MainWindow(brickv_version) + main_window = MainWindow(brickv_version, args.host, args.port) main_window.show() splash.finish(main_window) diff --git a/src/brickv/mainwindow.py b/src/brickv/mainwindow.py index 034cf5213..5778d3f6d 100644 --- a/src/brickv/mainwindow.py +++ b/src/brickv/mainwindow.py @@ -70,7 +70,7 @@ class MainWindow(QMainWindow, Ui_MainWindow): qtcb_connected = pyqtSignal(int) qtcb_disconnected = pyqtSignal(int) - def __init__(self, brickv_version_ref, parent=None): + def __init__(self, brickv_version_ref, host, port, parent=None): QMainWindow.__init__(self, parent) self.brickv_version_ref = brickv_version_ref @@ -234,6 +234,17 @@ def __init__(self, brickv_version_ref, parent=None): self.ipcon_available = False self.update_ui_state() + if host != None: + QTimer.singleShot(0, lambda: self.auto_connect(host, port)) + + def auto_connect(self, host, port): + self.combo_host.setCurrentText(host) + + if port != None: + self.checkbox_different_port.setChecked(port != config.DEFAULT_PORT) + self.spinbox_port.setValue(port) + + self.connect_clicked() def get_last_host(self): return self.last_host