Commit Graph

290 Commits

Author SHA1 Message Date
Marius Stanciu
ccc71eabc2 - changed the shapely imports a bit according to the specifications of Shapely 2.0
- changed the requirements.txt file to reflect the need for at least Shapely in version 2.0
2023-04-15 21:03:30 +03:00
Marius Stanciu
6f93734d3f - minor name changes 2023-04-08 12:43:34 +03:00
Marius Stanciu
3b3c87e953 - fixed some possible issues due of changes in version 2.0 of Shapely
- removed the import * statement from most of the app
2023-03-06 16:40:49 +02:00
Marius Stanciu
33de5314b1 - in Tool Milling made sure that deleting the only tool will not crash the application
- added a new parameter in Preferences to control the number of processes created by the Pool() - more processes better performance but also a lot of memory consumed
- made sure that the display of messages in the Status Bar is done asap
2023-03-01 18:15:10 +02:00
Marius Stanciu
9ce9c3cb54 - in Autolevelling Plugin, preventing the add of a probe point on Excellon hole checkbox is not disabled except for the Manual mode
- in Autolevelling Plugin, the status of soem checkoxes (avoid Excellon holes and plot points) is stored between app restarts
- in Isolation Plugin, added an convenience shortcut button to launch the Milling Plugin.
2023-01-18 18:22:33 +02:00
Marius Stanciu
c85d04bc0a - in Autolevelling Tool, when adding manual probe points, added an option that prevent adding a probe point within a drill hole of an Excellon object that is plotted on canvas 2023-01-18 01:32:28 +02:00
Marius Stanciu
f42f05d93e - in Autolevelling Tool made sure that when adding manual probe points mouse dragging with the right button is not counted as end of adding operation 2023-01-18 01:07:31 +02:00
Marius Stanciu
220157641d - fixed the Voronoi generation in the Autolevelling Tool (removed the Foronoi package due of issues and now using the embedded functionality from Shapely)
- fixed the enable of Levelling Tool only for CNCJob objects that were made from geometries that were segmented
2023-01-17 01:02:52 +02:00
Marius Stanciu
853b273e79 - fixed the Voronoi generation in the Autolevelling Tool (removed the Foronoi package due of issues and now using the embedded functionality from Shapely) 2023-01-16 23:52:30 +02:00
Marius Stanciu
c1377d5090 - added a 'return' button when a fatal error is encountered allowing the user to continue the work
- fixed a crash in Milling Plugin when trying to mill slots that do not have drills in the same file
2022-11-19 02:29:40 +02:00
Marius Stanciu
9ec2ee2920 - in Drilling Plugin fixed a situation when having tools with the same diameter will get them multiplied by the number of those tools 2022-11-08 15:59:59 +02:00
Marius Stanciu
d1a4de676e - if PikePDF module is not available then show an error but run the app (currently, for Python 3.11 is the only module not available) 2022-11-06 00:43:34 +02:00
Marius Stanciu
6509089dc4 - fixed an issue when exporting huge SVG files from the Film Tool by adding a fallback and using a custom XML parser with the 'huge_tree' option set 2022-10-19 16:59:05 +03:00
Marius Stanciu
94901686b5 - really small UI change in 2-Sided Plugin 2022-10-02 06:56:13 +03:00
Marius Stanciu
56033b8bc4 - in Milling Plugin, for Excellon target, re-enabled the control over the Feedrate X-Y parameter 2022-09-27 16:45:32 +03:00
Marius Stanciu
8f774df30b - small fix in ToolCutout Plugin when trying to set a checkbox state with a float value which still works in Windows but creates issues in other OS's 2022-09-25 05:57:35 +03:00
Marius Stanciu
71a3963c96 - hided the main UI on application quit to create a user experience of a shutdown without lag
- added a way to terminate QThreads safely by waiting; should be much safer
- made sure that the ArgsThread class receive the signal to stop
- made sure that on application shutdown, all workers will quit before the actual exit
2022-09-10 01:06:13 +03:00
Marius Stanciu
419330ee93 - fixed some bugs in Geometry Editor in regards of Buffer Tool
- fixed some issues in the Cutout Plugin by adding more checks
- fixed issues when loading files by dragging in the UI (caused by recent code refactoring)
2022-08-01 12:27:14 +03:00
Marius Stanciu
bfb3aa4118 - added properties for the mouse position and mouse clicked position (and setters) and cleaned up the code regarding this data 2022-05-21 02:13:47 +03:00
Marius Stanciu
77c752701f - refactored the code for the file registration and for the keywords update into its own class to make the main class smaller
- when creating new files the file names are added to the beginning of the keywords list for the usage of Qt auto-completer
2022-05-20 21:19:52 +03:00
Marius Stanciu
c0ff26db13 - fixed the Move Plugin to use the new setting of outline for the selection shape 2022-05-19 15:36:22 +03:00
Marius Stanciu
6e410583bb - added some safeguards in Cutout Plugin 2022-05-18 16:32:13 +03:00
Marius Stanciu
739e41d48b - in Cutout Plugin added an extra attempt to solve the issue with creating invalid geometries 2022-05-17 15:43:36 +03:00
Marius Stanciu
3a0247e7cf - in Cutout Plugin added ability to use the margin (full range of values: negative, zero, positive) when applying the cutout over a Geometry source object 2022-05-17 12:31:08 +03:00
Marius Stanciu
745e49ed50 - finished upgrading the UI in Geometry Editor sub-tools 2022-05-16 03:49:02 +03:00
Marius Stanciu
a973275f97 - fixed a crash when creating a Document object due of changes in Qt6 (missing QtGui.Qt)
- in Document object fixed the issue with not setting selection color when in a dark theme (essentially got rid of using QPalette)
- in dark theme stylesheet changed the indent of the QCheckBox (and in Radio buttons too)
- updated the FClabel widget with some more properties
- updated the hack to make sure that the Editor sub-tools do not lose the stylesheet of the background
- updated the disabled project item color default value for the dark theme
2022-05-11 20:13:36 +03:00
Marius Stanciu
e8a15156db - upgraded the Geometry Editor main UI
- upgraded the FCButton widget (and made it used everywhere instead of the QPushButton) so it can have the color and font weight properties settable
2022-05-10 07:01:14 +03:00
Marius Stanciu
9dc6c94a45 - wip 2022-05-09 14:18:49 +03:00
Marius Stanciu
411a9320e5 - fixed an issue in the Paint Plugin where some polygons are discarded in a Geometry object made out of an imported SVG
- a few other changes
2022-05-09 12:40:12 +03:00
Marius Stanciu
5139fca50b - removed the shortcut for the PDF Import Plugin (Ctrl+Q) since it interfered with the MacOS usage 2022-05-05 23:42:28 +03:00
Marius Stanciu
1fd08ca30b - changed the activity GIF's for the dark theme
- changed some of the dark theme icons to the red color
2022-05-05 05:03:01 +03:00
Marius Stanciu
73ae30e016 - more changes for dark theme 2022-05-04 05:43:47 +03:00
Marius Stanciu
e76568c2f1 - some changes to the dark mode stylesheet to make it look better
- darkened the text color for the dark theme in order to make it easier on the eyes
- in Distance Plugin, when using the big cursor, the cursor colors are fixed to work for the dark mode too
2022-05-04 05:04:53 +03:00
Marius Stanciu
4ac90d83f5 - in Calculators Plugin fixed the Electroplating Calculator to work as expected and removed the redundant button 'Calculate' 2022-04-28 14:53:14 +03:00
Marius Stanciu
545e594ed0 - in Isolation Plugin made sure that the last displayed message is the warning, in the case of using tool validation and the tool is not validated
- some more work in the Excellon Editor - Drill adding
- some fixes in the image loader when clicking the an image that is in the list of previous loaded files
- a small fin in the SVG parser
- added a new Tcl command that is returning the name of the active object ('get_active') to accompany the 'set_active' command
- a small fix for the 2d graphic mode by replacing the q5agg matplotlib backend with the qtagg backend which should work with the Qt6
2022-04-28 13:39:48 +03:00
Marius Stanciu
779a8ccc9f - activated the 'View Source' option in the project menu context menu for the Geometry objects
- in Image Import plugin now the created objects have the 'source_file' attribute with content
- working in the Excellon Editor - wip
2022-04-26 14:29:23 +03:00
Marius Stanciu
060c52e47a - changed again the FClabel GUI element to allow font size change from a class parameter and modified the way the weight is set
- small UI change in the Image Import Plugin
2022-04-25 12:47:19 +03:00
Marius Stanciu
1494fa5362 - in SolderPaste Plugin fixed an issue when creating a new project with this plugin open
- updated the application strings
2022-04-25 02:25:18 +03:00
Marius Stanciu
1459423ca3 - deleted the Calibration Plugin (made redundant by changes in other Plugins)
- some strings were updated
2022-04-25 01:09:51 +03:00
Marius Stanciu
0caa2c97f6 - in SolderPaste Plugin fixed an issue where the new parameter 'margin' was taken from the current UI and applied to all tools (nozzles); now each nozzle use his 'margin' parameter
- in SolderPaste Plugin make sure that the preprocessor is set the same for all tools (nozzles) whenever is modified
- added 2 new preprocessor files for the SolderPaste Plugin (GRBL and MARLIN)
- in SolderPaste Plugin made sure that the start GCode is not added for each nozzle but only once at start
- in SolderPaste Plugin added a new parameter: 'Feedrate Rapids' which will set the feedrate for the fast moves as opposed with the previously used G0 command. This allows to fine tune the fast moves to reduce the vibrations
2022-04-25 00:01:11 +03:00
Marius Stanciu
1972ed302f - some fixes in the Import Image Plugin
- made sure that the CNCJob objects made out of non-multi-toolGeometries are plotted correctly
2022-04-24 01:48:25 +03:00
Marius Stanciu
cb7bcf257f - fixed some leftovers due of recent changes in the theme management
- added a new feature (new modules are required) in the Image Plugin (Menu -> File -> Import -> Import Image) that allow tracing images. This may allow engraving pictures.
- started to add UI's for the Excellon Editor Tools (really early work)
2022-04-23 18:12:43 +03:00
Marius Stanciu
de8fd2cceb - in Solderpast Plugin fixed the GCode generation; make sure that if no object is selected then the first Gerber object is autoselected
- in Solderpaste Plugin fixed the CNCJob plotting
- in Solderpaste Plugin added a new parameter 'Margin' which allows reducing how much solderpaste is added and therefore adding a space between the solderpaste and the pad boundary
- all CNCJob objects generated by the Solderpaste plugin now have the GCode saved as source_code which can be saved also from the CNCJob object context menu, and edited
2022-04-20 14:35:39 +03:00
Marius Stanciu
00144bafa0 - some changes in the theme selection, added that the default situation is where no theme is applied
- some string changes
2022-04-18 22:22:47 +03:00
Ali Khalil
ce4b43bd36 Menu icons location changes restored and will be addressed in future update with better mechanism. FCLabel calls updated where possible based on new method parameters 2022-04-18 11:36:08 +03:00
Ali Khalil
84cdc87030 FCLabel behavior modified to match updated method based on PR discussion 2022-04-18 09:18:17 +03:00
Ali Khalil
5cc869c1fd Application wide updates for dark mode support including dark canvas option and better colors 2022-04-17 22:41:02 +03:00
Ali Khalil
adad500f15 Theme option added to match OS appearance. Sets appearance on application launch. 2022-04-17 21:48:31 +03:00
Marius Stanciu
804786c6c2 - in Geometry Editor - fixed the Explode tool to work on the result of adding Text geometry
- all the Geometry Editor plugins are moved inside another folder and the UI's are moved into their own class
2022-04-13 18:33:05 +03:00
Marius Stanciu
fcdb318c23 - fixed the display of lines in Distance Plugin when using 'snap to' together with 'multipoint' 2022-04-13 03:22:12 +03:00