Commit Graph

194 Commits

Author SHA1 Message Date
Marius Stanciu
6f93734d3f - minor name changes 2023-04-08 12:43:34 +03:00
Marius Stanciu
faf41d7bca - major change: from now on the only dimensional units available are those from ISO METRIC system 2023-04-08 12:29:45 +03:00
Marius Stanciu
72dd81848f - in the toolbars now there is text under the icons (which can be turned off from the toolbar context menu)
- the GUI state is now saved and restored through QSettings
2023-03-22 16:43:27 +02: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
8b4423dc0f - when changing the style for the decorations from Preferences, now change is applied immediately 2022-11-09 19:55:59 +02:00
Marius Stanciu
9b08191660 - added a new setting in Preferences ("3D compatibility") controlled by a checkbox. If the checkbox is checked then multithreading is disabled for the 3D mode (lower performance but perhaps more compatibility, especially for Linux) - this was done from the research done by Matti Eiden on bitbucket 2022-09-25 05:44:43 +03:00
Marius Stanciu
3c1349a6c4 - added a new feature for Geometry export-as-SVG, the ability to export only the paths (outlines); the new feature is controlled from a new parameter in Preferences -> Geometry -> Export 2022-09-01 13:08:06 +03:00
Marius Stanciu
830d500d04 - in Gerber Editor upgraded the PadArray GUI 2022-05-22 03:18:51 +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
054a812f7b - added a new setting that control the selection shape creation, in the Preferences. If the checkbox Selection Outline is checked then the selection shape is only an outline. 2022-05-19 14:13:25 +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
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
753b6c6d5d - in Excellon Editor, finished th upgrade work on the Slot Array Plugin 2022-04-30 16:34:22 +03:00
Marius Stanciu
6592fc5cde - In Excellon Editor, Drill Array Plugin, upgraded the UI and work in progress for the features 2022-04-30 03:52:57 +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
6690e507f6 - a fix for the latest change in the Preferences Tab 2022-04-20 18:47:32 +03:00
Marius Stanciu
22ad4f7946 - remade how the Preferences Tab is constructed such that now is made on demand for each section (tab) therefore making it faster to load (once a section is loaded - by clicking its tab - it will not be reloaded in the current session) 2022-04-20 18:04:30 +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
e23d89779c Merge branch 'Beta_8.995' into os-dependent-theme with Marius' changes for theme_safe_color 2022-04-18 12:29:33 +03:00
Marius Stanciu
7d2fd7c77a - added a way to allow patching FCLabel widget colors for certain cases without having to pass them each instance 2022-04-18 11:48:16 +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
Marius Stanciu
d8a0be84a3 - replaced all the FCLabel widgets that have color HTML with the new FCLabel widget that uses parameters for 'color' and weight 2022-04-18 03:41:04 +03:00
Marius Stanciu
e2770776b7 - in Geometry Editor, in Copy Tool added the 2D copy-as-array feature therefore finishing this editor plugin upgrade 2022-04-18 01:23:01 +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
377d79d413 - added ability to control the color of the project items for the dark theme too 2022-04-14 17:59:32 +03:00
Marius Stanciu
a59f996819 - some reformatting and class rename
- when clicking the coordinates toolbars in the status bar now the Distance Plugin is shown and if already displayed, it is closed (toggle action)
2022-04-03 15:06:36 +03:00
Marius Stanciu
ada48269a9 - refactored the imports in the Plugins, moved almost all imports in the AppTool file
- fixed a number of issues, mostly leftovers from moving the UI of a Plugin in its own class
- fixed some bugs in the Punch Gerber plugin
- fixed some bugs where the 'pool' parameter was not passed when creating shapes collections (in 3D graphic mode); I wonder how it worked until now
- added a new feature in the Isolation Plugin: now for all the isolation Geometry objects this plugin can do a supplementary simplification of the geometry using the tolerance parameter defined in the General Parameters. This should lead to a reduced number of tool lifts when doing corners
2022-03-31 19:28:19 +03:00
Marius Stanciu
c4151631ec - changed the app main icons, hopefully they are more visible on black backgrounds than the ones that FlatCAM has 2022-03-31 11:28:35 +03:00
Marius Stanciu
730ef529dc - fixed issues in the Scale feature of the Film Plugin
- in the Scale feature of the Film plugin added ability to scale by a length amount
2022-03-17 02:29:28 +02:00
Marius Stanciu
dc11f1be50 - installed an eventFilter for the Sliders in the Preferences tab such that only if a slider has focus the mouse wheel will change its value
- in Preferences made sure that the changes of the scrollbar no longer interfere with signalling changes
2022-03-12 18:16:15 +02:00
Marius Stanciu
37e31b0159 - added to the application an older contribution by another user: Columnar Layout for the Preferences Tab. It can be set in Preferences -> General -> GUI section 2022-03-12 01:05:54 +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
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
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
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
8c154e6cc0 - All FCColorEntry GUI element instances have now a set icon for the title (and taskbar) 2022-01-15 02:53:34 +02:00