diff --git a/TODO b/TODO index b92a24f9e71e7f7f526216afaf21e6af2e38fcb7..39f53d7e7bf5448c4c5a824bdaaf49e6634013e3 100644 --- a/TODO +++ b/TODO @@ -3,11 +3,13 @@ BUGS INTRODUCED: -[ ] Cursor on readonly [ ] Window resizing broken Used to redraw on click, now redraws on scroll or drag? Now drag doesn't work either (tested on readonly, might be that) + Either way redraw on resize would be nice. BUGS SQUASHED: -[x] Font size has been changed somehow \ No newline at end of file +[x] Font size has been changed somehow + +[x] Cursor on readonly diff --git a/src/lib.rs b/src/lib.rs index 548c95b4fb50caecec0e968dee830a4e92fa96ba..6339a5b32df396bd28592449ba51b27caab517db 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -139,12 +139,18 @@ impl CosmicEditor { /// Adds the font system to each editor when added fn cosmic_editor_builder( mut added_editors: Query< - (&mut CosmicEditor, &CosmicAttrs, &CosmicMetrics), + ( + &mut CosmicEditor, + &CosmicAttrs, + &CosmicMetrics, + &BackgroundColor, + Option<&ReadOnly>, + ), Added<CosmicEditor>, >, mut font_system: ResMut<CosmicFontSystem>, ) { - for (mut editor, attrs, metrics) in added_editors.iter_mut() { + for (mut editor, attrs, metrics, background_color, readonly) in added_editors.iter_mut() { // keep old text if set let mut text = editor.get_text(); @@ -167,7 +173,14 @@ fn cosmic_editor_builder( editor .0 .buffer_mut() // TODO size here???? - .set_size(&mut font_system.0, 100., 100.) + .set_size(&mut font_system.0, 100., 100.); + + // hide cursor on readonly buffers + let mut cursor = editor.0.cursor(); + if readonly.is_some() { + cursor.color = Some(bevy_color_to_cosmic(background_color.0)); + } + editor.0.set_cursor(cursor); } }