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.
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.
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).
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>
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.
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.
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).
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.
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.
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.
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.
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.
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.
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.
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.
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>
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.
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
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.
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.
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.
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.
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.
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).