Commit Graph

143 Commits

Author SHA1 Message Date
Alex Shvartzkop 3c742c71a0 GTK: Add workarounds for broadway and allow wayland GDK backend.
For testing. X11 backend is still used unless GDK_BACKEND=wayland
is set explicitly.
2023-06-13 09:42:20 +03:00
jean-pierre charras 92018f0066 Fix minor compil warnings 2023-06-04 16:24:28 +02:00
Jeff Young 1282e00775 Fix (presumed) stale name in macOS KIPLATFORM::IO. 2023-05-25 11:26:09 +01:00
jean-pierre charras ff072feeb4 Fix an annoying compil warning on msys2 2023-05-25 11:09:58 +02:00
Seth Hillbrand 39ab2ea41f Fix typo in MSW io.cpp 2023-05-24 19:23:32 -07:00
Seth Hillbrand 48ecd742eb Maintain file permissions when renaming
Temporary and autosave files do not neccessarily have the correct
permissions set to replace existing project files.  This updates the
permissions to match the existing values where possible

Fixes https://gitlab.com/kicad/code/kicad/-/issues/13574
2023-05-24 17:09:38 -07:00
Marek Roszko 3cd89eeffb Use a placeholder commit hash if we can't get a git hash
Makes CLI test happy on...build systems circa 1990s that don't just shallow copy the git repo
2023-05-17 21:24:26 -04:00
jean-pierre charras a2ec8bf0a4 Fix last changes in io.cpp for msys2.
- use the same code for msys2 and msvc
- add an option to use a fallback for msys2 if the common code does not compile
2023-05-11 12:51:53 +02:00
Marek Roszko dd8dc4e513 Add a sequential read flagged fopen helper
Trying to squeeze out some kind of gain by informing the OS we will read a file sequentially.
In particular our FILE_LINE_READER just uses fgetc until the end
2023-05-10 20:24:27 -04:00
Marek Roszko 6e93a0cbad Fix ImmControl implementation 2023-05-09 21:27:14 -04:00
Marek Roszko 5d93487607 Disable IME input on the gal canvas
Fixes #9719
2023-05-09 20:30:15 -04:00
Marek Roszko 18dd623122 Add env var to force logging on msw 2023-05-04 20:58:33 -04:00
Ian McInerney a77e94d16f Add hack to speed up font choice box widget creation
There are problems internal to GTK that mean creating choice boxes with
a lot of items is a very slow process. This hack works around one of
those issues to make it faster to create and display the menu in the
choice box.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/14277
2023-04-12 15:23:34 +01:00
Jon Evans 43d3a18b86 Improve HiDPI handling of appearance/layer controls 2023-02-22 09:20:36 -05:00
Alex 04c82a42eb Add KICAD_ALLOC_CONSOLE environment variable to show console in GUI apps on Windows.
For debugging purposes, currently.
2023-02-02 01:12:34 +03:00
Jon Evans 563143951f macOS: Always show file type selector
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13716
2023-01-31 12:47:37 -05:00
Marek Roszko dd519f1b38 Remove WerSetFlags that was a pre-sentry test 2023-01-28 00:08:37 -05:00
Alex 6e0d940b98 kiplatform: Add quotes to restart registration command line. 2022-10-05 20:30:46 +03:00
jean-pierre charras ca5d87e46d disable CONIN$ and CONOUT$ redirection on mingw. it creates issues
(nothing printed on the console)
It is probably not needed on mingw/msys.
2022-10-04 19:51:52 +02:00
Mark Roszko fb8a4c10f7 Shove kicad2step into pcbnew itself with a new cli 2022-10-04 01:53:37 +00:00
Marek Roszko 2b42163379 Bind stdout and stderr for windows so that the console can get output 2022-09-29 18:51:01 -04:00
Seth Hillbrand a8c6488358 Remove warning 2022-06-24 13:55:05 -07:00
Seth Hillbrand a118f20464 Hide cursor while warping on Wayland
Based on https://gitlab.freedesktop.org/xorg/xserver/-/issues/734 we
hide the window cursor prior to warping, which allows XWayland to
reposition the cursor.  This is only performed when Wayland is detected;
all other configurations call the standard warp routine

Fixes https://gitlab.com/kicad/code/kicad/issues/9785
2022-06-24 09:56:43 -07:00
Jeff Young 728777da7c While icons aren't often used in Mac menus, they *are* supported. 2022-04-24 14:39:00 +01:00
Marek Roszko c64ea07d0b Check HKCU before HKLM for registry policies 2022-04-12 21:42:20 -04:00
Marek Roszko 392ed5fecd Add policy to enable/disable pcm 2022-04-12 10:08:34 -04:00
Marek Roszko b3c5054d6c Add initial system policy checking for turning off data collection 2022-04-09 14:05:28 -04:00
Marek Roszko 1890a1aa06 Don't use the ANSI version of SetDllDirectory 2022-03-12 21:40:47 -05:00
Marek Roszko d6c1f52b55 Plant the ability to verify code signing signatures when trying to load kifaces
Off by default and intended for use in released builds only
2022-03-12 21:40:47 -05:00
Marek Roszko 5ef6e97a9e Two very minor win32 calls to lock down dll/exe search paths from cwd 2022-03-12 12:57:15 -05:00
Marek Roszko d3ca857af7 Set SetErrorMode on Debug build 2022-03-11 20:51:01 -05:00
jean-pierre charras 263faf2870 Fix compil issue (not defined items) on msys2 2022-03-11 09:35:38 +01:00
Marek Roszko afaff022d7 Set some error flags for win32 2022-03-10 20:17:01 -05:00
Wayne Stambaugh e93b7b05ec Wide characterize libs and bitmap2component source.
(cherry picked from commit 54f91a0221)
2022-02-09 11:49:58 -05:00
Seth Hillbrand d0d472f39d Hide icon option when platforms disable
Mac and some Linux configs disable menu icons.  We shouldn't offer the
option when the system does not support this as it leads to confusion

Fixes https://gitlab.com/kicad/code/kicad/issues/10425
2022-02-07 10:28:07 -08:00
Seth Hillbrand 88a58803ca Revert "Mark unbundled mac apps as unsupported"
This reverts commit 68a0b99835.

Reverted as unbundled Mac apps patch breaks kicad-mac-builder
2022-01-31 15:57:14 -08:00
Alex 4c4089e836 Allow overlay scrolling on GTK, except for GAL canvases.
This prevents glitches when both scrollbars
are visible and scrolling to the end.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/10559

Fixes https://gitlab.com/kicad/code/kicad/-/issues/9988
2022-01-31 18:45:47 +03:00
Seth Hillbrand 68a0b99835 Mark unbundled mac apps as unsupported
We do no track all the various possible issues arising from using
unbundled Mac apps.  Users may choose to use KiCad this way but issues
must be recreated on a supported configuration
2022-01-28 15:49:53 -08:00
Alex c4a4862e8f Try with KIPLATFORM 2021-12-25 15:26:43 +00:00
Marek Roszko f5fc9fa11f Another auto proxy tweak 2021-11-13 21:23:32 -05:00
Marek Roszko 73f40b11ee Some more cleanup 2021-11-11 23:58:34 -05:00
Marek Roszko 009bb7f033 Add missing WinHttpOpen to resolve pac proxies 2021-11-11 22:56:45 -05:00
Marek Roszko b20317ca84 Some minor cleanup of the proxy detect 2021-11-11 22:47:21 -05:00
Marek Roszko e2926f69a5 Add support to fetch windows proxy config for use with curl
Fix https://gitlab.com/kicad/code/kicad/-/issues/9594
2021-11-11 09:30:10 -05:00
Jeff Young 7a993c0211 Add support mode for dark mode to SCINTILLA_TRICKS.
Also removes the return value from the BITMAP_STORE's themeChanged
method as it will provide the wrong answer for the second frame it's
called on.

Also hooked up ACTION_TOOLBAR, the app launcher, and the project tree
to the wx event for system color changes so they change on the fly.

Fixes https://gitlab.com/kicad/code/kicad/issues/6026
2021-09-14 00:18:50 +01:00
Marek Roszko 3b7f5a3db7 Remove the native cursor for moving on Windows to avoid visual conflicts
Fix #8801
2021-09-04 18:27:02 -04:00
Wayne Stambaugh bf80b9c04c Last of the NULL expunging. 2021-07-20 10:32:22 -04:00
Wayne Stambaugh 4c457b5ed3 More NULL expunging. 2021-07-18 14:31:55 -04:00
jean-pierre charras 0ff1f6f69c Try to fix a include order (Windows only, to fix aCI/CD error) 2021-06-16 20:04:32 +02:00
jean-pierre charras aeb479b46f Fix an issue with pythons scripts running outside Kicad (Windows specific).
When running a python script is run from a console, outside Kicad, a wxWidgets
alert was always show (even in release mode)
This is due to calling wxStandardPaths::Get() with no wxApp open( i.e. wxTheApp == O)
The fix uses a dummy wxApp in this case.
2021-06-16 10:18:39 +02:00
luz paz f968fc8719 Fix source comment / documentation typos 2021-06-09 19:32:58 +00:00
david-beinder 053bd66650 Fix localization of OS unsupported message, disallow bug reports from W7 2021-06-09 19:01:54 +00:00
Marek Roszko 69d7a23e1c Start cleaning out wx/wx.h in cpp files 2021-06-07 18:20:47 -04:00
Michal Schulz f923649801 If NSError contains recovery suggestion string, append it to error message as it was until now. However, if recovery string is NIL, do not append it at all.
This MR fixes the "error message\n\n(null)".
2021-06-06 14:24:08 +00:00
Ian McInerney 30c92fc5d1 Disable OSX automatic window tabbing 2021-05-09 12:59:57 +01:00
Tomasz Wlostowski dc70df6036 kiplatform: check for null window handle in IsWindowActive(). 2021-04-27 14:13:16 +02:00
Jon Evans 3c1a8f8c88 Fix MSW build, take 2 2021-04-02 20:16:25 -04:00
Jon Evans 80eee2decb Fix MSW build 2021-04-02 20:13:10 -04:00
Ian McInerney 8ea18c0639 Don't steal focus from other windows on GTK
Before, it was possible for the canvas to steal the
focus if the cursor was only moved over it and not
clicked. Now, the canvas will only take the focus if
the frame is active.

Fixes https://gitlab.com/kicad/code/kicad/issues/7233
2021-04-03 00:17:28 +01:00
Ian McInerney 41f88dbabc Refactor platform-specific init into two phases
The first phase is for the environment before the OS
apps are created, and the second phase is for after
the OS app is created but before all of our processing.

Fixes https://gitlab.com/kicad/code/kicad/issues/7992
2021-03-23 19:11:08 +00:00
Jon Evans cdb352bb24 Allow finding kicad_3dsg when running from build dir
This might also come in handy later when we use more dynamic libs
2021-03-21 09:16:47 -04:00
Marek Roszko 917e368db3 Add missing header that broke msvc builds 2021-03-20 10:28:35 -04:00
Jon Evans 61c9645220 Fix Windows build 2021-03-19 18:36:16 -04:00
Ian McInerney 008f0d55c3 Add an interceptor for GTK error messages to hide them
wxWidgets seems to cause GTK to spam messages to the terminal,
and we have no control over that. So lets hide the messages
so no one complains about them. If people really want to see
them, they can add the KICAD_SHOW_GTK_MESSAGES build flag to CMake
and they can watch them scroll past.
2021-03-19 22:05:00 +00:00
Ian McInerney 3036683a2c Move platform-specific init tasks into KIPLATFORM 2021-03-19 21:26:07 +00:00
Seth Hillbrand 48bd564639 Add Dark mode detection to MacOS 2021-03-16 21:58:42 +00:00
Jon Evans a9f86c6f3d Enable icon themes for Windows
Windows 10 "dark mode" is not supported and likely won't be,
but high-contrast mode and manual color theme editing is still
possible.
2021-03-14 15:39:47 -04:00
Seth Hillbrand 507ca9bc73 Add DPI scaling to KIPLATFORM
GTK needs to check current scaling but wx doesn't provide this
functionality in 3.0, so we can bypass by going straight to the source.
2021-02-22 17:38:27 -08:00
Jon Evans 079203c345 Change Linux documents path to XDG_DATA_HOME
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7543
2021-02-17 20:25:50 -05:00
Jon Evans 1ba7bebce6 Handle lack of a Documents directory 2021-02-09 20:15:30 -05:00
Jon Evans 9728ceab0d Fall back to explicit documents path if XDG special dirs are missing
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7452
2021-02-08 20:21:39 -05:00
Marek Roszko 06a515339c Correct pointless and bad buffer sizing in RegisterApplicationRestart 2021-02-01 15:36:07 -05:00
Marek Roszko a47e8af0d0 Fix up naming of the kiplatform helpers 2021-01-27 19:12:20 -05:00
Marek Roszko 299830350c Fix macos build error 2021-01-27 19:12:19 -05:00
Marek Roszko 34bcf1883d Blindly implement the macos fetch of cache dir 2021-01-27 19:12:19 -05:00
Marek Roszko daf9c4f319 Centralize the 3d cache path 2021-01-27 19:12:19 -05:00
Marek Roszko 8622565480 Add GetUserConfigDir 2021-01-27 19:12:18 -05:00
Marek Roszko 2bbc25a630 Use g_get_user_special_dir for documents dir on gtk 2021-01-27 19:12:18 -05:00
Marek Roszko 28c6967dbc Start trying to shuffle around path management 2021-01-27 19:12:18 -05:00
Marek Roszko 33dbc8ccd1 Add IsNetworkPath to kiplatform 2020-12-15 19:28:58 -05:00
Jeff Young a3a409b438 Fix crash bug when deleting files with spaces in names. 2020-11-14 14:15:02 +00:00
Ian McInerney 06f01d0d8a Add platform-specific code to allow wxChoice to ellipsize
Fixes https://gitlab.com/kicad/code/kicad/issues/5377
2020-10-17 23:20:13 +01:00
Marek Roszko 88102bca46 Kick the refresh timer for GAL on Win32 with a terrible hack 2020-10-11 21:44:46 -04:00
Jon Evans 14c2937fc3 Implement IsDarkTheme for GTK 2020-10-10 14:55:32 -04:00
Jon Evans cc563d254f Add MSW implementation for IsDarkTheme (for future)
As noted, we can't enable this yet as wxWidgets does
not automatically apply a dark theme to the system
colors.
2020-10-10 14:15:30 -04:00
Mark Roszko d9485129c8 Implement more context specific cursors using both stock and custom cursors. 2020-10-08 00:50:28 +00:00
Ian McInerney c5feccca53 Add stub functions in KIPLATFORM to detect dark mode
These haven't been written yet, but current code can
be adapted to use these now.
2020-09-20 01:43:27 +01:00
Mark Roszko 9f128f942c Move shutdown blocker to kiplatform 2020-09-01 10:14:51 +00: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
Marek Roszko 9278660b10 Add support for the windows application restart api 2020-07-28 14:32:39 -04:00
Jeff Young 904687affb Fix typos. 2020-06-04 22:44:03 +01:00
Jeff Young 0ddf53397f Make sure CvPcb gets its Cancel button fixed up.
It's no longer a DIALOG_SHIM so it can't depend on its fixup.

Fixes https://gitlab.com/kicad/code/kicad/issues/4611
2020-06-04 22:35:01 +01:00
Ian McInerney a843c74529 Add new kiplatform library for platform-specific code
* Implement ReparentQuasiModal for OSX natively
* Implement ForceFocus of OSX natively

This change means we no longer rely on the kicad-specific functions in our osx wx fork.
2020-06-03 14:58:54 +00:00