* Bump SDL2 version in build dependencies script
* Use pre-release 2.7.1 for sdl_image
* Link for pre-releases is different
* sdl_image 2.8.0 has now been released
* Update kivy_deps.sdl2 and kivy_deps.sdl2-dev to 0.7.0 (to reflect the same changes made in Linux and macOS build scripts)
ColorWheel/ColorPicker had a number of issues addressed:
* Major changes:
* `ColorWheel._hsv` was unused (and was an "attractive nuisance" for developers - see #6585).
* Removed.
* `ColorWheel` had attributes not defined in `__init__()`
* Defined them.
* `init_wheel()` had unused parameter (perhaps it was intended to be scheduled as a Clock event, but never was?)
* Removed parameter.
* `init_wheel()` was public, but doesn't need to be called by clients (and was an "attractive nuisance" for developers - see #6585).
* Made private by adding underscore prefix.
* `_init_wheel()` was misleading about its role, as it is may be called often.
* Renamed to `_reset_canvas()`
* Add basic unit-tests for Color Picker and Color Wheel.
* Before, `colorpicker.py` had 0% coverage! This is a long, long way from a complete set of unit-tests of each of the features of these Widgets. It now has 60% statement coverage, which is way too low, but 20% above the project average. It is enough to catch #6585 regressing.
* ColorWheel: only Red had a stated default value in the documentation. This is important, because ColorPicker and ColorWheel differ over default values.
* Added default values to default values to documentation
I considered whether to add back `init_wheel(dt)`, mark it deprecated and have it do nothing but `pass`, but the whole API is marked experimental,
so I didn't feel the need.
* Trivial changes due to IDE style-checks complaining
* Unnecessary parenthesis around tuples
* Removed.
* comparison expression could be simplified
* Simplified
* Type-check was complaining about `max(0, float(text))`, which seems perfectly fine to me.
* Changed it to max(0.0, float(text)), which shut up the type-checker, but also removed the need for several more calls to float().
* Import order wasn't pep8 compliant
* Sorted imports
* SetClipboardData requires a memory object allocated with GMEM_MOVEABLE (and locks)
* Use memmove instead of wcscpy
* We need a str, not bytes
* Remove old comment
* Fixing `TypeError` on `parse_level` method
When you are write something like this:
```yml
BoxLayout:
orientation: 'vertical'
Button:
```
You would get this error:
```
File "/.venv/lib/python3.10/site-packages/kivy/lang/parser.py", line 805, in parse_level
if current_property[:3] == "on_":
TypeError: 'NoneType' object is not subscriptable
```
Because `current_property` is None, and on [line 756](https://github.com/kivy/kivy/blob/master/kivy/lang/parser.py#L756) we try to subscript it.
But this error is not informative and does not allow the developer to know where the error comes from.
In this case we should show in which line there is a invalid declaration, by raising a `ParserException`.
It works.
* 🧪 Added two failing tests for invalid indentation
* 🥅 Raising `Invalid indentation` if you indent the root widget on kv language
* Update parser.py
Fixed error from flake8
* Add FAQ as separate document. Removed from RST docs.
Future work:
* Add references to contact us.
* Substantial Rewrite of Contributing Guidelines
* Updated with review comments.
* Avoid duplicating contribution instructions
Reference the contribution guidelines online rather than repeating them.
Make language more consistent with other sources.
* Reshuffle contents based on review comments.
* Move contributing to root dir, populate it with contents of contribute.rst and contribute-unittest.rst
* Delete contribute.rst and contribute-unittest.rst
* Delete the defunct Google Summers of Code
*Add CONTACT.md, populating it from CONTACT.rst.
* Reference new CONTACT.md from Index.
* Fix broken links, ToC.
* Fix another link.
* Bring in changes to README and setup.py from #8450.
* Include OpenGL reference
* Mention all the sponsors.
* Wrong README file was modified - try again
* Updated a bunch of http -> https
Not every single instance, but made a major dent.
Only instances where https worked (inclem.net, I am looking at you.)
* Update CODE_OF_CONDUCT.md to be the most modern version
* Update with review comments
* Correct link
* Add stubs for GitHub-hosted pages
* Fix links
RST broken by line feed.
Inline link.
* change conditions in render_lines method of markup.py to handle sequential sub-/superscript tags without a space between the close-] and open-[
* made corrections in markup.py relative to PEP8 checker
* Copy edit comment
* Factor out common regular expression patterns to make intent clearer.
* Quote patterns with r"" to fix SyntaxWarning.
* Simplify "if not X return False else return True" to "return X"
* Lose unneeded parentheses giving IDE style warning.
Fourteen days isn't very long to respond to a request for more information, especially given it may come in weeks, months or years after the original request.
Vacations last longer than time. Development crunches last longer than that.
Let's give them 6 weeks before the bot gets upset.
[I am preparing to share this script across Kivy projects.]
* Add python:3.11-bookworm to rpi builds
* Update patchelf to 0.18.0
* Do not unpack directly to /
* Use the proper manylinux target platform for bookworm
* Test back 0.17.2
* Updated docs to reflect bookworm support addition
* fix(core): clipboard now properly pastes strings with emoji; fixes#8314
* tests(clipboard): test for emoji support in win32 clipboard
* feat(Clipboard): make test with emoji deterministic
* chore: Update todo, add comment explaining SetClipboardData
* chore: fix linting errors
* fix pythonw and pyinstaller issue
Kivy apps will crash if run from pythonw or if they are built with pyinstaller 5.7 In both cases sys.stderr is set to None, causing a recursion error in the python logger. This fix sets the KIVY_NO_CONSOLELOG environment if sys.stderr is None. This preserves the behavior prior to pyinstaller 5.7, and allows correct operation under pythonw.exe
* Update logger.py
Moved changed to the add_kivy_handlers() function
* modified per @pythonic64
* Added test for fix of issue 8345
* Lines shortened for pep8 compliance
* Removed "\" for pep8 compliance
* Used parens to shorten lines to be consistent with the rest of the file, for pep8 compliance
* Used "\" for line continuation, for pep8 compliance
* Update kivy/tests/test_logger.py
Co-authored-by: Mirko Galimberti <me@mirkogalimberti.com>
---------
Co-authored-by: Mirko Galimberti <me@mirkogalimberti.com>
Changed comments (only) to use American spellings of common words.
(As an Australian, it hurts me to use the American spelling, but it looks more professional to have one standard throughout, and the code itself uses American spellings, so I kept it consistent.)
Also trivial copy-edits to comments in RecycleView.