Skip to content

Commit 09dae48

Browse files
NigelBreslawogoffart
authored andcommitted
Color Picker: Support @conic-gradient (#9592)
1 parent cef3328 commit 09dae48

File tree

3 files changed

+16
-5
lines changed

3 files changed

+16
-5
lines changed

tools/lsp/ui/components/widgets/floating-brush-sections/gradient-ui.slint

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -336,10 +336,10 @@ export component GradientPicker inherits SimpleColumn {
336336
cb := ComboBox {
337337
x: EditorSizeSettings.standard-margin;
338338
width: 160px;
339-
model: ["Linear", "Radial"];
340-
current-index: PickerData.current-brush-kind == BrushKind.linear ? 0 : 1;
339+
model: ["Conic", "Linear", "Radial"];
340+
current-index: PickerData.current-brush-kind == BrushKind.conic ? 0 : PickerData.current-brush-kind == BrushKind.linear ? 1 : 2;
341341
selected(value) => {
342-
PickerData.set-gradient-type(value == "Linear" ? GradientType.linear : GradientType.radial);
342+
PickerData.set-gradient-type(value == "Linear" ? GradientType.linear : value == "Radial" ? GradientType.radial : GradientType.conic );
343343
}
344344
}
345345

tools/lsp/ui/components/widgets/inline-brush-widget.slint

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,7 @@ component InlineGradient {
163163

164164
Text {
165165
x: 10px;
166-
text: root.current-brush-kind == BrushKind.linear ? "Linear Gradient" : "Radial Gradient";
166+
text: root.current-brush-kind == BrushKind.linear ? "Linear Gradient" : root.current-brush-kind == BrushKind.radial ? "Radial Gradient" : "Conic Gradient";
167167
font-family: "Inter";
168168
font-size: 12px;
169169
color: EditorPalette.text-color;
@@ -371,7 +371,7 @@ export component InlineBrushWidget inherits VerticalLayout {
371371
}
372372
}
373373

374-
if (property-value.brush-kind == BrushKind.linear || property-value.brush-kind == BrushKind.radial) && property-value.code != "" && root.color-code-type == ColorCodeType.other: InlineGradient {
374+
if (property-value.brush-kind == BrushKind.linear || property-value.brush-kind == BrushKind.radial || property-value.brush-kind == BrushKind.conic) && property-value.code != "" && root.color-code-type == ColorCodeType.other: InlineGradient {
375375
current-brush <=> root.current-brush;
376376
current-brush-kind <=> root.current-brush-kind;
377377

tools/lsp/ui/windowglobal.slint

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,13 +32,15 @@ export enum BrushPropertyType {
3232

3333
export enum BrushMode {
3434
color,
35+
conic,
3536
linear,
3637
radial,
3738
css-color,
3839
code,
3940
}
4041

4142
export enum GradientType {
43+
conic,
4244
linear,
4345
radial,
4446
}
@@ -180,6 +182,9 @@ export global PickerData {
180182
if last-used-gradient-type == GradientType.radial {
181183
current-brush-kind = BrushKind.radial;
182184
brush-mode = BrushMode.radial;
185+
} else if last-used-gradient-type == GradientType.conic {
186+
current-brush-kind = BrushKind.conic;
187+
brush-mode = BrushMode.conic;
183188
} else {
184189
current-brush-kind = BrushKind.linear;
185190
brush-mode = BrushMode.linear;
@@ -192,6 +197,9 @@ export global PickerData {
192197
if gradient-type == GradientType.linear {
193198
current-brush-kind = BrushKind.linear;
194199
brush-mode = BrushMode.linear;
200+
} else if gradient-type == GradientType.conic {
201+
current-brush-kind = BrushKind.conic;
202+
brush-mode = BrushMode.conic;
195203
} else {
196204
current-brush-kind = BrushKind.radial;
197205
brush-mode = BrushMode.radial;
@@ -263,6 +271,9 @@ export global PickerData {
263271
if property-value.brush-kind == BrushKind.linear {
264272
set-gradient-type(GradientType.linear)
265273
}
274+
if property-value.brush-kind == BrushKind.conic {
275+
set-gradient-type(GradientType.conic)
276+
}
266277
}
267278

268279
update-brush();

0 commit comments

Comments
 (0)