Commit Graph

70266 Commits

Author SHA1 Message Date
Dimitri Schoolwerth
25f981bfad Demonstrate wxOSX_FILEDIALOG_ALWAYS_SHOW_TYPES in dialogs sample
Add a menu option (Ctrl+Cmd+S) to toggle showing of the filter choice
with file types in open dialogs on macOS.
2021-02-15 00:37:45 +01:00
utelle
62a760c225 Make wxStandardPaths::IgnoreAppBuildSubDirs() more permissive
Add some common architecture-dependent directories to the list of
subdirectories that should be ignored.

For Win32 the directory name x86 is also common.

For Win64 the directory names Win64 and x86_64 are frequently in use,
too.

Closes https://github.com/wxWidgets/wxWidgets/pull/2233
2021-02-15 00:36:15 +01:00
Biswapriyo Nath
ae9b55712d Fix gcc warning when using configure --enable-permissive option
When configured with --enable-permissive option, add -fpermissive to C++
flags, not C flags, to avoid the gcc warning

command-line option '-fpermissive' is valid for C++/ObjC++ but not for C

when compiling C code.

Closes https://github.com/wxWidgets/wxWidgets/pull/2232
2021-02-14 19:45:16 +01:00
Vadim Zeitlin
d2c3c6a35b Merge branch 'msw_webview_edge4' of https://github.com/TcT2k/wxWidgets
Fix missing events for in-document navigation with wxWebViewEdge,
implement Find() for it and add wxEVT_WEBVIEW_FULLSCREEN_CHANGED for it
and wxGTK.

See https://github.com/wxWidgets/wxWidgets/pull/2227
2021-02-14 19:37:44 +01:00
Maarten Bent
2161e5270f Add check for expected line endings
Check that the EOL used in the file corresponds to the expected one for
its extension, in addition to checking that EOLs are consistent.

Closes https://github.com/wxWidgets/wxWidgets/pull/2228
2021-02-14 19:33:27 +01:00
Vadim Zeitlin
a6f6f5de27 Merge branch 'owner-combo' of https://github.com/MaartenBent/wxWidgets
Improve wxComboCtrl popup position and add DPI change handling.

See https://github.com/wxWidgets/wxWidgets/pull/2231
2021-02-14 19:27:13 +01:00
Vadim Zeitlin
d89d3b6851 Remove harmless unused variables warnings in non-debug build
Suppress a few -Wunused-variable and -Wunused-parameter warnings when
using --disable-debug.
2021-02-14 12:43:30 +01:00
Artur Wieczorek
70793777b6 Add missing constants
These constants are not defined in some non-MSVC environments.
2021-02-14 11:02:23 +01:00
Artur Wieczorek
cd6548c80e Use dedicated helper function to get window client area size 2021-02-14 00:13:48 +01:00
Artur Wieczorek
bce6c0911e Don't call obsolete method
ID2D1Factory::GetDesktopDpi() is reported as deprecated.
2021-02-14 00:12:47 +01:00
Artur Wieczorek
418ca872ec Fix reference count in wxD2DDeviceContextResourceHolder 2021-02-14 00:11:40 +01:00
Artur Wieczorek
0723da5168 Return proper Direct2D version if using ID2D1DeviceContext is enabled
ID2D1DeviceContext is available since Direct2D 1.1.
2021-02-14 00:10:37 +01:00
Artur Wieczorek
3c7493a289 Optimize converting native GDI+ bitmap to wxImage
Iterate through source pixels with pointer instead of array index.
2021-02-14 00:07:15 +01:00
Artur Wieczorek
2eb3a0460d Create native GDI+ representation of wxGraphicsBitmap directly from wxImage
Skip the conversion from wxImage to wxBitmap.
2021-02-14 00:05:30 +01:00
Artur Wieczorek
b86878c272 Cleanup Direct2D renderer
Move shared code to convert between wxImage amd IWICBitmap to the separate
methods.
2021-02-14 00:04:02 +01:00
Artur Wieczorek
a25e66d479 Create native D2D representation of wxGraphicsBitmap directly from wxImage
Skip the conversion from wxImage to wxBitmap.
2021-02-14 00:01:53 +01:00
Maarten Bent
e3491fc537 Create a wxDisplay directly from wxWindow 2021-02-13 21:11:18 +01:00
Maarten Bent
dbcfe56ae5 Make wxPenStyleComboBox in Combo sample DPI aware 2021-02-13 01:59:24 +01:00
Maarten Bent
1e17e8f500 Improve per-monitor DPI in wxVListBoxComboPopup
Adjust the default item height before the drawing size is calculated.
2021-02-13 01:59:23 +01:00
Maarten Bent
9365df2322 Improve wxPropertyGridEditor position with multiple displays 2021-02-13 01:59:23 +01:00
Maarten Bent
01d8c1bf8e Improve wxComboCtrl popup position with multiple displays 2021-02-13 01:59:21 +01:00
YuSanka
76354fbc8d Fixed wxComboCtrlBase::ShowPopup() to show a popup control in respect to the display of the provided window instead of primary display. See issue The "Show" Dropdown list goes out of the screen #2999 (https://github.com/prusa3d/prusaslicer/issues/2999) 2021-02-13 01:56:12 +01:00
Tobias Taschner
e09063186c Provide generic wxWebView::Find() implementation
This implementation is based on javascript 'window.find()'
https://developer.mozilla.org/en-US/docs/Web/API/Window/find
It's not standard, but implemented in most browsers.

It's not a complete implementation as it can't determine how
many search results can be found.

If the backends API provides a native find interface it should be
used instead of this implementation, but it's good fallback.
2021-02-10 23:55:18 +01:00
Tobias Taschner
5512089d5b Apply suggestions from code review
Co-authored-by: VZ <vz-github@zeitlins.org>
2021-02-09 23:35:01 +01:00
Tobias Taschner
a3f85e9cd5 Implement wxEVT_WEBVIEW_FULLSCREEN_CHANGED in GTK 2021-02-09 22:28:29 +01:00
Tobias Taschner
1aad333ab9 Don't send wxWebViewEdge cancel event on veto
When vetoing a wxEVT_WEBVIEW_NAVIGATING a wxEVT_WEBVIEW_ERROR was send
this was unexpected and unnecessary.
2021-02-09 22:28:29 +01:00
Tobias Taschner
f6a23a0431 Add wxEVT_WEBVIEW_FULLSCREEN_CHANGED event
The event is triggered by wxWebView when the page requests fullscreen view.

It's currently only implemented for the edge backend.
2021-02-09 22:28:29 +01:00
Maarten Bent
36ab71301c Add CI check for mixed line endings
Trigger workflow on all file changes.

Closes https://github.com/wxWidgets/wxWidgets/pull/2224
2021-02-09 22:17:13 +01:00
Tobias Taschner
693d946ffc DPI independent default size in WebView sample 2021-02-09 18:02:36 +01:00
Tobias Taschner
fea23a0be4 Handle in-document navigation with wxWebViewEdge
Send EVT_WEBVIEW_NAVIGATING, EVT_WEBVIEW_NAVIGATED and EVT_WEBVIEW_LOADED
when an anchor is clicked within a document. This kind of navigation
cannot be vetoed.

Fixes: #19074
2021-02-09 17:55:37 +01:00
Vadim Zeitlin
7a74c0872c Merge branch 'msw_webview_edge3' of https://github.com/TcT2k/wxWidgets
Make using wxWebViewEdge even simpler in CMake builds.

See https://github.com/wxWidgets/wxWidgets/pull/2223
2021-02-09 15:22:56 +01:00
Gary Allen
2da5129e13 Allow customizing all tool colours in wxRibbonMSWArtProvider
A number wxRIBBON_ART_TOOOL_XXX constants were not taken into account by
GetColour() and SetColour() for some reason, even though the class did
have the corresponding member colour variables.

Fix this by simply adding cases for them to the existing switch.

Closes https://github.com/wxWidgets/wxWidgets/pull/2225
2021-02-09 15:03:34 +01:00
Artur Wieczorek
279ee715fd Fix creating wxCairoBitmapData from wxImage with mask
If source wxImage has a mask we need to create ARGB32 Cairo surface (even
for RGB image) and based on the mask values set the alpha values to fully
transparent or retain original values.
2021-02-09 00:14:12 +01:00
Artur Wieczorek
c7667c16f8 Add tests of creating wxGraphicsBitmap from wxImage 2021-02-09 00:14:12 +01:00
Vadim Zeitlin
f2d5ff0121 Make wxNumValidator::m_value protected rather than private
This is useful for writing overridden TransferXXX() methods in the
derived validator classes, give a motivating example in the docs.

See https://github.com/wxWidgets/wxWidgets/pull/2222
2021-02-08 22:43:48 +01:00
Tobias Taschner
1ee05c54ed CMake: Download SDK when wxUSE_WEBVIEW_EDGE=ON
Automatically download the WebView2 SDK from nuget (official repo for the SDK)
when enabling wxUSE_WEBVIEW_EDGE to simplify usage.
Copying to 3rdparty/webview2 is still supported optionally.
2021-02-08 21:29:08 +01:00
New Pagodi
ab63e73920 Record active sockets in wxWebSessionCURL
If a wxWebRequestCURL object is canceled or deleted before its transfer
is complete, we need to manually close its active socket.  Record each
transfer’s active socket in wxWebSessionCURL::SocketCallback so can use
it if needed.

Previously, this was done using curl_easy_getinfo, but this required
some compile time and run time checks and could fail in some specific
cases. Recording the socket ourselves significantly simplifies the code
and should always work.
2021-02-08 12:32:32 -06:00
Artur Wieczorek
e74cc53775 Fix creating CGImage from wxBitmap
For internal purposes wxBitmap with mask should be converted to CGImage
with alpha values only (with no mask). This is i.a. needed to assure
compatibility of wxGraphicsBitmap format with other ports where these
bitmaps are in pure ARGB format.
2021-02-08 18:56:10 +01:00
Vadim Zeitlin
d4e5adf5d6 Merge branch 'webview_misc' of https://github.com/TcT2k/wxWidgets
More wxWebView miscellaneous improvements.

See https://github.com/wxWidgets/wxWidgets/pull/2221
2021-02-08 13:50:25 +01:00
Vadim Zeitlin
b99c88767d Regenerated wxstd.pot using the new xgettext options
No real changes, ignore the huge diff which is due to reordering of all
the strings in this file after the changes of 87c56c7c1d (Do not sort
content of generated POT files alphabetically, 2021-01-23).

See https://github.com/wxWidgets/wxWidgets/pull/2214
2021-02-08 12:51:24 +01:00
Vadim Zeitlin
26eb738562 Merge branch 'drop-msw-it.po'
Remove platform-specific translations.

This is unnecessarily complicated for the single string that we
currently use this for, so just handle it specially.

Also some other minor translation-related improvements.

See https://github.com/wxWidgets/wxWidgets/pull/2213
2021-02-08 12:50:43 +01:00
Vadim Zeitlin
0d3b04013f Merge branch 'cmake-benchmarks' of https://github.com/MaartenBent/wxWidgets
Add support for building benchmarks with CMake.

See https://github.com/wxWidgets/wxWidgets/pull/2220
2021-02-08 12:46:18 +01:00
Vadim Zeitlin
d6b8ed1e3c Merge branch '4238-fix-grid-multicell-editing' of https://github.com/discnl/wxWidgets
Fix grid multicell integrity after inserting/deleting rows/columns.

See https://github.com/wxWidgets/wxWidgets/pull/2192
2021-02-08 12:43:44 +01:00
Vadim Zeitlin
3978a0df0e Check stream error in LastRead() unit test too
It doesn't make sense to call LastRead() if an error happened while
reading, so check if it did.
2021-02-08 12:42:54 +01:00
Tobias Taschner
1cd0904260 Fix mixed line breaks in webview sources 2021-02-08 11:27:49 +01:00
Tobias Taschner
e0c705648f Add missing wxOVERRIDE to wxWebViewFactoryWebKit 2021-02-08 09:20:53 +01:00
New Pagodi
7105499561 Make wxWebRequestCURL's progress callbacks static 2021-02-08 01:06:56 -06:00
New Pagodi
4c8f9ff34d Cancel a transfer if socket poller operation fails
When using the socket poller implementation using wxEventLoopSource
objects to monitor sockets, the operation
wxEventLoopBase::AddSourceForFD(... can sometimes return NULL. In these
cases the socket will not be monitored as needed. The only option seems
to be to cancel the transfer and report a failure
2021-02-07 20:56:27 -06:00
New Pagodi
252a920bd7 Use main thread for the socket poller if possible
On windows and systems where wxUSE_EVENTLOOP_SOURCE is 1, it is
possible to monitor socket descriptors for activity from the main
thread. The SocketPoller class used with wxWebSessionCURL is modified
to use an implementation class that does so.

On windows, the implementation uses the winsock1 function
WSAAsyncSelect to send events to wxWebSessionCURL when activity is
detected. When wxUSE_EVENTLOOP_SOURCE is 1, a wxEventLoopSource is used
to monitor for socket activity. The event loop source is given a custom
wxEventLoopSourceHandler object to send the necessary event.
2021-02-07 20:55:24 -06:00
New Pagodi
88dca37b3f Change cancel method for wxWebRequestCURL objects
Previously wxWebRequestCURL objects were canceled by removing their
CURL easy handle from the CURLM multihandle. Unfortunately the really
only pauses the connection and does not truly cancel it. This commit
tries to stop the transfer by retrieving the active socket from the CURL
handle for the transfer and closing it.

There are some complications in doing this because the option curl uses
to get the socket have changed over the years. A combination of compile
time and run time checks are used to use the appropriate options to get
the socket. However in the case of 64bit windows using a curl version
older than 7.45.0 simply won’t have an usable option. In this case,
it seems nothing can be done.
2021-02-07 20:49:50 -06:00