Cargo fmt pass

This commit is contained in:
Enrico Lumetti 2020-11-21 20:26:33 +01:00
parent d456725e23
commit 7f5aae2714
2 changed files with 49 additions and 53 deletions

View File

@ -16,10 +16,10 @@
use im::Vector;
use serde::{Serialize, Deserialize};
use serde::ser::{Serializer};
use serde::de::{Deserializer, Visitor, SeqAccess};
use std::vec::{Vec};
use serde::de::{Deserializer, SeqAccess, Visitor};
use serde::ser::Serializer;
use serde::{Deserialize, Serialize};
use std::vec::Vec;
#[derive(Debug, Clone, druid::Data)]
pub struct Path {
@ -147,7 +147,7 @@ impl<'de> Visitor<'de> for PathDeserializer {
fn visit_seq<A>(self, mut seq: A) -> Result<Self::Value, A::Error>
where
A: SeqAccess<'de>
A: SeqAccess<'de>,
{
use druid::kurbo::BezPath;
@ -162,14 +162,14 @@ impl<'de> Visitor<'de> for PathDeserializer {
}
}
Ok(Path{ kurbo_path })
Ok(Path { kurbo_path })
}
}
impl<'de> Deserialize<'de> for Path {
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where
D: Deserializer<'de>
D: Deserializer<'de>,
{
deserializer.deserialize_seq(PathDeserializer)
}
@ -180,16 +180,12 @@ impl Serialize for Path {
where
S: Serializer,
{
use druid::kurbo::{PathEl};
use druid::kurbo::PathEl;
serializer.collect_seq(
self.kurbo_path.iter()
.filter_map(|path_el| {
match path_el {
serializer.collect_seq(self.kurbo_path.iter().filter_map(|path_el| match path_el {
PathEl::MoveTo(pt) => Some(Into::<(f64, f64)>::into(pt)),
PathEl::LineTo(pt) => Some(Into::<(f64, f64)>::into(pt)),
_ => None
}
_ => None,
}))
}
}

View File

@ -16,13 +16,16 @@
use log::{info, warn};
use druid::commands;
use druid::im::{vector, Vector};
use druid::kurbo::BezPath;
use druid::widget::prelude::*;
use druid::{AppLauncher, Color, Data, Event, LocalizedString, WindowDesc, AppDelegate, Target, Env, DelegateCtx, FileDialogOptions, FileSpec, Command};
use druid::commands;
use druid::{
AppDelegate, AppLauncher, Color, Command, Data, DelegateCtx, Env, Event, FileDialogOptions,
FileSpec, LocalizedString, Target, WindowDesc,
};
use stiletto::{CanvasElement, VersionedCanvas, Canvas, DocumentSnapshot};
use stiletto::{Canvas, CanvasElement, DocumentSnapshot, VersionedCanvas};
struct Delegate;
@ -51,7 +54,7 @@ impl CanvasData {
fn get_document_snapshot(&self) -> DocumentSnapshot {
DocumentSnapshot {
canvas_elements: self.elements.get().iter().cloned().collect()
canvas_elements: self.elements.get().iter().cloned().collect(),
}
}
@ -88,11 +91,9 @@ impl Widget<CanvasData> for CanvasWidget {
Event::MouseUp(_) => {
if data.is_drawing() {
if let Some(current_element) = data.current_element.take() {
data.elements.update(move |canvas: &mut Canvas| {
canvas.push_back(current_element);
});
}
}
}
@ -167,12 +168,15 @@ impl Widget<CanvasData> for CanvasWidget {
fn build_ui() -> impl Widget<CanvasData> {
use druid::widget::{Align, Button, CrossAxisAlignment, Flex, SizedBox};
let history_buttons = Flex::row()
let history_buttons =
Flex::row()
.cross_axis_alignment(CrossAxisAlignment::Center)
.with_child(
Button::new("Undo").on_click(|_ctx: &mut EventCtx, data: &mut CanvasData, _env: &Env| data.perform_undo())
)
.with_child(Button::new("Redo").on_click(|_ctx: &mut EventCtx, data: &mut CanvasData, _env: &Env| data.perform_redo()));
.with_child(Button::new("Undo").on_click(
|_ctx: &mut EventCtx, data: &mut CanvasData, _env: &Env| data.perform_undo(),
))
.with_child(Button::new("Redo").on_click(
|_ctx: &mut EventCtx, data: &mut CanvasData, _env: &Env| data.perform_redo(),
));
let stlt = FileSpec::new("Stiletto notebook", &["stlt"]);
let save_dialog_options = FileDialogOptions::new()
@ -182,9 +186,7 @@ fn build_ui() -> impl Widget<CanvasData> {
let save_buttons = Flex::row()
.cross_axis_alignment(CrossAxisAlignment::Center)
.with_child(
Button::new("Open")
.on_click(move |ctx, _, _| {
.with_child(Button::new("Open").on_click(move |ctx, _, _| {
ctx.submit_command(
Command::new(
druid::commands::SHOW_OPEN_PANEL,
@ -193,9 +195,7 @@ fn build_ui() -> impl Widget<CanvasData> {
None,
)
}))
.with_child(
Button::new("Save")
.on_click(move |ctx, _, _| {
.with_child(Button::new("Save").on_click(move |ctx, _, _| {
ctx.submit_command(
Command::new(
druid::commands::SHOW_SAVE_PANEL,
@ -205,7 +205,6 @@ fn build_ui() -> impl Widget<CanvasData> {
)
}));
let toolbar = Flex::row()
.cross_axis_alignment(CrossAxisAlignment::Center)
.with_spacer(30.0)
@ -264,7 +263,8 @@ impl AppDelegate<CanvasData> for Delegate {
}
if let Some(file_info) = cmd.get(commands::OPEN_FILE) {
if let Ok(f) = File::open(file_info.path()) {
let res_snapshot: Result<DocumentSnapshot, serde_json::Error> = serde_json::from_reader(f);
let res_snapshot: Result<DocumentSnapshot, serde_json::Error> =
serde_json::from_reader(f);
if let Ok(document_snapshot) = res_snapshot {
data.set_from_snapshot(document_snapshot);
info!("Loaded file {}", file_info.path().display());