Commit graph

74 commits

Author SHA1 Message Date
Rémi Verschelde
5a61e10e09
Merge pull request #89265 from davthedev/spinbox-buttons-refactor
Improve SpinBox interaction, split arrows, add theme attributes
2024-08-27 16:54:39 +02:00
David Giardi
e371587147 Improve SpinBox interaction, split arrows, add theme attributes 2024-08-23 18:21:20 +02:00
aaronp64
7593e55527 Improve Editor Inspector/Theme item lookup performance
Changes to reduce the latency between changing node selection in the editor and seeing the new node reflected in the Inspector tab

- Use Vector instead of List for ThemeOwner::get_theme_type_dependencies and related functions
- Use Vector instead of List for ThemeContext::themes, set_themes(), and get_themes()
- Add ClassDB:get_inheritance_chain_nocheck to get all parent/ancestor classes at once, to avoid repeated ClassDB locking overhead
- Update BIND_THEME_ITEM macros and ThemeDB::update_class_instance_items to use provided StringNames for call to ThemeItemSetter, instead of creating a new StringName in each call

These changes reduce the time taken by EditorInspector::update_tree by around 30-35%
2024-08-20 13:39:40 -04:00
Thaddeus Crews
cc6dd8d02c
Style: Optimize .svg files with svgo 2024-06-23 08:15:19 -05:00
A Thousand Ships
d519715d94
[Scene] Add SceneStringNames::font(_size/_color) 2024-06-18 17:24:27 +02:00
bruvzg
721a663aa3
[Button] Adds theme option to align button text and icon to either largest or current stylebox. 2024-06-10 18:40:52 +03:00
Rémi Verschelde
9c87e8c7b4
Merge pull request #91953 from AThousandShips/use_normal_sname
Use `CoreStringNames::normal` in more places
2024-05-31 14:16:05 +02:00
A Thousand Ships
cade5b88d9
Use CoreStringNames::normal in more places 2024-05-30 22:57:54 +02:00
A Thousand Ships
926afccbd8
[Scene] Add SceneStringNames::panel 2024-05-30 22:54:50 +02:00
Jakub Marcowski
d9f8ef68df
Update pre-commit hooks configuration to use ruff instead of black 2024-05-21 18:02:29 -05: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
Michael Alexsander
167b0ac8d5
Remove border roundness inside panels of AcceptDialog windows 2024-04-06 00:01:16 -03:00
Hendrik Brucker
a81561cbd9 Add GraphFrame and integrate it in VisualShader 2024-04-04 15:11:00 +02:00
Haoyu Qiu
479b7afa8e Add context support for editor property name i18n 2024-03-31 18:40:14 +08:00
Thaddeus Crews
5a6e3cbcb0
SCons: Remove run_in_subprocess dependency 2024-03-11 13:20:09 -05:00
Rémi Verschelde
810f127022
Merge pull request #89365 from Repiteo/scons/run_in_subprocess-to-env.Run
SCons: Convert remaining `run_in_subprocess` to `env.Run`
2024-03-10 21:13:22 +01:00
Thaddeus Crews
8116d70d4b
SCons: Convert remaining run_in_subprocess to env.Run 2024-03-10 14:01:23 -05:00
Thaddeus Crews
fb299d0fb1
SCons: Ensure with statement where applicable 2024-03-10 12:57:57 -05:00
Thaddeus Crews
d9fa40f2df
Enforce \n eol for Python writes
• Ensure utf-8 encoding if previously unspecified
2024-03-09 14:29:24 -06:00
Thaddeus Crews
0ce9b6fd1d
Add two new COMSTR environment variables 2024-03-01 12:44:03 -06:00
Rémi Verschelde
da916221a7
Merge pull request #88577 from davthedev/itemlist-light-refactor
Fix item positioning, text alignment & unwanted clipping of ItemList items
2024-02-29 13:54:03 +01:00
Hugo Locurcio
3fe01226b7 Use black for font outlines by default instead of white
This makes font outlines more usable out of the box, as black
is one of the most commonly used colors for font outlines.
2024-02-28 20:25:15 +01:00
David Giardi
f63728cb9f Fix item positioning & pointer detection areas of ItemList 2024-02-27 20:03:10 +01:00
Adam Scott
fd3666298c
Add create folder icon 2024-02-26 09:04:24 -05:00
Rémi Verschelde
32b0834609
Merge pull request #84763 from KoBeWi/all-knowing_theme_editor
Fetch theme editor items from ThemeDB
2024-02-13 17:23:07 +01:00
A Thousand Ships
684752e75b
Replace error checks against size with is_empty 2024-02-09 12:50:15 +01:00
kobewi
e86750dcaa Fetch theme editor items from ThemeDB 2024-01-31 13:17:11 +01:00
Rémi Verschelde
6c2f412cc7
Merge pull request #84760 from KoBeWi/ultimate_get_property_list_reloaded
Fetch override list from ThemeDB
2024-01-29 21:32:10 +01:00
kobewi
7d6ded2027 Fetch override list from ThemeDB 2024-01-29 16:41:57 +01:00
Yuri Sizov
54deaafef6 Merge pull request #85660 from Maran23/theme-basic
Mark `gui/theme/custom` and `gui/theme/custom_font` as basic properties
2024-01-24 14:07:58 +01:00
Yuri Sizov
66b0bd9203 Merge pull request #86158 from Geometror/ge-connection-rework
Rework `GraphEdit` connections (drawing, API, optimizations)
2024-01-18 19:26:56 +01:00
Hendrik Brucker
9d7c2978f4 Rework GraphEdit connections (drawing, API, optimizations)
- GraphEdit now uses Line2D nodes to draw connection lines and uses a dedicated canvas item shader for them
2024-01-18 16:53:15 +01:00
Rindbee
f29a7d302e Make the drawing logic clearer in Button
The drawing logic follows the calculation logic in `Button::get_minimum_size`.

According to the order of `stylebox`, `icon`, and `text`, and follow properties
such as alignment mode, to fill the display space of the button.

Add a `Button::_set_h_separation_is_valid_when_no_text` for Button derived
classes (like `OptionButton`) that expects a `h_separation` between `icon`
and theme icon even if the `text` is empty.
2024-01-18 22:57:22 +08:00
Yuri Sizov
95b27fe8c7 Reorganize code related to editor theming
This change introduces a new EditorThemeManager class
to abstract theme generatio and its subroutines.

Logic related to EditorTheme, EditorColorMap, and editor
icons has been extracted into their respective files with
includes cleaned up.

All related files have been moved to a separate folder to
better scope them in the project. This includes relevant
generated files as well.
2024-01-16 11:57:45 +01:00
Rémi Verschelde
365755fb34
Merge pull request #84946 from DarkMessiah/default-theme-checkbox-disabled-state
Use disabled icons for CheckBox in DefaultTheme
2024-01-10 12:03:12 +01:00
Muller-Castro
96a95cb974 Add const lvalue ref to container parameters 2024-01-05 14:49:57 -03: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
Marius Hanl
dbee4cde1d Mark 'gui/theme/custom' and 'gui/theme/custom_font' as basic properties 2023-12-02 16:00:39 +01:00
Stanislav Labzyuk
ff59496632 Use disabled icons for CheckBox in DefaultTheme 2023-11-19 22:01:53 +01:00
Stanislav Labzyuk
ff8797e980 Implement disabled state for Checkbox in Tree 2023-11-15 17:13:34 +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
Rémi Verschelde
d92c02002f
Merge pull request #82653 from MewPurPur/simplify-region-folding-icon
Tweak the region folding icons
2023-10-04 15:35:57 +02:00
Yuri Sizov
b07c664af9 Make GraphEdit toolbar more customizable
Also adds a semi-transparent background
to make the toolbar stand out in front of nodes.
2023-10-02 13:43:08 +02:00
MewPurPur
05aaa04b4d Tweak the region folding icons 2023-10-02 04:55:16 +03:00
Yuri Sizov
596dd726a1 Use bound theme properties for documentation 2023-09-26 18:48:51 +02:00
Rémi Verschelde
8ddf73c74d
Merge pull request #81939 from YuriSizov/gui-flat-and-depressed
Replace flat buttons with flat-styled buttons with a visible pressed state
2023-09-25 17:18:29 +02:00
Rémi Verschelde
c57d9f3483
Merge pull request #79104 from DrRevert/focusable_tabs_refactor
Allow to focus individual tabs in `TabBar`/`TabContainer`
2023-09-25 17:17:51 +02:00
Yuri Sizov
98f9ef5f88 Check for type variations in inherited themes 2023-09-24 02:54:52 +02:00
Yuri Sizov
4bd569be95 Replace flat buttons with flat-styled buttons with a visible pressed state 2023-09-19 22:36:29 +02:00