Commit graph

271 commits

Author SHA1 Message Date
A Thousand Ships fbb879debd
[Scene] Add SceneStringNames::text/value_changed 2024-06-19 09:44:38 +02:00
A Thousand Ships 926afccbd8
[Scene] Add SceneStringNames::panel 2024-05-30 22:54:50 +02:00
A Thousand Ships 755a0efbb6
[Scene] Add SceneStringNames::id_pressed 2024-05-30 22:54:04 +02:00
A Thousand Ships ee79386f7b
[Scene] Add SceneStringNames::pressed 2024-05-14 15:51:28 +02:00
kobewi 413c11357d Use Core/Scene stringnames consistently 2024-05-13 23:41:07 +02:00
A Thousand Ships 955d5affa8
Reduce and prevent unnecessary random-access to List
Random-access access to `List` when iterating is `O(n^2)` (`O(n)` when
accessing a single element)

* Removed subscript operator, in favor of a more explicit `get`
* Added conversion from `Iterator` to `ConstIterator`
* Remade existing operations into other solutions when applicable
2024-05-04 16:08:55 +02:00
kobewi 9ab3ff04ac Don't translate ColorPicker color labels 2024-04-18 20:26:56 +02:00
Zi Ye d827b34ea8 Fixed undo/redo behaviour of color picker and added ability to cancel/confirm color selection. 2024-03-24 15:12:11 -05:00
Michael Alexsander d70c45b5c8
Add option to add built-in strings in the POT generation 2024-02-28 11:34:26 -03:00
Mounir Tohami 7884d63281 Fix PopupMenu doesn't respect it's ScrollContainer's margins 2024-02-23 15:51:47 +02:00
kobewi 0e8f90f4c8 Update deferred calls to use Callables 2024-01-09 16:11:47 +01:00
Hugo Locurcio 80a770a8ed
Allow additional hexadecimal color codes in ColorPicker
The following formats are now accepted (leading `#` is optional):

- `#1` -> `#111111`
- `#12` -> `#121212`
- `#12345` -> `#11223344` (`5` at the end is discarded)
- `#1234567` -> `#123456` (`7` at the end is discarded)
2024-01-08 20:51:45 +01:00
Rémi Verschelde a6dc1b3907
Merge pull request #84527 from Calinou/colorpicker-display-revert-icon
Display a revert icon on ColorPicker's old sample
2024-01-03 09:59:06 +01:00
Yuri Sizov 1125235c95 Merge pull request #85749 from bs-mwoerner/color_picker_quantize_fix
Fix unnecessarily quantizing current color in color picker
2023-12-18 18:17:53 +01:00
Michael Wörner 21d778b0c3 Changed HTML input color_changed logic.
Made the HTML field send change events based on whether the new color's string is different from the previous color's string (instead of whether the new string parses to the current color value).
Previously, updating the color value even when the corresponding string hadn't changed would unnecessarily quantize the color value to 8 bits just by opening/closing the Color Picker.
2023-12-17 15:36:57 +01:00
Sofox 7979412c75 Remember last 'color_mode' and 'picker_shape' in 'ColorPicker's in the editor 2023-12-14 18:57:57 +00:00
kleonc d76d8c5f29 Fix ColorPicker's alpha slider arrow offset 2023-12-11 16:17:45 +01:00
Hugo Locurcio 079f1c8ead
Display a revert icon on ColorPicker's old sample
This denotes that the color can be clicked to revert to the old color.
2023-11-07 10:04:39 +01:00
DinDotDout 15ec132ea2 Fix ColorPicker shape icon is invisible until shape is changed 2023-11-06 18:08:48 +01:00
Hugo Locurcio d335155b46
Increase precision of RAW mode in ColorPicker
This sets the slider step to `0.001` but keeps SpinBox arrow increments
at `0.01`.
2023-10-23 18:33:56 +02:00
Yuri Sizov 215e036600 Add bulk change guards to successive theme overrides in Editor and GUI 2023-10-19 18:14:14 +02:00
ajreckof 3160add2b0 Fix ColorPicker deferred mode not working for sliders. 2023-10-13 14:35:47 +02:00
Yuri Sizov fe000277ea Bind remaining theme properties to their respective classes
This adds binds for GraphEdit/GraphElement/GraphNode, which were
skipped before due to a rework. This also adds binds for Window,
which was skipped before due to a complicated code organization.

Also adds theme cache entries/direct cache access to a few places
that previously missed it. Some theme properties are now exposed
to other classes via friendships or public getters for convenience.

This removes all string-based theme access from scene/ classes.
2023-09-13 19:31:35 +02:00
Yuri Sizov 2924bfd4d3 Register theme properties with ThemeDB 2023-09-11 13:45:23 +02:00
kobewi 6de34fde27 Add EditorStringNames singleton 2023-09-03 19:58:18 +02:00
Rémi Verschelde 14256a2395
Merge pull request #78468 from KoBeWi/enmarginalization
Fix ColorPicker margin theme property
2023-08-08 16:55:32 +02:00
guemax d934d00828
Remove spaces from input of HTML color in color picker
Fixes #79338
2023-07-22 12:11:28 +02:00
Hendrik Brucker a29a680920 Extract StyleBoxFlat, StyleBoxTexture and StyleBoxLine in their own file 2023-07-17 13:25:00 +02:00
Hendrik Brucker 7e21eb7e00 Extract and reorganize texture resource classes 2023-07-14 20:04:21 +02:00
dinoplane 3f02b0cfde Moved HSV and OKHSL caching logic into color_mode 2023-07-05 07:15:58 -07:00
dinoplane e11e9d2b9a Use cached saturation for color picker when value is 0 2023-06-21 15:18:20 -07:00
kobewi 9c3afcc898 Fix ColorPicker margin theme property 2023-06-20 12:47:52 +02:00
dinoplane a374c7d519
Use cached hue for color picker when saturation is 0
Fixes #76968.
2023-06-12 10:59:33 +02:00
Rémi Verschelde 0f0f233d37
Merge pull request #76751 from anvilfolk/swatch
Fix adding colors to swatches not updating in previous ColorPickers.
2023-05-22 13:48:43 +02:00
ocean (they/them) a132ed0ca4 Fix adding colors to swatches not updating in previous ColorPickers.
ColorPicker was only updating colors if its swatches were empty. It
should always update from the cache in case some other ColorPicker
updated the swatch cache.
2023-05-21 17:50:14 -04:00
kobewi b76ddeda45 Improve color picking 2023-05-19 14:21:43 +02:00
Rémi Verschelde e758164ba6
Merge pull request #72376 from MewPurPur/fix-color-button-popup
Fix popup position of color picker
2023-05-08 12:20:07 +02:00
kobewi 14cb9b5b26 Add center_grabber property to Slider 2023-04-22 17:53:17 +02:00
Rémi Verschelde 87b8eea9f6
Merge pull request #75904 from Calinou/colorpicker-constructor-round-values
Round values to 3 decimals in the ColorPicker constructor string
2023-04-13 09:54:18 +02:00
Hugo Locurcio 4d8331ad1f
Round values to 3 decimals in the ColorPicker constructor string
This makes the whole string always fit within the LineEdit
(at least when using the default font).
2023-04-11 18:29:52 +02:00
Hugo Locurcio 517dc3654a
Allow entering named colors in ColorPicker's hex field
This also makes the hex field wider to allow displaying 9-character
hex code (`#rrggbbaa`) in full, even when using a custom font.
2023-04-10 23:59:07 +02:00
Yuri Sizov e401540264 Implement theme item cache in ColorPicker and friends 2023-04-03 18:01:11 +02:00
Rémi Verschelde b90d70d592
Merge pull request #72764 from Sauermann/fix-color-picking
Fix Color Picking
2023-02-17 00:33:20 +01:00
kobewi 3542d24fda Fix HSV Rectangle Wheel values 2023-02-13 01:18:44 +01:00
Markus Sauermann 888add8418 Fix Color Picking
With the 4.x-introduction of Windows the previous method for
color picking was no longer working.

This PR uses the following approach to reintroduce color-picking.
When the Color-Picking-Button is pressed, a quasi-screenshot of the
Window-content is created and displayed in a new Popup-Window.
This new Window allows selecting colors by Mouse-Click.
A Preview of the targeted Color is also displayed.
2023-02-09 01:00:54 +01:00
VolTer 040e258164 Fix popup position of color picker 2023-01-30 14:04:45 +01:00
Rémi Verschelde 5068d82374
Merge pull request #71686 from YuriSizov/stylebox-min-size-but-better
Clean-up, harmonize, and improve StyleBox API
2023-01-22 17:53:04 +01:00
Rémi Verschelde 906ee0b219
Merge pull request #67253 from KoBeWi/PICKER_USAGE_NO_EDITOR
Remove editor dependencies from ColorPicker
2023-01-21 20:52:16 +01:00
Yuri Sizov 752402cf35 Clean-up, harmonize, and improve StyleBox API
- Make all margin properties follow the same naming convention (their getter and setter too).
- Remove a virtual counterpart of `get_style_margin` from API.
- Allow to override `get_minimum_size` from scripting and remove `get_center_size`.
2023-01-19 20:02:21 +03:00
kobewi 59ea36b87c Remove set_drag_forwarding_compat() 2023-01-14 15:16:51 +01:00