Commit Graph

66 Commits

Author SHA1 Message Date
David Giardi 5626fae673 Hide separators in ItemList in editor theme 2024-02-20 02:09:23 +01:00
kobewi a031911c82 Use check_changed_settings_in_group() everywhere 2024-02-19 21:34:45 +01:00
Matt Enad 5b5de0e167 Add hover highlight to main editor buttons
Updates styling of the editor run bar, plugin, bottom panel, icon buttons, and main menu buttons for accessibility.
2024-02-16 14:49:44 -05:00
Joseph DiGiovanni 7eacb6ddbf Add follow system theme settings 2024-02-14 15:31:21 -05:00
Micky fbc584d4f2 Add color in built-in documentation for overridden properties 2024-02-11 17:30:54 +01:00
Yuri Sizov 28e8a4c0ee Replace empty list dialog with an integrated panel 2024-01-30 17:52:25 +01:00
Yuri Sizov feb1157276 Merge pull request #83510 from Geometror/vs-connection-ops
Add connection related functionality to VisualShader (deleting, dropping/inserting a node)
2024-01-22 20:38:30 +01:00
Hendrik Brucker f59419bfe0 Add connection-related VisualShader operations
- Insert a node in a connection
- Drop an unconnected node on a connection to insert it
- Delete a connection
2024-01-19 11:38:59 +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
Yuri Sizov de95a3effe Merge pull request #85117 from BastiaanOlij/openxr_runtime_select
OpenXR: Add runtime selection dropdown
2024-01-18 19:26:52 +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
Bastiaan Olij afd1dcf1b1 OpenXR: Add runtime selection dropdown 2024-01-18 15:59:22 +01:00
Yuri Sizov 45eedba1fa Improve editor theme generation after the refactor 2024-01-17 15:16:53 +01:00
Yuri Sizov dc3b07e551 Introduce editor theme spacing presets
This change adds a new editor setting related to theming
which controls base and additional spacing used in the
generated editor theme. These values can also be changed
manually by the user to customize their experience.

Limited effort was applied to make sure both Compact and
Spacious presets work and look fine, but further tuning
and adjustments are totally expected. Some controls will
require layout changes or additional fixes to their constants.
2024-01-16 11:57:45 +01:00
Yuri Sizov 635b8a1474 Split theme generation logic into several subroutines
This change introduces a new theme configuration struct to be
passed to the aforementioned routines to better control reuse
of styles and definitions in the generator.

Everything not passed and not explicitly shared is scoped so it
is not automatically accessible throughout the routine. This
should ensure that the decision to share styles is a conscious one.

In the future we will try to reduce the number of unique definitions
and share most of it. This PR is a stepping stone on this path.

This also puts the effort into separating redefinitions of
default theme items vs custom types introduced only by the editor.
In a few cases where editor-specific definitions need to reference
default definitions we simply fetch them from the theme. It's not
ideal and hides the dependency a bit, but hopefully these cases
will be abstracted properly in due time.
2024-01-16 11:57:45 +01: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