Skip to content

Commit 8e78a20

Browse files
committed
Tweaks
1 parent b64c29e commit 8e78a20

File tree

2 files changed

+70
-92
lines changed

2 files changed

+70
-92
lines changed

src/Library/demos/CSS Gradients/main.blp

Lines changed: 25 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
using Gtk 4.0;
22
using Adw 1;
3+
using GtkSource 5;
34

45
Adw.StatusPage {
56
title: "CSS Gradients";
@@ -115,17 +116,15 @@ Adw.StatusPage {
115116

116117
Adw.ComboRow combo_row_gradient_type {
117118
title: _("Gradient type");
118-
model:
119-
StringList list {
119+
model: StringList list {
120120
strings [_("Linear"), _("Radial"), _("Conic")]
121121
};
122122
}
123123

124124
Adw.SpinRow spin_row_angle {
125125
title: _("Angle");
126126
climb-rate: 0.2;
127-
adjustment:
128-
Adjustment adjustment_angle {
127+
adjustment: Adjustment adjustment_angle {
129128
lower: 0;
130129
upper: 360;
131130
step-increment: 10;
@@ -135,10 +134,10 @@ Adw.StatusPage {
135134

136135
Adw.ActionRow {
137136
title: _("First color stop");
138-
activatable-widget: color_dialog_button_first_color;
137+
activatable-widget: button_color_1;
139138

140139
[suffix]
141-
ColorDialogButton color_dialog_button_first_color {
140+
ColorDialogButton button_color_1 {
142141
valign: center;
143142
dialog: color_dialog;
144143
rgba: "#e01b24";
@@ -147,10 +146,10 @@ Adw.StatusPage {
147146

148147
Adw.ActionRow {
149148
title: _("Second color stop");
150-
activatable-widget: color_dialog_button_second_color;
149+
activatable-widget: button_color_2;
151150

152151
[suffix]
153-
ColorDialogButton color_dialog_button_second_color {
152+
ColorDialogButton button_color_2 {
154153
valign: center;
155154
dialog: color_dialog;
156155
rgba: "#3584e4";
@@ -159,10 +158,10 @@ Adw.StatusPage {
159158

160159
Adw.ActionRow {
161160
title: _("Third color stop");
162-
activatable-widget: color_dialog_button_third_color;
161+
activatable-widget: button_color_3;
163162

164163
[suffix]
165-
ColorDialogButton color_dialog_button_third_color {
164+
ColorDialogButton button_color_3 {
166165
valign: center;
167166
dialog: color_dialog;
168167
rgba: "#f6d32d";
@@ -173,32 +172,27 @@ Adw.StatusPage {
173172
title: _("Generated CSS");
174173

175174
Overlay {
176-
$GtkSourceView source_view {
177-
height-request: "50";
178-
sensitive: "false";
179-
monospace: "true";
180-
auto-indent: "true";
181-
indent-width: "2";
182-
insert-spaces-instead-of-tabs: "true";
183-
tab-width: "2";
184-
buffer:
185-
$GtkSourceBuffer gtksource_buffer {
186-
highlight-syntax: "true";
187-
};
188-
}
189-
190175
[overlay]
191176
Button button_copy_css {
192-
margin-top: 6;
177+
margin-bottom: 6;
193178
margin-end: 6;
194-
valign: start;
179+
valign: end;
195180
halign: end;
196-
tooltip-text: _("Copy CSS");
181+
tooltip-text: _("Copy");
197182
icon-name: "edit-copy-symbolic";
183+
styles ["flat"]
184+
}
198185

199-
styles [
200-
"flat",
201-
]
186+
GtkSource.View source_view {
187+
top-margin: 6;
188+
bottom-margin: 6;
189+
left-margin: 6;
190+
right-margin: 6;
191+
editable: false;
192+
monospace: true;
193+
buffer: GtkSource.Buffer gtksource_buffer {
194+
highlight-syntax: true;
195+
};
202196
}
203197
}
204198
}
@@ -216,5 +210,4 @@ Adw.StatusPage {
216210
}
217211
}
218212

219-
ColorDialog color_dialog {
220-
}
213+
ColorDialog color_dialog {}

src/Library/demos/CSS Gradients/main.js

Lines changed: 45 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -10,91 +10,69 @@ const combo_row_gradient_type = workbench.builder.get_object(
1010
);
1111
const adjustment_angle = workbench.builder.get_object("adjustment_angle");
1212
const spin_row_angle = workbench.builder.get_object("spin_row_angle");
13-
const color_dialog_button_first_color = workbench.builder.get_object(
14-
"color_dialog_button_first_color",
15-
);
16-
const color_dialog_button_second_color = workbench.builder.get_object(
17-
"color_dialog_button_second_color",
18-
);
19-
const color_dialog_button_third_color = workbench.builder.get_object(
20-
"color_dialog_button_third_color",
21-
);
13+
const button_color_1 = workbench.builder.get_object("button_color_1");
14+
const button_color_2 = workbench.builder.get_object("button_color_2");
15+
const button_color_3 = workbench.builder.get_object("button_color_3");
2216
const gtksource_buffer = workbench.builder.get_object("gtksource_buffer");
2317
const button_copy_css = workbench.builder.get_object("button_copy_css");
2418

25-
const clipboard = Gdk.Display.get_default().get_clipboard();
26-
27-
button_copy_css.connect("clicked", () => {
28-
clipboard.set(gtksource_buffer.text);
29-
});
19+
combo_row_gradient_type.connect("notify::selected", update);
20+
adjustment_angle.connect("value-changed", update);
21+
button_color_1.connect("notify::rgba", update);
22+
button_color_2.connect("notify::rgba", update);
23+
button_color_3.connect("notify::rgba", update);
3024

31-
combo_row_gradient_type.connect("notify::selected", () => {
25+
function update() {
3226
spin_row_angle.sensitive = combo_row_gradient_type.selected !== 1;
33-
updateGradient();
34-
});
35-
36-
adjustment_angle.connect("value-changed", () => {
37-
updateGradient();
38-
});
39-
40-
color_dialog_button_first_color.connect("notify::rgba", () => {
41-
updateGradient();
42-
});
43-
44-
color_dialog_button_second_color.connect("notify::rgba", () => {
45-
updateGradient();
46-
});
47-
48-
color_dialog_button_third_color.connect("notify::rgba", () => {
49-
updateGradient();
50-
});
51-
52-
function updateGradient() {
53-
const css = getCss();
27+
const css = generateCss();
5428
gtksource_buffer.set_text(css, -1);
5529
updateCssProvider(css);
5630
}
31+
update();
5732

58-
function getCss() {
33+
function generateCss() {
5934
const angle_string = adjustment_angle.value;
60-
const first_color_string = color_dialog_button_first_color.rgba.to_string();
61-
const second_color_string = color_dialog_button_second_color.rgba.to_string();
62-
const third_color_string = color_dialog_button_third_color.rgba.to_string();
35+
const first_color_string = button_color_1.rgba.to_string();
36+
const second_color_string = button_color_2.rgba.to_string();
37+
const third_color_string = button_color_3.rgba.to_string();
6338

64-
switch (combo_row_gradient_type.selected) {
65-
case 1:
66-
return `
39+
let css = "";
40+
41+
console.log(combo_row_gradient_type.selected);
42+
43+
if (combo_row_gradient_type.selected === 0) {
44+
css = `
6745
.background-gradient {
68-
background-image: radial-gradient(
46+
background-image: linear-gradient(
47+
${angle_string}deg,
6948
${first_color_string},
7049
${second_color_string},
7150
${third_color_string}
7251
);
73-
}
74-
`;
75-
case 2:
76-
return `
52+
}`;
53+
} else if (combo_row_gradient_type.selected === 1) {
54+
css = `
7755
.background-gradient {
78-
background-image: conic-gradient(
79-
from ${angle_string}deg,
56+
background-image: radial-gradient(
8057
${first_color_string},
8158
${second_color_string},
8259
${third_color_string}
8360
);
8461
}
8562
`;
86-
default:
87-
return `
63+
} else if (combo_row_gradient_type.selected === 2) {
64+
css = `
8865
.background-gradient {
89-
background-image: linear-gradient(
90-
${angle_string}deg,
66+
background-image: conic-gradient(
67+
from ${angle_string}deg,
9168
${first_color_string},
9269
${second_color_string},
9370
${third_color_string}
9471
);
95-
}
96-
`;
72+
}`;
9773
}
74+
75+
return css.trimStart();
9876
}
9977

10078
function updateCssProvider(css) {
@@ -113,6 +91,16 @@ function updateCssProvider(css) {
11391
);
11492
}
11593

94+
/*
95+
* code view
96+
*/
97+
98+
const clipboard = Gdk.Display.get_default().get_clipboard();
99+
100+
button_copy_css.connect("clicked", () => {
101+
clipboard.set(gtksource_buffer.text);
102+
});
103+
116104
const scheme_manager = GtkSource.StyleSchemeManager.get_default();
117105
const style_manager = Adw.StyleManager.get_default();
118106
style_manager.connect("notify::dark", () => {
@@ -125,11 +113,8 @@ function updateColorScheme() {
125113
);
126114
gtksource_buffer.set_style_scheme(scheme);
127115
}
116+
updateColorScheme();
128117

129118
const language_manager = GtkSource.LanguageManager.get_default();
130119
const css_language = language_manager.get_language("css");
131120
gtksource_buffer.set_language(css_language);
132-
133-
updateColorScheme();
134-
135-
updateGradient();

0 commit comments

Comments
 (0)