diff --git a/FlatCAMApp.py b/FlatCAMApp.py index d0178276..6d9f6066 100644 --- a/FlatCAMApp.py +++ b/FlatCAMApp.py @@ -3915,9 +3915,12 @@ class App(QtCore.QObject): # "{down} area     " "{down}
" # " {issue}         " - "{issue}
". - format(title=_("2D Computer-Aided Printed Circuit Board Manufacturing"), - devel=_("Development"), down=_("DOWNLOAD"), issue=_("Issue tracker")) + "" + "{issue}
".format( + title=_("2D Computer-Aided Printed Circuit Board Manufacturing"), + devel=_("Development"), + down=_("DOWNLOAD"), + issue=_("Issue tracker")) ) title.setOpenExternalLinks(True) @@ -3927,7 +3930,8 @@ class App(QtCore.QObject): description_label = QtWidgets.QLabel( "FlatCAM {version} {beta} ({date}) - {arch}
" "http://flatcam.org
".format( - version=version,beta=('BETA' if beta else ''), + version=version, + beta=('BETA' if beta else ''), date=version_date, arch=platform.architecture()[0]) ) @@ -4005,31 +4009,83 @@ class App(QtCore.QObject): self.splash_tab_layout.addWidget(logo, stretch=0) self.splash_tab_layout.addWidget(title, stretch=1) - self.prog_grid_lay = QtWidgets.QGridLayout() + pal = QtGui.QPalette() + pal.setColor(QtGui.QPalette.Background, Qt.white) + + self.prog_form_lay = QtWidgets.QFormLayout() + self.prog_form_lay.setHorizontalSpacing(20) prog_widget = QtWidgets.QWidget() - prog_widget.setLayout(self.prog_grid_lay) - self.programmmers_tab_layout.addWidget(prog_widget) - self.programmmers_tab_layout.addStretch() + prog_widget.setLayout(self.prog_form_lay) + prog_scroll = QtWidgets.QScrollArea() + prog_scroll.setWidget(prog_widget) + prog_scroll.setWidgetResizable(True) + prog_scroll.setFrameShape(QtWidgets.QFrame.NoFrame) + prog_scroll.setPalette(pal) - self.prog_grid_lay.addWidget(QtWidgets.QLabel('%s' % _("Programmer")), 0, 0) - self.prog_grid_lay.addWidget(QtWidgets.QLabel('%s' % _("Status")), 0, 1) - self.prog_grid_lay.addWidget(QtWidgets.QLabel('%s' % "Juan Pablo Caram"), 1, 0) - self.prog_grid_lay.addWidget(QtWidgets.QLabel('%s' % _("Program Author")), 1, 1) - self.prog_grid_lay.addWidget(QtWidgets.QLabel('%s' % "Denis Hayrullin"), 2, 0) - self.prog_grid_lay.addWidget(QtWidgets.QLabel('%s' % " "), 2, 1) - self.prog_grid_lay.addWidget(QtWidgets.QLabel('%s' % "Kamil Sopko"), 3, 0) - self.prog_grid_lay.addWidget(QtWidgets.QLabel('%s' % " "), 3, 1) - self.prog_grid_lay.addWidget(QtWidgets.QLabel('%s' % "Marius Stanciu"), 4, 0) - self.prog_grid_lay.addWidget(QtWidgets.QLabel('%s' % _("Maintainer >=2019")), 4, 1) - self.prog_grid_lay.addWidget(QtWidgets.QLabel('%s' % "Matthieu Berthomé"), 5, 0) - self.prog_grid_lay.addWidget(QtWidgets.QLabel('%s' % " "), 5, 1) + self.programmmers_tab_layout.addWidget(prog_scroll) + + self.prog_form_lay.addRow(QtWidgets.QLabel('%s' % _("Programmer")), + QtWidgets.QLabel('%s' % _("Status"))) + self.prog_form_lay.addRow(QtWidgets.QLabel('%s' % "Juan Pablo Caram"), + QtWidgets.QLabel('%s' % _("Program Author"))) + self.prog_form_lay.addRow(QtWidgets.QLabel('%s' % "Denis Hayrullin")) + self.prog_form_lay.addRow(QtWidgets.QLabel('%s' % "Kamil Sopko")) + self.prog_form_lay.addRow(QtWidgets.QLabel('%s' % "Marius Stanciu"), + QtWidgets.QLabel('%s' % _("Maintainer >=2019"))) + self.prog_form_lay.addRow(QtWidgets.QLabel('')) + + self.prog_form_lay.addRow(QtWidgets.QLabel('%s' % "Alexandru Lazar")) + self.prog_form_lay.addRow(QtWidgets.QLabel('%s' % "Matthieu Berthomé")) + self.prog_form_lay.addRow(QtWidgets.QLabel('%s' % "Mike Evans")) + self.prog_form_lay.addRow(QtWidgets.QLabel('%s' % "Victor Benso")) + self.prog_form_lay.addRow(QtWidgets.QLabel('')) + + self.prog_form_lay.addRow(QtWidgets.QLabel('%s' % "Barnaby Walters")) + self.prog_form_lay.addRow(QtWidgets.QLabel('%s' % "Jørn Sandvik Nilsson")) + self.prog_form_lay.addRow(QtWidgets.QLabel('%s' % "Lei Zheng")) + self.prog_form_lay.addRow(QtWidgets.QLabel('%s' % "Marco A Quezada")) + self.prog_form_lay.addRow(QtWidgets.QLabel('')) + + self.prog_form_lay.addRow(QtWidgets.QLabel('%s' % "Cedric Dussud")) + self.prog_form_lay.addRow(QtWidgets.QLabel('%s' % "Christopher Hemingway")) + self.prog_form_lay.addRow(QtWidgets.QLabel('%s' % "Damian Wrobel")) + self.prog_form_lay.addRow(QtWidgets.QLabel('%s' % "Daniel Sallin")) + self.prog_form_lay.addRow(QtWidgets.QLabel('')) + + self.prog_form_lay.addRow(QtWidgets.QLabel('%s' % "Bruno Vunderl")) + self.prog_form_lay.addRow(QtWidgets.QLabel('%s' % "Gonzalo Lopez")) + self.prog_form_lay.addRow(QtWidgets.QLabel('%s' % "Jakob Staudt")) + self.prog_form_lay.addRow(QtWidgets.QLabel('%s' % "Mike Smith")) + + self.prog_form_lay.addRow(QtWidgets.QLabel('')) + + self.prog_form_lay.addRow(QtWidgets.QLabel('%s' % "Lubos Medovarsky")) + 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_form_lay.addRow(QtWidgets.QLabel('%s' % "@SM")) + self.prog_form_lay.addRow(QtWidgets.QLabel('%s' % "@grbf")) + self.prog_form_lay.addRow(QtWidgets.QLabel('%s' % "@Symonty")) + self.prog_form_lay.addRow(QtWidgets.QLabel('%s' % "@mgix")) self.translator_grid_lay = QtWidgets.QGridLayout() + + # trans_widget = QtWidgets.QWidget() + # trans_widget.setLayout(self.translator_grid_lay) + # self.translators_tab_layout.addWidget(trans_widget) + # self.translators_tab_layout.addStretch() + trans_widget = QtWidgets.QWidget() trans_widget.setLayout(self.translator_grid_lay) - self.translators_tab_layout.addWidget(trans_widget) - self.translators_tab_layout.addStretch() + trans_scroll = QtWidgets.QScrollArea() + trans_scroll.setWidget(trans_widget) + trans_scroll.setWidgetResizable(True) + trans_scroll.setFrameShape(QtWidgets.QFrame.NoFrame) + trans_scroll.setPalette(pal) + self.translators_tab_layout.addWidget(trans_scroll) self.translator_grid_lay.addWidget(QtWidgets.QLabel('%s' % _("Language")), 0, 0) self.translator_grid_lay.addWidget(QtWidgets.QLabel('%s' % _("Translator")), 0, 1) @@ -4050,7 +4106,7 @@ class App(QtCore.QObject): self.translator_grid_lay.addWidget(QtWidgets.QLabel('%s' % "Marius Stanciu (Google-Translation)"), 5, 1) self.translator_grid_lay.addWidget(QtWidgets.QLabel('%s' % " "), 5, 2) 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.addStretch() diff --git a/README.md b/README.md index 4ed62c3e..cca72ff3 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,10 @@ CAD program, and create G-Code for Isolation routing. ================================================= +17.09.2019 + +- added more programmers that contributed to FlatCAM over the years, in the "About FlatCAM" -> Programmers window + 16.09.2019 - modified the TclCommand New so it will no longer close all tabs when called (it closed the Code Editor tab which may have been holding the code that run) diff --git a/flatcamGUI/FlatCAMGUI.py b/flatcamGUI/FlatCAMGUI.py index 38a8da54..129714c1 100644 --- a/flatcamGUI/FlatCAMGUI.py +++ b/flatcamGUI/FlatCAMGUI.py @@ -5175,8 +5175,8 @@ class ExcellonGenPrefGroupUI(OptionsGroupUI): self.excellon_optimization_label = QtWidgets.QLabel(_('Algorithm:')) self.excellon_optimization_label.setToolTip( _("This sets the optimization type for the Excellon drill path.\n" - "If <> is checked then Google OR-Tools algorithm with MetaHeuristic\n" - "Guided Local Path is used. Default search time is 3sec.\n" + "If <> is checked then Google OR-Tools algorithm with\n" + "MetaHeuristic Guided Local Path is used. Default search time is 3sec.\n" "If <> is checked then Google OR-Tools Basic algorithm is used.\n" "If <> is checked then Travelling Salesman algorithm is used for\n" "drill path optimization.\n" @@ -5192,8 +5192,8 @@ class ExcellonGenPrefGroupUI(OptionsGroupUI): orientation='vertical', stretch=False) self.excellon_optimization_radio.setToolTip( _("This sets the optimization type for the Excellon drill path.\n" - "If <> is checked then Google OR-Tools algorithm with MetaHeuristic\n" - "Guided Local Path is used. Default search time is 3sec.\n" + "If <> is checked then Google OR-Tools algorithm with\n" + "MetaHeuristic Guided Local Path is used. Default search time is 3sec.\n" "If <> is checked then Google OR-Tools Basic algorithm is used.\n" "If <> is checked then Travelling Salesman algorithm is used for\n" "drill path optimization.\n"