Add a helper wxLaunchBrowserParams struct with clearly distinct "url" and
"path" fields and GetPathOrURL() accessor which returns whichever is
appropriate.
This makes the code more clear and ensures that we never pass URLs (but only
file paths) to xdg-open under Unix as it doesn't handle them.
See #17227.
Ensure GTKEnableEvents() is called automatically on scope exit whenever
GTKDisableEvents() is called.
This fixes a couple of potential bugs where GTKEnableEvents() could be not
called if wxCHECK() condition failed and makes the code shorter and safer.
Don't send a wxEVT_DATAVIEW_SELECTION_CHANGED event if an already selected
item is clicked, this is unexpected and inconsistent with the other platforms.
Split SelectAllRows(bool) method in a (trivial) SelectAllRows() and a more
useful UnselectAllRows() which now can check if a particular row is selected
and leave it selected in this case, helping implementing the correct logic and
also avoiding an extra unnecessary refresh due to deselecting the item first
and then selecting it again.
Don't do anything and, in particular, don't send any events if pressing a
navigation key, such as a cursor up/down arrow, didn't actually change the
current item because it was already the first/last one.
This fixes an endless stream of wxEVT_DATAVIEW_SELECTION_CHANGED events if the
up/down arrow is simply kept pressed when the selection is on first/last item.
Double clicks over checkboxes (i.e. items using wxDataViewToggleRenderer) were
ignored because they were translated to wxEVT_DATAVIEW_ITEM_ACTIVATED events
and nothing else happened, even if the event was not processed at all.
Fix this by continuing to process double clicks as normal clicks if there is
no special handling for the activation event.
In practice this means that half of the clicks doesn't seem to be "lost" any
more when clicking a checkbox in a quick succession.
Even although ZIP specification mandates (forward) slashes, some broken
programs still use backslashes in the paths, so make an effort to accommodate
them.
Closes#16259.
This is documented as being required in the MSDN and, in practice, is
necessary for Windows to update the icon cache and show the new icon.
Closes https://github.com/wxWidgets/wxWidgets/pull/195
The results of the checks for the command line options are not useful to show
as presumably the user already knows which options were used for invoking
configure, and so the results of these checks are known as well (with the only
exception of --with-xxx options when configure detects whether to use the
system or the built-in version of the library on its own, but we already
summarize the results of these checks at the end anyhow).
Just don't flood the user with all the messages about checking this and do our
job silently.
It's impractical to have manual projects for all the samples, but do it at
least for this one to serve as a starting point for people using these IDEs.
These warnings were apparently harmless, but really annoying, so get rid of
them by renaming the variables instead of reusing the same name in the nested
scope.
Closes#17351.
This will be useful for allowing other projects, not necessarily located at
the same level of the file hierarchy as the projects for building the library,
to refer to the location of the libraries more easily.