mirror of
https://github.com/zaphar/sheetsui.git
synced 2025-07-23 13:29:48 -04:00
wip: styling: use ctrl-i or ctrl-b
This commit is contained in:
parent
8da0ebda4e
commit
dae3d71c54
@ -669,6 +669,30 @@ impl<'ws> Workspace<'ws> {
|
|||||||
self.state.reset_n_prefix();
|
self.state.reset_n_prefix();
|
||||||
self.state.char_queue.clear();
|
self.state.char_queue.clear();
|
||||||
}
|
}
|
||||||
|
KeyCode::Char('b') if key.modifiers.contains(KeyModifiers::CONTROL) => {
|
||||||
|
let address = self.book.location.clone();
|
||||||
|
self.book.set_cell_style(
|
||||||
|
&[("font.b", "true")],
|
||||||
|
&Area {
|
||||||
|
sheet: self.book.current_sheet,
|
||||||
|
row: address.row as i32,
|
||||||
|
column: address.col as i32,
|
||||||
|
width: 1,
|
||||||
|
height: 1,
|
||||||
|
})?;
|
||||||
|
}
|
||||||
|
KeyCode::Char('i') if key.modifiers.contains(KeyModifiers::CONTROL) => {
|
||||||
|
let address = self.book.location.clone();
|
||||||
|
self.book.set_cell_style(
|
||||||
|
&[("font.i", "true")],
|
||||||
|
&Area {
|
||||||
|
sheet: self.book.current_sheet,
|
||||||
|
row: address.row as i32,
|
||||||
|
column: address.col as i32,
|
||||||
|
width: 1,
|
||||||
|
height: 1,
|
||||||
|
})?;
|
||||||
|
}
|
||||||
KeyCode::Char(d) if d.is_ascii_digit() => {
|
KeyCode::Char(d) if d.is_ascii_digit() => {
|
||||||
self.handle_numeric_prefix(d);
|
self.handle_numeric_prefix(d);
|
||||||
}
|
}
|
||||||
@ -831,18 +855,6 @@ impl<'ws> Workspace<'ws> {
|
|||||||
self.state.char_queue.push('g');
|
self.state.char_queue.push('g');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
KeyCode::Char('b') => {
|
|
||||||
let address = self.book.location.clone();
|
|
||||||
self.book.set_cell_style(
|
|
||||||
&[("font.b", "true")],
|
|
||||||
&Area {
|
|
||||||
sheet: self.book.current_sheet,
|
|
||||||
row: address.row as i32,
|
|
||||||
column: address.col as i32,
|
|
||||||
width: 1,
|
|
||||||
height: 1,
|
|
||||||
})?;
|
|
||||||
}
|
|
||||||
_ => {
|
_ => {
|
||||||
// noop
|
// noop
|
||||||
self.state.char_queue.clear();
|
self.state.char_queue.clear();
|
||||||
|
@ -1291,7 +1291,7 @@ fn test_bold_text() {
|
|||||||
.expect("Failed to get style");
|
.expect("Failed to get style");
|
||||||
assert!(!before_style.font.b);
|
assert!(!before_style.font.b);
|
||||||
script()
|
script()
|
||||||
.char('b')
|
.ctrl('b')
|
||||||
.run(&mut ws)
|
.run(&mut ws)
|
||||||
.expect("Unable to run script");
|
.expect("Unable to run script");
|
||||||
let style = ws
|
let style = ws
|
||||||
@ -1301,6 +1301,25 @@ fn test_bold_text() {
|
|||||||
assert!(style.font.b);
|
assert!(style.font.b);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_italic_text() {
|
||||||
|
let mut ws = new_workspace();
|
||||||
|
let before_style = ws
|
||||||
|
.book
|
||||||
|
.get_cell_style(0, &Address { row: 1, col: 1 })
|
||||||
|
.expect("Failed to get style");
|
||||||
|
assert!(!before_style.font.i);
|
||||||
|
script()
|
||||||
|
.ctrl('i')
|
||||||
|
.run(&mut ws)
|
||||||
|
.expect("Unable to run script");
|
||||||
|
let style = ws
|
||||||
|
.book
|
||||||
|
.get_cell_style(0, &Address { row: 1, col: 1 })
|
||||||
|
.expect("Failed to get style");
|
||||||
|
assert!(style.font.i);
|
||||||
|
}
|
||||||
|
|
||||||
fn new_workspace<'a>() -> Workspace<'a> {
|
fn new_workspace<'a>() -> Workspace<'a> {
|
||||||
Workspace::new_empty("en", "America/New_York").expect("Failed to get empty workbook")
|
Workspace::new_empty("en", "America/New_York").expect("Failed to get empty workbook")
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user