mirror of
https://github.com/johrpan/musicus.git
synced 2025-10-26 11:47:25 +01:00
Use access time in some selectors
For now, only persons, instruments and ensembles will be ordered by access time.
This commit is contained in:
parent
3064f18323
commit
3a27113bda
9 changed files with 34 additions and 7 deletions
|
|
@ -64,4 +64,13 @@ impl Database {
|
||||||
let ensembles = ensembles::table.load::<Ensemble>(&self.connection)?;
|
let ensembles = ensembles::table.load::<Ensemble>(&self.connection)?;
|
||||||
Ok(ensembles)
|
Ok(ensembles)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Get recently used ensembles.
|
||||||
|
pub fn get_recent_ensembles(&self) -> Result<Vec<Ensemble>> {
|
||||||
|
let ensembles = ensembles::table
|
||||||
|
.order(ensembles::last_used.desc())
|
||||||
|
.load::<Ensemble>(&self.connection)?;
|
||||||
|
|
||||||
|
Ok(ensembles)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -67,4 +67,13 @@ impl Database {
|
||||||
|
|
||||||
Ok(instruments)
|
Ok(instruments)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Get recently used instruments.
|
||||||
|
pub fn get_recent_instruments(&self) -> Result<Vec<Instrument>> {
|
||||||
|
let instruments = instruments::table
|
||||||
|
.order(instruments::last_used.desc())
|
||||||
|
.load::<Instrument>(&self.connection)?;
|
||||||
|
|
||||||
|
Ok(instruments)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -77,4 +77,13 @@ impl Database {
|
||||||
|
|
||||||
Ok(persons)
|
Ok(persons)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Get recently used persons.
|
||||||
|
pub fn get_recent_persons(&self) -> Result<Vec<Person>> {
|
||||||
|
let persons = persons::table
|
||||||
|
.order(persons::last_used.desc())
|
||||||
|
.load::<Person>(&self.connection)?;
|
||||||
|
|
||||||
|
Ok(persons)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -63,7 +63,7 @@ impl Screen<(), Ensemble> for EnsembleSelector {
|
||||||
.set_filter(|search, ensemble| ensemble.name.to_lowercase().contains(search));
|
.set_filter(|search, ensemble| ensemble.name.to_lowercase().contains(search));
|
||||||
|
|
||||||
this.selector
|
this.selector
|
||||||
.set_items(this.handle.backend.db().get_ensembles().unwrap());
|
.set_items(this.handle.backend.db().get_recent_ensembles().unwrap());
|
||||||
|
|
||||||
this
|
this
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -63,7 +63,7 @@ impl Screen<(), Instrument> for InstrumentSelector {
|
||||||
.set_filter(|search, instrument| instrument.name.to_lowercase().contains(search));
|
.set_filter(|search, instrument| instrument.name.to_lowercase().contains(search));
|
||||||
|
|
||||||
this.selector
|
this.selector
|
||||||
.set_items(this.handle.backend.db().get_instruments().unwrap());
|
.set_items(this.handle.backend.db().get_recent_instruments().unwrap());
|
||||||
|
|
||||||
this
|
this
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -55,8 +55,8 @@ impl Screen<(), Medium> for MediumSelector {
|
||||||
|
|
||||||
let mut poes = Vec::new();
|
let mut poes = Vec::new();
|
||||||
|
|
||||||
let persons = this.handle.backend.db().get_persons().unwrap();
|
let persons = this.handle.backend.db().get_recent_persons().unwrap();
|
||||||
let ensembles = this.handle.backend.db().get_ensembles().unwrap();
|
let ensembles = this.handle.backend.db().get_recent_ensembles().unwrap();
|
||||||
|
|
||||||
for person in persons {
|
for person in persons {
|
||||||
poes.push(PersonOrEnsemble::Person(person));
|
poes.push(PersonOrEnsemble::Person(person));
|
||||||
|
|
|
||||||
|
|
@ -63,7 +63,7 @@ impl Screen<(), Person> for PersonSelector {
|
||||||
.set_filter(|search, person| person.name_fl().to_lowercase().contains(search));
|
.set_filter(|search, person| person.name_fl().to_lowercase().contains(search));
|
||||||
|
|
||||||
this.selector
|
this.selector
|
||||||
.set_items(this.handle.backend.db().get_persons().unwrap());
|
.set_items(this.handle.backend.db().get_recent_persons().unwrap());
|
||||||
|
|
||||||
this
|
this
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -81,7 +81,7 @@ impl Screen<(), Recording> for RecordingSelector {
|
||||||
.set_filter(|search, person| person.name_fl().to_lowercase().contains(search));
|
.set_filter(|search, person| person.name_fl().to_lowercase().contains(search));
|
||||||
|
|
||||||
this.selector
|
this.selector
|
||||||
.set_items(this.handle.backend.db().get_persons().unwrap());
|
.set_items(this.handle.backend.db().get_recent_persons().unwrap());
|
||||||
|
|
||||||
this
|
this
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -71,7 +71,7 @@ impl Screen<(), Work> for WorkSelector {
|
||||||
.set_filter(|search, person| person.name_fl().to_lowercase().contains(search));
|
.set_filter(|search, person| person.name_fl().to_lowercase().contains(search));
|
||||||
|
|
||||||
this.selector
|
this.selector
|
||||||
.set_items(this.handle.backend.db().get_persons().unwrap());
|
.set_items(this.handle.backend.db().get_recent_persons().unwrap());
|
||||||
|
|
||||||
this
|
this
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue