Commit Graph

811 Commits

Author SHA1 Message Date
Marek Roszko 872184fe8b Revert "Bump minimum required CMake version to 3.10"
This reverts commit a475f45753.
2021-02-09 18:46:13 -05:00
Simon Richter a475f45753 Bump minimum required CMake version to 3.10
This allows us to remove even more workarounds
2021-02-08 12:23:08 +00:00
Ian McInerney c93b012627 Fix writing out of dummy files in the project manager
Fixes https://gitlab.com/kicad/code/kicad/issues/7453
2021-02-07 22:41:21 +00:00
Michael Kavanagh 54cd66d778 Icons: make menubar and launcher consistent 2021-02-06 22:51:56 +00:00
Michael Kavanagh 69484c8800 Icons: increase contrast of project icons 2021-02-06 22:51:56 +00:00
Jon Evans 7a55dff566 Archiver: reduce set of archived files for auto-backup
Keep around only source files that are modified by KiCad;
other files can be re-generated.
2021-02-04 17:24:13 -05:00
Jeff Young 1394c1f4d4 Retire disabled buttons in favour of info boxes.
Fixes https://gitlab.com/kicad/code/kicad/issues/7229
2021-02-01 22:56:55 +00:00
Jon Evans 73b8ae18f4 Use text file icon for design rules
I'm not sure we need a custom icon for this as we don't
have an editor action that happens when you double-click
one of these files.  Someone's welcome to revisit this
later, though.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/7314
2021-01-28 21:08:51 -05:00
Marek Roszko e6dd95e83a Create a default user projects folder 2021-01-27 19:12:18 -05:00
Wayne Stambaugh 6a39b81647 Fix the last of broken Doxygen comment specifiers. 2021-01-27 17:39:44 -05:00
jean-pierre charras a28326fb26 Fix stupid code. 2021-01-23 21:17:56 +01:00
jean-pierre charras af5825bd36 kicad: fix incorrect dummy .kicad_pcb file created when creating a new project.
Fixes #7242
https://gitlab.com/kicad/code/kicad/issues/7242
2021-01-23 17:00:30 +01:00
Marek Roszko b1d394258f Fix grammar 2021-01-22 21:25:23 -05:00
Marek Roszko 320ca5a0d0 Prevent KiCad launch on Windows 7 if python 3.8 or newer is bundled
Soon to be a permanent check regardless of python on Windows
2021-01-21 21:58:53 -05:00
Michael Kavanagh d32c12b4b9 Banish new project from template to the menubar
+ remove inappropriate icon from Eeschema ctx menu
2021-01-19 22:57:25 +00:00
Michael Kavanagh dc83cb7a41 Icons: general tweaks and pixel alignment
+ remove some unused icons
2021-01-11 23:31:25 +00:00
Mikolaj Wielgus fc7f1d1d86 Project manager: Restore possibility of opening multiple dirs at once
Fixes https://gitlab.com/kicad/code/kicad/issues/5896
2021-01-10 19:36:59 +00:00
Michael Kavanagh 9546ad88b5 Packaging: more human-friendly names on macOS...
At least it appears that way (just the symlinks are renamed).
2021-01-09 16:23:49 +00:00
jean-pierre charras f5b4bc5bfe Kicad, project_tree_pane.cpp: fix regression, round 2.
(directories visible in project tree were not populated).
2021-01-08 17:40:29 +01:00
jean-pierre charras 2055151b9d Kicad, project_tree_pane.cpp: revert the fix "directories visible in project
tree were not populated" because it creates wxWidgets alerts.
2021-01-08 11:45:43 +01:00
jean-pierre charras 5441da9a47 Kicad, project_tree_pane.cpp: fix some issues:
- regression: directories visible in project tree were not populated.
- issue on Linux, with wxWidgets 3.1.4 trying to open a directory shown in
project tree (right clicking ) did not work.
2021-01-08 11:32:56 +01:00
Jeff Young af2745af26 Make sure we have list of projects when responding to filewatcher.
Fixes https://gitlab.com/kicad/code/kicad/issues/6583
2021-01-07 21:56:03 +00:00
Michael Kavanagh bce1e9cfa5 Icons: rename directory_close to project_close
Since it is only used for the "Close Project" action
2021-01-04 01:44:01 +00:00
Michael Kavanagh 154e19b6e7 Icons: use common prefix for small 16x16 2021-01-02 23:16:33 +00:00
Michael Kavanagh 6d3c1c7716 Icons: remove unused sources/duplicates + rename 2021-01-02 23:16:33 +00:00
Seth Hillbrand a69a4be853 Fix build error with icon names 2021-01-01 13:13:33 -08:00
Seth Hillbrand f06b912cfd Fix a few missing icons 2021-01-01 13:06:22 -08:00
Seth Hillbrand 5a0c3bf4bc Icons updates
- Remove 22px bitmaps
- Move 24px icons to icon_XXX_24 filenames
- Update convert icon thanks to MisterHW

Fixes https://gitlab.com/kicad/code/kicad/issues/6088
2021-01-01 11:00:15 -08:00
Seth Hillbrand 8de9cff4e0 Change environmental variables to human-readable
Versions specific variables that may point to objects that change
through versions, allowing multiple KiCad versions to operate correctly
(even on MSW) on the same machine.
2021-01-01 16:20:35 +00:00
Wayne Stambaugh f6a1d703ec Fix some build warnings in the importer code. 2020-12-30 18:19:43 -05:00
Roberto Fernandez Bautista 3eec5f32ef Non-KiCad Project Importers: Check files/directories exist before deleting/creating them
- Need to check that the path we are calling an "empty" directory doesn't exist before we start
- Need to check that the location where we are storing the resultant imported design isn't the same as the source location. If it is the same, do not make a copy of the files as it will fail.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6838
2020-12-30 18:53:43 +00:00
Roberto Fernandez Bautista 6af4e57853 Non-KiCad Project importers: Make a temporary copy of the files to project folder before importing
Delete thee temporary files after import.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6596
2020-12-30 18:53:43 +00:00
jean-pierre charras e6cbbf3661 Kicad manager: Shows the Pcb frame or the Eeschema frame as soon as possible.
Previously, they were displayed after only reading the board or the schematic
files, that can take a few seconds delay for complex boards.
2020-12-24 17:37:02 +01:00
Seth Hillbrand 61ac9c8d90 Add multiple size icons for programs
In theory, the WM should now choose the closest size icon for its
purpose, making it easier to distinguish in space-constrained settings

Fixes https://gitlab.com/kicad/code/kicad/issues/6798
2020-12-22 15:37:26 -08:00
Seth Hillbrand 54ca087999 Update icon resource sets
Updates the .icns, .ico and .png files used by various distros to show
KiCad and KiCad files.
2020-12-22 15:16:33 -08:00
Jeff Young c73c20d083 Exclude some files from project view.
1) schematic sheets which don't match a project name (ie: aren't a
root sheet)
2) legacy schematic sheets when a current-format sheet is also present
witht the same name

Fixes https://gitlab.com/kicad/code/kicad/issues/6801
2020-12-22 13:52:36 +00:00
Michael Kavanagh 23cd1bb81e Icons: pixel align pagelayout_*
- Standardise light grey background (#F3F3F3)
 - Minor rename
2020-12-21 17:22:43 +00:00
Jeff Young d0cba4b096 Refresh tree when adding new folder.
The fileWatcher works on some platforms, but not on others.

Also modifies it so that it just asks for the directory name rather
than starting with the existing path (which provided unnecessary
flexibility at the expense of ease-of-understanding and ease-of-use).
If you want the directory somewhere else, select where you want it
before doing "New Directory...".

Also updates naming conventions and file order.

Fixes https://gitlab.com/kicad/code/kicad/issues/6592
2020-12-18 15:09:54 +00:00
Marek Roszko af17b6c709 Disable the wxFileSystemWatcher on Windows and network paths
SAMBA sends invalid change event IDs and wxWidgets crashes on rather than ignores the invalid IDs.
This punishes Windows Server users but its not easy to discern SAMBA from it.

Fix #5740
2020-12-15 19:36:12 -05:00
Seth Hillbrand b7875e4d41 Setup file_* icons
Don't use the same "post_*" icon in the treeview.  The badge gives an
action that doesn't apply in the treeview.

Also renames different file blobs to the "file_*" prefix.
2020-12-15 14:48:09 -08:00
Marek Roszko 7565f60a03 Swap wxFileInputStream/wxFileOutputStream for the buffered kind 2020-12-12 18:52:02 -05:00
Marek Roszko d67cf2f9af Replace wxFile usage with wxFFile
Buffered libc wxFFile is better thinking about syscall wxFile going wrong.
2020-12-12 13:16:23 -05:00
Michael Kavanagh cf6f0b9b92 Use trash icon where appropriate 2020-12-11 17:05:11 -08:00
Seth Hillbrand 4bed8bd57a Fix folder/directory icons 2020-12-08 15:30:48 -08:00
Seth Hillbrand 5ee8f2ee0b Icons: Add generic project icon
Differentiates between "New Project", old KiCad format project and new
KiCad format project
2020-12-07 13:17:06 -08:00
Marek Roszko 535dbc1a06 Block off potential errant double activation of tree project items
Additional fix for #6606
2020-12-03 21:06:10 -05:00
Seth Hillbrand 0f9b01ee1d Fix locking scheme for double-clicks
In some cases, the events may be driven in the same thread, which can
lead to a deadlock.  Instead of waiting for the lock, simply refuse to
run if a loading system in in progress.

Fixes https://gitlab.com/kicad/code/kicad/issues/6606

(cherry picked from commit d7a6a2cc71)
2020-12-03 14:39:05 -08:00
Jeff Young d8fa37d5c2 Remove old root-schematic hacks. They don't work anymore anyway.
Fixes https://gitlab.com/kicad/code/kicad/issues/6583
2020-12-02 14:27:43 +00:00
Jeff Young 4a0543c099 Formatting and naming conventions. 2020-12-02 14:27:43 +00:00
Jeff Young fc2bdc49de Once more into the depths of hell... er, I mean fix a focus issue.
So the new steals-focus protection stuff works well when there's a
focused control, but not as well when there's a modal dialog up which
happens not to have a focused control (or worse, a focusable control).

This adds a second mechanism for also checking to see if a modal dialog
is up (something that wxWidgets, true to form, makes very difficult).

Fixes https://gitlab.com/kicad/code/kicad/issues/6520
2020-11-26 16:47:40 +00:00
Jeff Young 9c7c05c161 Mostly formatting cleanup but a few type-casting cleanups too. 2020-11-24 22:16:41 +00:00
Jeff Young e5ddfe13f2 Add recursion guard to project Save As.
This keeps us from copying files that have just been copied when
a project is Saved As inside itself (which is a useful thing to do
when versioning backups or the like).

Fixes https://gitlab.com/kicad/code/kicad/issues/6388
2020-11-22 11:48:02 +00:00
Jeff Young a207bd97bb Naming conventions. 2020-11-17 16:05:49 +00:00
Ian McInerney 3d47eb0d49 Fix localization of the menu strings with accelerator strings
The accelerator strings really shouldn't be part of the translation,
and some translations have cause the accelerator keys to be incorrectly
handled. It is simpler to make it separate and just join them to the
translated string.

Make all accelerator modifiers use lowercased Ctrl instead of CTRL
to be the same as the other modifiers.

Fixes https://gitlab.com/kicad/code/kicad/issues/5992
2020-11-04 01:31:52 +00:00
Jeff Young bddc97df30 LibEdit -> SymbolEditor 2020-10-31 10:28:21 +00:00
Marek Roszko e928b2d8fd Split EDA_UNITS out from common. 2020-10-25 00:02:52 -04:00
Seth Hillbrand 2a43b88115 Standardize PostScript capitalizaiton 2020-10-20 13:09:13 -07:00
Seth Hillbrand 4085757aeb Remove beginning/ending spaces in translations
Adding space padding makes translations more difficult by increasing
string counts
2020-10-20 12:08:04 -07:00
Marek Roszko da96c9959d Undo last commit and fix include. Woops 2020-10-18 12:43:38 -04:00
jean-pierre charras f6b4b66a86 Avoid include wx/wx.h in many files that do not actually use this include.
Including wx.h includes the full set of wxWidgets include files, that is not good,
and can create some conflicts with some Windows headers on msys2.
2020-10-18 18:21:34 +02:00
Marek Roszko a754bf6a48 Launch tools from Idle in the kicad manager.
Launching on a control event can allow that control to steal focus from the new windows as more events may exist intended for the control.

Fix #4479
2020-10-16 23:40:27 -04:00
Marek Roszko a1c75748a0 Remove GetChars(), a wxWidgets 2.9 compatibility hack 2020-10-15 20:53:25 -04:00
Ian McInerney 147d58728f Ensure the renamed file actually exists on disk
Moving a file on Linux can sometimes result in the same path
being returned as the old and new path inside the rename event
because the file watcher doesn't see the new file.

Fixes https://gitlab.com/kicad/code/kicad/issues/5981
2020-10-13 16:05:52 +01:00
Marek Roszko 763da6b3bb Add forward declaration in kicad/kicad_manager_frame.h 2020-10-12 23:29:08 -04:00
Ian McInerney 9641eb792a Fix build error caused by refactor in kicad manager tree 2020-10-13 01:23:04 +01:00
Marek Roszko 9db12be714 Cleanup some includes and enum in kicad 2020-10-12 19:38:40 -04:00
Mark Roszko a8bd0a9b84 Handle Windows manifests ourselves and add dpi awareness option 2020-10-10 19:08:23 +00:00
Marek Roszko acce757df7 Suppress leak reports in kicad.exe as well 2020-10-08 17:08:01 +00:00
Jeff Young 0bc7bbbadb Report silk/edge collisions.
Fixes https://gitlab.com/kicad/code/kicad/issues/5854

Fixes https://gitlab.com/kicad/code/kicad/issues/4892
2020-10-06 14:21:18 +01:00
jean-pierre charras b38cef409b Rename CopyFile() to KiCopyFile() to avoid name colliding with a windows header.
Using CopyFile() that can collide with a windows header create hard to
understand errors, including link errors.

Renaming this function avoids these strange errors.
2020-10-03 10:08:21 +02:00
Roberto Fernandez Bautista 72b904a978 ADDED: CADSTAR Archive project importer 2020-09-27 23:50:20 +00:00
Ian McInerney fc565edb33 Add a palette to the toolbars to display groups of actions
This adds a palette to toolbar items that displays groups
of actions when long-pressed on a button.
2020-09-27 01:00:44 +01:00
Jon Evans 0783669633 CHANGED: Design rules files now use .kicad_dru extension
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5763
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5444
2020-09-24 21:26:23 -04:00
Ian McInerney c40470ed0b Initialize more variables 2020-09-22 12:29:13 +01:00
Ian McInerney c399d489ba Remove project condition from the symbol and footprint editors 2020-09-15 21:18:56 +01:00
qu1ck e5828d5817 Improve exception handling in KIWAY::Player()
And avoid crashing in kicad_manager_control
2020-09-07 11:12:30 -07:00
Michael Kavanagh de03d3d427 Application title bar: app name after filename
Fixes https://gitlab.com/kicad/code/kicad/issues/2096
2020-09-03 06:35:48 -07:00
Jeff Young 34d069ffd8 Bubble cancel up from app to kicad manager when closing.
Fixes https://gitlab.com/kicad/code/kicad/issues/5402
2020-08-31 11:49:29 +01:00
Ian McInerney a0d84e94fd Use move to trash to the project manager instead of immediate delete
CHANGED: Delete in the project manager now moves files to the trash can

Fixes https://gitlab.com/kicad/code/kicad/-/issues/2499
2020-08-28 23:00:43 +00:00
Jon Evans cd54ba7b01 Fix project unloading in LoadProject
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5380
2020-08-26 20:46:20 -04:00
Jon Evans dc7e1783b3 Make sure a project is loaded at all times
For now, much of KiCad depends on Prj() working, so when we
are asked to unload a project, immediately load the null project
so that nothing breaks.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/5374
2020-08-26 18:37:34 -04:00
Jon Evans 3673c23696 Code style 2020-08-23 22:10:05 -04:00
Mark Roszko 89e74140eb Save file / window states for kicad project locally 2020-08-24 02:01:14 +00:00
Seth Hillbrand 1e315bc3fe pcbnew: Add "Select All" Action to pcbnew and fpedit
Fixes https://gitlab.com/kicad/code/kicad/issues/2497
2020-08-20 16:07:10 -07:00
Jeff Young 9e40db9faf Sort footprint position files with rest of project items. 2020-08-20 13:41:50 +01:00
Ian McInerney 4491f24d5e Ripout the old SyncToolbars infrastructure reminants
The tool framework no longer needs to request updates of the UI
state for the controls, wxWidgets will do it for us.
2020-08-16 19:10:26 +00:00
Ian McInerney 45fb030b9b Rename and shorten the names in ACTION_CONDITIONS 2020-08-16 19:10:25 +00:00
Ian McInerney 72a1c71e07 Implement a framework to handle wxUpdateUIEvents for tool actions
This allows for the tool framework to keep track of a universal
set of conditions for the UI state (enabled/checked/shown) for
controls of actions. It removes the need for the main menubar
menus to be CONDITIONAL_MENUs and be rebuilt on each open,
and instead makes the updates of the check and enabling of
items handled in the native wxWidgets way.

This commit switchs the 3d viewer and kicad project manager window
over to this system.
2020-08-16 19:10:25 +00:00
Ian McInerney 0975f3817a Fix project handling in eagle project import and ensure the titlebar is correct
Previously it didn't properly close or create a new project for the
Eagle project.

Also, update the titlebar text whenever the project changes (so it is
cleared properly when a project is unloaded).

Fixes https://gitlab.com/kicad/code/kicad/issues/5152
2020-08-16 12:37:51 +01:00
Marek Roszko c36080a250 Immediate fix to prevent crashing, don't call ClosePlayers twice
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5164
2020-08-12 18:35:18 -04:00
Ian McInerney c458b50fd9 Ensure the environment variables are synchronized between KiCad and Python
Before this, the environment variables inside Python wouldn't reflect
the updates to them made after the interpreter was started in Pcbnew.
This will call into Python and set the variables when they are changed,
since Python can't synchronize itself when running in an embedded
interpreter.

Fixes https://gitlab.com/kicad/code/kicad/issues/5071
2020-08-09 19:56:12 +01:00
Jon Evans 43ab43ec9e Fix a few issues with Close Project
A new empty project needs to be reopened for now
Footprint info cache write only works with a project for now
2020-08-09 11:13:50 -04:00
Jeff Young c992570427 Add Open Python directory to menus.
Fixes https://gitlab.com/kicad/code/kicad/issues/5115
2020-08-09 15:39:51 +01:00
Jon Evans e4c20e0ac9 Fix leftover modification of file history 2020-08-09 10:16:22 -04:00
Ian McInerney 30d42ca95a Save the open projects into the settings before closing the project
Saving in the frame destructor is too late, because all projects
have been closed so the list being saved is empty.
2020-08-08 23:41:48 +01:00
Ian McInerney 226e5205c4 Load the previous project if an empty string is the argument
Previously it would just not open any project at all. This
was a problem for some launchers, which would pass an empty string
when no file is passed by the user.

Fixes https://gitlab.com/kicad/code/kicad/issues/5055
2020-08-08 23:41:48 +01:00
Jon Evans 32a7d00256 Make sure projects are cleaned up nicely when frames close
PROJECT objects will be deleted by SETTINGS_MANAGER::UnloadProject
so we need to make sure that this is called at an early enough point
in the closing process that anything needed by the PROJECT dtor
is still around.

Also fix an issue where the schematic worksheet was depending on
the project existing after the schematic had been reset.
2020-08-08 16:52:57 -04:00
Jon Evans 79e40cf765 Fix a few issues with Close Projects MR
Store list of previously open projects only in kicad.json
Keep all management of open projects in SETTINGS_MANAGER

Also add kicadSettings() for convenience
2020-08-08 16:00:49 -04:00
Fabien Corona bc357dff8a Add "Close project"
Allow the user to close a project from the project manager.
Distinguish the open project from the file history.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/4964
2020-08-08 18:52:14 +00:00
Jon Evans dcc484e114 CHANGED: Library editors are now usable with no project loaded
Fixes https://gitlab.com/kicad/code/kicad/-/issues/3688
2020-08-07 18:02:34 -04:00