Commit Graph

396 Commits

Author SHA1 Message Date
Marius Stanciu
4398b3468f - added a new feature: now in the context menu (and main menu -> Edit) there is a new command that allow to move a selection of objects at specified numeric coordinates (either absolute or relative to current position) 2022-03-11 13:51:29 +02:00
Marius Stanciu
65cf80165c - made sure that the app starts with toolbar's locked 2022-03-10 18:24:18 +02:00
Marius Stanciu
311f2d3531 - skew feature in Film Plugin now have multiple options. skew can be done by length, by angle and by ratio (factor) 2022-03-10 16:02:12 +02:00
Marius Stanciu
31eb06d5a9 - fixed multiple issues in the App objects related to wrong usage of self.obj_options attribute instead of self.app.options attribute
- remade the Film Plugin such that the `skew` feature is now done in length units as opposed with the previous usage of angles
- refactored some big methods from the Film Plugin
2022-03-10 14:22:09 +02:00
Marius Stanciu
da20db5527 - fixed an issue where using the 'G' shortcut key in Editors will not toggle the grid snap
- fixed an issue in the Excellon Editor where selecting the drills did not highlight them but instead made them invisible (although the selection still worked)
- fixed an issue in the Gerber Editor where selecting one shape will auto-select all the shapes made with the same aperture
2022-03-10 00:13:47 +02:00
Marius Stanciu
8900c89214 - added a few new GUI custom widgets
- removed the status bar Tcl Shell toggleable QLable. Now the Tcl Shell is toggled by clicking the Message in the Status bar
2022-03-09 14:20:09 +02:00
Marius Stanciu
843be488a5 - some changes to the Preferences 2022-02-24 00:14:58 +02:00
Marius Stanciu
72186cf8b8 - fixed an issue due of recent changes that made the application think that is run always for the first time; fixed not applying the selected language translation
- some more code is refactored in the Preferences
- the axis will now be drawn on the canvas as they were left in the previous run (just like the HUD and the Workspace)
- for processors with less than 4 cores now the default number of workers is 1 (changed from 2)
- some graphical settings go now directly to the defaults dictionary and will not pass through the `options` app dictionary
2022-02-20 22:32:54 +02:00
Marius Stanciu
7acabdfa0f - fixed an issue where the selected application translation language is not remembered as was selected and defaulting to English language
- refactored code in Preferences section
2022-02-20 20:37:31 +02:00
Marius Stanciu
65d8dcc0b2 - the application now uses only the default values from the app.options dict, the app.defaults dict holds the definitive default values
- fixed some outstanding issues from the PyQt6 port
- PEP8 fixes
- minor fixes
- updated the saving of Preferences to update the self.options too: the `Apply` action will update the self.options but the `Save` action will save the updated preferences to the file on disk
2022-02-18 23:06:58 +02:00
Marius Stanciu
1681b327ed - refactoring all the references to object options property to obj_options to make a difference with the application options property 2022-02-16 10:47:12 +02:00
Marius Stanciu
529148c60d - made sure that the redraw_on_top_on_project_click works properly and only on mouse click release in the Project list
- made sure that the `redraw_on_top_on_project_click` works only on single object selections
2022-02-11 11:06:08 +02:00
Marius Stanciu
5421b65b9e - made sure that the new feature of redrawing Gerber on top is not activated when that Gerber object is disabled
- added ability to turn off the outline plotting for Gerber objects (will speed up the plotting but the plotting visual quality will degrade); controlled from Preferences -> Gerber -> General
- plotting visuals in 3d graphic mode will no longer create some unnecessary lists
2022-02-11 10:42:03 +02:00
Marius Stanciu
4b611f5ce3 - a new feature that when selecting an object in the Project Tab, that object is redrawn over the other objects, in top position. Feature controlled from Preferences -> Gerber -> General. 2022-02-11 02:35:40 +02:00
Marius Stanciu
3d4e195ae1 - added a new preprocessor: default_laser
- in the app added a new tool type: "L" (laser) which when selected will autoselect the `default_laser` preprocessor in Milling Plugin
2022-02-10 14:01:32 +02:00
Marius Stanciu
056ff05e29 - most of the logging (except in the Editors) is now done by the AppLogging class 2022-01-31 02:14:14 +02:00
Marius Stanciu
fa25644f8f - now the verbose log parameter from the Preferences can take 3 values (0, 1, 2). Value = 0 means that the logging is disabled (mostly), value = 1 means that the logging is only in console and value = 3 means that the logging is now displayed in the Tcl box 2022-01-31 01:25:30 +02:00
Marius Stanciu
dbc2e5c381 - finished the UI for adding a new parameter that is used in conjunction with the laser preprocessors: laser minimum power parameter which should help in doing a full power up/down cycle (should prolong the lifetime for the laser diode)
- fixed some UI issues for the Milling and Drilling plugins when using a `laser` preprocessor
2022-01-30 19:03:20 +02:00
Marius Stanciu
ff805880e1 - fixed the Follow plugin not marking correctly the resulting Geometry objet as a multigeo
- fixed the Cutout plugin not working with Geometry objects that are made out of a MultiLineString
2022-01-25 22:31:50 +02:00
Marius Stanciu
ba8b16e54f - fixed some issues due of the above hack 2022-01-19 21:35:26 +02:00
Marius Stanciu
cdf6872e5e - updated the header of the postprocessos with 'laser' to show essential informations like some of them do not move on the Z axis
- make sure that the laser postprocessor that do move on the Z axis (like 'GRBL_laser_Z') accept negative values for the Z focus
- fixed issue in highlighter such that the keywords that have an underscore included are highlighted
- rearranged the default keywords
- fixed the generatecncjob() method default parameters to reflect new data structure names
- in Geometry object the default self.options dictionary is updated with keys that reflect new data structure
2022-01-19 02:25:40 +02:00
Marius Stanciu
2430158334 - fixing an issue with not building the UI for the generated objects when running a script and then trying to enable/disable the plots
- attempting to add a feature in the text editors to autoselect all words in a document that are the same as the one that was clicked
- all the colors set in Preferences now have to be in the 8digits format RGBA (including the alpha channel as a suffix) - it is required to delete the current preferences files
2022-01-17 21:26:10 +02:00
Marius Stanciu
873cd6f947 - some changes to the FCMessageBox so the dark theme works ok on it 2022-01-15 03:34:33 +02:00
Marius Stanciu
8c154e6cc0 - All FCColorEntry GUI element instances have now a set icon for the title (and taskbar) 2022-01-15 02:53:34 +02:00
Marius Stanciu
b615edd631 - made sure that new message boxes are always centered on the app UI by setting correctly the parent 2022-01-14 12:43:14 +02:00
Marius Stanciu
200d244b9b - made sure that the FCMessageBox taskbar icons and message are the correct ones
- applied the FCMessageBox GUI elements everywhere; there is still a hack in appTranslation file where I needed to re-implement the class due of some circular imports errors
2022-01-13 18:08:11 +02:00
Marius Stanciu
dc636369a6 - modified the FCMessageBox to have a border and a single color inside the box 2022-01-13 16:42:59 +02:00
Marius Stanciu
1d1613d2d6 - subclassed the QMessageBox and created a new type of MessageBox that is frameless; started to use it throughout the app 2022-01-12 02:27:12 +02:00
Marius Stanciu
d7be3c3c3b - started to mod the qdarktheme to fit the application 2022-01-12 00:44:25 +02:00
Marius Stanciu
2165ebe419 - added an initial implementation of a dark theme using the qdarktheme (performance is not great and there are some artifacts); the theme is activated once the gray icons are checked in the Preferences 2022-01-11 23:21:18 +02:00
Marius Stanciu
ab3e610324 - added a new feature in Preferences -> Gerber: a Layer Color Manager where the user can set and edit predefined colors for the Gerber objects: loading order matter 2022-01-10 17:06:12 +02:00
Marius Stanciu
e219562bbb - added in CNCJob preferences new preferences that allow compensation for the CNC bed skew/tilt (axes not being square one to another)
- all pre-processors are altered such they can adjust the gcode to use the compensation values set in Preferences -> CNC-Job section
2022-01-09 19:44:56 +02:00
Marius Stanciu
9d9bfa8b03 - some UI changes in the Preferences: the clicked tab now have a distinctive color (green) and some strings are optimized 2022-01-09 16:39:06 +02:00
Marius Stanciu
648fc81868 - added a donation link (some people wanted it there so...) 2022-01-06 19:08:23 +02:00
Marius Stanciu
03f096a1cd - fixed a double application of milling offset when having geometries with multiple tools
- finished the mill-excellon feature in the Milling Tool; milling will be done progressively from the hole center toward the edge
2021-12-23 22:04:41 +02:00
Marius Stanciu
20587eaec8 - some issues fixed that were left behind rom porting to PyQt6
- trying to solve differently RuntimeError exceptions that randomly popup due of wrapped C++ objects being deleted by attempting to create a new UI for the objects
2021-11-30 00:00:18 +02:00
Marius Stanciu
755da7c972 - minor 2021-11-22 21:25:49 +02:00
Marius Stanciu
8f0b591d74 - in AppTextEditor made some changes (added some placeholders and a message popup when reaching the end of document)
- when viewing GCode the Find field can now keep the focus
2021-11-22 03:26:09 +02:00
Marius Stanciu
c98066834a - fixed a bug in Panelize Plugin where the Geometry objects could not be panelized
- fixed some more Shapely 2.0 deprecation warnings in the Panelize Plugin
2021-11-21 20:34:05 +02:00
Marius Stanciu
b494669ca0 - made sure that if the OR-TOOLS package is not installed then the options in the Preferences for the related optimizations are disabled 2021-11-20 19:41:52 +02:00
Marius Stanciu
640739cc65 - fixed another issue when using Python 3.10, in GUI elements
- fixed the Rtree optimization when drilling with no toolchange such that all drill points are used
- fixed the CNCJob object Tools Table when drilling with no toolchange: now only one tool is displayed
2021-11-20 06:30:52 +02:00
Marius Stanciu
370e8f8ec1 - added Rtree optimization for Drilling Plugin 2021-11-17 18:59:37 +02:00
Marius Stanciu
57004cf948 - fixed an issue when using Python 3.10, in GUI elements 2021-11-17 01:15:46 +02:00
Marius Stanciu
b29586388b - fixed the issue with toggling visibility for Excellon objects
- fixed some issue when using Python 3.10
2021-11-10 22:48:59 +02:00
Marius Stanciu
bb089eb657 - refactored the is_legacy object to use_3d_engine
- made sure that there is no longer a double action when toggling the object visibility ('plot' attribute)
2021-10-31 14:05:00 +02:00
Marius Stanciu
1596f69e2b - in Isolation Plugin: if using a V-shape tool, restored the ability to change the tool diameter as a function of tip diameter, tip angle and the depth of cut 2021-10-30 16:13:32 +03:00
Marius Stanciu
b309a14929 - small changes in the VisPyVisuals that should improve a bit the performance 2021-10-30 14:10:48 +03:00
Marius Stanciu
20fa5b9fb0 - updated the PlotCanvas3d 2021-10-25 03:28:45 +03:00
Marius Stanciu
9057966aa9 - updated the translation strings 2021-10-14 19:37:34 +03:00
Marius Stanciu
cea57b532f - pywin32 module is no longer needed when running in Windows
- updated the Romanian translation
- Google-translated the Spanish translation
- updated the strings in all translation files
2021-10-13 18:13:40 +03:00