Commit Graph

269 Commits

Author SHA1 Message Date
David Robertson 9be8665311 Grouped the preferences UI files by tab (except for tools1/2 which I put together) 2020-04-30 00:11:45 +01:00
David Robertson f7989c029f Split up PreferencesUI.py into individual files for each class, then fixed the imports everywhere that broke because of this. 2020-04-29 22:53:16 +01:00
David Robertson aa16b5e339 Shift the PreferencesUI.py file into a new `preferences` subpackage 2020-04-29 22:02:25 +01:00
Marius Stanciu 804b62af7f - solved the problem with not closing all the tabs in Plot Area when creating a New Project; the issue was that once a tab was removed the indexes are remade (when tab 0 is removed then tab 1 becomes tab 0 and so on) 2020-04-29 21:43:28 +03:00
Marius Stanciu a5384d50d8 - more PEP8 changes
- in PreferencesUI.PreferencesUIManager class I removed the need to pass reference to the App class since it this was available through the 'ui' parameter
- some fixes due to recent refactoring
- minor bugs fixed (not so visible)
- promoted some methods to be static
- set the default layout on first run to the 'minimal' value
2020-04-29 10:09:07 +03:00
David Robertson db37714025 Merge branch 'Beta' of https://bitbucket.org/jpcgt/flatcam into extract-prefs-code-from-app-class 2020-04-29 02:57:17 +01:00
David Robertson 72c2dd5f26 Working on extracting the prefs UI code from the App class 2020-04-29 01:49:34 +01:00
Marius Stanciu 35674c9647 - in SVG parser modified some imports to be one on each line
- fixed the Tcl Command BBox (leftovers from recent global changes)
- fixed some typos in strings reported by @pcb-hobbyst on FlatCAM forum
2020-04-28 19:34:23 +03:00
Marius Stanciu eed7e3d620 - some minor changes in the Python version detection
- added a new Tcl Command named SetPath which will set a path to be used by the Tcl commands. Once set will serve as a fallback path in case that the files fail to be opened first time. It will be persistent, saved in preferences.
- added the GUI for the new Open Example in the FIle -> Scripting menu.
- I am modifying all the open ... handlers to add a parameter that will flag if the method was launched from Tcl Shell. This way if the method will fail to open the filename (which include the path) it will try to open from a set fallback path.
- fixed issue #406, bug introduced recently (leftover changes).
- modified the ImportSVG Tcl command name to OpenSVG (open_svg alias)
- added a new Tcl command named OpenDXF (open_dxf alias)
- fixed some errors in Scripting features
- added a new Tcl command named GetPath as a convenient way to get the current default path stored in App.defaults['global_tcl_path']
2020-04-28 14:37:34 +03:00
Marius Stanciu fe2d232f60 - minor changes
- moved the ObjectCollection class to the flatcamObjects folder where it belongs
2020-04-27 14:05:40 +03:00
Marius Stanciu 3ec666edbb - replaced the testing if instance of FlatCAMObj with testing the obj.kind attribute
- removed the import of the whole FlatCAMApp file only for the usage of GracefulException
- remove the import of FlatCAMApp and used alternate ways
- optimized the imports in some files
- moved the Bookmarksmanager and ToolDB classes into their own files
- solved some bugs that were not so visible in the Editors and HPGL parser
2020-04-27 10:03:22 +03:00
Marius Stanciu 7df7e17569 - some message strings cleanup 2020-04-24 07:23:14 +03:00
Marius Stanciu 32ff35b4ff - fixed the Tcl command Plot_All that malfunctioned if there were any FlatCAM scripts (or FlatCAM documents) open
- updated the shortcuts list
2020-04-23 03:34:09 +03:00
Marius Stanciu 3735753a93 - fixed the Tcl Command Help to work as expected; made the text of the commands to be colored in Red color and bold
- added a 'Close' menu entry in the Tcl Shell context menu that will close (hide) the Tcl Shell Dock widget
- on launching the Tcl Shell the Edit line will take focus immediately
- in App.on_mouse_move_over_plot() method no longer will be done a setFocus() on every move, only when it is needed
2020-04-23 02:07:55 +03:00
Marius Stanciu a1499158c2 - refactored some of the code in the App class and created a new Tcl Command named Help 2020-04-22 23:00:54 +03:00
Marius Stanciu 3c291f259e - fixed a bug in loading objects by drag&drop into the Project Tab where only one object in the selection was loaded 2020-04-20 12:02:01 +03:00
Marius Stanciu ecf61fdf6d - made the Grid icon in the status bar clickable and it will toggle the snap to grid function 2020-04-20 00:57:13 +03:00
Marius Stanciu 5a5a18ef43 - some PEP8 changes in Geometry Editor and other minor changes 2020-04-20 00:12:58 +03:00
Marius Stanciu 2dfcdc95e4 - fixed more issues (new) in NCC Tool
- added a new layout named 'minimal'
2020-04-19 22:22:19 +03:00
Marius Stanciu 418ebd6606 - minor changes in GUI (Save locations in Menu -> File) and the key shortcuts 2020-04-11 01:51:43 +03:00
Marius Stanciu d80de538e3 - modified all CTRL+ with Ctrl+ and all ALT+ with Alt+ and all SHIFT+ with Shift+. Fixed issue #387. 2020-04-09 05:16:48 +03:00
Marius Stanciu d14e5d9445 - fixed a bug in handling the UP/DOWN key shortcuts that caused a crash when no object was selected in the Project Tab; also made sure that the said keys are handled only for the Project Tab 2020-04-06 20:52:00 +03:00
Marius Stanciu 69b39e2937 - added key shortcuts (arrow up/down) that will select the objects in the Project tab if the focus is in that tab 2020-04-06 06:28:55 +03:00
Marius Stanciu 8a2ed1c726 - some changes in the Geometry UI 2020-04-06 01:56:38 +03:00
Marius Stanciu e6917ba1ab - fixed Properties Tool due of recent changes to the FCTree widget 2020-03-13 15:43:26 +02:00
Marius Stanciu 9fc2ba8ffd - added a new FlatCAM Tool: Gerber Invert Tool. It will invert the copper features in a Gerber file: where is copper there will be empty and where is empty it will be copper 2020-02-14 17:08:06 +02:00
Marius Stanciu 7c9c390ac3 - finished Punch Gerber Tool
- minor PEP8 changes
2020-02-13 21:06:10 +02:00
Marius Stanciu 0b162bbd55 - added a new functionality, a variation of Set Origin named Move to Origin. It will move a selection of objects to origin such as the bottom left corner of the bounding box that fit them all is in origin. 2020-01-31 22:34:20 +02:00
Marius Stanciu 3ac8e96071 - fixed bugs in Minimum Distance Tool 2020-01-25 01:44:44 +02:00
Marius Stanciu ca87475694 - small changes to the Toolchange manual preprocessor
- fix for plotting Excellon objects if the color is changed and then the object is moved
- laying the GUI for a new Tool: Punch Gerber Tool which will add holes in the Gerber apertures
2020-01-24 22:12:15 +02:00
Marius Stanciu 5b63dee50d - made possible to set the colors for Excellon objects too
- added to the possible colors the fundamentals: black and white
- in the project context menu for setting colors added the option to set the transparency and also a default option which revert the color to the default value set in the Preferences
2020-01-19 19:47:42 +02:00
Marius Stanciu 821014f719 - added key shortcuts and toolbar icons for the new tools: Align Object Tool (ALT+A) and Extract Drills (ALT+I)
- added new functionality (key shortcut SHIFT+J) to locate the corners of the bounding box (and center) in a selected object
2020-01-15 02:50:27 +02:00
Marius Stanciu e090b96c7c - modified Toggle Workspace function to work in the new Preferences UI configuration
- cleaned the app from progress signal usage since it is not used anymore
2020-01-03 01:41:03 +02:00
Marius Stanciu 3475ae00cd - fixed bug in NCC Tool: after trying to add a tool already in the Tool Table when trying to change the Tool Type the GUI does not change
- final fix for app not quiting when running a script as argument, script that has the quit_flatcam Tcl command; fixed issue #360
- fixed issue #363. The Tcl command drillcncjob does not create tool cut, does not allow creation of gcode, it forces the usage of dwell and dwelltime parameters
2020-01-01 16:13:33 +02:00
Marius Stanciu c79f74c1bf - added a new function called by shortcut key combo CTRL+G when the current widget in Plot Area is an Code Editor. It will jump to the specified line in the text. 2019-12-29 04:31:46 +02:00
Marius Stanciu 58054f71b3 - fixed a minor issue that when saving a project with CNCJob objects, the variable that holds the origin of the CNCJob object was not saved in the project. Added to the serializable objects also the exc_cnc_tools dictionary
- some changes in the File menu
2019-12-29 00:00:15 +02:00
Marius Stanciu 73b2355295 - updated the POT file and the translation files for German, Spanish and French languages 2019-12-27 04:34:54 +02:00
Marius Stanciu 55549c7ba5 - cleaned the Preferences classes and added the signals and signal slots in those classes, removing them from the main app class
- each FlatCAM object found in Preferences has it's own set of controls for changing the colors
- added a set of gray icons to be used when the theme is complete dark (for now it is useful only for MacOS with dark theme because at the moment the app is not styled to dark UI except the plot area)
2019-12-27 03:05:17 +02:00
Marius Stanciu f0ed74ce5f - further modifications in Preferences -> General GUI - extended the changes 2019-12-26 06:13:42 +02:00
Marius Stanciu 0268a02f3b - changed the extension of the Tool Database file to FlatDB for easy recognition (in the future double clicking such a file might import the new tools in the FC database)
- modified the ToolDB class and changed some strings
- Preferences classes now have access to the App attributes through app.setup_obj_classes() method
- moved app.setup_obj_classes() upper in the App.__init__()
- added a new Preferences setting allowing to modify the mouse cursor color
- remade the GUI in Preferences -> General grouping the settings in a more clear way
- made available the Jump To function in Excellon Editor
- added a clean_up() method in all the Editor Tools that need it, to be run when aborting using the ESC key
2019-12-26 01:47:50 +02:00
Marius Stanciu fcc52a2682 - fixed an issue in old default file detection and in saving the factory defaults file
- in Preferences window removed the Import/Export Preferences buttons because they are redundant with the entries in the File -> Menu -> Backup. and added a button to Restore Defaults
- when in Basic mode the Tool type of the tool in the Geometry UI Tool Table after isolating a Gerber object is automatically selected as 'C1'
- let the multiprocessing Pool have as many processes as needed
- added a new Preferences setting allowing a custom mouse line width (to make it thicker or thinner)
2019-12-25 17:51:37 +02:00
Marius Stanciu 98d5986190 - some fixes in the Legacy(2D) graphic mode regarding the possibility of changing the color of the Gerber objects
- added a method to darken the outline color for Gerber objects when they have the color set
- when Printing as PDF Gerber objects now the rendered color is the print color
2019-12-23 02:30:56 +02:00
Marius Stanciu 612666d01a - added a new option for the Gerber objects: on the project context menu now can be chosen a color for the selected Gerber object 2019-12-22 06:52:45 +02:00
Marius Stanciu 8ab91b7f4f - added an icon in the infobar that will show more clearly the status of the grid snapping 2019-12-20 03:32:09 +02:00
Marius Stanciu 284d500073 - 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
2019-12-19 17:15:41 +02:00
Marius Stanciu 8361ee7897 - prepared the application for usage of dark icons in case of using the dark theme
- updated the languages
- RELEASE 8.99
2019-12-15 16:28:36 +02:00
Marius Stanciu 63baeda071 - fixed a bug that created a crash in special conditions; it's related to the QSettings in FlatCAMGui.py 2019-12-15 00:42:07 +02:00
Marius Stanciu 02b567971d - finished a very rough and limited HPGL2 file import 2019-12-12 21:29:38 +02:00
Marius Stanciu 6d826fa143 - added option to save objects as PDF files in File -> Save menu 2019-12-12 03:18:52 +02:00
Marius Stanciu 1cb66f3faf - finished the Calibration Tool
- changed the Scale Entry in Object UI to FCEntry() GUI element in order to allow expressions to be entered. E.g: 1/25.4
2019-12-12 01:55:04 +02:00