Commit Graph

33323 Commits

Author SHA1 Message Date
Paul Cornett
a050652c6a Use "notify::gtk-theme-name" from GtkSettings to generate wxSysColourChangedEvent
"style-updated" occurs frequently for other reasons, such as switching focus between TLWs

(cherry picked from commit 61c8a7ca60)
2016-12-13 09:07:50 -08:00
Paul Cornett
b2854a20de Avoid generating scroll event when our scrollbar is disabled by other software
webkitgtk apparently manipulates our scrollbar GtkAdjustment directly, setting
all members to zero to disable it. Since we never do that, those values were
unexpected. This is a better fix for the problem papered over by 45d66f592

(cherry picked from commit ccd1d40dd9)
2016-12-12 10:55:54 -08:00
Paul Cornett
20a504707a Draw a blank header button in any remaining space after last header column
(cherry picked from commit c70abf23aa)
2016-12-11 23:44:21 -08:00
Paul Cornett
9206a5aec8 Fix drawing header buttons with GTK3 renderer on GTK+ >= 3.20
Lines between columns were missing with default Adwaita theme

(cherry picked from commit 48e6a0c851)
2016-12-11 23:43:56 -08:00
Paul Cornett
617a0cb433 Improve appearance of tree item button with GTK3 renderer
(cherry picked from commit 38246b96a4)
2016-12-11 10:55:41 -08:00
Paul Cornett
61a90436f1 Fix drawing of splitter sash with GTK3 renderer
(cherry picked from commit c5adf1f854)
2016-12-11 09:17:05 -08:00
Václav Slavík
723489e2d9 Fix GetInstallPrefix availability check
Add wxHAS_STDPATHS_INSTALL_PREFIX to make checking for
wxStandardPaths::GetInstallPrefix()'s availability simpler, as the
condition under which it is compiled is nontrivial.

Fixes compilation after 2c24ee9216 on
Cygwin, which is a UNIX, but its wxStandardPaths implementation is a
Windows one.

(cherry picked from commit 13862ad8e6)
2016-12-11 15:19:42 +01:00
Paul Cornett
ef12daba86 Improve appearance of text control with GTK3 renderer
(cherry picked from commit c2b9f650e4)
2016-12-10 21:53:38 -08:00
Paul Cornett
ec023e9977 Fix rendering of check and radio buttons with GTK+ >= 3.20
(cherry picked from commit e627970ba6)
2016-12-10 21:53:10 -08:00
Paul Cornett
9518d52ba8 Improve appearance of header button with GTK3 renderer
Remove the mysterious insetting by 4. Where that came from I don't know,
but it makes the button look stupid

(cherry picked from commit 49361b6bb8)
2016-12-10 18:54:35 -08:00
Paul Cornett
309f5fe529 Fix infinite sizing loop caused by 64753769
Avoid the problems 64753769 attempted to address in a much simpler way:
when a "size-allocate" is in progress, call gtk_widget_size_allocate()
directly, rather than deferring a call to gtk_widget_queue_resize().
See #17585

(backport of d5681ee4a8)
2016-12-09 21:43:54 -08:00
Václav Slavík
7ae5b6442f Search $PREFIX/share/locale for translations on Unix
The changes introduced in ​ea160f0 accidentally omitted this search
location, so only wx's own install prefix was searched. This probably
went undetected for so long because these two are often, but not always,
the same.

Fixes #17740.

(cherry picked from commit 2c24ee9216)
2016-12-06 16:49:03 +01:00
Václav Slavík
90b124835e Fix accel handling when removing item from submenu
wxMSW propagates accelerators to the top menu in wxMenu::UpdateAccel(),
but the reverse operation in wxMenu::DoRemove() didn't do it, resulting
in leaked leftover accelerator entries that could prevent the same
accelerator from working if an item using it was later added. Fix by
adding RemoveAccel() helper method that behaves analogously to
UpdateAccel().

(backport of 60542745f6 from master)
2016-12-05 18:03:04 +01:00
Václav Slavík
97330c2706 Remove useless wxABI_VERSION checks in sources
They are only meaningful for headers, not when compiling the library
itself.
2016-12-05 17:52:30 +01:00
Paul Cornett
5a089901ef Improve wxSystemSettings::GetColour() for GTK3
Previous implementation was inadequate, particularly for GTK+ >= 3.20

(backport of 4b8c83cb09)
2016-12-04 12:38:49 -08:00
VZ
d4a52c0ec1 Backport AVKit-based wxMediaCtrl to fix build under OS X 10.12
Allow building wxOSX using 10.12 SDK which doesn't include QTKit support any longer.

See https://github.com/wxWidgets/wxWidgets/pull/341
2016-11-19 18:30:17 +01:00
Paul Cornett
caaeb96d5e Implement wxLB_NO_SB style
See https://github.com/wxWidgets/wxWidgets/pull/346

(cherry picked from commit d24fbc7808)
2016-11-19 09:00:30 -08:00
Mikko P
c47837ea92 Fix owner drawn dropdown row height.
While m_combo->GetFont(); sets the proper font, the size of that font did not affect the character height.
(cherry picked from commit 2326ca72f1)
2016-11-19 08:51:27 -08:00
Paul Cornett
87289bdc04 Enable choosing paper size and orientation on print dialog, see #17712
(cherry picked from commit 1b0e7c17e3)
2016-11-19 08:49:41 -08:00
Paul Cornett
10b9ab4d8d Support setting initial position for TLW with GTK3
(cherry picked from commit 5fb89cb86e)
2016-11-19 08:46:34 -08:00
Paul Cornett
337e80da76 Set a minimal size for GtkEntry preferred size
This overrides the default minimum size of 150+ pixels, avoiding swarms of
GTK3 debug warnings about "attempt to underallocate wxPizza's child GtkEntry"

(cherry picked from commit 27d218a1f3)
2016-11-19 08:44:42 -08:00
Paul Cornett
553ec7537c Fix non-default window background color with GTK+ >= 3.20
GTK+ no longer automatically paints non-default window background. See #17586

(cherry picked from commit 9bb5d0435a)
2016-11-09 20:07:57 -08:00
Paul Cornett
2241f97775 Avoid calling ScreenToClient() on invisible window while processing wxSetCursorEvent
(cherry picked from commit b47319d515)
2016-11-05 19:46:07 -07:00
Paul Cornett
e465b4cb2d Avoid using deleted widget in idle callback
Use a slightly higher idle priority so callback runs before TLW is deleted,
and ref the widget just to make sure it doesn't disappear. Problem was
introduced in 0388ce8e25

(backport of 9c3900e40d, which modified
9dc7a89ccd, which wasn't backported)
2016-11-05 17:52:21 -07:00
Paul Cornett
49be360eab Avoid assert dialog in ClientToScreen()/ScreenToClient(), it's just too annoying
(cherry picked from commit e3f117c4f3)
2016-11-03 09:41:48 -07:00
Paul Cornett
cd8811bf14 Fix paint clipping region with GTK+ >= 3.20
Apparently the clip is no longer set properly. Fixes wxDC::Clear() overwriting
areas outside the window. Problem can be seen in the Audacity toolbars.

(cherry picked from commit bca7313499)
2016-11-03 09:41:07 -07:00
Paul Cornett
4206e4ce1c Partial workaround for stale styling information with GTK3
We can trigger size events when we know the style cache has been updated.
See #16088

(backport of 101c43d0aa)
2016-11-02 10:46:57 -07:00
Paul Cornett
6475376931 Fix some sizing problems with GTK3
A change in size-allocate handling with GTK+ 3.20 exposed a flaw in our method for
deferring queue-resize requests. Using an idle callback to process the requests
did not work well with the GdkFrameClock-based system used since GTK+ 3.8. Using
the "check-resize" signal works better. Also with GTK+ >= 3.20, it seems necessary
to manually work the queue-resize up to the TLW, as otherwise the resized widgets
don't get updated without an external size-allocate event.
See #17585

(backport of 3b4ee5a031)
2016-11-02 10:30:44 -07:00
Paul Cornett
856b2f6e09 avoid uninitialized result from size_request with Ubuntu, see #17707
(cherry picked from commit 83012dc082)
2016-10-31 09:34:30 -07:00
Paul Cornett
12948ba5e3 Fix a sizing problem with GTK3 when wxPizza is the child of a native GTK widget
See #17704

(cherry picked from commit 240f826185)
2016-10-30 17:35:42 -07:00
Robin Dunn
a68bc9bd72 Revert "WX_CLEAR_LIST in wxHtmlWindow::CleanUpStatics is hard-crashing"
The issue was an incorrect ownership transfer in wxPython.

This reverts commit 22f9852519.
2016-10-26 09:28:02 -07:00
Robin Dunn
80e2614bac Merge branch 'WX_3_0_BRANCH' into wxPy-3.0-branch 2016-10-21 16:01:24 -07:00
Václav Slavík
ed8c3feab3 wxGTK: Don't right-align text by default in wxDVC
wxDataViewTextRenderer::SetAlignment didn't consider the posibility of
alignment being -1, causing the align & wxALIGN_RIGHT test to succeed
and the text to be right-aligned if explicit alignment wasn't provided.

This fix is only partial in that it simply does nothing in this case.
The correct thing to do is to determine and apply alignment later, once
it's known, but that's not possible to do on the 3.0 branch while
preserving binary compatibility.

(inspired by a6be5bdae3)
2016-10-21 17:56:36 +02:00
Tobias Taschner
7bf25ee2de Check deployment target for usage of AVKit
The AVKit framework should only be linked for OS X 10.9+
2016-10-21 11:29:51 +02:00
Tobias Taschner
38a7ee64a0 Add typecast for C++11 compilation of OS X wxMediaCtrl
When compiling in C++11 mode the typecast of AVPlayerStatus in the callback is required to avoid a compiler error.
(cherry picked from commit ce7bf5e539)
2016-10-21 11:15:58 +02:00
Stefan Csomor
32464a364f updating header info, adding AVKit support, iOS support
(cherry picked from commit a485823cb7 and 2e2cfd9d55)
2016-10-21 11:15:42 +02:00
Václav Slavík
34527f7473 Fix wxNullVariant handling in wxDataViewBitmapRenderer
In both the generic and GTK+ implementations, setting the value of a
bitmap column to wxNullVariant resulted in the bitmap, if set for some
rows, being repeated on the rows with null value.

(cherry picked from commit f3b8dac3b7)
2016-10-19 17:16:54 +02:00
Václav Slavík
4e7f160100 wxGTK: Handle null bitmaps in wxDataViewBitmapRenderer
Consistently with other implementations, accept wxNullBitmap and
wxNullIcon in wxDataViewBitmapRenderer if the column shouldn't show any
icon.

(cherry picked from commit ae93a83e76)
2016-10-08 17:01:57 +02:00
Vadim Zeitlin
d77661c73b Fix string iteration logic in wxFTP::Pwd()
wxString iterators can't be dereferenced once they reach the end of the
string, so compare them with end rather than checking if the value they point
to is non-NUL.

This makes wxFTP::Pwd() actually work, which was apparently broken since quite
some time (perhaps ever since c9f7896861 9+
years ago).

See #17679.

(cherry picked from commit d0c57dbef0)
2016-09-25 01:27:37 +02:00
Robin Dunn
9164090b46 Merge branch 'WX_3_0_BRANCH' into wxPy-3.0-branch 2016-09-19 13:43:03 -07:00
Tim Kosse
59ef01d95c Do not return empty tokens when parsing XDG_DATA_HOME and XDG_DATA_DIRS. This fixes an assert where wxString::Last would have been called on an empty string.
(cherry picked from commit 255b2adea2)
2016-09-19 16:16:09 +02:00
Scott Talbert
98065821bb Fix wxGetKeyState() on non-X11 wxGTK backends (e.g., Wayland)
wxGetKeyState() does not currently work on non-X11 GTK backends, and in some
cases it has been reported to crash.  It seems that the most likely use case
for wxGetKeyState() is to query the modifier keys, so on non-X11 backends, use
GTK+ calls to retrieve the modifier key state.

Non-modifier keys are not currently implemented, update the documentation to
mention this.

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

(this is a combined backport of 1033fb048d,
9f9c09e24a and
a18fe083cc from master)
2016-09-13 13:24:12 +02:00
Pete Bannister
d4ae8219d9 Fix rendering of owner-drawn multi-column menus in wxMSW
Compute the item rectangle bounds correctly for the items in non-first column.

See #17072.

(cherry picked from commit 61083f4871)
2016-09-09 23:46:32 +02:00
Paul Cornett
48841ad703 Remove incorrect g_object_ref on wxMenuBar
Should probably have been removed as part of 9ff9d30 (r55288)

(backport of 7986ccf039)
2016-08-31 10:45:49 -07:00
Paul Cornett
786f778b71 Save and restore GtkStyleContext in a few places that were not doing it
Does not fix any known problem, but seems prudent

(backport of 5d04f41d47)
2016-08-31 10:39:57 -07:00
Paul Cornett
ed54a746b0 Remove run-time dependencies on GTK3 backends for Wayland, Mir, Broadway
This allows running with a GTK+ library that was built with different backends
than the one wxWidgets was built with. Since GTK3 provides no way to determine
the backends available at run-time, avoid referencing symbols in the backends
by checking the type name of the GdkDisplay, on the assumption that they are
unlikely to ever be changed. The X11 backend is still required at run-time if
it was available at build-time, although this dependency could also be removed.

(cherry picked from commit 1ba59a410f)
2016-08-31 10:25:34 -07:00
Stefan Csomor
817bd0076f Don't include QuickTime headers unnecessarily
This should fix compilation under macOS Sierra (10.12).

See #17639.

(cherry picked from commit f6a2d1caef)
2016-08-27 18:02:58 +02:00
samurajj
e1e9482005 Fix error reporting for wxCopyFile() under Unix
Check if copying file actually succeeded, any IO errors that could happen in
it were previously just completely ignored.

See #17638.

(cherry picked from commit a93dcc531c)
2016-08-22 14:18:55 +02:00
Vadim Zeitlin
f252e56e88 Fix wxBitmap ctor from XBM in wxGTK
Width and height were exchanged in the loops, so the conversion code didn't
work correctly and overflowed the pixel buffer (due to extra padding in the
row stride) for non-square bitmaps. It also resulted in a completely wrong
bitmap appearance, but somehow this managed to go unnoticed, unlike the memory
errors.

See #17633.

(cherry picked from commit f9740e8180)
2016-08-21 14:49:07 +02:00
Andy Robinson
3550b50461 Fix format specifiers used for size_t values in wxFileConfig
Fix assert failures when reporting errors in config files under 64 bit systems
where "%d" can't be used to output a "size_t" value.

See #17630.

(cherry picked from commit 75e254fce7)
2016-08-19 22:46:10 +02:00