Commit Graph

10638 Commits

Author SHA1 Message Date
Stefan Csomor
d1c0d3b18c keeping the OSX specific use of origin for non-native borders
fixes #19108
2021-03-20 22:09:31 +01:00
Vadim Zeitlin
5d6525ccf1 Merge branch 'webview_useragent' of https://github.com/TcT2k/wxWidgets
Add support for custom user agent to wxWebView.

See https://github.com/wxWidgets/wxWidgets/pull/2280
2021-03-19 22:39:00 +01:00
Paul Cornett
e375a68371 Restrict linkage of local functions 2021-03-17 10:26:18 -07:00
Paul Cornett
b5d4c6068e Make some member functions const 2021-03-17 09:44:48 -07:00
Tobias Taschner
97e469c255 Add access to user agent for wxWebView
Allow setting a custom user agent for a webview.
Also allow access to the current user agent.
2021-03-16 22:53:00 +01:00
Vadim Zeitlin
0c837e5310 Add support for size_t to wxConfig
Allow writing and reading size_t values directly too, there were not
previously accepted unlike all the other arithmetic types.

Closes #19091.
2021-03-13 15:15:37 +01:00
Vadim Zeitlin
fce8780297 Add 64-bit integers support to wxConfig
Serialize them to strings in wxFileConfig, just as we always did for
long, but use wxRegKey support for storing them directly to the registry
in wxRegConfig.
2021-03-13 15:14:58 +01:00
Vadim Zeitlin
5ddf57c150 Add wxModule::AreInitialized()
This internal function will be useful to check if the modules are
already initialized, i.e. if the library is in the "steady state"
between the end of the initialization and the beginning of the cleanup
phases.
2021-03-07 20:39:09 +01:00
Vadim Zeitlin
e10e721120 Get rid of wxList and wxArray in wxModule code
Simply use wxVector instead, this shouldn't be less efficient (we rarely
remove the modules from the list and iterating over a vector should
actually be faster, as well as consuming less memory), but it avoids
ugly macros, is simpler to use and to debug and will be trivial to
replace with std::vector<> in the future.

No real changes, this is just pure cleanup.
2021-03-07 20:39:09 +01:00
Vadim Zeitlin
628514bcd3 Rename static wxModule::m_modules to use "ms_" prefix
No real changes, just use consisting naming convention.

Better late than never.
2021-03-07 20:39:09 +01:00
Vadim Zeitlin
bf8be6c58d Merge branch 'mac-filedlg-improvements' of https://github.com/discnl/wxWidgets
macOS wxFileDialog improvements.

See https://github.com/wxWidgets/wxWidgets/pull/2234
2021-03-06 12:18:43 +01:00
Andriy Byelikov
b2d97d1393 Add support for English locale for Israel (en_IL)
This locale is recognized by glibc, so add it to the known locales
database.

Closes https://github.com/wxWidgets/wxWidgets/pull/2252

See #19082.
2021-03-05 18:51:10 +01:00
Vadim Zeitlin
7bcac7bfde Merge branch 'unix-default-locale'
Improve handling of default locale and other locale-related fixes.

See https://github.com/wxWidgets/wxWidgets/pull/2260

Closes #11594.
2021-03-05 18:48:30 +01:00
Vadim Zeitlin
3701baecde Merge branch 'webview_script_message' of https://github.com/TcT2k/wxWidgets
Add WebView script message and user scripts.

See https://github.com/wxWidgets/wxWidgets/pull/2237
2021-03-05 18:44:46 +01:00
Artur Wieczorek
613dce3d4b Adjust picker button size for generic wxDirPickerCtrl and wxFilePickerCtrl
For generic wx{Dir|File}PickerCtrl with text field the picker button
should be as high as the associated text field also when
wx{FLP|DIRP}_SMALL flag is set.

Closes #19087.
2021-03-04 19:14:00 +01:00
Vadim Zeitlin
e9ea0f53f6 Refactor platform checks in wxLocale::Init()
Avoid the need for ugly WX_NO_LOCALE_SUPPORT macro at the cost of a
couple of extra #ifs, which seems to be a worthy trade-off.

This also allows making the code calling setlocale("") for the default
language platform-independent.

No real changes.
2021-03-02 22:07:44 +01:00
Vadim Zeitlin
502114261a Handle wxLANGUAGE_DEFAULT in wxLocale specially under MSW too
Even if we do know about the system language, it's still better to let
OS/CRT handle it, as we may not know enough about it. E.g. "system
language" may actually be a mix of the different languages and formats
and we don't handle this case at all, while OS/CRT do just fine.
2021-03-02 22:07:44 +01:00
Vadim Zeitlin
9c4ab145e9 Add SetThreadUILanguage() wrapper
Make it possible to reuse the code dynamically loading this function
from elsewhere.

No real changes.
2021-03-02 22:07:44 +01:00
Vadim Zeitlin
9600c29ff2 Fix default language determination in wxLocale under MSW
We must use GetUserDefaultUILanguage() and not GetUserDefaultLCID().
Although still not ideal, this is much better when the UI language and
the locale differ: when everything is in some language, it's better to
use this language and wrong date/number format than use correct
date/number format but a wrong language.

See #11594.
2021-03-02 22:07:44 +01:00
Paul Cornett
0d80050057 Make wxGCDC behavior with 0-width wxPen consistent with MSW wxDC
MSW uses a 1-pixel width in that case. See #19077
2021-03-02 10:50:39 -08:00
PB
9d0aee5ee6 Fix using invalid string index in wxIsAbsolutePath()
Check if the path is at least two characters long before accessing its
second character.

Add test cases for wxIsAbsolutePath() on MS Windows.

Closes https://github.com/wxWidgets/wxWidgets/pull/2262
2021-03-02 16:00:59 +01:00
Tobias Taschner
80c04e3941 Merge branch 'master' into webview_script_message 2021-03-01 09:57:13 +01:00
Vadim Zeitlin
d03f193719 Recognize "ll_LL" as at language "ll" in GetSystemLanguage()
If we can't find an exact match for the system locale in the database,
try to at least find the corresponding language.

This is almost certainly what the intention of the original code was, as
otherwise the entire loop was useless because it couldn't find anything
that wouldn't have been found in the loop just above.

This allows to correctly load German translations when using unsupported
locale such as "de_IT", for example.

See #19082.
2021-02-28 23:39:20 +01:00
Vadim Zeitlin
73b41dda91 Remove redundant #if/#endif in Unix locale code
Put both Unix-only functions inside the same #ifdef __UNIX__.

No real changes.
2021-02-28 22:50:35 +01:00
Vadim Zeitlin
2e8e0197d7 Add wxSetlocaleTryAll() helper to simplify Unix locale code
Define the function calling setlocale("xx_YY") first and then just
setlocale("xx") if the former failed, instead of doing the same thing
manually in 3 different places.

Also avoid attempting the second setlocale() call completely if there is
no "_YY" part in the first place.

No real changes.
2021-02-28 22:48:52 +01:00
Vadim Zeitlin
91ec900034 Explicitly disallow wxLANGUAGE_UNKNOWN in wxLocale::Init()
This value doesn't make here, so be upfront about it.
2021-02-28 20:04:33 +01:00
Vadim Zeitlin
18bf718f60 Support wxLANGUAGE_DEFAULT in wxLocale even when it is unknown
Don't give an error if we can't recognize the current system language,
as we may still be able to use it even in this case.

Closes #19082.
2021-02-28 20:00:27 +01:00
Vadim Zeitlin
3e395f9b5f Micro optimization for wxLANGUAGE_UNKNOWN in GetLanguageInfo()
Don't bother iterating over all the languages if we can be sure we're
not going to find anything anyhow.
2021-02-28 01:12:57 +01:00
Vadim Zeitlin
d029279227 Rename local variable to a more consistent name
Call the info->CanonicalName "shortName", as it's done in many other
places in the code instead of using "locale" for it here, even though we
do use it as a name of locale.

No real changes.
2021-02-28 01:11:34 +01:00
Vadim Zeitlin
7b6894ea41 Reuse Unix branch of wxLocale::Init() for macOS too
There doesn't seem to be any reason to partially duplicate Unix-specific
code in a separate Mac branch when we can just use the same code. Parts
of it which are not necessary under Mac, such as trying ".UTF-8" locales
in wxSetlocaleTryUTF8(), can be separately disabled there (even though
they are harmless), but other parts are probably needed, e.g. setting
Norwegian locale failed under macOS before because we didn't translate
nb_NO that we use to no_NO actually supported under macOS.
2021-02-28 01:02:59 +01:00
Vadim Zeitlin
0aba9fe112 Remove useless fallback from wxLocale::Init()
There is no need to try setting "loc.UTF-8" and "loc.UTF8" when we had
just called wxSetlocaleTryUTF8() which tried these variants and also
their lower-case equivalents already.
2021-02-27 17:52:08 +01:00
Vadim Zeitlin
6819b5512b Make BinarySearch() interface slightly more readable
Replace "equal" parameter with the (opposite) "lowerBound" one with a
more descriptive name, add a comment describing it and also remove the
default value to force explaining how it is used in the caller.

No real changes.
2021-02-26 16:25:28 +01:00
Tobias Taschner
011035ef08 Add wxEVT_WEBVIEW_SCRIPT_MESSAGE_RECEIVED event 2021-02-26 15:41:41 +01:00
Pavel Tyunin
00fec01308 Fex search in wxSortedArrayString with custom compare function in STL build 2021-02-26 11:52:44 +02:00
Pavel Tyunin
2451f8085b Fix search in wxSortedArrayString with custom compare function 2021-02-25 21:28:32 +02:00
Vadim Zeitlin
2c9f6770a5 Merge branch 'valnum-unsigned'
Fix handling of unsigned types in numeric validators: don't accept
negative numbers as unsigned, allow using the full 64-bit range.

See https://github.com/wxWidgets/wxWidgets/pull/2244

Closes #12967.
2021-02-23 21:52:27 +01:00
Vadim Zeitlin
4cd2cb0acd Merge branch 'win-val-self' of https://github.com/AliKet/wxWidgets
Make wxWindow::TransferData{To,From}Window and Validate work on the
window itself too.

See https://github.com/wxWidgets/wxWidgets/pull/2235
2021-02-23 21:48:16 +01:00
Paul Cornett
1406d3dc03 Simplify wxWebView zoom conversion code
So there is no need to "shut up compilers"
2021-02-23 10:01:18 -08:00
Vadim Zeitlin
bdaca38904 Fix transferring unsigned values to the window too
In addition to not accepting "-1" as a valid unsigned value, we also
must not format unsigned values as signed ones, i.e. we need to use
wxNumberFormatter::ToString() overload taking unsigned for them.

Do it in wxIntegerValidatorBase::ToString(), used by TransferToWindow(),
and add more tests for the latter.

Also reorganize the tests in sections and use REQUIRE() for the checks
that should prevent the rest of the section from running if they fail.
2021-02-22 12:58:14 +01:00
Vadim Zeitlin
483856f3d3 Add wxIntegerValidatorBase::ULongestValueType typedef
Allow just writing ULongestValueType instead of writing #ifdefs in
several places.
2021-02-22 12:58:14 +01:00
Vadim Zeitlin
f1e6af089a Fix parsing unsigned numbers in wxIntegerValidatorBase
Use wxNumberFormatter::FromString() overload taking wxULongLong_t to
allow parsing numbers greater than LLONG_MAX.
2021-02-22 11:49:19 +01:00
Vadim Zeitlin
eb64202ad4 Add support for unsigned long long to wxNumberFormatter
This is necessary in order to deal with the numbers greater than
wxINT64_MAX that can't be represented in just long long.

It also allows to implement the intuitive handling of minus sign for the
unsigned numbers, i.e. not to accept it in FromString(), unlike the
standard functions which do (and parse -1 as 0xffff...fff).

Also extend the tests to check for more boundary cases.
2021-02-22 11:49:19 +01:00
Vadim Zeitlin
06bb60f0f8 Merge branch 'curlmultisocket' of https://github.com/NewPagodi/wxWidgets
Rewrite CURL-based wxWebRequest implementation using multi-socket
support for much better efficiency and reliability.

See https://github.com/wxWidgets/wxWidgets/pull/2193
2021-02-22 00:40:53 +01:00
Vadim Zeitlin
7371131f1e Fix confusion around '-' handling in numeric validators code
Actual implementation of IsCharOk() didn't correspond to the comments in
it or near the function declaration which stated that it's never called
with ch='-' as argument -- it was called with it and called IsMinusOk()
right before a comment saying that it doesn't need to do it, which was
very confusing.

Fix this by making the behaviour really correspond to the comments and
handling '-' at the base class level. This required introducing a new
pure virtual CanBeNegative() function, but it's going to be useful for
other things later too.

Still keep IsMinusOk() helper, but make it private now because it
doesn't need to be called from the derived class IsCharOk() any longer.
2021-02-21 15:13:10 +01:00
Lauri Nurmi
7eeab1bb7e Change capitalization of stock label "&CD-Rom" to "&CD-ROM"
Use standard upper case instead of strange mixed one.

Closes https://github.com/wxWidgets/wxWidgets/pull/2241
2021-02-21 00:02:06 +01:00
Andriy Byelikov
ded4da5ce5 Add version suffix to gettext message catalog files
Change "make install" to install catalog files with version suffix and
modify the sources to look for suffixed catalog first, while still
falling back to just the base name if the variant with the version is
not found, because the message catalogs are copied manually in practice
under MSW/macOS systems and so won't have the version suffix there.

This allows to make message catalogs installed by different
wxWidgets versions to coexist on the same system, see
https://groups.google.com/g/wx-users/c/L9gC8UgrO6Y

Closes https://github.com/wxWidgets/wxWidgets/pull/2219

Co-Authored-By: Vadim Zeitlin <vadim@wxwidgets.org>
2021-02-15 18:23:05 +01:00
ali kettab
db33e1549b Make wxWindow::TransferData{To,From}Window actually transfer to self 2021-02-15 15:38:21 +01:00
ali kettab
afbca9e1df Rename ValidationTraverserBase::DoForAllChildren to DoForSelfAndChildren 2021-02-15 15:28:28 +01:00
Dimitri Schoolwerth
57688cf2da Refactor repetitions into wxFileDialogBase::UpdateExtraControlUI()
No real changes, just prepare for the next commit before repeating more
code.
2021-02-15 00:37:45 +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