Просмотр исходного кода

- added a grid layout in on_about()

Marius Stanciu 6 лет назад
Родитель
Сommit
722962084b
2 измененных файлов с 61 добавлено и 13 удалено
  1. 59 13
      FlatCAMApp.py
  2. 2 0
      README.md

+ 59 - 13
FlatCAMApp.py

@@ -3861,17 +3861,6 @@ class App(QtCore.QObject):
                 )
                 programmers_label.setOpenExternalLinks(True)
 
-                translators_label = QtWidgets.QLabel(
-                    _(
-                        "Brasilian - Portuguese: \t\t Carlos Stein\n"
-                        "German: \t\t Marius Stanciu (Google-Translation)\n"
-                        "Romanian: \t\t Marius Stanciu\n"
-                        "Russian: \t\t Andrey Kultyapov <camellan@yandex.ru>\n"
-                        "Spanish: \t\t Marius Stanciu (Google-Translation)\n"
-                    )
-                )
-                translators_label.setOpenExternalLinks(True)
-
                 license_label = QtWidgets.QLabel(
                     _(
                         '(c) Copyright 2014 Juan Pablo Caram.\n\n'
@@ -3944,12 +3933,53 @@ class App(QtCore.QObject):
                 self.splash_tab_layout.addWidget(logo, stretch=0)
                 self.splash_tab_layout.addWidget(title, stretch=1)
 
-                self.programmmers_tab_layout.addWidget(programmers_label)
+                self.prog_grid_lay = QtWidgets.QGridLayout()
+
+                prog_widget = QtWidgets.QWidget()
+                prog_widget.setLayout(self.prog_grid_lay)
+                self.programmmers_tab_layout.addWidget(prog_widget)
                 self.programmmers_tab_layout.addStretch()
 
-                self.translators_tab_layout.addWidget(translators_label)
+                self.prog_grid_lay.addWidget(QtWidgets.QLabel('<b>%s</b>' % _("Programmer")), 0, 0)
+                self.prog_grid_lay.addWidget(QtWidgets.QLabel('<b>%s</b>' % _("Function")), 0, 1)
+                self.prog_grid_lay.addWidget(QtWidgets.QLabel('%s' % "Juan Pablo Caram <BR>"), 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.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()
 
+                self.translator_grid_lay.addWidget(QtWidgets.QLabel('<b>%s</b>' % _("Language")), 0, 0)
+                self.translator_grid_lay.addWidget(QtWidgets.QLabel('<b>%s</b>' % _("Translator")), 0, 1)
+                self.translator_grid_lay.addWidget(QtWidgets.QLabel('<b>%s</b>' % _("E-mail")), 0, 2)
+                self.translator_grid_lay.addWidget(QtWidgets.QLabel('%s' % "Brasilian - Portuguese"), 1, 0)
+                self.translator_grid_lay.addWidget(QtWidgets.QLabel('%s' % "Carlos Stein"), 1, 1)
+                self.translator_grid_lay.addWidget(QtWidgets.QLabel('%s' % " "),  1, 2)
+                self.translator_grid_lay.addWidget(QtWidgets.QLabel('%s' % "German"), 2, 0)
+                self.translator_grid_lay.addWidget(QtWidgets.QLabel('%s' % "Marius Stanciu (Google-Translation)"), 2, 1)
+                self.translator_grid_lay.addWidget(QtWidgets.QLabel('%s' % " "), 2, 2)
+                self.translator_grid_lay.addWidget(QtWidgets.QLabel('%s' % "Romanian"), 3, 0)
+                self.translator_grid_lay.addWidget(QtWidgets.QLabel('%s' % "Marius Stanciu"), 3, 1)
+                self.translator_grid_lay.addWidget(QtWidgets.QLabel('%s' % " "), 3, 2)
+                self.translator_grid_lay.addWidget(QtWidgets.QLabel('%s' % "Russian"), 4, 0)
+                self.translator_grid_lay.addWidget(QtWidgets.QLabel('%s' % "Andrey Kultyapov"), 4, 1)
+                self.translator_grid_lay.addWidget(QtWidgets.QLabel('%s' % "<camellan@yandex.ru>"), 4, 2)
+                self.translator_grid_lay.addWidget(QtWidgets.QLabel('%s' % "Spanish"), 5, 0)
+                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.license_tab_layout.addWidget(license_label)
                 self.license_tab_layout.addStretch()
 
@@ -4434,6 +4464,12 @@ class App(QtCore.QObject):
         geo_type_list = set()
 
         objs = self.collection.get_selected()
+
+        if len(objs) < 2:
+            self.inform.emit('[ERROR_NOTCL] %s: %d' %
+                             (_("At least two objects are required for join. Objects currently selected"), len(objs)))
+            return 'fail'
+
         for obj in objs:
             geo_type_list.add(obj.multigeo)
 
@@ -4485,6 +4521,11 @@ class App(QtCore.QObject):
                                  _("Failed. Excellon joining works only on Excellon objects."))
                 return
 
+        if len(objs) < 2:
+            self.inform.emit('[ERROR_NOTCL] %s: %d' %
+                             (_("At least two objects are required for join. Objects currently selected"), len(objs)))
+            return 'fail'
+
         def initialize(obj, app):
             FlatCAMExcellon.merge(self, exc_list=objs, exc_final=obj)
 
@@ -4508,6 +4549,11 @@ class App(QtCore.QObject):
                                  _("Failed. Gerber joining works only on Gerber objects."))
                 return
 
+        if len(objs) < 2:
+            self.inform.emit('[ERROR_NOTCL] %s: %d' %
+                             (_("At least two objects are required for join. Objects currently selected"), len(objs)))
+            return 'fail'
+
         def initialize(obj, app):
             FlatCAMGerber.merge(self, grb_list=objs, grb_final=obj)
 

+ 2 - 0
README.md

@@ -12,6 +12,8 @@ CAD program, and create G-Code for Isolation routing.
 13.09.2019
 
 - added control for simplification when loading a Gerber file in Preferences -> Gerber -> Gerber General -> Simplify
+- added some messages for the Edit -> Conversions -> Join methods() to make sure that there are at least 2 objects selected for join
+- added a grid layout in on_about()
 
 12.09.2019