Commit graph

73051 commits

Author SHA1 Message Date
Tim Stahlhut
c69ee439d9 Stop using wxWidgets 1.xx wxString compatibility functions
Replace them with std::string-like equivalents when possible (i.e.
replace Length() with length(), IsNull() with empty()) or, at least,
with wx 2 functions if not (e.g. Remove() with Truncate(), First() with
Find(), LowerCase() with MakeLower() etc).

Closes #22638.
2022-07-24 16:25:29 +02:00
Vadim Zeitlin
541be26e78 Mention that changes in 3.2.x should also be part of 3.3.0
It's a bit wasteful to also mention these changes in the Git notes, so
don't do it and just leave a reminder to copy the existing change log
entries from 3.2 branch instead when it's time to release 3.3.0.
2022-07-24 16:24:33 +02:00
Vadim Zeitlin
5b89e53bc3 Merge branch 'macos_webview_fullscreen_fix' of https://github.com/TcT2k/wxWidgets
Improve wxWebView full screen support under macOS.

See #22637.
2022-07-24 16:12:41 +02:00
Vadim Zeitlin
6fdfe98157 Merge branch 'filedialog-add-dir'
Add wxFileDialog::AddShortcut().

See #22543.

See #22635.
2022-07-24 15:11:13 +01:00
Tim Stahlhut
7626f53788 Use wxGetDisplayInfo() only when using wxGTK under Unix
Fix wxGTK build under MSW.

See #22633.
2022-07-24 16:06:05 +02:00
Vadim Zeitlin
7667bf30eb Merge branch 'version-3.3'
Update version of the libraries to 3.3 in master.
2022-07-24 16:05:21 +02:00
Tobias Taschner
bfce3d2b87
macOS: wxWebView expand fullscreen element
Expand the fullscreen element via CSS styles to
enhance the emulation of native safari behaviour.
2022-07-21 15:25:58 +02:00
Tobias Taschner
99d978350b
macOS: wxWebView Remove fullscreen without prefix
The previous implementation included the fullscreen API with and without
the webkit prefix. Safari itself only provides the prefixed version.
This improves compatiblity at least with popular JS library video.js
and should also improve the situation in general as it closer to native
safari functionality (which is not available through WKWebView).
2022-07-21 15:24:25 +02:00
Vadim Zeitlin
39a226c600 Document customizing shortcuts section title in wxMSW
It's quite non obvious that the "FileDescription" field of the version
information defined in the resource file is used for this, so explain
it.

Co-Authored-By: Mark Roszko <mark.roszko@gmail.com>
2022-07-18 23:57:49 +01:00
Vadim Zeitlin
854599c0bd Add wxFileDialog::AddShortcut() documentation
Also add a comment to the sample explaining the default behaviour.
2022-07-17 22:24:56 +01:00
Vadim Zeitlin
dedd0384e6 Implement wxFileDialog::AddShortcut() for wxGTK too
Flags are not supported as GTK doesn't allow defining the order of the
shortcuts, at least not without removing all the existing ones, which
looks like an overkill.
2022-07-17 22:24:56 +01:00
Vadim Zeitlin
5d3ebf9457 Add wxFileDialog::AddShortcut()
This allows to add application-specific directories to the file dialog.

This commit only contains the implementation for wxMSW and a change
showing the new function in the sample.
2022-07-17 22:24:56 +01:00
Vadim Zeitlin
172ebc6dbc Fix using slashes in wxFileDialog paths
Convert slashes to backslashes when using SHCreateItemFromParsingName()
as it doesn't support the former and returns E_INVALIDARG for the
strings containing them.

This fixes a regression in wxFileDialog::SetDirectory() since the switch
to using IFileDialog in wxMSW, as it didn't set the initial directory
correctly if it contained slashes, unlike before (because we already
replaced slashes with backslashes manually when using common file
dialogs).
2022-07-17 19:21:18 +01:00
Vadim Zeitlin
eb0ee6d82f Do log SHCreateItemFromParsingName() errors
Even if we mostly ignore them when they happen, it can still be useful
to see them in the debug logs.
2022-07-17 19:20:29 +01:00
Vadim Zeitlin
f1c114ebc6 Factor out IShellItem creation code in a reusable function
Add InitShellItemFromPath() which is going to be reused in the upcoming
commit.

No real changes, this is a pure refactoring.
2022-07-17 18:34:58 +01:00
Vadim Zeitlin
af4ad43824 Rebake and rerun autoconf after the version update 2022-07-17 17:03:39 +02:00
Vadim Zeitlin
cb47205ae1 Update ABI checking instructions to use libabigail tools
The previously used abi-compliance-checker doesn't seem to work any
more, so switch to an alternative ABI diff tool.
2022-07-17 16:58:11 +02:00
Vadim Zeitlin
67c261b944 Update library version to 3.3
Manually change the minor version value everywhere.

Reset the contents of the README in preparation for the future 3.3.0
release.
2022-07-16 17:02:56 +02:00
Václav Slavík
e9d299d92c Fix wxBitmapBundle compatibility for template NSImages
Fix backward compatibility regression where native NSImage bitmaps, such
as those loaded via wxArtProvider on macOS, would loose their isTemplate
property when implicitly converted to wxBitmap and back. This resulted
in broken rendering of templates.

This is a common situation in pre-wxBitmapBundle code. wxArtProvider
returns wxBitmapBundle, which is then implicitly converted to a single
wxBitmap in wxArtProvider::GetBitmap() and when its later passed to a
function that takes wxBitmapBundle, it is converted back using the
wxBitmapBundleImplSet implementation.

wxBitmapBundleImplSet serves dual role: it is used both for manually
assembling bitmap bundles and to implicitly faciliate the backward
compatiblity mechanism described above. To make the latter truly
transparent, we need to special-case it and preserve NSImage as is, and
this commit does exactly that.

See #22623.
2022-07-15 01:03:17 +02:00
Vadim Zeitlin
f8fb90c1bd Include required wx/scopedptr.h directly in wxGTK menu code
Don't rely on it being included indirectly from wx/translation.h, which
doesn't happen when wxUSE_INTL==0.

Closes #22626.
2022-07-15 01:00:25 +02:00
Vadim Zeitlin
134862a464 Document that wxWindow::SetClientSize() doesn't support -1
Unlike SetSize(), passing -1 to this function doesn't preserve the
existing size in the corresponding direction.
2022-07-15 00:57:53 +02:00
Václav Slavík
3e883fecdf Remove leftover wxABI_VERSION checks
Remove forgotten wxABI_VERSION checks from version 3.0.1.
2022-07-13 13:40:11 +02:00
Vadim Zeitlin
623a68c8fa Explicitly use .exe extension when launching tests under Wine
Wine 7.0 and later doesn't find the command if the extension is omitted
any longer, unlike the previous versions.
2022-07-13 01:01:54 +02:00
Vadim Zeitlin
9cdbc72f3f Don't check spelling in all change log files
Including the recently added docs/changes_32.txt one.

This should have been in 304f173924 (Rename the existing changelog to
changes_32.txt and add a new one, 2022-07-11) but was forgotten there.
2022-07-13 00:21:31 +02:00
Vadim Zeitlin
a8076290e0 Fix using windows with sizers as wxStaticBoxSizer labels in XRC
The contents of <windowlabel> can be any window, including a panel with
its own sizer, but such panels were not created correctly due to using
the wrong value of wxSizerXmlHandler::m_parentSizer, which prevented the
sizer from being associated with the panel.

Fix this by using the same hack as elsewhere and temporarily resetting
the value of this variable before calling CreateResFromNode(). Also do
the same for m_isInside, even though it doesn't seem necessary here,
because it should always be false anyhow when <windowlabel> is parsed,
just for consistency. But don't bother doing it for m_isGBS, as it's
definitely false when handling wxStaticBoxSizer node.
2022-07-12 15:40:07 +02:00
MikeWang000000
d8eddbd115 Fix using non-alphanumeric language ids in MSW resources
The character "@", which can be part of the full language name, e.g. in
the case of "sr@latin", can't be reliably used as part of resource name,
so replace it with "_" in wxResourceTranslationsLoader.

Closes #22589.

Closes #22601.
2022-07-12 15:35:52 +02:00
James Pan
25eb030e23 Update Chinese translations to fix full/half-width issues
Also make the terminology used more consistent.

Closes #22621.
2022-07-12 15:34:28 +02:00
Vadim Zeitlin
304f173924 Rename the existing changelog to changes_32.txt and add a new one
To prevent the changelog file from growing too big, start a new one for
the next release.

Also restore the instructions about updating it from Git notes just
before the release.
2022-07-11 00:21:21 +02:00
Mark Harfouche
a157327207 Fix wxrc installation under macOS
Run install_name_tool on wxrc binary again: this used to be done and is
still needed, but was broken in 30915c6163 (Make wxrc independent from
GUI support, 2021-07-07) which moved the code appending the line calling
install_name_tool for wxrc to change-install-name script before this
script creation, meaning that it was simply overwritten later.

See #22620.
2022-07-10 23:28:19 +02:00
Vadim Zeitlin
c88d18278b Fix grid window scrollbars when freezing part of the grid
The space taken by the frozen part needs to be subtracted from the
available size, not added to it, as was mistakenly done before.

This fixes the problem with scrollbars not appearing correctly in the
grid even when they were clearly needed because its contents didn't fit
into the window.

See #22602.
2022-07-05 23:47:12 +01:00
Tim Stahlhut
4010140491 Don't use non-ASCII characters in interface headers
Replace "’s" with "'s" in interface headers as the former broke wxPython
build with SIP under MSW.

Closes #22605.
2022-07-06 00:26:54 +02:00
Vadim Zeitlin
b5de46c044 Merge branch 'update-contributors'
Update contributors list for 3.2 release.

See #22593.
2022-07-05 01:40:21 +02:00
PB
8d3812adce Fix wxDynamicLibrary unit test compilation in C++20 mode
Don't use operator<<() with a wide char string, as this overload has
been removed in C++20. This can be done simply by not using wide char
string at all in this test, as it's not really needed.

Co-Authored-By: Vadim Zeitlin <vadim@wxwidgets.org>

Closes #22599.
2022-07-05 01:36:42 +02:00
Vadim Zeitlin
6c65510a2c Warn about using find_package(wxWidgets) with older CMake
Provide a link to the latest and working version of this file.

See #22590.

Closes #22594.

Co-Authored-By: Maarten Bent <MaartenBent@users.noreply.github.com>
2022-07-04 01:20:26 +02:00
Vadim Zeitlin
8a17c52c3b Fix wrong conversion of negative 64-bit wxAny to wxVariant
Extracting the lower part of a 64-bit value only works when long is
32-bit, but not if it's 64-bit as well as is the case under LP64 Unix
systems.

Just use a normal cast to long instead, as this is simpler and works in
all cases.

Also add a simple unit test for this case, which would have previously
failed, but passes now.

Closes #22592.

Closes #22595.
2022-07-04 01:19:50 +02:00
Vadim Zeitlin
ba05185070 Merge branch 'master' of github.com:andriybyelikov/wxWidgets
Update Spanish and Catalan translations.

See #22598.
2022-07-04 01:12:54 +02:00
Andriy Byelikov
a2ae278893 Update Catalan translations (ca) (1965 of 1965)
Translate macOS menu item strings
Translate system cursor names
Translate font weights
Change translations of msgids "KP_F" and "KP_" to be the same as those in locale/es.po
Translate other new untranslated messages
2022-07-03 21:15:50 +02:00
Andriy Byelikov
e6d9cca68a Update Spanish translations (es) (1965 of 1965)
Translate macOS menu item strings
Add myself to translator-credits
2022-07-03 21:12:54 +02:00
taler21
dc3462c2e8 Fix cosmetic problems with border around paper in Print preview
Don't leave a gap between the left border and the paper itself and make
the right and bottom border of the same size.

This basically reverts the changes of ed880dd (New PostScript code,
1998-12-05) -- better 25 files later than never.

Closes #22582.
2022-07-02 22:23:05 +02:00
Vadim Zeitlin
ff485fca52 Don't account for another commit with whitespace-only changes 2022-07-02 22:17:42 +02:00
Vadim Zeitlin
7ece6a2cb5 Don't rerun Cirrus CI builds if no relevant files changed
Save CI reruns if only documentation was changed, for example.
2022-07-02 22:10:54 +02:00
Vadim Zeitlin
7d25054ebf Exclude copyright page of the manual from the spelling checks
There are too many names there for this to be practical.
2022-07-02 21:22:57 +02:00
Vadim Zeitlin
9ad06f4b81 Update contributors list for 3.2.0
Also move some historical contributors to a separate section.
2022-07-02 19:21:56 +02:00
Vadim Zeitlin
976edaf026 Merge branch 'doxygen-css'
Switch to using Doxygen 1.9.1 with custom theme for the documentation.

Closes #18849.
2022-07-02 17:39:06 +02:00
Vadim Zeitlin
ba7894fca4 Disable custom Doxygen theme support for CHM generation
Unsurprisingly, this doesn't work at all with CHM, so allow disabling
using the custom theme when doing it by adding more custom variables.

Using (multiple) variables for this is rather ugly, but we already use
them for other options, so it seems better to keep adding them rather
than using some other mechanism.

Adding a different custom header file is even uglier, but it seems to be
the only way to avoid including the theme JS files into CHM.
2022-07-02 17:37:53 +02:00
Vadim Zeitlin
4e94b32bf0 Partially revert "Final zh translations updates for 3.2.0"
This reverts changes to zh_CN.po done in d4f5b00a8c (Final zh
translations updates for 3.2.0, 2022-07-01), as they accidentally
reverted some of the correct changes done previously.
2022-07-02 17:00:59 +02:00
Vadim Zeitlin
1a53e80bf7 Use Doxygen Awesome CSS theme
Import the theme files into a subdirectory without any changes, even not
removing the trailing whitespace, to facilitate updating them in the
future. Do not add the theme as a submodule as it's surprisingly big
(~12MB) and we don't want to spend extra time on cloning it in each of
our CI builds.

Using this theme gives a nicer appearance and supports the often
requested dark mode.

Remove all colour-related options from the existing custom CSS file as
they don't work well in dark mode.

Also switch to using SVGs with transparent background, rather than PNGs,
for the class diagrams, to avoid background colour mismatch in dark
mode.
2022-07-02 16:57:57 +02:00
Vadim Zeitlin
3c7596f0ff Switch to using Doxygen 1.9.1 for the documentation generation
This fixes the problem with empty descriptions in the annotated class
list and is a prerequisite for using custom CSS theme in the upcoming
commits.

Closes #22288.
2022-07-02 16:10:21 +02:00
Vadim Zeitlin
f2e7f6a917 Fix wrong XML fragment syntax highlighting in liblzma docs
Turn off syntax highlighting entirely because using ".xml" here results
in total garbage in output for some reason (while not using any specific
language uses C++ highlighting which is confusing).
2022-07-02 16:06:29 +02:00
Vadim Zeitlin
332e1576a5 Revert "Remove the mention of non-existent translators mailing list"
This reverts commit 155d8546cb as we now
use the translators mailing list again.
2022-07-02 15:18:45 +02:00