mirror of
				https://github.com/johrpan/musicus.git
				synced 2025-10-26 11:47:25 +01:00 
			
		
		
		
	Update access times from selectors
This commit is contained in:
		
							parent
							
								
									a0554a478f
								
							
						
					
					
						commit
						3064f18323
					
				
					 6 changed files with 33 additions and 0 deletions
				
			
		|  | @ -5,6 +5,7 @@ use crate::widgets::Widget; | ||||||
| use adw::prelude::*; | use adw::prelude::*; | ||||||
| use gettextrs::gettext; | use gettextrs::gettext; | ||||||
| use glib::clone; | use glib::clone; | ||||||
|  | use log::warn; | ||||||
| use musicus_backend::db::Ensemble; | use musicus_backend::db::Ensemble; | ||||||
| use std::rc::Rc; | use std::rc::Rc; | ||||||
| 
 | 
 | ||||||
|  | @ -46,7 +47,12 @@ impl Screen<(), Ensemble> for EnsembleSelector { | ||||||
|                     .build(); |                     .build(); | ||||||
| 
 | 
 | ||||||
|                 let ensemble = ensemble.to_owned(); |                 let ensemble = ensemble.to_owned(); | ||||||
|  | 
 | ||||||
|                 row.connect_activated(clone!(@weak this =>  move |_| { |                 row.connect_activated(clone!(@weak this =>  move |_| { | ||||||
|  |                     if let Err(err) = this.handle.backend.db().update_ensemble(ensemble.clone()) { | ||||||
|  |                         warn!("Failed to update access time. {err}"); | ||||||
|  |                     } | ||||||
|  | 
 | ||||||
|                     this.handle.pop(Some(ensemble.clone())) |                     this.handle.pop(Some(ensemble.clone())) | ||||||
|                 })); |                 })); | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -5,6 +5,7 @@ use crate::widgets::Widget; | ||||||
| use adw::prelude::*; | use adw::prelude::*; | ||||||
| use gettextrs::gettext; | use gettextrs::gettext; | ||||||
| use glib::clone; | use glib::clone; | ||||||
|  | use log::warn; | ||||||
| use musicus_backend::db::Instrument; | use musicus_backend::db::Instrument; | ||||||
| use std::rc::Rc; | use std::rc::Rc; | ||||||
| 
 | 
 | ||||||
|  | @ -46,7 +47,12 @@ impl Screen<(), Instrument> for InstrumentSelector { | ||||||
|                     .build(); |                     .build(); | ||||||
| 
 | 
 | ||||||
|                 let instrument = instrument.to_owned(); |                 let instrument = instrument.to_owned(); | ||||||
|  | 
 | ||||||
|                 row.connect_activated(clone!(@weak this =>  move |_| { |                 row.connect_activated(clone!(@weak this =>  move |_| { | ||||||
|  |                     if let Err(err) = this.handle.backend.db().update_instrument(instrument.clone()) { | ||||||
|  |                         warn!("Failed to update access time. {err}"); | ||||||
|  |                     } | ||||||
|  | 
 | ||||||
|                     this.handle.pop(Some(instrument.clone())) |                     this.handle.pop(Some(instrument.clone())) | ||||||
|                 })); |                 })); | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -4,6 +4,7 @@ use crate::widgets::Widget; | ||||||
| use adw::prelude::*; | use adw::prelude::*; | ||||||
| use gettextrs::gettext; | use gettextrs::gettext; | ||||||
| use glib::clone; | use glib::clone; | ||||||
|  | use log::warn; | ||||||
| use musicus_backend::db::{Medium, PersonOrEnsemble}; | use musicus_backend::db::{Medium, PersonOrEnsemble}; | ||||||
| use std::rc::Rc; | use std::rc::Rc; | ||||||
| 
 | 
 | ||||||
|  | @ -109,6 +110,10 @@ impl Screen<PersonOrEnsemble, Medium> for MediumSelectorMediumScreen { | ||||||
| 
 | 
 | ||||||
|                 let medium = medium.to_owned(); |                 let medium = medium.to_owned(); | ||||||
|                 row.connect_activated(clone!(@weak this =>  move |_| { |                 row.connect_activated(clone!(@weak this =>  move |_| { | ||||||
|  |                     if let Err(err) = this.handle.backend.db().update_medium(medium.clone()) { | ||||||
|  |                         warn!("Failed to update access time. {err}"); | ||||||
|  |                     } | ||||||
|  | 
 | ||||||
|                     this.handle.pop(Some(medium.clone())); |                     this.handle.pop(Some(medium.clone())); | ||||||
|                 })); |                 })); | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -5,6 +5,7 @@ use crate::widgets::Widget; | ||||||
| use adw::prelude::*; | use adw::prelude::*; | ||||||
| use gettextrs::gettext; | use gettextrs::gettext; | ||||||
| use glib::clone; | use glib::clone; | ||||||
|  | use log::warn; | ||||||
| use musicus_backend::db::Person; | use musicus_backend::db::Person; | ||||||
| use std::rc::Rc; | use std::rc::Rc; | ||||||
| 
 | 
 | ||||||
|  | @ -46,7 +47,12 @@ impl Screen<(), Person> for PersonSelector { | ||||||
|                     .build(); |                     .build(); | ||||||
| 
 | 
 | ||||||
|                 let person = person.to_owned(); |                 let person = person.to_owned(); | ||||||
|  | 
 | ||||||
|                 row.connect_activated(clone!(@weak this =>  move |_| { |                 row.connect_activated(clone!(@weak this =>  move |_| { | ||||||
|  |                     if let Err(err) = this.handle.backend.db().update_person(person.clone()) { | ||||||
|  |                         warn!("Failed to update access time. {err}"); | ||||||
|  |                     } | ||||||
|  | 
 | ||||||
|                     this.handle.pop(Some(person.clone())); |                     this.handle.pop(Some(person.clone())); | ||||||
|                 })); |                 })); | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -5,6 +5,7 @@ use crate::widgets::Widget; | ||||||
| use adw::prelude::*; | use adw::prelude::*; | ||||||
| use gettextrs::gettext; | use gettextrs::gettext; | ||||||
| use glib::clone; | use glib::clone; | ||||||
|  | use log::warn; | ||||||
| use musicus_backend::db::{Person, Recording, Work}; | use musicus_backend::db::{Person, Recording, Work}; | ||||||
| use std::rc::Rc; | use std::rc::Rc; | ||||||
| 
 | 
 | ||||||
|  | @ -196,6 +197,10 @@ impl Screen<Work, Recording> for RecordingSelectorRecordingScreen { | ||||||
| 
 | 
 | ||||||
|                 let recording = recording.to_owned(); |                 let recording = recording.to_owned(); | ||||||
|                 row.connect_activated(clone!(@weak this =>  move |_| { |                 row.connect_activated(clone!(@weak this =>  move |_| { | ||||||
|  |                     if let Err(err) = this.handle.backend.db().update_recording(recording.clone()) { | ||||||
|  |                         warn!("Failed to update access time. {err}"); | ||||||
|  |                     } | ||||||
|  | 
 | ||||||
|                     this.handle.pop(Some(recording.clone())); |                     this.handle.pop(Some(recording.clone())); | ||||||
|                 })); |                 })); | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -5,6 +5,7 @@ use crate::widgets::Widget; | ||||||
| use adw::prelude::*; | use adw::prelude::*; | ||||||
| use gettextrs::gettext; | use gettextrs::gettext; | ||||||
| use glib::clone; | use glib::clone; | ||||||
|  | use log::warn; | ||||||
| use musicus_backend::db::{Person, Work}; | use musicus_backend::db::{Person, Work}; | ||||||
| use std::rc::Rc; | use std::rc::Rc; | ||||||
| 
 | 
 | ||||||
|  | @ -123,6 +124,10 @@ impl Screen<Person, Work> for WorkSelectorWorkScreen { | ||||||
| 
 | 
 | ||||||
|                 let work = work.to_owned(); |                 let work = work.to_owned(); | ||||||
|                 row.connect_activated(clone!(@weak this =>  move |_| { |                 row.connect_activated(clone!(@weak this =>  move |_| { | ||||||
|  |                     if let Err(err) = this.handle.backend.db().update_work(work.clone()) { | ||||||
|  |                         warn!("Failed to update access time. {err}"); | ||||||
|  |                     } | ||||||
|  | 
 | ||||||
|                     this.handle.pop(Some(work.clone())); |                     this.handle.pop(Some(work.clone())); | ||||||
|                 })); |                 })); | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue