Commit Graph

409 Commits

Author SHA1 Message Date
Marius Stanciu
e1824a09f7 - make sure that the state of the workspace is saved correctly on change 2022-03-31 11:40:50 +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
c0b3f6ebde - some minor changes in Distance Plugin
- when changing workspace orientation fixed leaving behind the old frame on the cavnas
2022-03-30 17:41:22 +03:00
Marius Stanciu
c69f9dc2d9 - a minor fix in the Plotcanvas() class
- fixed the OR-tools path optimization (it required now a cast to int when creating the distances' matrix)
2022-03-30 01:30:07 +03:00
Marius Stanciu
a3f9d7c248 - added ability to change the mouse cursor color on the fly
- in Distance Plugin made sure that the 'big cursor' (when is used) is black in color (visible in most situations)
- in Distance Plugin, for the 2D graphic mode activated the utility line
2022-03-29 02:14:44 +03:00
Marius Stanciu
4745e1cab9 - in Distance Plugin added the ability to use a big cursor; not finished: when the grid is off it is not displayed 2022-03-28 20:06:11 +03:00
Marius Stanciu
cd42c40198 - minor change 2022-03-23 14:21:53 +02:00
Marius Stanciu
a5544615c5 - optimized the UI for the CNCJob object
- when loading a Gcode file in the app now the application makes an attempt in adding information's such that the CncJob UI works correctly; if so information's are not found then assumptions are made. Only for GCode that is detected as made from an Excellon object
2022-03-21 01:35:47 +02: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
4a4cb4301c - changed the look for the Location/Jump To widgets; it is now like a cross being more relevant visually
- the Numeric Move now can take only a parameter instead of a tuple but only if the comma is added, the not added parameter will be assumed 0.0. Therefore ",10" will move to (0, 10).
2022-03-11 19:29:31 +02:00
Marius Stanciu
a3a8fbf8d5 - in the Grid Toolbar, the Grid Y entry is now by default hidden and shown only when there is a need (grid gap link is disabled) in order to maximize the status bar space availability 2022-03-11 14:48:22 +02:00
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