FAGrbPrefGroupUI.py 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. from PyQt5 import QtWidgets, QtGui
  2. from PyQt5.QtCore import QSettings
  3. from flatcamGUI.GUIElements import FCButton, FCTextArea, FCEntry
  4. from flatcamGUI.preferences.OptionsGroupUI import OptionsGroupUI
  5. class FAGrbPrefGroupUI(OptionsGroupUI):
  6. def __init__(self, decimals=4, parent=None):
  7. # OptionsGroupUI.__init__(self, "Gerber File associations Preferences", parent=None)
  8. super(FAGrbPrefGroupUI, self).__init__(self)
  9. self.setTitle(str(_("Gerber File associations")))
  10. self.decimals = decimals
  11. self.restore_btn = FCButton(_("Restore"))
  12. self.restore_btn.setToolTip(_("Restore the extension list to the default state."))
  13. self.del_all_btn = FCButton(_("Delete All"))
  14. self.del_all_btn.setToolTip(_("Delete all extensions from the list."))
  15. hlay0 = QtWidgets.QHBoxLayout()
  16. self.layout.addLayout(hlay0)
  17. hlay0.addWidget(self.restore_btn)
  18. hlay0.addWidget(self.del_all_btn)
  19. # ## Gerber associations
  20. self.grb_list_label = QtWidgets.QLabel("<b>%s:</b>" % _("Extensions list"))
  21. self.grb_list_label.setToolTip(
  22. _("List of file extensions to be\n"
  23. "associated with FlatCAM.")
  24. )
  25. self.layout.addWidget(self.grb_list_label)
  26. qsettings = QSettings("Open Source", "FlatCAM")
  27. if qsettings.contains("textbox_font_size"):
  28. tb_fsize = qsettings.value('textbox_font_size', type=int)
  29. else:
  30. tb_fsize = 10
  31. self.grb_list_text = FCTextArea()
  32. self.grb_list_text.setReadOnly(True)
  33. # self.grb_list_text.sizeHint(custom_sizehint=150)
  34. self.layout.addWidget(self.grb_list_text)
  35. font = QtGui.QFont()
  36. font.setPointSize(tb_fsize)
  37. self.grb_list_text.setFont(font)
  38. self.ext_label = QtWidgets.QLabel('%s:' % _("Extension"))
  39. self.ext_label.setToolTip(_("A file extension to be added or deleted to the list."))
  40. self.ext_entry = FCEntry()
  41. hlay1 = QtWidgets.QHBoxLayout()
  42. self.layout.addLayout(hlay1)
  43. hlay1.addWidget(self.ext_label)
  44. hlay1.addWidget(self.ext_entry)
  45. self.add_btn = FCButton(_("Add Extension"))
  46. self.add_btn.setToolTip(_("Add a file extension to the list"))
  47. self.del_btn = FCButton(_("Delete Extension"))
  48. self.del_btn.setToolTip(_("Delete a file extension from the list"))
  49. hlay2 = QtWidgets.QHBoxLayout()
  50. self.layout.addLayout(hlay2)
  51. hlay2.addWidget(self.add_btn)
  52. hlay2.addWidget(self.del_btn)
  53. self.grb_list_btn = FCButton(_("Apply Association"))
  54. self.grb_list_btn.setToolTip(_("Apply the file associations between\n"
  55. "FlatCAM and the files with above extensions.\n"
  56. "They will be active after next logon.\n"
  57. "This work only in Windows."))
  58. self.layout.addWidget(self.grb_list_btn)
  59. # self.layout.addStretch()