mirror of
https://github.com/openmv/openmv.git
synced 2025-11-04 14:49:50 +08:00
Added recent and examples submenus into file
This commit is contained in:
parent
5eff4e7dc1
commit
b76c66a2ee
@ -70,6 +70,9 @@ class OpenMVIDE(QMainWindow):
|
||||
# script filename
|
||||
self.filename = ''
|
||||
|
||||
# recent files
|
||||
self.recent = set()
|
||||
|
||||
# default auto connect behavior
|
||||
self.auto_connect = True
|
||||
|
||||
@ -174,7 +177,15 @@ class OpenMVIDE(QMainWindow):
|
||||
file_menu.addAction(self.open_action)
|
||||
file_menu.addAction(self.save_action)
|
||||
file_menu.addAction(self.save_as_action)
|
||||
file_menu.addSeparator()
|
||||
self.example_menu = QMenu('Examples')
|
||||
self.recent_menu = QMenu('Recent')
|
||||
file_menu.addMenu(self.example_menu)
|
||||
file_menu.addMenu(self.recent_menu)
|
||||
file_menu.addSeparator()
|
||||
file_menu.addAction(self.exit_action)
|
||||
file_menu.aboutToShow.connect(self.update_example_menu)
|
||||
file_menu.aboutToShow.connect(self.update_recent_menu)
|
||||
|
||||
self.default_height = 600
|
||||
self.default_width = 800
|
||||
@ -416,6 +427,22 @@ class OpenMVIDE(QMainWindow):
|
||||
self.filename = ''
|
||||
self.update_ui()
|
||||
|
||||
def update_example_menu(self):
|
||||
if os.path.isdir(self.example_dir):
|
||||
self.example_menu.clear()
|
||||
files = sorted(os.listdir(self.example_dir))
|
||||
for f in files:
|
||||
if f.endswith(".py"):
|
||||
self.example_menu.addAction(QAction(f, self))
|
||||
#label = os.path.basename(f)
|
||||
|
||||
def update_recent_menu(self):
|
||||
print('recent')
|
||||
self.recent_menu.clear()
|
||||
for f in self.recent:
|
||||
print(f)
|
||||
self.recent_menu.addAction(QAction(f, self))
|
||||
|
||||
def do_open(self):
|
||||
# TODO: Check for save-as first
|
||||
if os.path.exists(self.script_dir):
|
||||
@ -430,12 +457,14 @@ class OpenMVIDE(QMainWindow):
|
||||
if filename:
|
||||
try:
|
||||
infile = open(filename, 'r')
|
||||
except (IOError, OSError) as e:
|
||||
QErrorMessage(self).showMessage('Error opening file: ' + e)
|
||||
else:
|
||||
self.editor.setPlainText(infile.read())
|
||||
# store new filename
|
||||
self.filename = str(filename)
|
||||
self.update_ui()
|
||||
except (IOError, OSError) as e:
|
||||
QErrorMessage(self).showMessage('Error opening file: ' + e)
|
||||
self.recent.add(self.filename)
|
||||
|
||||
def do_save_as(self):
|
||||
self.do_save(True)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user