Skip to content

Commit

Permalink
Code cleanup.
Browse files Browse the repository at this point in the history
  • Loading branch information
Dygear authored and jackpot51 committed Jan 17, 2024
1 parent 3233ed8 commit 677c924
Show file tree
Hide file tree
Showing 2 changed files with 105 additions and 118 deletions.
81 changes: 38 additions & 43 deletions src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -445,7 +445,6 @@ impl App {
}

fn save_config(&mut self) -> Command<Message> {

if let Some(ref config_handler) = self.config_handler {
if let Err(err) = self.config.write_entry(config_handler) {
log::error!("failed to save config: {}", err);
Expand Down Expand Up @@ -1667,51 +1666,47 @@ impl Application for App {
self.set_context_title(context_page.title());

// Execute commands for specific pages
if self.core.window.show_context {
match self.context_page {
ContextPage::GitManagement => {
self.git_project_status = None;
let projects = self.projects.clone();
return Command::perform(
async move {
let mut project_status = Vec::new();
for (project_name, project_path) in projects.iter() {
//TODO: send errors to UI
match GitRepository::new(project_path) {
Ok(repo) => match repo.status().await {
Ok(status) => {
if !status.is_empty() {
project_status.push((
project_name.clone(),
project_path.clone(),
status,
));
}
}
Err(err) => {
log::error!(
"failed to get status of {:?}: {}",
project_path,
err
);
}
},
Err(err) => {
log::error!(
"failed to open repository {:?}: {}",
project_path,
err
);
if self.core.window.show_context && self.context_page == ContextPage::GitManagement
{
self.git_project_status = None;
let projects = self.projects.clone();
return Command::perform(
async move {
let mut project_status = Vec::new();
for (project_name, project_path) in projects.iter() {
//TODO: send errors to UI
match GitRepository::new(project_path) {
Ok(repo) => match repo.status().await {
Ok(status) => {
if !status.is_empty() {
project_status.push((
project_name.clone(),
project_path.clone(),
status,
));
}
}
Err(err) => {
log::error!(
"failed to get status of {:?}: {}",
project_path,
err
);
}
},
Err(err) => {
log::error!(
"failed to open repository {:?}: {}",
project_path,
err
);
}
message::app(Message::GitProjectStatus(project_status))
},
|x| x,
);
}
_ => {}
}
}
}
message::app(Message::GitProjectStatus(project_status))
},
|x| x,
);
}

// Ensure focus of correct input
Expand Down
142 changes: 67 additions & 75 deletions src/text_box.rs
Original file line number Diff line number Diff line change
Expand Up @@ -608,17 +608,14 @@ where
Point::new(image_position.x + scrollbar_rect.x, image_position.y),
Size::new(scrollbar_rect.width, layout.bounds().height),
),
border_radius: (scrollbar_rect.width as f32 / 2.0).into(),
border_radius: (scrollbar_rect.width / 2.0).into(),
border_width: 0.0,
border_color: Color::TRANSPARENT,
},
Color::from(track_color),
);

let pressed = match &state.dragging {
Some(Dragging::Scrollbar { .. }) => true,
_ => false,
};
let pressed = matches!(&state.dragging, Some(Dragging::Scrollbar { .. }));

let mut hover = false;
if let Some(p) = cursor_position.position_in(layout.bounds()) {
Expand Down Expand Up @@ -668,7 +665,7 @@ where
renderer.fill_quad(
Quad {
bounds: scrollbar_draw,
border_radius: (scrollbar_draw.width as f32 / 2.0).into(),
border_radius: (scrollbar_draw.width / 2.0).into(),
border_width: 0.0,
border_color: Color::TRANSPARENT,
},
Expand Down Expand Up @@ -706,81 +703,76 @@ where
Event::Keyboard(KeyEvent::KeyPressed {
key_code,
modifiers,
}) if state.is_focused => {
match key_code {
KeyCode::Left => {
editor.action(Action::Motion(Motion::Left));
status = Status::Captured;
}
KeyCode::Right => {
editor.action(Action::Motion(Motion::Right));
status = Status::Captured;
}
KeyCode::Up => {
editor.action(Action::Motion(Motion::Up));
status = Status::Captured;
}
KeyCode::Down => {
editor.action(Action::Motion(Motion::Down));
status = Status::Captured;
}
KeyCode::Home => {
editor.action(Action::Motion(Motion::Home));
status = Status::Captured;
}
KeyCode::End => {
editor.action(Action::Motion(Motion::End));
status = Status::Captured;
}
KeyCode::PageUp => {
editor.action(Action::Motion(Motion::PageUp));
status = Status::Captured;
}
KeyCode::PageDown => {
editor.action(Action::Motion(Motion::PageDown));
status = Status::Captured;
}
KeyCode::Escape => {
editor.action(Action::Escape);
status = Status::Captured;
}
KeyCode::Enter => {
editor.action(Action::Enter);
status = Status::Captured;
}
KeyCode::Backspace => {
editor.action(Action::Backspace);
status = Status::Captured;
}
KeyCode::Delete => {
editor.action(Action::Delete);
status = Status::Captured;
}
KeyCode::Tab => {
if modifiers.shift() {
editor.action(Action::Unindent);
} else {
editor.action(Action::Indent);
}
status = Status::Captured;
}
_ => (),
}) if state.is_focused => match key_code {
KeyCode::Left => {
editor.action(Action::Motion(Motion::Left));
status = Status::Captured;
}
KeyCode::Right => {
editor.action(Action::Motion(Motion::Right));
status = Status::Captured;
}
KeyCode::Up => {
editor.action(Action::Motion(Motion::Up));
status = Status::Captured;
}
KeyCode::Down => {
editor.action(Action::Motion(Motion::Down));
status = Status::Captured;
}
KeyCode::Home => {
editor.action(Action::Motion(Motion::Home));
status = Status::Captured;
}
KeyCode::End => {
editor.action(Action::Motion(Motion::End));
status = Status::Captured;
}
KeyCode::PageUp => {
editor.action(Action::Motion(Motion::PageUp));
status = Status::Captured;
}
KeyCode::PageDown => {
editor.action(Action::Motion(Motion::PageDown));
status = Status::Captured;
}
KeyCode::Escape => {
editor.action(Action::Escape);
status = Status::Captured;
}
KeyCode::Enter => {
editor.action(Action::Enter);
status = Status::Captured;
}
KeyCode::Backspace => {
editor.action(Action::Backspace);
status = Status::Captured;
}
KeyCode::Delete => {
editor.action(Action::Delete);
status = Status::Captured;
}
KeyCode::Tab => {
if modifiers.shift() {
editor.action(Action::Unindent);
} else {
editor.action(Action::Indent);
}
}
status = Status::Captured;
}
_ => (),
},
Event::Keyboard(KeyEvent::ModifiersChanged(modifiers)) => {
state.modifiers = modifiers;
}
Event::Keyboard(KeyEvent::CharacterReceived(character)) if state.is_focused => {
// Only parse keys when Super, Ctrl, and Alt are not pressed
if !state.modifiers.logo()
&& !state.modifiers.control()
&& !state.modifiers.alt()
{
if !character.is_control() {
editor.action(Action::Insert(character));
}
status = Status::Captured;
// Only parse keys when Super, Ctrl, and Alt are not pressed
if !state.modifiers.logo() && !state.modifiers.control() && !state.modifiers.alt() {
if !character.is_control() {
editor.action(Action::Insert(character));
}
status = Status::Captured;
}
}
Event::Mouse(MouseEvent::ButtonPressed(button)) => {
if let Some(p) = cursor_position.position_in(layout.bounds()) {
Expand Down

0 comments on commit 677c924

Please sign in to comment.