Commit Graph

39494 Commits

Author SHA1 Message Date
Ian McInerney
79d73d4eb3 Add show hidden folders flag to wxDirDialog
Add wxDD_SHOW_HIDDEN similar to the existing wxFD_SHOW_HIDDEN.
2020-07-10 03:29:16 +02:00
Ian McInerney
f9e9b19c92 Add wxDD_MULTIPLE wxDirDialog style and implement it for GTK
Add wxDirDialog::GetPaths() similar to the existing member of
wxFileDialog with the same name and also taking, for consistency,
wxArrayString as the output parameter.
2020-07-10 03:24:42 +02:00
Danail Stoychev
5e7e89de16 Fix re-parenting TLWs in wxMSW
We need to set the new owner for the TLW, instead of using the new
parent as the actual parent, in the MSW sense, as this results in a
weird situation in which the TLW becomes a child (i.e. non-TLW) window.

Closes #18785.
2020-07-09 00:34:44 +02:00
Vadim Zeitlin
06ffd1dbab Revert SetFocus() change for GTK 2 to fix the GUI tests suite
Limit the changes of d06e97e8d9 (Make sure toplevel is active in
SetFocus(), 2020-07-08) to GTK 3 only as they break GTK 2 GUI test
suite, resulting in many CI failures.

See #18783.
2020-07-08 23:45:25 +02:00
Paul Cornett
d06e97e8d9 Make sure toplevel is active in SetFocus()
See #18783
2020-07-08 08:52:12 -07:00
Paul Cornett
f07197e2ba Avoid -Wimplicit-fallthrough warnings 2020-07-08 08:34:21 -07:00
PB
83a2a1e505 Refactor the natural string compare and sort algorithm
Add a new string fragment type for whitespace and punctuation which needs
to be assessed separately from letters and symbols.

Use wxUint64 instead of long for storing the value for numeric fragment.

Use collate instead of compare for non-numeric fragments.

Change names for the public comparison functions: wxWidgets provided function
is now named wxCmpGenericNatural() and for common public use is wxCmpNatural()
which calls a native function in wxMSW and wxCmpGenericNatural() elsewhere.

Try harder in wxCmpNaturalGeneric() if wxRegEx is unavailable: do not
just make a simple string comparison, but perform a case-insensitive
collation.

Make some other changes to simplify and possibly speed up the code.
2020-07-07 23:10:18 +02:00
Hugo Elias
371c4b1366 Add functions for sorting strings in natural sort order
Use StrCmpLogicalW() under MSW and generic implementation under the
other platforms.

See https://github.com/wxWidgets/wxWidgets/pull/780
2020-07-07 23:10:11 +02:00
Vadim Zeitlin
eeb69ba185 Fix wxGLCanvas build in wxQt when using MSVC
Use "#pragma message" instead of "#warning" with this compiler to fix
the build after the recent changes of 589e043358 (Add an explicit
warning about missing OpenGL support in wxQt, 2020-07-06).
2020-07-07 15:31:26 +02:00
Scott Talbert
270c8bec3d Fix wxMediaCtrl::Seek() on macOS for sub-second resolution
On macOS, wxMediaCtrl::Seek() currently only works to the nearest second.
For example, Seek(5033) will actually seek to an offset of 5000.  This is
because the timescale was being set to 1, meaning 1 possible timeslice per
second.  The fix is to set the timescale to 60000, which means that there are
60000 timeslices per second.  This is probably overkill since the API for seek
is an integer in milliseconds, but should be fine.

References:
https://stackoverflow.com/questions/22666190/using-seconds-in-avplayer-seektotime
http://warrenmoore.net/understanding-cmtime

Closes https://github.com/wxWidgets/wxWidgets/pull/1936
2020-07-07 15:07:54 +02:00
Vadim Zeitlin
a3f61f973d Merge branches 'travis-warning-errors' and 'travis-cleanup'
Fail CI builds if any warnings (other than those given by an explicit
preprocessor #warning directive) are encountered.

Also cleanup Travis config a bit.

See https://github.com/wxWidgets/wxWidgets/pull/1933,
    https://github.com/wxWidgets/wxWidgets/pull/1935
2020-07-07 12:45:58 +02:00
Paul Cornett
687267b9db Fix the default background color reported for toplevel windows with GTK3
See #18811
2020-07-06 23:13:33 -07:00
Vadim Zeitlin
589e043358 Add an explicit warning about missing OpenGL support in wxQt
This is better than a bunch of warnings about unused parameters due to
many wxGLCanvas methods being just empty stubs.
2020-07-06 18:01:38 +02:00
Vadim Zeitlin
80ba460b1f Suppress unused parameter warning in wxX11
It seems better to keep it for consistency, as all the other functions
take both Drawable and GC, but it isn't being used in this particular
function.
2020-07-06 18:01:38 +02:00
Vadim Zeitlin
b1f5203a08 Add an explicit #warning for missing dashes support in wxX11 wxDC
This is better than warnings about unused dash-related variables.
2020-07-06 18:01:38 +02:00
Vadim Zeitlin
6119a7c630 Suppress warnings about deprecated pango_xft_get_context()
We can still use it as long as it exists, there is no benefit whatsoever
in using the new functions as the old one does exactly the same thing
anyhow.
2020-07-06 18:01:38 +02:00
Vadim Zeitlin
eaee5416cf Remove unused PangoContext variable from X11 code
It's has been there since basically always, but seems to never have been
used, so remove it to avoid warnings.
2020-07-06 18:01:38 +02:00
Vadim Zeitlin
f259f4152b Merge branch 'safer-sizers'
Improvements to the safety of wxSizer API.

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

Closes #18611.
2020-07-06 17:54:46 +02:00
Stefan Csomor
792e4dcced macOS wxTextEntry::GetTextPeer fix for wxGenericComboCtrl (#1931)
* overriding GetTextPeer in generic combo control

* undo 81e3760e4a

* inlining GetTextPeer()

* moving out of line to reduce header include
2020-07-06 17:06:09 +02:00
Vadim Zeitlin
42108c64f6 Avoid warnings about literals-to-char* conversions in wxMotif
Suppress -Wwrite-strings warnings.
2020-07-06 13:06:57 +02:00
Vadim Zeitlin
655b343246 Avoid unused variable warning in wxRibbon with wxUSE_TOOLTIPS==0 2020-07-06 13:06:03 +02:00
Vadim Zeitlin
3004e594b9 Replace deprecated wxDEFAULT with wxFONTFAMILY_DEFAULT in wxMotif
Just avoid a -Wdeprecated-declarations warning.
2020-07-06 13:04:18 +02:00
Vadim Zeitlin
7c268092bd Avoid an unused variable warning in wxUIActionSimulatorX11
This happens in wxMotif build, where this class probably doesn't work
anyhow, so just suppress it.
2020-07-06 13:03:09 +02:00
Vadim Zeitlin
698c356050 Fix -Wwrite-strings warning in non-Pango wxFontEnumerator code
Don't convert wxString::c_str() to decltype(wxT("*")), which is
non-const "wchar_t *". Just pass wxString to Printf() directly instead,
this is simpler and more efficient anyhow.
2020-07-06 12:58:16 +02:00
Vadim Zeitlin
e7bb37436a Warn if wxCairoContext(wxPrinterDC) ctor is not implemented
Use an explicit #warning to explain the problem. This is more
informative and avoids errors when building with -Werror (but also
-Wno-error=cpp).
2020-07-06 12:54:15 +02:00
Vadim Zeitlin
3fc15101be Fix unhelpful unused parameter warning in wxX11 wxFontEnumerator
This warning can't really be avoided in this case, unless we decided not
to return any fonts at all if we can't test whether they're monospaced
or not, but this would probably be even less useful.
2020-07-06 12:40:03 +02:00
Stefan Csomor
9be2c3717d Improve native keyDown handling in wxOSX
Provide API for dealing with m_lastKeyDownEvent instead of using it
directly and extend it to avoid sending duplicate events for keys which
are mapped to multiple selectors, such as Ctrl-O with the default key
bindings.

Closes https://github.com/wxWidgets/wxWidgets/pull/1928
2020-07-06 00:13:18 +02:00
Vadim Zeitlin
d09ed641f2 Merge branch 'osx-10_10-min-10_11-SDK' of csomor/wxWidgets
Increase minimum required macOS SDK version to 10.11 and minimum support
macOS deployment version to 10.10.

See https://github.com/wxWidgets/wxWidgets/pull/1929
2020-07-06 00:08:44 +02:00
Vadim Zeitlin
957183ef47 Associate the window with the sizer in wxSizer::Replace()
If wxSizerItem passed to Replace() contains a window, the window must be
associated with the sizer to ensure that it is uncoupled from it when it
is destroyed.

Add a simple test which resulted in a use-after-free before but passes
now.
2020-07-05 23:19:36 +02:00
Vadim Zeitlin
2f49325d4c Simplify check for whether wxSizerItem window is null
No real changes, just write the check more compactly and without
redundant IsWindow() check.
2020-07-05 23:18:43 +02:00
Vadim Zeitlin
187cbf1efa Use CHECK, not ASSERT, in wxSizer::Replace() if item is NULL
This is a violation of function preconditions, so don't bother doing
anything in this case.
2020-07-05 23:15:05 +02:00
Vadim Zeitlin
a9b419af51 Fix code determining the rows to refresh in wxGrid::SetColSize()
The changes in 15de1a4cf4 (Optimize refresh when resizing grid rows or
columns, 2020-02-18) incorrectly translated XToPos() used in
SetRowSize() to YToRow(), which compiled due to an implicit conversion
of m_gridWin pointer to bool, but did the wrong thing, as the wrong grid
window could be used for a frozen grid.

Fix this by switching to internalYToRow() which actually does what the
original code tried to do.

Co-authored-by: Artur Wieczorek <artwik@wp.pl>
2020-07-05 15:04:00 +02:00
Vadim Zeitlin
97924a3b81 Use internalYToRow() instead of YToRow(true)
No real changes, just be consistent: as we have internalYToRow() macro
which passes true as "clipToMinMax" YToRow() parameter instead of the
default false, use it everywhere instead of using it almost everywhere
and still using YToRow(true) and XToCol(true) explicitly just once each.

Also add a comment explaining the difference between internalAToB() and
public AToB() functions.
2020-07-05 14:58:02 +02:00
Stefan Csomor
c15d805a9f macOS new DragSession API (#1919)
* new dragsession API

* Update src/osx/cocoa/dnd.mm

Co-authored-by: VZ <vz-github@zeitlins.org>

* Update src/osx/cocoa/dnd.mm

Co-authored-by: VZ <vz-github@zeitlins.org>

* Update src/osx/cocoa/dnd.mm

Co-authored-by: VZ <vz-github@zeitlins.org>

* avoid NSDragOperationDelete

* adding SDK 10.10 compatibility

* remove conditional compilation, upgrading travis to Xcode 7.3

* adding typedef NSPasteboardType for SDK < 10.13

Co-authored-by: VZ <vz-github@zeitlins.org>
2020-07-05 11:04:09 +02:00
Stefan Csomor
3e5b21e982 cleanup, make clause symmetric 2020-07-05 08:38:15 +02:00
Stefan Csomor
0f3bc09109 lower systems are not supported anymore, cleanup 2020-07-05 08:37:14 +02:00
Stefan Csomor
89761300c8 always available with 10.11 SDK 2020-07-04 21:03:41 +02:00
Stefan Csomor
d49875f34f SDK 10.11 minimum 2020-07-04 20:47:20 +02:00
Stefan Csomor
81e3760e4a avoiding assertion on macOS in wxOwnerDrawnComboBox::DoClear
wxTextEntry on macOS is calling GetEditableWindow to arrive at the native text entry view, which in this case fails, so route things directly
2020-07-04 15:06:38 +02:00
Vadim Zeitlin
3c87ffdaec Fix dumping wrong selector in wxOSX trace message
No real changes, just pass the correct (and interesting) value to
wxLogTrace() to actually see which selector are we called for.
2020-07-04 14:10:45 +02:00
Vadim Zeitlin
9ea0f6de3c Merge branch 'gendirctrl-fixes' of https://github.com/MaartenBent/wxWidgets
Fixes for handling filters in wxGenericDirCtrl.

See https://github.com/wxWidgets/wxWidgets/pull/1925
2020-07-04 13:15:39 +02:00
Gilbert Pelletier
76c7f723fc Add wxFontDialog::RestrictSelection() to disallow raster fonts
Under MSW it is possible to restrict the native font dialog to showing
only scalable fonts only, disallowing the raster fonts, so add a method
to wxFontDialog exposing this functionality in wxWidgets API.

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

Closes #16988.
2020-07-04 13:14:38 +02:00
Maarten Bent
1f0e548e3a Fix null pointer reference when changing filter in wxGenericDirCtrl
See #18799
2020-07-03 23:01:42 +02:00
Maarten Bent
be405158cb Fix height of filter list in wxGenericDirCtrl
Closes #18799
2020-07-03 23:01:41 +02:00
Hertatijanto Hartono
bfca375f17 Remove unused wxBitmapDataObject::m_pictCreated
This variable was initialized, but never used, so just remove it.
2020-07-02 16:03:32 +02:00
Hertatijanto Hartono
1676d52d2b Use NULL, not 0, for CGImageRef initialization
No real changes, just improve consistency.
2020-07-02 16:01:45 +02:00
Hertatijanto Hartono
bb1c1e0fa0 Remove useless casting to CGContextRef
This is not necessary any more after the changes done in 360240a70b
(Replace deprecated methods from utilscocoa.mm (#1916), 2020-06-30).

Closes https://github.com/wxWidgets/wxWidgets/pull/1922
2020-07-02 14:50:06 +02:00
Vadim Zeitlin
5a0723223d Merge branch 'grid-activatable-editors'
Add support for activatable editors in wxGrid and make
wxGridCellBoolEditor activatable.

Also a couple of editor-related bug fixes.

See https://github.com/wxWidgets/wxWidgets/pull/1917
2020-07-01 14:37:44 +02:00
Vadim Zeitlin
3cde77244b Actually use the validator passed to wxGridCellTextEditor
SetValidator() had no effect if it was called after creating the editor,
but in some situations it is convenient to call it from BeginEdit(), as
we don't have the cell coordinates before it is called, so ensure that
the validator set using this function is actually used even if it's
called after creating the text control.
2020-07-01 02:20:04 +02:00
Fabian Cenedese
a571a13d44 Fix bug in wxFileName::Normalize() with leading ".."
Don't discard initial ".." when there is more than one such component in
the beginning of the path.

Closes #18800.
2020-06-30 23:00:06 +02:00