From 5817bfcd46ee8f6ebf4b6c6f0616afab1eb86db1 Mon Sep 17 00:00:00 2001 From: Mikhail Mitrofanov Date: Sun, 4 Oct 2026 15:19:56 +0300 Subject: [PATCH] Reformat code --- src/core/deck.rs | 2 +- src/data_provider/import.rs | 4 +- src/data_provider/web_api.rs | 4 +- src/pages/dictionary.rs | 8 +-- src/pages/dictionary_quiz.rs | 6 +-- src/pages/exam.rs | 16 +++--- src/pages/exams.rs | 12 ++--- src/pages/import.rs | 2 +- src/pages/repetition_settings.rs | 4 +- src/pages/repetitions.rs | 5 +- src/pages/sync.rs | 4 +- src/pages/word.rs | 4 +- src/widgets/card_display.rs | 4 +- src/widgets/hard_mouse_area.rs | 83 ++++++++++++++++---------------- 14 files changed, 75 insertions(+), 83 deletions(-) diff --git a/src/core/deck.rs b/src/core/deck.rs index 7366068..c0bef0e 100644 --- a/src/core/deck.rs +++ b/src/core/deck.rs @@ -172,7 +172,7 @@ impl DeckData { let query = dictionary.query_par(Arc::new(move |word| { let mut more = rhai::Map::new(); for kv in &word.additional { - more.insert(fields[&kv.0].clone().into(), kv.1.clone().into()); + more.insert(fields[kv.0].clone().into(), kv.1.clone().into()); } let mut scope = Scope::new(); let group_name = groups[groups diff --git a/src/data_provider/import.rs b/src/data_provider/import.rs index 4043dcb..c7b7070 100644 --- a/src/data_provider/import.rs +++ b/src/data_provider/import.rs @@ -93,8 +93,8 @@ fn load_old_schema(connection: &Connection) -> Result Result { - return Err(IncorrectAnkiFile); +fn load_new_schema(_: &Connection) -> Result { + Err(IncorrectAnkiFile) } pub fn get_words_of_group( connection: &Connection, diff --git a/src/data_provider/web_api.rs b/src/data_provider/web_api.rs index 31f31e1..529a631 100644 --- a/src/data_provider/web_api.rs +++ b/src/data_provider/web_api.rs @@ -54,7 +54,7 @@ pub async fn load_data(id: String, temp: bool) -> MaybeError { .map_err(|e| WebApiUnavailable)? .bytes() .await - .map_err(|e| WebApiUnavailable)? + .map_err(|_| WebApiUnavailable)? .to_vec(); let data = decompress(data)?; @@ -64,7 +64,7 @@ pub async fn load_data(id: String, temp: bool) -> MaybeError { tokio::fs::write(db_file, data) .await - .map_err(|e| PermissionDenied)?; + .map_err(|_| PermissionDenied)?; let version_url = format!("{API_URL}{id}/version"); let version = client diff --git a/src/pages/dictionary.rs b/src/pages/dictionary.rs index 1b7e4f6..bd3f091 100644 --- a/src/pages/dictionary.rs +++ b/src/pages/dictionary.rs @@ -152,7 +152,7 @@ impl NavigatedPage for DictionaryState { } ExtendedEdit(i) => { self.word_editor = Some(self.editor_for_word(i)); - if let Some((_, _, index)) = self.selected_cell.clone() { + if let Some((_, _, index)) = self.selected_cell { self.selected_cell = Some((i, TotalLine, index)) } } @@ -500,9 +500,9 @@ impl DictionaryState { let word_line_data = WordLineState { is_included: self.included.contains(word_handle), - key: word.key.clone().into(), - value: word.value.clone().into(), - tags: word.tags.clone().into(), + key: word.key.clone(), + value: word.value.clone(), + tags: word.tags.clone(), handle: *word_handle, selection, number: i, diff --git a/src/pages/dictionary_quiz.rs b/src/pages/dictionary_quiz.rs index 3868c45..d4fe56e 100644 --- a/src/pages/dictionary_quiz.rs +++ b/src/pages/dictionary_quiz.rs @@ -9,11 +9,11 @@ use crate::pages::dictionary_quiz::DictionaryQuizMessage::*; use crate::pages::quiz::Score; use crate::styling::*; use crate::{jl_button, jl_text_input}; -use iced::Background::Color; use iced::border::Radius; use iced::widget::container::Style; -use iced::widget::{Row, container, row, space, text, text_input}; -use iced::{Border, Element, Fill, Task, Theme, alignment}; +use iced::widget::{container, row, space, text, Row}; +use iced::Background::Color; +use iced::{alignment, Border, Element, Fill, Task, Theme}; use rand::prelude::SliceRandom; pub struct DictionaryQuizState { diff --git a/src/pages/exam.rs b/src/pages/exam.rs index 4a1d918..5c0c5c4 100644 --- a/src/pages/exam.rs +++ b/src/pages/exam.rs @@ -1,24 +1,22 @@ use crate::app::AppState; -use crate::core::deck::DeckData; -use crate::core::srs::WordOpenMode; -use crate::data::Id; -use crate::data::entities::{CustomField, DeckSettings, EntityHandle, Exam, ExamEntry, WordData}; +use crate::data::entities::{CustomField, DeckSettings, EntityHandle, ExamEntry, WordData}; use crate::data::repositories::Repository; +use crate::data::Id; use crate::navigation::Page::PreviousPage; use crate::navigation::{KeyPressedPage, NavigatedPage, Page, RootMessage}; use crate::pages::exam::ExamMessage::*; -use crate::pages::repetition::{RepetitionMessage, play_sound}; +use crate::pages::repetition::play_sound; use crate::styling::*; use crate::{push_error, push_error_task}; use iced::widget::space::horizontal; use iced::widget::{button, column, container, progress_bar, row, text, tooltip}; use iced::{Element, Task}; +use iced_core::keyboard::key::Physical::Code; +use iced_core::keyboard::Event; +use iced_core::widget::text::Style; use iced_core::Alignment::Center; use iced_core::Length::Fill; -use iced_core::keyboard::Event; -use iced_core::keyboard::key::Physical::Code; -use iced_core::widget::text::Style; -use iced_core::{Theme, keyboard}; +use iced_core::{keyboard, Theme}; use rand::prelude::SliceRandom; use rand::rng; use rodio::MixerDeviceSink; diff --git a/src/pages/exams.rs b/src/pages/exams.rs index 2d3733a..80d74c1 100644 --- a/src/pages/exams.rs +++ b/src/pages/exams.rs @@ -1,7 +1,7 @@ use crate::app::AppState; -use crate::data::Id; use crate::data::entities::{DeckSettings, EntityHandle, Exam, ExamEntry, WordData}; use crate::data::repositories::{BatchedRepository, Repository}; +use crate::data::Id; use crate::navigation::Page::PreviousPage; use crate::navigation::{NavigatedPage, Page, RootMessage}; use crate::notification::MaybeError; @@ -10,7 +10,7 @@ use crate::pages::exams::ExamsMessage::*; use crate::pages::repetitions::Style; use crate::push_error; use crate::styling::{ - BUTTON_RADIUS, DEFAULT_SPACING, HALF_SPACING, QUARTER_SPACING, back_overlay, cta_button, + back_overlay, cta_button, BUTTON_RADIUS, DEFAULT_SPACING, HALF_SPACING, QUARTER_SPACING, }; use crate::{jl_button, push_error_task}; use chrono::{Local, Utc}; @@ -18,8 +18,8 @@ use iced::widget::button::Status; use iced::widget::container::bordered_box; use iced::widget::space::horizontal; use iced::widget::{ - Column, button, center, center_x, column, container, row, rule, scrollable, space, text, - tooltip, + button, center_x, column, container, row, rule, scrollable, space, text, tooltip, + Column, }; use iced::{Element, Task}; use iced_core::Alignment::*; @@ -172,7 +172,7 @@ impl ExamsState { .iter(&state.exam.read()) .cloned() .zip(handles) - .map(|(e, h)| (h, ExamExtended::from(e, &state))) + .map(|(e, h)| (h, ExamExtended::from(e, state))) .collect() } } @@ -338,7 +338,7 @@ impl ExamsState { .into() } - fn exam_ongoing_view(&self, exam: &ExamExtended) -> Element<'_, ExamsMessage> { + fn exam_ongoing_view(&self, _: &ExamExtended) -> Element<'_, ExamsMessage> { center_x( button("Продолжить экзамен") .style(cta_button) diff --git a/src/pages/import.rs b/src/pages/import.rs index 44125ee..a3d923f 100644 --- a/src/pages/import.rs +++ b/src/pages/import.rs @@ -15,7 +15,7 @@ use crate::{jl_text_input, push_error}; use iced::widget::button::danger; use iced::widget::container::success; use iced::widget::{ - Row, button, checkbox, column, container, progress_bar, row, rule, text, text_input, + Row, button, checkbox, column, container, progress_bar, row, rule, text, }; use iced::widget::{scrollable, space}; use iced::{Element, Task}; diff --git a/src/pages/repetition_settings.rs b/src/pages/repetition_settings.rs index 904a9d9..8d44ca6 100644 --- a/src/pages/repetition_settings.rs +++ b/src/pages/repetition_settings.rs @@ -12,10 +12,10 @@ use crate::{push_error, push_error_task}; use iced::widget::button::danger; use iced::widget::space::horizontal; use iced::widget::text_input::Catalog; -use iced::widget::{button, column, row, scrollable, space, text, text_input}; +use iced::widget::{button, column, row, scrollable, space, text}; use iced::{Element, Task}; use iced_core::Length::Fill; -use iced_core::{Padding, Theme, color}; +use iced_core::{color, Padding, Theme}; use std::sync::Arc; use std::time::Duration; diff --git a/src/pages/repetitions.rs b/src/pages/repetitions.rs index 73938f7..8ce7e34 100644 --- a/src/pages/repetitions.rs +++ b/src/pages/repetitions.rs @@ -76,10 +76,7 @@ impl NavigatedPage for RepetitionsState { ))) } else if let GoToExams = message { Some(Exams(ExamsState::new(self.selected_deck_handle.unwrap(), self.state.clone()))) - } else - { - None - } + } else { None } } fn navigated(&mut self) { if let Some(index) = self.selected_deck_handle { diff --git a/src/pages/sync.rs b/src/pages/sync.rs index 0a61b5b..8ae8e23 100644 --- a/src/pages/sync.rs +++ b/src/pages/sync.rs @@ -5,7 +5,7 @@ use crate::data_provider::web_api::*; use crate::jl_button; use crate::navigation::Page::PreviousPage; use crate::navigation::{NavigatedPage, Page, RootMessage}; -use crate::notification::{MaybeError, NotificationData, NotificationRequest}; +use crate::notification::{NotificationData, NotificationRequest}; use crate::pages::sync::SyncMessage::*; use crate::styling::*; use crate::{push_error, push_error_task}; @@ -107,7 +107,7 @@ impl NavigatedPage for SyncState { return Task::batch([ Task::future(async { tokio::time::sleep(Duration::from_millis(3000)).await; - return RootMessage::Sync(ResetRealLoad); + RootMessage::Sync(ResetRealLoad) }), Task::done(RootMessage::PushNotification(NotificationRequest::Warning(LocalVersionChanged))) ]); diff --git a/src/pages/word.rs b/src/pages/word.rs index 5f01928..c8bde7e 100644 --- a/src/pages/word.rs +++ b/src/pages/word.rs @@ -138,9 +138,7 @@ impl WordEditor { impl WordEditor { fn get_view_for_more(&self, value: (&Id, &String)) -> Element<'_, WordMessage> { let field = self.fields.iter().find(|f| f.id == *value.0).unwrap(); - match value.0 { - _ => self.additional_field(value.1, field.name.as_str(), value.0.clone()), - } + self.additional_field(value.1, field.name.as_str(), *value.0) } fn additional_field(&self, value: &str, name: &str, id: Id) -> Element<'_, WordMessage> { diff --git a/src/widgets/card_display.rs b/src/widgets/card_display.rs index 81f31d3..b7f7e81 100644 --- a/src/widgets/card_display.rs +++ b/src/widgets/card_display.rs @@ -1,9 +1,9 @@ use crate::data::entities::{CustomField, DeckSettings, WordData}; use crate::data::Id; -use iced::widget::{button, center, column, rule, space, text}; +use crate::styling::HALF_SPACING; +use iced::widget::{button, center, column, rule, text}; use iced_core::Alignment::Center; use iced_core::Length::Fill; -use crate::styling::HALF_SPACING; pub fn word_display<'a, T: 'a + Clone>( deck: &DeckSettings, diff --git a/src/widgets/hard_mouse_area.rs b/src/widgets/hard_mouse_area.rs index 3f4d5a6..de5979d 100644 --- a/src/widgets/hard_mouse_area.rs +++ b/src/widgets/hard_mouse_area.rs @@ -1,8 +1,7 @@ -use iced::widget::MouseArea; -use iced_core::widget::{Operation, Tree, tree}; +use iced_core::widget::{tree, Operation, Tree}; use iced_core::{ - Clipboard, Element, Event, Layout, Length, Point, Rectangle, Shell, Size, Vector, Widget, - layout, mouse, overlay, renderer, touch, + layout, mouse, overlay, renderer, touch, Clipboard, Element, Event, Layout, Length, Point, + Rectangle, Shell, Size, Vector, Widget, }; pub fn hard_mouse_area<'a, Message, Theme, Renderer>( @@ -161,6 +160,42 @@ where Renderer: renderer::Renderer, Message: Clone, { + fn size(&self) -> Size { + self.content.as_widget().size() + } + + fn layout( + &mut self, + tree: &mut Tree, + renderer: &Renderer, + limits: &layout::Limits, + ) -> layout::Node { + self.content + .as_widget_mut() + .layout(&mut tree.children[0], renderer, limits) + } + + fn draw( + &self, + tree: &Tree, + renderer: &mut Renderer, + theme: &Theme, + renderer_style: &renderer::Style, + layout: Layout<'_>, + cursor: mouse::Cursor, + viewport: &Rectangle, + ) { + self.content.as_widget().draw( + &tree.children[0], + renderer, + theme, + renderer_style, + layout, + cursor, + viewport, + ); + } + fn tag(&self) -> tree::Tag { tree::Tag::of::() } @@ -177,21 +212,6 @@ where tree.diff_children(std::slice::from_ref(&self.content)); } - fn size(&self) -> Size { - self.content.as_widget().size() - } - - fn layout( - &mut self, - tree: &mut Tree, - renderer: &Renderer, - limits: &layout::Limits, - ) -> layout::Node { - self.content - .as_widget_mut() - .layout(&mut tree.children[0], renderer, limits) - } - fn operate( &mut self, tree: &mut Tree, @@ -231,7 +251,7 @@ where } if self.on_enter.is_none() - && let Event::Mouse(mouse::Event::CursorEntered { .. }) = event + && let Event::Mouse(mouse::Event::CursorEntered) = event { self.content.as_widget_mut().update( &mut tree.children[0], @@ -245,7 +265,7 @@ where ); } if self.on_exit.is_none() - && let Event::Mouse(mouse::Event::CursorLeft { .. }) = event + && let Event::Mouse(mouse::Event::CursorLeft) = event { self.content.as_widget_mut().update( &mut tree.children[0], @@ -290,27 +310,6 @@ where } } - fn draw( - &self, - tree: &Tree, - renderer: &mut Renderer, - theme: &Theme, - renderer_style: &renderer::Style, - layout: Layout<'_>, - cursor: mouse::Cursor, - viewport: &Rectangle, - ) { - self.content.as_widget().draw( - &tree.children[0], - renderer, - theme, - renderer_style, - layout, - cursor, - viewport, - ); - } - fn overlay<'b>( &'b mut self, tree: &'b mut Tree,