@@ -10,91 +10,69 @@ const combo_row_gradient_type = workbench.builder.get_object(
1010) ;
1111const adjustment_angle = workbench . builder . get_object ( "adjustment_angle" ) ;
1212const 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" ) ;
2216const gtksource_buffer = workbench . builder . get_object ( "gtksource_buffer" ) ;
2317const 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
10078function 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+
116104const scheme_manager = GtkSource . StyleSchemeManager . get_default ( ) ;
117105const style_manager = Adw . StyleManager . get_default ( ) ;
118106style_manager . connect ( "notify::dark" , ( ) => {
@@ -125,11 +113,8 @@ function updateColorScheme() {
125113 ) ;
126114 gtksource_buffer . set_style_scheme ( scheme ) ;
127115}
116+ updateColorScheme ( ) ;
128117
129118const language_manager = GtkSource . LanguageManager . get_default ( ) ;
130119const css_language = language_manager . get_language ( "css" ) ;
131120gtksource_buffer . set_language ( css_language ) ;
132-
133- updateColorScheme ( ) ;
134-
135- updateGradient ( ) ;
0 commit comments