cargo fmt

This commit is contained in:
Henrik Friedrichsen
2019-03-05 23:26:23 +01:00
parent 766b894aa0
commit 0f3cc41115
5 changed files with 51 additions and 24 deletions

View File

@@ -25,9 +25,9 @@ use std::sync::Arc;
use std::sync::Mutex; use std::sync::Mutex;
use cursive::event::Key; use cursive::event::Key;
use cursive::traits::Identifiable;
use cursive::view::ScrollStrategy; use cursive::view::ScrollStrategy;
use cursive::views::*; use cursive::views::*;
use cursive::traits::Identifiable;
use cursive::Cursive; use cursive::Cursive;
mod config; mod config;

View File

@@ -29,8 +29,8 @@ use tokio_core::reactor::Core;
use std::sync::Arc; use std::sync::Arc;
use std::sync::Mutex; use std::sync::Mutex;
use std::sync::RwLock; use std::sync::RwLock;
use std::time::{Duration, SystemTime};
use std::thread; use std::thread;
use std::time::{Duration, SystemTime};
use events::{Event, EventManager}; use events::{Event, EventManager};
use queue::Queue; use queue::Queue;
@@ -99,7 +99,8 @@ impl futures::Future for Worker {
debug!("message received!"); debug!("message received!");
match cmd { match cmd {
WorkerCommand::Load(track) => { WorkerCommand::Load(track) => {
let trackid = SpotifyId::from_base62(&track.id).expect("could not load track"); let trackid =
SpotifyId::from_base62(&track.id).expect("could not load track");
self.play_task = Box::new(self.player.load(trackid, false, 0)); self.play_task = Box::new(self.player.load(trackid, false, 0));
info!("player loading track.."); info!("player loading track..");
self.events.send(Event::PlayerTrack(Some(track))); self.events.send(Event::PlayerTrack(Some(track)));
@@ -238,36 +239,58 @@ impl Spotify {
} }
pub fn get_current_status(&self) -> PlayerStatus { pub fn get_current_status(&self) -> PlayerStatus {
let status = self.status.read().expect("could not acquire read lock on playback status"); let status = self
.status
.read()
.expect("could not acquire read lock on playback status");
(*status).clone() (*status).clone()
} }
pub fn get_current_track(&self) -> Option<FullTrack> { pub fn get_current_track(&self) -> Option<FullTrack> {
let track = self.track.read().expect("could not acquire read lock on current track"); let track = self
.track
.read()
.expect("could not acquire read lock on current track");
(*track).clone() (*track).clone()
} }
pub fn get_current_progress(&self) -> Duration { pub fn get_current_progress(&self) -> Duration {
self.get_elapsed().unwrap_or(Duration::from_secs(0)) + self.get_since().map(|t| t.elapsed().unwrap()).unwrap_or(Duration::from_secs(0)) self.get_elapsed().unwrap_or(Duration::from_secs(0))
+ self
.get_since()
.map(|t| t.elapsed().unwrap())
.unwrap_or(Duration::from_secs(0))
} }
fn set_elapsed(&self, new_elapsed: Option<Duration>) { fn set_elapsed(&self, new_elapsed: Option<Duration>) {
let mut elapsed = self.elapsed.write().expect("could not acquire write lock on elapsed time"); let mut elapsed = self
.elapsed
.write()
.expect("could not acquire write lock on elapsed time");
*elapsed = new_elapsed; *elapsed = new_elapsed;
} }
fn get_elapsed(&self) -> Option<Duration> { fn get_elapsed(&self) -> Option<Duration> {
let elapsed = self.elapsed.read().expect("could not acquire read lock on elapsed time"); let elapsed = self
.elapsed
.read()
.expect("could not acquire read lock on elapsed time");
(*elapsed).clone() (*elapsed).clone()
} }
fn set_since(&self, new_since: Option<SystemTime>) { fn set_since(&self, new_since: Option<SystemTime>) {
let mut since = self.since.write().expect("could not acquire write lock on since time"); let mut since = self
.since
.write()
.expect("could not acquire write lock on since time");
*since = new_since; *since = new_since;
} }
fn get_since(&self) -> Option<SystemTime> { fn get_since(&self) -> Option<SystemTime> {
let since = self.since.read().expect("could not acquire read lock on since time"); let since = self
.since
.read()
.expect("could not acquire read lock on since time");
(*since).clone() (*since).clone()
} }
@@ -300,10 +323,10 @@ impl Spotify {
PlayerStatus::Paused => { PlayerStatus::Paused => {
self.set_elapsed(Some(self.get_current_progress())); self.set_elapsed(Some(self.get_current_progress()));
self.set_since(None); self.set_since(None);
}, }
PlayerStatus::Playing => { PlayerStatus::Playing => {
self.set_since(Some(SystemTime::now())); self.set_since(Some(SystemTime::now()));
}, }
PlayerStatus::Stopped => { PlayerStatus::Stopped => {
self.set_elapsed(None); self.set_elapsed(None);
self.set_since(None); self.set_since(None);
@@ -321,7 +344,10 @@ impl Spotify {
self.set_elapsed(None); self.set_elapsed(None);
self.set_since(None); self.set_since(None);
let mut track = self.track.write().expect("could not acquire write lock on current track"); let mut track = self
.track
.write()
.expect("could not acquire write lock on current track");
*track = new_track; *track = new_track;
} }

View File

@@ -1,16 +1,16 @@
use std::collections::{HashMap}; use std::collections::HashMap;
use cursive::direction::Direction; use cursive::direction::Direction;
use cursive::event::{Event, EventResult, AnyCb}; use cursive::event::{AnyCb, Event, EventResult};
use cursive::traits::View; use cursive::traits::View;
use cursive::view::{IntoBoxedView, Selector};
use cursive::vec::Vec2; use cursive::vec::Vec2;
use cursive::view::{IntoBoxedView, Selector};
use cursive::Printer; use cursive::Printer;
pub struct Layout { pub struct Layout {
views: HashMap<String, Box<dyn View>>, views: HashMap<String, Box<dyn View>>,
statusbar: Box<dyn View>, statusbar: Box<dyn View>,
focus: Option<String> focus: Option<String>,
} }
impl Layout { impl Layout {
@@ -18,7 +18,7 @@ impl Layout {
Layout { Layout {
views: HashMap::new(), views: HashMap::new(),
statusbar: status.as_boxed_view(), statusbar: status.as_boxed_view(),
focus: None focus: None,
} }
} }
@@ -45,12 +45,13 @@ impl View for Layout {
let v = self.views.get(id).unwrap(); let v = self.views.get(id).unwrap();
let printer = &printer let printer = &printer
.offset((0, 0)) .offset((0, 0))
.cropped((printer.size.x, printer.size.y - 2)) .cropped((printer.size.x, printer.size.y))
.focused(true); .focused(true);
v.draw(printer); v.draw(printer);
} }
self.statusbar.draw(&printer.offset((0, printer.size.y - 2))); self.statusbar
.draw(&printer.offset((0, printer.size.y - 2)));
} }
fn required_size(&mut self, constraint: Vec2) -> Vec2 { fn required_size(&mut self, constraint: Vec2) -> Vec2 {
@@ -69,7 +70,7 @@ impl View for Layout {
fn layout(&mut self, size: Vec2) { fn layout(&mut self, size: Vec2) {
if let Some(ref id) = self.focus { if let Some(ref id) = self.focus {
let v = self.views.get_mut(id).unwrap(); let v = self.views.get_mut(id).unwrap();
v.layout(Vec2::new(size.x, size.y - 1)); v.layout(Vec2::new(size.x, size.y - 2));
} }
} }

View File

@@ -1,6 +1,6 @@
pub mod layout;
pub mod playlist; pub mod playlist;
pub mod queue; pub mod queue;
pub mod search; pub mod search;
pub mod trackbutton;
pub mod statusbar; pub mod statusbar;
pub mod layout; pub mod trackbutton;

View File

@@ -5,7 +5,7 @@ use cursive::traits::Boxable;
use cursive::traits::Identifiable; use cursive::traits::Identifiable;
use cursive::views::*; use cursive::views::*;
use cursive::Cursive; use cursive::Cursive;
use rspotify::spotify::model::playlist::{SimplifiedPlaylist}; use rspotify::spotify::model::playlist::SimplifiedPlaylist;
use queue::Queue; use queue::Queue;
use spotify::Spotify; use spotify::Spotify;