- starting to work to a general Print function; for now it will generate PDF files; currently it works only for one object not for a selection
- added shortcut key CTRL+P for printing to PDF method
This commit is contained in:
@@ -1813,10 +1813,11 @@ class App(QtCore.QObject):
|
||||
|
||||
self.ui.menufileexportdxf.triggered.connect(self.on_file_exportdxf)
|
||||
|
||||
self.ui.menufile_print.triggered.connect(lambda: self.on_file_save_objects_pdf(use_thread=True))
|
||||
|
||||
self.ui.menufilesaveproject.triggered.connect(self.on_file_saveproject)
|
||||
self.ui.menufilesaveprojectas.triggered.connect(self.on_file_saveprojectas)
|
||||
self.ui.menufilesaveprojectcopy.triggered.connect(lambda: self.on_file_saveprojectas(make_copy=True))
|
||||
self.ui.menufilesave_object_pdf.triggered.connect(self.on_file_save_object_pdf)
|
||||
self.ui.menufilesavedefaults.triggered.connect(self.on_file_savedefaults)
|
||||
|
||||
self.ui.menufileexportpref.triggered.connect(self.on_export_preferences)
|
||||
@@ -10322,19 +10323,26 @@ class App(QtCore.QObject):
|
||||
self.set_ui_title(name=self.project_filename)
|
||||
self.should_we_save = False
|
||||
|
||||
def on_file_save_object_pdf(self, use_thread=True):
|
||||
def on_file_save_objects_pdf(self, use_thread=True):
|
||||
self.date = str(datetime.today()).rpartition('.')[0]
|
||||
self.date = ''.join(c for c in self.date if c not in ':-')
|
||||
self.date = self.date.replace(' ', '_')
|
||||
|
||||
try:
|
||||
obj_active = self.collection.get_active()
|
||||
obj_name = _(str(obj_active.options['name']))
|
||||
obj_selection = self.collection.get_selected()
|
||||
if len(obj_selection) == 1:
|
||||
obj_name = str(obj_selection[0].options['name'])
|
||||
else:
|
||||
obj_name = _("FlatCAM objects print")
|
||||
except AttributeError as err:
|
||||
log.debug("App.on_file_save_object_pdf() --> %s" % str(err))
|
||||
self.inform.emit('[ERROR_NOTCL] %s' % _("No object selected."))
|
||||
return
|
||||
|
||||
if not obj_selection:
|
||||
self.inform.emit('[ERROR_NOTCL] %s' % _("No object selected."))
|
||||
return
|
||||
|
||||
filter_ = "PDF File (*.PDF);; All Files (*.*)"
|
||||
try:
|
||||
filename, _f = QtWidgets.QFileDialog.getSaveFileName(
|
||||
@@ -10354,17 +10362,20 @@ class App(QtCore.QObject):
|
||||
return
|
||||
|
||||
if use_thread is True:
|
||||
self.worker_task.emit({'fcn': self.save_pdf, 'params': [filename, obj_name]})
|
||||
self.worker_task.emit({'fcn': self.save_pdf, 'params': [filename, obj_name, obj_selection]})
|
||||
else:
|
||||
self.save_pdf(filename, obj_name)
|
||||
self.save_pdf(filename, obj_name, obj_selection)
|
||||
|
||||
# self.save_project(filename)
|
||||
if self.defaults["global_open_style"] is False:
|
||||
self.file_opened.emit("pdf", filename)
|
||||
self.file_saved.emit("pdf", filename)
|
||||
|
||||
def save_pdf(self, file_name, obj_name):
|
||||
self.film_tool.export_positive(obj_name=obj_name, box_name=obj_name, filename=file_name, ftype='pdf')
|
||||
def save_pdf(self, file_name, obj_name, obj_selection):
|
||||
if len(obj_selection) == 1:
|
||||
self.film_tool.export_positive(obj_name=obj_name, box_name=obj_name, filename=file_name, ftype='pdf')
|
||||
else:
|
||||
self.inform.emit('[WARNING_NOTCL] %s' % _("Multiple objects print not implemented yet."))
|
||||
|
||||
def export_svg(self, obj_name, filename, scale_stroke_factor=0.00):
|
||||
"""
|
||||
|
||||
@@ -15,6 +15,8 @@ CAD program, and create G-Code for Isolation routing.
|
||||
- in 2-Sided Tool fixed the Reset Tool button handler to reset the bounds value too; changed a string
|
||||
- added Preferences values for PDF margins when saving text in Code Editor as PDF
|
||||
- when clicking Cancel in Preferences now the values are reverted to what they used to be before opening Preferences tab and start changing values
|
||||
- starting to work to a general Print function; for now it will generate PDF files; currently it works only for one object not for a selection
|
||||
- added shortcut key CTRL+P for printing to PDF method
|
||||
|
||||
18.12.2019
|
||||
|
||||
|
||||
@@ -240,6 +240,9 @@ class FlatCAMGUI(QtWidgets.QMainWindow):
|
||||
|
||||
# Separator
|
||||
self.menufile.addSeparator()
|
||||
self.menufile_print = QtWidgets.QAction(
|
||||
QtGui.QIcon(self.app.resource_location + '/printer32.png'), '%s\tCTRL+P' % _('Print (PDF)'))
|
||||
self.menufile.addAction(self.menufile_print)
|
||||
|
||||
self.menufile_save = self.menufile.addMenu(QtGui.QIcon(self.app.resource_location + '/save_as.png'), _('Save'))
|
||||
|
||||
@@ -260,11 +263,6 @@ class FlatCAMGUI(QtWidgets.QMainWindow):
|
||||
|
||||
self.menufile_save.addSeparator()
|
||||
|
||||
# Save Object PDF
|
||||
self.menufilesave_object_pdf = QtWidgets.QAction(QtGui.QIcon(self.app.resource_location + '/pdf32.png'),
|
||||
_('Save Object as PDF ...'), self)
|
||||
self.menufile_save.addAction(self.menufilesave_object_pdf)
|
||||
|
||||
# Separator
|
||||
self.menufile.addSeparator()
|
||||
|
||||
@@ -1381,18 +1379,22 @@ class FlatCAMGUI(QtWidgets.QMainWindow):
|
||||
<td height="20"><strong>CTRL+G</strong></td>
|
||||
<td> %s</td>
|
||||
</tr>
|
||||
<tr height="20">
|
||||
<td height="20"><strong>CTRL+N</strong></td>
|
||||
<td> %s</td>
|
||||
</tr>
|
||||
<tr height="20">
|
||||
<td height="20"><strong>CTRL+M</strong></td>
|
||||
<td> %s</td>
|
||||
</tr>
|
||||
<tr height="20">
|
||||
<td height="20"><strong>CTRL+N</strong></td>
|
||||
<td> %s</td>
|
||||
</tr>
|
||||
<tr height="20">
|
||||
<td height="20"><strong>CTRL+O</strong></td>
|
||||
<td> %s</td>
|
||||
</tr>
|
||||
<tr height="20">
|
||||
<td height="20"><strong>CTRL+P</strong></td>
|
||||
<td> %s</td>
|
||||
</tr>
|
||||
<tr height="20">
|
||||
<td height="20"><strong>CTRL+Q</strong></td>
|
||||
<td> %s</td>
|
||||
@@ -1579,8 +1581,8 @@ class FlatCAMGUI(QtWidgets.QMainWindow):
|
||||
|
||||
# CTRL section
|
||||
_("Select All"), _("Copy Obj"), _("Open Tools Database"),
|
||||
_("Open Excellon File"), _("Open Gerber File"), _("New Project"), _("Distance Tool"),
|
||||
_("Open Project"), _("PDF Import Tool"), _("Save Project As"), _("Toggle Plot Area"),
|
||||
_("Open Excellon File"), _("Open Gerber File"), _("Distance Tool"), _("New Project"),
|
||||
_("Open Project"), _("Print (PDF)"), _("PDF Import Tool"), _("Save Project As"), _("Toggle Plot Area"),
|
||||
|
||||
# SHIFT section
|
||||
_("Copy Obj_Name"),
|
||||
@@ -2671,18 +2673,22 @@ class FlatCAMGUI(QtWidgets.QMainWindow):
|
||||
if key == QtCore.Qt.Key_G:
|
||||
self.app.on_fileopengerber()
|
||||
|
||||
# Create New Project
|
||||
if key == QtCore.Qt.Key_N:
|
||||
self.app.on_file_new_click()
|
||||
|
||||
# Distance Tool
|
||||
if key == QtCore.Qt.Key_M:
|
||||
self.app.distance_tool.run()
|
||||
|
||||
# Create New Project
|
||||
if key == QtCore.Qt.Key_N:
|
||||
self.app.on_file_new_click()
|
||||
|
||||
# Open Project
|
||||
if key == QtCore.Qt.Key_O:
|
||||
self.app.on_file_openproject()
|
||||
|
||||
# Open Project
|
||||
if key == QtCore.Qt.Key_P:
|
||||
self.app.on_file_save_objects_pdf(use_thread=True)
|
||||
|
||||
# PDF Import
|
||||
if key == QtCore.Qt.Key_Q:
|
||||
self.app.pdf_tool.run()
|
||||
|
||||
BIN
share/printer16.png
Normal file
BIN
share/printer16.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 559 B |
BIN
share/printer32.png
Normal file
BIN
share/printer32.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 818 B |
Reference in New Issue
Block a user