- added multiple object selection on Open ... and Import ... (idea and code snippet came from Travers Carter, BitBucket user https://bitbucket.org/travc/
This commit is contained in:
@@ -4141,21 +4141,20 @@ class App(QtCore.QObject):
|
|||||||
"All Files (*.*)"
|
"All Files (*.*)"
|
||||||
|
|
||||||
try:
|
try:
|
||||||
filename, _ = QtWidgets.QFileDialog.getOpenFileName(caption="Open Gerber",
|
filenames, _ = QtWidgets.QFileDialog.getOpenFileNames(caption="Open Gerber",
|
||||||
directory=self.get_last_folder(), filter=_filter_)
|
directory=self.get_last_folder(), filter=_filter_)
|
||||||
except TypeError:
|
except TypeError:
|
||||||
filename, _ = QtWidgets.QFileDialog.getOpenFileName(caption="Open Gerber", filter=_filter_)
|
filenames, _ = QtWidgets.QFileDialog.getOpenFileNames(caption="Open Gerber", filter=_filter_)
|
||||||
|
|
||||||
# The Qt methods above will return a QString which can cause problems later.
|
filenames = [str(filename) for filename in filenames]
|
||||||
# So far json.dump() will fail to serialize it.
|
|
||||||
# TODO: Improve the serialization methods and remove this fix.
|
|
||||||
filename = str(filename)
|
|
||||||
|
|
||||||
if filename == "":
|
if len(filenames) == 0:
|
||||||
self.inform.emit("[warning_notcl]Open Gerber cancelled.")
|
self.inform.emit("[warning_notcl]Open Gerber cancelled.")
|
||||||
else:
|
else:
|
||||||
self.worker_task.emit({'fcn': self.open_gerber,
|
for filename in filenames:
|
||||||
'params': [filename]})
|
if filename != '':
|
||||||
|
self.worker_task.emit({'fcn': self.open_gerber,
|
||||||
|
'params': [filename]})
|
||||||
|
|
||||||
def on_fileopengerber_follow(self):
|
def on_fileopengerber_follow(self):
|
||||||
"""
|
"""
|
||||||
@@ -4207,21 +4206,20 @@ class App(QtCore.QObject):
|
|||||||
"All Files (*.*)"
|
"All Files (*.*)"
|
||||||
|
|
||||||
try:
|
try:
|
||||||
filename, _ = QtWidgets.QFileDialog.getOpenFileName(caption="Open Excellon",
|
filenames, _ = QtWidgets.QFileDialog.getOpenFileNames(caption="Open Excellon",
|
||||||
directory=self.get_last_folder(), filter=_filter_)
|
directory=self.get_last_folder(), filter=_filter_)
|
||||||
except TypeError:
|
except TypeError:
|
||||||
filename, _ = QtWidgets.QFileDialog.getOpenFileName(caption="Open Excellon", filter=_filter_)
|
filenames, _ = QtWidgets.QFileDialog.getOpenFileNames(caption="Open Excellon", filter=_filter_)
|
||||||
|
|
||||||
# The Qt methods above will return a QString which can cause problems later.
|
filenames = [str(filename) for filename in filenames]
|
||||||
# So far json.dump() will fail to serialize it.
|
|
||||||
# TODO: Improve the serialization methods and remove this fix.
|
|
||||||
filename = str(filename)
|
|
||||||
|
|
||||||
if filename == "":
|
if len(filenames) == 0:
|
||||||
self.inform.emit("[warning_notcl]Open Excellon cancelled.")
|
self.inform.emit("[warning_notcl]Open Excellon cancelled.")
|
||||||
else:
|
else:
|
||||||
self.worker_task.emit({'fcn': self.open_excellon,
|
for filename in filenames:
|
||||||
'params': [filename]})
|
if filename != '':
|
||||||
|
self.worker_task.emit({'fcn': self.open_excellon,
|
||||||
|
'params': [filename]})
|
||||||
|
|
||||||
def on_fileopengcode(self):
|
def on_fileopengcode(self):
|
||||||
"""
|
"""
|
||||||
@@ -4238,21 +4236,20 @@ class App(QtCore.QObject):
|
|||||||
" *.din *.xpi *.hnc *.h *.i *.ncp *.min *.gcd *.rol *.mpr *.ply *.out *.eia *.plt *.sbp *.mpf);;" \
|
" *.din *.xpi *.hnc *.h *.i *.ncp *.min *.gcd *.rol *.mpr *.ply *.out *.eia *.plt *.sbp *.mpf);;" \
|
||||||
"All Files (*.*)"
|
"All Files (*.*)"
|
||||||
try:
|
try:
|
||||||
filename, _ = QtWidgets.QFileDialog.getOpenFileName(caption="Open G-Code",
|
filenames, _ = QtWidgets.QFileDialog.getOpenFileNames(caption="Open G-Code",
|
||||||
directory=self.get_last_folder(), filter=_filter_)
|
directory=self.get_last_folder(), filter=_filter_)
|
||||||
except TypeError:
|
except TypeError:
|
||||||
filename, _ = QtWidgets.QFileDialog.getOpenFileName(caption="Open G-Code", filter=_filter_)
|
filenames, _ = QtWidgets.QFileDialog.getOpenFileNames(caption="Open G-Code", filter=_filter_)
|
||||||
|
|
||||||
# The Qt methods above will return a QString which can cause problems later.
|
filenames = [str(filename) for filename in filenames]
|
||||||
# So far json.dump() will fail to serialize it.
|
|
||||||
# TODO: Improve the serialization methods and remove this fix.
|
|
||||||
filename = str(filename)
|
|
||||||
|
|
||||||
if filename == "":
|
if len(filenames) == 0:
|
||||||
self.inform.emit("[warning_notcl]Open G-Code cancelled.")
|
self.inform.emit("[warning_notcl]Open G-Code cancelled.")
|
||||||
else:
|
else:
|
||||||
self.worker_task.emit({'fcn': self.open_gcode,
|
for filename in filenames:
|
||||||
'params': [filename]})
|
if filename != '':
|
||||||
|
self.worker_task.emit({'fcn': self.open_gcode,
|
||||||
|
'params': [filename]})
|
||||||
|
|
||||||
def on_file_openproject(self):
|
def on_file_openproject(self):
|
||||||
"""
|
"""
|
||||||
@@ -4472,21 +4469,23 @@ class App(QtCore.QObject):
|
|||||||
|
|
||||||
filter = "SVG File (*.svg);;All Files (*.*)"
|
filter = "SVG File (*.svg);;All Files (*.*)"
|
||||||
try:
|
try:
|
||||||
filename, _ = QtWidgets.QFileDialog.getOpenFileName(caption="Import SVG",
|
filenames, _ = QtWidgets.QFileDialog.getOpenFileNames(caption="Import SVG",
|
||||||
directory=self.get_last_folder(), filter=filter)
|
directory=self.get_last_folder(), filter=filter)
|
||||||
except TypeError:
|
except TypeError:
|
||||||
filename, _ = QtWidgets.QFileDialog.getOpenFileName(caption="Import SVG", filter=filter)
|
filenames, _ = QtWidgets.QFileDialog.getOpenFileNames(caption="Import SVG", filter=filter)
|
||||||
|
|
||||||
filename = str(filename)
|
|
||||||
if type_of_obj is not "geometry" and type_of_obj is not "gerber":
|
if type_of_obj is not "geometry" and type_of_obj is not "gerber":
|
||||||
type_of_obj = "geometry"
|
type_of_obj = "geometry"
|
||||||
|
|
||||||
if filename == "":
|
filenames = [str(filename) for filename in filenames]
|
||||||
self.inform.emit("[warning_notcl]Open cancelled.")
|
|
||||||
|
if len(filenames) == 0:
|
||||||
|
self.inform.emit("[warning_notcl]Open SVG cancelled.")
|
||||||
else:
|
else:
|
||||||
self.worker_task.emit({'fcn': self.import_svg,
|
for filename in filenames:
|
||||||
'params': [filename, type_of_obj]})
|
if filename != '':
|
||||||
# self.import_svg(filename, "geometry")
|
self.worker_task.emit({'fcn': self.import_svg,
|
||||||
|
'params': [filename, type_of_obj]})
|
||||||
|
|
||||||
def on_file_importdxf(self, type_of_obj):
|
def on_file_importdxf(self, type_of_obj):
|
||||||
"""
|
"""
|
||||||
@@ -4500,20 +4499,23 @@ class App(QtCore.QObject):
|
|||||||
|
|
||||||
filter = "DXF File (*.DXF);;All Files (*.*)"
|
filter = "DXF File (*.DXF);;All Files (*.*)"
|
||||||
try:
|
try:
|
||||||
filename, _ = QtWidgets.QFileDialog.getOpenFileName(caption="Import DXF",
|
filenames, _ = QtWidgets.QFileDialog.getOpenFileNames(caption="Import DXF",
|
||||||
directory=self.get_last_folder(), filter=filter)
|
directory=self.get_last_folder(), filter=filter)
|
||||||
except TypeError:
|
except TypeError:
|
||||||
filename, _ = QtWidgets.QFileDialog.getOpenFileName(caption="Import DXF", filter=filter)
|
filenames, _ = QtWidgets.QFileDialog.getOpenFileNames(caption="Import DXF", filter=filter)
|
||||||
|
|
||||||
filename = str(filename)
|
|
||||||
if type_of_obj is not "geometry" and type_of_obj is not "gerber":
|
if type_of_obj is not "geometry" and type_of_obj is not "gerber":
|
||||||
type_of_obj = "geometry"
|
type_of_obj = "geometry"
|
||||||
|
|
||||||
if filename == "":
|
filenames = [str(filename) for filename in filenames]
|
||||||
self.inform.emit("[warning_notcl]Open cancelled.")
|
|
||||||
|
if len(filenames) == 0:
|
||||||
|
self.inform.emit("[warning_notcl]Open DXF cancelled.")
|
||||||
else:
|
else:
|
||||||
self.worker_task.emit({'fcn': self.import_dxf,
|
for filename in filenames:
|
||||||
'params': [filename, type_of_obj]})
|
if filename != '':
|
||||||
|
self.worker_task.emit({'fcn': self.import_dxf,
|
||||||
|
'params': [filename, type_of_obj]})
|
||||||
|
|
||||||
def on_filerunscript(self):
|
def on_filerunscript(self):
|
||||||
"""
|
"""
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ CAD program, and create G-Code for Isolation routing.
|
|||||||
- fixed the Copy Object function when the object is Gerber
|
- fixed the Copy Object function when the object is Gerber
|
||||||
- added the Copy entry to the Project context menu
|
- added the Copy entry to the Project context menu
|
||||||
- made the functions behind Disable and Enable project context menu entries, non-threaded to fix a possible issue
|
- made the functions behind Disable and Enable project context menu entries, non-threaded to fix a possible issue
|
||||||
|
- added multiple object selection on Open ... and Import ... (idea and code snippet came from Travers Carter, BitBucket user https://bitbucket.org/travc/
|
||||||
|
|
||||||
23.01.2019
|
23.01.2019
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user