Migrate to parking_lot

This commit is contained in:
micialware committed 2026-08-20 00:07:09 +03:00
1 parent bf805b79e5
commit 66f8a83dec
13 files changed
+85 -73

No files matched your search

+9 -7
View File
@@ -11,9 +11,11 @@ use iced::widget::{button, column, row, scrollable, space, text, text_input};
use iced::{Element, Task};
use iced_core::Length::Fill;
use iced_core::{Padding, Theme, color};
use std::sync::{Arc, Mutex};
use std::sync::Arc;
use parking_lot::Mutex;
use std::time::Duration;
pub struct RepetitionSettingsState {
set: DeckSettings,
index: usize,
@@ -23,10 +25,10 @@ pub struct RepetitionSettingsState {
}
impl RepetitionSettingsState {
pub(crate) fn new(index: usize, p1: Arc<Mutex<AppState>>) -> RepetitionSettingsState {
pub(crate) fn new(index: usize, state: Arc<Mutex<AppState>>) -> RepetitionSettingsState {
let set;
{
let local_state = p1.lock().unwrap();
let local_state = state.lock();
set = local_state.decks[index].clone();
}
let filter_state = set.check_filter();
@@ -34,7 +36,7 @@ impl RepetitionSettingsState {
RepetitionSettingsState {
index,
set,
state: p1,
state,
real_delete: false,
correct_filter: filter_state,
}
@@ -55,7 +57,7 @@ impl NavigatedPage<RepetitionSettingsMessage> for RepetitionSettingsState {
match message {
Back => {}
Save => {
let mut state = self.state.lock().unwrap();
let mut state = self.state.lock();
update_deck(&mut self.set, &state.connection);
state.decks[self.index] = self.set.clone();
}
@@ -73,7 +75,7 @@ impl NavigatedPage<RepetitionSettingsMessage> for RepetitionSettingsState {
self.correct_filter = self.set.check_filter();
}
TryFilter => {
let state = self.state.lock().unwrap();
let state = self.state.lock();
let count = self.set.get_word_list(&state).len();
self.set.count = Some(count);
}
@@ -85,7 +87,7 @@ impl NavigatedPage<RepetitionSettingsMessage> for RepetitionSettingsState {
RootMessage::RepetitionSettings(RevertDeleteSet)
});
}
let mut state = self.state.lock().unwrap();
let mut state = self.state.lock();
delete_set(&self.set, &state.connection);
state.decks.remove(self.index);
return Task::done(RootMessage::RepetitionSettings(Back));