- updated the About FlatCAM window

This commit is contained in:
Marius Stanciu
2019-10-19 22:04:50 +03:00
committed by Marius
parent 7a3e2136ae
commit 8b785699ae
3 changed files with 2994 additions and 2970 deletions

View File

@@ -131,8 +131,8 @@ class App(QtCore.QObject):
# ########################################################################## # ##########################################################################
# ################## Version and VERSION DATE ############################## # ################## Version and VERSION DATE ##############################
# ########################################################################## # ##########################################################################
version = 8.98 version = 8.99
version_date = "2019/10/16" version_date = "2019/10/30"
beta = True beta = True
engine = '3D' engine = '3D'
@@ -2545,7 +2545,7 @@ class App(QtCore.QObject):
# Separate thread (Not worker) # Separate thread (Not worker)
# Check for updates on startup but only if the user consent and the app is not in Beta version # Check for updates on startup but only if the user consent and the app is not in Beta version
if (self.beta is False or self.beta is None) and \ if (self.beta is False or self.beta is None) and \
self.ui.general_defaults_form.general_gui_group.version_check_cb.get_value() is True: self.ui.general_defaults_form.general_app_group.version_check_cb.get_value() is True:
App.log.info("Checking for updates in backgroud (this is version %s)." % str(self.version)) App.log.info("Checking for updates in backgroud (this is version %s)." % str(self.version))
self.thr2 = QtCore.QThread() self.thr2 = QtCore.QThread()
@@ -4483,11 +4483,8 @@ class App(QtCore.QObject):
"{title}<BR>" "{title}<BR>"
"<BR>" "<BR>"
"<BR>" "<BR>"
# "<B>{devel}</B> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"
"<a href = \"https://bitbucket.org/jpcgt/flatcam/src/Beta/\"><B>{devel}</B></a><BR>" "<a href = \"https://bitbucket.org/jpcgt/flatcam/src/Beta/\"><B>{devel}</B></a><BR>"
# "<b>{down}</B> area &nbsp;&nbsp;&nbsp;&nbsp;"
"<a href = \"https://bitbucket.org/jpcgt/flatcam/downloads/\"><b>{down}</B></a><BR>" "<a href = \"https://bitbucket.org/jpcgt/flatcam/downloads/\"><b>{down}</B></a><BR>"
# "<b> {issue}</B> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"
"<a href = \"https://bitbucket.org/jpcgt/flatcam/issues?status=new&status=open/\">" "<a href = \"https://bitbucket.org/jpcgt/flatcam/issues?status=new&status=open/\">"
"<B>{issue}</B></a><BR>".format( "<B>{issue}</B></a><BR>".format(
title=_("2D Computer-Aided Printed Circuit Board Manufacturing"), title=_("2D Computer-Aided Printed Circuit Board Manufacturing"),
@@ -4510,11 +4507,17 @@ class App(QtCore.QObject):
) )
description_label.setOpenExternalLinks(True) description_label.setOpenExternalLinks(True)
license_label = QtWidgets.QLabel( lic_lbl_header = QtWidgets.QLabel(
'%s:<br>%s<br>' % (
_('Licensed under the MIT license'),
"<a href = \"http://www.opensource.org/licenses/mit-license.php\">"
"http://www.opensource.org/licenses/mit-license.php</a>"
)
)
lic_lbl_header.setOpenExternalLinks(True)
lic_lbl_body = QtWidgets.QLabel(
_( _(
'\n'
'Licensed under the MIT license:\n'
'http://www.opensource.org/licenses/mit-license.php\n\n'
'Permission is hereby granted, free of charge, to any person obtaining a copy\n' 'Permission is hereby granted, free of charge, to any person obtaining a copy\n'
'of this software and associated documentation files (the "Software"), to deal\n' 'of this software and associated documentation files (the "Software"), to deal\n'
'in the Software without restriction, including without limitation the rights\n' 'in the Software without restriction, including without limitation the rights\n'
@@ -4534,7 +4537,6 @@ class App(QtCore.QObject):
'THE SOFTWARE.' 'THE SOFTWARE.'
) )
) )
license_label.setOpenExternalLinks(True)
attributions_label = QtWidgets.QLabel( attributions_label = QtWidgets.QLabel(
_( _(
@@ -4601,11 +4603,13 @@ class App(QtCore.QObject):
pal = QtGui.QPalette() pal = QtGui.QPalette()
pal.setColor(QtGui.QPalette.Background, Qt.white) pal.setColor(QtGui.QPalette.Background, Qt.white)
self.prog_form_lay = QtWidgets.QFormLayout() self.prog_grid_lay = QtWidgets.QGridLayout()
self.prog_form_lay.setHorizontalSpacing(20) self.prog_grid_lay.setHorizontalSpacing(20)
self.prog_grid_lay.setColumnStretch(0, 0)
self.prog_grid_lay.setColumnStretch(2, 1)
prog_widget = QtWidgets.QWidget() prog_widget = QtWidgets.QWidget()
prog_widget.setLayout(self.prog_form_lay) prog_widget.setLayout(self.prog_grid_lay)
prog_scroll = QtWidgets.QScrollArea() prog_scroll = QtWidgets.QScrollArea()
prog_scroll.setWidget(prog_widget) prog_scroll.setWidget(prog_widget)
prog_scroll.setWidgetResizable(True) prog_scroll.setWidgetResizable(True)
@@ -4614,51 +4618,55 @@ class App(QtCore.QObject):
self.programmmers_tab_layout.addWidget(prog_scroll) self.programmmers_tab_layout.addWidget(prog_scroll)
self.prog_form_lay.addRow(QtWidgets.QLabel('<b>%s</b>' % _("Programmer")), self.prog_grid_lay.addWidget(QtWidgets.QLabel('<b>%s</b>' % _("Programmer")), 0, 0)
QtWidgets.QLabel('<b>%s</b>' % _("Status"))) self.prog_grid_lay.addWidget(QtWidgets.QLabel('<b>%s</b>' % _("Status")), 0, 1)
self.prog_form_lay.addRow(QtWidgets.QLabel('%s' % "Juan Pablo Caram"), self.prog_grid_lay.addWidget(QtWidgets.QLabel('<b>%s</b>' % _("E-mail")), 0, 2)
QtWidgets.QLabel('%s' % _("Program Author"))) self.prog_grid_lay.addWidget(QtWidgets.QLabel('%s' % "Juan Pablo Caram"), 1, 0)
self.prog_form_lay.addRow(QtWidgets.QLabel('%s' % "Denis Hayrullin")) self.prog_grid_lay.addWidget(QtWidgets.QLabel('%s' % "Program Author"), 1, 1)
self.prog_form_lay.addRow(QtWidgets.QLabel('%s' % "Kamil Sopko")) self.prog_grid_lay.addWidget(QtWidgets.QLabel('%s' % "<>"), 1, 2)
self.prog_form_lay.addRow(QtWidgets.QLabel('%s' % "Marius Stanciu"), self.prog_grid_lay.addWidget(QtWidgets.QLabel('%s' % "Denis Hayrullin"), 2, 0)
QtWidgets.QLabel('%s' % _("Maintainer >= 2019")))
self.prog_form_lay.addRow(QtWidgets.QLabel(''))
self.prog_form_lay.addRow(QtWidgets.QLabel('%s' % "Alex Lazar")) self.prog_grid_lay.addWidget(QtWidgets.QLabel('%s' % "Kamil Sopko"), 3, 0)
self.prog_form_lay.addRow(QtWidgets.QLabel('%s' % "Matthieu Berthomé")) self.prog_grid_lay.addWidget(QtWidgets.QLabel('%s' % "Marius Stanciu"), 4, 0)
self.prog_form_lay.addRow(QtWidgets.QLabel('%s' % "Mike Evans")) self.prog_grid_lay.addWidget(QtWidgets.QLabel('%s' % _("BETA Maintainer >= 2019")), 4, 1)
self.prog_form_lay.addRow(QtWidgets.QLabel('%s' % "Victor Benso")) self.prog_grid_lay.addWidget(QtWidgets.QLabel('%s' % "<marius_adrian@yahoo.com>"), 4, 2)
self.prog_form_lay.addRow(QtWidgets.QLabel('')) self.prog_grid_lay.addWidget(QtWidgets.QLabel(''), 5, 0)
self.prog_form_lay.addRow(QtWidgets.QLabel('%s' % "Barnaby Walters")) self.prog_grid_lay.addWidget(QtWidgets.QLabel('%s' % "Alex Lazar"), 6, 0)
self.prog_form_lay.addRow(QtWidgets.QLabel('%s' % "Jørn Sandvik Nilsson")) self.prog_grid_lay.addWidget(QtWidgets.QLabel('%s' % "Matthieu Berthomé"), 7, 0)
self.prog_form_lay.addRow(QtWidgets.QLabel('%s' % "Lei Zheng")) self.prog_grid_lay.addWidget(QtWidgets.QLabel('%s' % "Mike Evans"), 8, 0)
self.prog_form_lay.addRow(QtWidgets.QLabel('%s' % "Marco A Quezada")) self.prog_grid_lay.addWidget(QtWidgets.QLabel('%s' % "Victor Benso"), 9, 0)
self.prog_form_lay.addRow(QtWidgets.QLabel('')) self.prog_grid_lay.addWidget(QtWidgets.QLabel(''), 10, 0)
self.prog_form_lay.addRow(QtWidgets.QLabel('%s' % "Cedric Dussud")) self.prog_grid_lay.addWidget(QtWidgets.QLabel('%s' % "Barnaby Walters"), 11, 0)
self.prog_form_lay.addRow(QtWidgets.QLabel('%s' % "Chris Hemingway")) self.prog_grid_lay.addWidget(QtWidgets.QLabel('%s' % "Jørn Sandvik Nilsson"), 12, 0)
self.prog_form_lay.addRow(QtWidgets.QLabel('%s' % "Damian Wrobel")) self.prog_grid_lay.addWidget(QtWidgets.QLabel('%s' % "Lei Zheng"), 13, 0)
self.prog_form_lay.addRow(QtWidgets.QLabel('%s' % "Daniel Sallin")) self.prog_grid_lay.addWidget(QtWidgets.QLabel('%s' % "Marco A Quezada"), 14, 0)
self.prog_form_lay.addRow(QtWidgets.QLabel('')) self.prog_grid_lay.addWidget(QtWidgets.QLabel(''), 12, 0)
self.prog_form_lay.addRow(QtWidgets.QLabel('%s' % "Bruno Vunderl")) self.prog_grid_lay.addWidget(QtWidgets.QLabel('%s' % "Cedric Dussud"), 15, 0)
self.prog_form_lay.addRow(QtWidgets.QLabel('%s' % "Gonzalo Lopez")) self.prog_grid_lay.addWidget(QtWidgets.QLabel('%s' % "Chris Hemingway"), 16, 0)
self.prog_form_lay.addRow(QtWidgets.QLabel('%s' % "Jakob Staudt")) self.prog_grid_lay.addWidget(QtWidgets.QLabel('%s' % "Damian Wrobel"), 17, 0)
self.prog_form_lay.addRow(QtWidgets.QLabel('%s' % "Mike Smith")) self.prog_grid_lay.addWidget(QtWidgets.QLabel('%s' % "Daniel Sallin"), 18, 0)
self.prog_grid_lay.addWidget(QtWidgets.QLabel(''), 19, 0)
self.prog_form_lay.addRow(QtWidgets.QLabel('')) self.prog_grid_lay.addWidget(QtWidgets.QLabel('%s' % "Bruno Vunderl"), 20, 0)
self.prog_grid_lay.addWidget(QtWidgets.QLabel('%s' % "Gonzalo Lopez"), 21, 0)
self.prog_grid_lay.addWidget(QtWidgets.QLabel('%s' % "Jakob Staudt"), 22, 0)
self.prog_grid_lay.addWidget(QtWidgets.QLabel('%s' % "Mike Smith"), 23, 0)
self.prog_form_lay.addRow(QtWidgets.QLabel('%s' % "Lubos Medovarsky")) self.prog_grid_lay.addWidget(QtWidgets.QLabel(''), 24, 0)
self.prog_form_lay.addRow(QtWidgets.QLabel('%s' % "Steve Martina"))
self.prog_form_lay.addRow(QtWidgets.QLabel('%s' % "Thomas Duffin"))
self.prog_form_lay.addRow(QtWidgets.QLabel(''))
self.prog_form_lay.addRow(QtWidgets.QLabel('%s' % "@Idechix")) self.prog_grid_lay.addWidget(QtWidgets.QLabel('%s' % "Lubos Medovarsky"), 25, 0)
self.prog_form_lay.addRow(QtWidgets.QLabel('%s' % "@SM")) self.prog_grid_lay.addWidget(QtWidgets.QLabel('%s' % "Steve Martina"), 26, 0)
self.prog_form_lay.addRow(QtWidgets.QLabel('%s' % "@grbf")) self.prog_grid_lay.addWidget(QtWidgets.QLabel('%s' % "Thomas Duffin"), 27, 0)
self.prog_form_lay.addRow(QtWidgets.QLabel('%s' % "@Symonty")) self.prog_grid_lay.addWidget(QtWidgets.QLabel(''), 28, 0)
self.prog_form_lay.addRow(QtWidgets.QLabel('%s' % "@mgix"))
self.prog_grid_lay.addWidget(QtWidgets.QLabel('%s' % "@Idechix"), 29, 0)
self.prog_grid_lay.addWidget(QtWidgets.QLabel('%s' % "@SM"), 30, 0)
self.prog_grid_lay.addWidget(QtWidgets.QLabel('%s' % "@grbf"), 31, 0)
self.prog_grid_lay.addWidget(QtWidgets.QLabel('%s' % "@Symonty"), 32, 0)
self.prog_grid_lay.addWidget(QtWidgets.QLabel('%s' % "@mgix"), 33, 0)
self.translator_grid_lay = QtWidgets.QGridLayout() self.translator_grid_lay = QtWidgets.QGridLayout()
self.translator_grid_lay.setColumnStretch(0, 0) self.translator_grid_lay.setColumnStretch(0, 0)
@@ -4697,7 +4705,7 @@ class App(QtCore.QObject):
self.translator_grid_lay.addWidget(QtWidgets.QLabel('%s' % " "), 3, 3) self.translator_grid_lay.addWidget(QtWidgets.QLabel('%s' % " "), 3, 3)
self.translator_grid_lay.addWidget(QtWidgets.QLabel('%s' % "Romanian"), 4, 0) self.translator_grid_lay.addWidget(QtWidgets.QLabel('%s' % "Romanian"), 4, 0)
self.translator_grid_lay.addWidget(QtWidgets.QLabel('%s' % "Marius Stanciu"), 4, 1) self.translator_grid_lay.addWidget(QtWidgets.QLabel('%s' % "Marius Stanciu"), 4, 1)
self.translator_grid_lay.addWidget(QtWidgets.QLabel('%s' % " "), 4, 3) self.translator_grid_lay.addWidget(QtWidgets.QLabel('%s' % "<marius_adrian@yahoo.com>"), 4, 3)
self.translator_grid_lay.addWidget(QtWidgets.QLabel('%s' % "Russian"), 5, 0) self.translator_grid_lay.addWidget(QtWidgets.QLabel('%s' % "Russian"), 5, 0)
self.translator_grid_lay.addWidget(QtWidgets.QLabel('%s' % "Andrey Kultyapov"), 5, 1) self.translator_grid_lay.addWidget(QtWidgets.QLabel('%s' % "Andrey Kultyapov"), 5, 1)
self.translator_grid_lay.addWidget(QtWidgets.QLabel('%s' % "<camellan@yandex.ru>"), 5, 3) self.translator_grid_lay.addWidget(QtWidgets.QLabel('%s' % "<camellan@yandex.ru>"), 5, 3)
@@ -4708,7 +4716,9 @@ class App(QtCore.QObject):
self.translator_grid_lay.setColumnStretch(0, 0) self.translator_grid_lay.setColumnStretch(0, 0)
self.translators_tab_layout.addStretch() self.translators_tab_layout.addStretch()
self.license_tab_layout.addWidget(license_label) self.license_tab_layout.addWidget(lic_lbl_header)
self.license_tab_layout.addWidget(lic_lbl_body)
self.license_tab_layout.addStretch() self.license_tab_layout.addStretch()
self.attributions_tab_layout.addWidget(attributions_label) self.attributions_tab_layout.addWidget(attributions_label)
@@ -9900,9 +9910,11 @@ class App(QtCore.QObject):
# Parse the xml through a xml parser just to add line feeds # Parse the xml through a xml parser just to add line feeds
# and to make it look more pretty for the output # and to make it look more pretty for the output
svgcode = parse_xml_string(svg_elem) svgcode = parse_xml_string(svg_elem)
svgcode = svgcode.toprettyxml()
try: try:
with open(filename, 'w') as fp: with open(filename, 'w') as fp:
fp.write(svgcode.toprettyxml()) fp.write(svgcode)
except PermissionError: except PermissionError:
self.inform.emit('[WARNING] %s' % self.inform.emit('[WARNING] %s' %
_("Permission denied, saving not possible.\n" _("Permission denied, saving not possible.\n"

View File

@@ -1,7 +1,7 @@
FlatCAM: 2D Computer-Aided PCB Manufacturing FlatCAM: 2D Computer-Aided PCB Manufacturing
================================================= =================================================
(c) 2014-2019 Juan Pablo Caram (c) 2014-2016 Juan Pablo Caram
FlatCAM is a program for preparing CNC jobs for making PCBs on a CNC router. FlatCAM is a program for preparing CNC jobs for making PCBs on a CNC router.
Among other things, it can take a Gerber file generated by your favorite PCB Among other things, it can take a Gerber file generated by your favorite PCB
@@ -11,6 +11,11 @@ CAD program, and create G-Code for Isolation routing.
18.10.2019 18.10.2019
- fixed a small bug in BETA status change
- updated the About FlatCAM window
18.10.2019
- finished the update on the Google translated Spanish translation. - finished the update on the Google translated Spanish translation.
- updated the new objects icons for Gerber, Geometry and Excellon - updated the new objects icons for Gerber, Geometry and Excellon
- small import problem fixed - small import problem fixed

File diff suppressed because it is too large Load Diff