From 967bd154bad8d8999337dcbdfba1beac940f2753 Mon Sep 17 00:00:00 2001 From: "shimniok@gmail.com" Date: Mon, 27 Oct 2014 18:04:58 -0600 Subject: [PATCH] Set up automatic connection option, added Tools menu with connect/reset/flash/auto --- usr/qt4-ide.py | 40 ++++++++++++++++++++++++++++++---------- 1 file changed, 30 insertions(+), 10 deletions(-) diff --git a/usr/qt4-ide.py b/usr/qt4-ide.py index 422c39a11..67310b385 100755 --- a/usr/qt4-ide.py +++ b/usr/qt4-ide.py @@ -23,6 +23,7 @@ class OpenMVConnector(QObject): QObject.__init__(self) self.timer = QTimer() self.timer.timeout.connect(self.auto_detect) + self.auto_connect = False def start(self): self.timer.start(500) @@ -30,9 +31,13 @@ class OpenMVConnector(QObject): def stop(self): self.timer.stop() + def set_auto_connect(self, auto): + self.auto_connect = auto + def auto_detect(self): if openmv.find(): - self.found.emit() + if self.auto_connect: + self.found.emit() else: self.not_found.emit() @@ -88,6 +93,7 @@ class OpenMVIDE(QMainWindow): # default auto connect behavior self.auto_connect = True + self.connector.set_auto_connect(self.auto_connect) # default auto flash behavior self.auto_flash = True @@ -171,14 +177,6 @@ class OpenMVIDE(QMainWindow): self.zoom_reset_action.setStatusTip('Reset frame buffer preview size') self.zoom_reset_action.triggered.connect(self.do_zoom_reset) - self.auto_flash_action = QAction('Auto-flash', self) - self.auto_flash_action.setStatusTip('Automatically detect DFU mode and flash firmware') - self.auto_flash_action.triggered.connect(self.do_auto_flash) - - self.auto_connect_action = QAction('Auto-connect', self) - self.auto_connect_action.setStatusTip('Automatically connect to OpenMV when detected') - self.auto_connect_action.triggered.connect(self.do_auto_connect) - self.cut_action = QAction(QIcon(self.icon_dir+'Cut.png'), 'Cut', self) self.cut_action.triggered.connect(self.editor.cut) self.cut_action.setShortcut(QKeySequence.Cut) @@ -191,6 +189,17 @@ class OpenMVIDE(QMainWindow): self.copy_action.triggered.connect(self.editor.copy) self.copy_action.setShortcut(QKeySequence.Copy) + self.auto_flash_action = QAction('Auto-flash', self) + self.auto_flash_action.setStatusTip('Automatically detect DFU mode and flash firmware') + self.auto_flash_action.triggered.connect(self.do_auto_flash) + self.auto_flash_action.setCheckable(True) + self.auto_flash_action.setDisabled(True) + + self.auto_connect_action = QAction('Auto-connect', self) + self.auto_connect_action.setStatusTip('Automatically connect to OpenMV when detected') + self.auto_connect_action.triggered.connect(self.do_auto_connect) + self.auto_connect_action.setCheckable(True) + self.about_action = QAction(QIcon(self.icon_dir+'About.png'), 'About', self) self.about_action.triggered.connect(self.do_about) @@ -236,6 +245,13 @@ class OpenMVIDE(QMainWindow): edit_menu.addAction(self.copy_action) edit_menu.addAction(self.paste_action) + openmv_menu = menu_bar.addMenu('&Tools') + openmv_menu.addAction(self.connect_action) + openmv_menu.addAction(self.reset_action) + openmv_menu.addAction(self.flash_action) + openmv_menu.addAction(self.auto_connect_action) + openmv_menu.addAction(self.auto_flash_action) + view_menu = menu_bar.addMenu('&View') view_menu.addAction(self.zoom_in_action) view_menu.addAction(self.zoom_out_action) @@ -301,6 +317,8 @@ class OpenMVIDE(QMainWindow): self.zoom_in_action.setEnabled(self.connected) self.zoom_out_action.setEnabled(self.connected) self.zoom_reset_action.setEnabled(self.connected) + self.auto_connect_action.setChecked(self.auto_connect) + self.auto_flash_action.setChecked(self.auto_flash) if self.connected: con = '[connected]' else: @@ -313,6 +331,8 @@ class OpenMVIDE(QMainWindow): def do_auto_connect(self): self.auto_connect = not self.auto_connect + self.connector.set_auto_connect(self.auto_connect) + self.update_ui() def do_connect(self): if not self.connected: @@ -363,6 +383,7 @@ class OpenMVIDE(QMainWindow): def do_auto_flash(self): self.auto_flash = not self.auto_flash + self.update_ui() def do_flash(self): self.update_ui() @@ -585,7 +606,6 @@ class OpenMVIDE(QMainWindow): self.open_file(action.text()) def do_quit(self): - # TODO: check for file save status if self.check_modified(): if self.connected: self.do_disconnect()