From 1df257066828d559a698dc1aded8ad3dabe1ce4d Mon Sep 17 00:00:00 2001 From: Marius Stanciu Date: Tue, 22 Feb 2022 15:16:03 +0200 Subject: [PATCH] - some fixes in remembering the last save location and last open location --- CHANGELOG.md | 1 + appEditors/AppGerberEditor.py | 2 +- appEditors/AppTextEditor.py | 2 +- appPlugins/ToolFilm.py | 4 +-- appPlugins/ToolPcbWizard.py | 2 +- app_Main.py | 40 ++++++++++++------------- tclCommands/TclCommandExportDXF.py | 2 +- tclCommands/TclCommandExportExcellon.py | 2 +- tclCommands/TclCommandExportGerber.py | 2 +- 9 files changed, 29 insertions(+), 28 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 282ef236..7cdb6b6f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,7 @@ CHANGELOG for FlatCAM beta - in Gerber Editor: if the aperture size is 0 then an aperture code 0 is added (if it does not exist yet) - in Gerber Editor: when the Eraser tool is used, after it is applied if some geometries elements are empty, they are now removed +- some fixes in remembering the last save location and last open location 20.02.2022 diff --git a/appEditors/AppGerberEditor.py b/appEditors/AppGerberEditor.py index fc2405ec..f923de37 100644 --- a/appEditors/AppGerberEditor.py +++ b/appEditors/AppGerberEditor.py @@ -5577,7 +5577,7 @@ class AppGerberEditor(QtCore.QObject): for elem in self.storage_dict[storage]['geometry']: if 'solid' in elem.geo: geometric_data = elem.geo['solid'] - if geometric_data is None: + if geometric_data is None or geometric_data.is_empty: continue if elem in self.selected: diff --git a/appEditors/AppTextEditor.py b/appEditors/AppTextEditor.py index d30de3ab..de63d42e 100644 --- a/appEditors/AppTextEditor.py +++ b/appEditors/AppTextEditor.py @@ -253,7 +253,7 @@ class AppTextEditor(QtWidgets.QWidget): try: filename = str(FCFileSaveDialog.get_saved_filename( caption=_("Export Code ..."), - directory=self.app.options["global_last_folder"] + '/' + str(obj_name), + directory=self.app.defaults["global_last_folder"] + '/' + str(obj_name), ext_filter=_filter_ )[0]) except TypeError: diff --git a/appPlugins/ToolFilm.py b/appPlugins/ToolFilm.py index 88a2dd18..7cdd2d95 100644 --- a/appPlugins/ToolFilm.py +++ b/appPlugins/ToolFilm.py @@ -599,7 +599,7 @@ class Film(AppTool): self.app.defaults.report_usage("export_negative()") if filename is None: - filename = self.app.options["global_last_save_folder"] + filename = self.app.defaults["global_last_save_folder"] self.app.log.debug("Film.export_svg() negative") @@ -949,7 +949,7 @@ class Film(AppTool): self.app.defaults.report_usage("export_positive()") if filename is None: - filename = self.app.options["global_last_save_folder"] + filename = self.app.defaults["global_last_save_folder"] self.app.log.debug("Film.export_positive() black") diff --git a/appPlugins/ToolPcbWizard.py b/appPlugins/ToolPcbWizard.py index 27b9e4a9..cadb5033 100644 --- a/appPlugins/ToolPcbWizard.py +++ b/appPlugins/ToolPcbWizard.py @@ -331,7 +331,7 @@ class PcbWizard(AppTool): self.process_finished = True # Register recent file - self.app.options["global_last_folder"] = os.path.split(str(filename))[0] + self.app.defaults["global_last_folder"] = os.path.split(str(filename))[0] def on_import_excellon(self, signal=None, excellon_fileobj=None): self.app.log.debug("import_2files_excellon()") diff --git a/app_Main.py b/app_Main.py index 4ffb1bbc..c6c4826c 100644 --- a/app_Main.py +++ b/app_Main.py @@ -2980,16 +2980,16 @@ class App(QtCore.QObject): Get the folder path from where the last file was opened. :return: String, last opened folder path """ - return self.options["global_last_folder"] + return self.defaults["global_last_folder"] def get_last_save_folder(self): """ Get the folder path from where the last file was saved. :return: String, last saved folder path """ - loc = self.options["global_last_save_folder"] + loc = self.defaults["global_last_save_folder"] if loc is None: - loc = self.options["global_last_folder"] + loc = self.defaults["global_last_folder"] if loc is None: loc = os.path.dirname(__file__) return loc @@ -3076,8 +3076,8 @@ class App(QtCore.QObject): date = date.replace(' ', '_') filter__ = "HTML File .html (*.html);;TXT File .txt (*.txt);;All Files (*.*)" - path_to_save = self.options["global_last_save_folder"] if \ - self.options["global_last_save_folder"] is not None else self.data_path + path_to_save = self.defaults["global_last_save_folder"] if \ + self.defaults["global_last_save_folder"] is not None else self.data_path final_path = os.path.join(path_to_save, 'file_%s' % str(date)) try: @@ -8335,7 +8335,7 @@ class App(QtCore.QObject): :param filename: the last folder is extracted from the filename :return: None """ - self.options["global_last_folder"] = os.path.split(str(filename))[0] + self.defaults["global_last_folder"] = os.path.split(str(filename))[0] def register_save_folder(self, filename): """ @@ -8344,7 +8344,7 @@ class App(QtCore.QObject): :param filename: the last folder is extracted from the filename :return: None """ - self.options["global_last_save_folder"] = os.path.split(str(filename))[0] + self.defaults["global_last_save_folder"] = os.path.split(str(filename))[0] # def set_progress_bar(self, percentage, text=""): # """ @@ -10795,8 +10795,8 @@ class MenuFileHandlers(QtCore.QObject): :return: """ if filename is None: - filename = self.options["global_last_save_folder"] if self.options["global_last_save_folder"] \ - is not None else self.options["global_last_folder"] + filename = self.app.defaults["global_last_save_folder"] if \ + self.app.defaults["global_last_save_folder"] is not None else self.app.defaults["global_last_folder"] self.log.debug("export_svg()") @@ -10937,10 +10937,10 @@ class MenuFileHandlers(QtCore.QObject): """ if filename is None: - if self.options["global_last_save_folder"]: - filename = self.options["global_last_save_folder"] + '/' + 'exported_excellon' + if self.app.defaults["global_last_save_folder"]: + filename = self.app.defaults["global_last_save_folder"] + '/' + 'exported_excellon' else: - filename = self.options["global_last_folder"] + '/' + 'exported_excellon' + filename = self.app.defaults["global_last_folder"] + '/' + 'exported_excellon' self.log.debug("export_excellon()") @@ -11095,8 +11095,8 @@ class MenuFileHandlers(QtCore.QObject): :return: """ if filename is None: - filename = self.options["global_last_save_folder"] if self.options["global_last_save_folder"] \ - is not None else self.options["global_last_folder"] + filename = self.app.defaults["global_last_save_folder"] if \ + self.app.defaults["global_last_save_folder"] is not None else self.app.defaults["global_last_folder"] self.log.debug("export_gerber()") @@ -11229,8 +11229,8 @@ class MenuFileHandlers(QtCore.QObject): :return: """ if filename is None: - filename = self.options["global_last_save_folder"] if self.options["global_last_save_folder"] \ - is not None else self.options["global_last_folder"] + filename = self.app.defaults["global_last_save_folder"] if \ + self.app.defaults["global_last_save_folder"] is not None else self.app.defaults["global_last_folder"] self.log.debug("export_dxf()") @@ -12065,8 +12065,8 @@ class MenuFileHandlers(QtCore.QObject): """ if filename is None: - filename = self.options["global_last_save_folder"] if self.options["global_last_save_folder"] \ - is not None else self.options["global_last_folder"] + filename = self.app.defaults["global_last_save_folder"] if \ + self.app.defaults["global_last_save_folder"] is not None else self.app.defaults["global_last_folder"] self.log.debug("save_source_file()") @@ -12076,8 +12076,8 @@ class MenuFileHandlers(QtCore.QObject): time_string = "{:%A, %d %B %Y at %H:%M}".format(datetime.now()) if file_string.getvalue() == '': - self.inform.emit('[ERROR_NOTCL] %s' % - _("Save cancelled because source file is empty. Try to export the file.")) + msg = _("Save cancelled because source file is empty. Try to export the file.") + self.inform.emit('[ERROR_NOTCL] %s' % msg) return 'fail' try: diff --git a/tclCommands/TclCommandExportDXF.py b/tclCommands/TclCommandExportDXF.py index 4e20a7d7..9b255473 100644 --- a/tclCommands/TclCommandExportDXF.py +++ b/tclCommands/TclCommandExportDXF.py @@ -61,7 +61,7 @@ class TclCommandExportDXF(TclCommand): source_obj_name = args['name'] if 'filename' not in args: - filename = self.app.options["global_last_save_folder"] + '/' + args['name'] + filename = self.app.defaults["global_last_save_folder"] + '/' + args['name'] else: filename = args['filename'] diff --git a/tclCommands/TclCommandExportExcellon.py b/tclCommands/TclCommandExportExcellon.py index 9b78bc05..4c20a65f 100644 --- a/tclCommands/TclCommandExportExcellon.py +++ b/tclCommands/TclCommandExportExcellon.py @@ -48,5 +48,5 @@ class TclCommandExportExcellon(TclCommand): :return: """ if 'filename' not in args: - args['filename'] = self.app.options["global_last_save_folder"] + '/' + args['name'] + args['filename'] = self.app.defaults["global_last_save_folder"] + '/' + args['name'] self.app.f_handlers.export_excellon(use_thread=False, **args) diff --git a/tclCommands/TclCommandExportGerber.py b/tclCommands/TclCommandExportGerber.py index de219ebe..64a9c046 100644 --- a/tclCommands/TclCommandExportGerber.py +++ b/tclCommands/TclCommandExportGerber.py @@ -48,5 +48,5 @@ class TclCommandExportGerber(TclCommand): :return: """ if 'filename' not in args: - args['filename'] = self.app.options["global_last_save_folder"] + '/' + args['name'] + args['filename'] = self.app.defaults["global_last_save_folder"] + '/' + args['name'] self.app.f_handlers.export_gerber(use_thread=False, **args)