Remove explicit and not needed inline calls.
This code is not performance critical and the compiler will already inline whatever it thinks it might benefit it.
This commit is contained in:
parent
54fafa07a2
commit
d47bbd6131
@ -143,7 +143,6 @@ impl App {
|
||||
});
|
||||
}
|
||||
|
||||
#[inline]
|
||||
pub fn run(self) {
|
||||
WindowGeometry::from_settings(&self.settings).apply(&self.window);
|
||||
|
||||
|
||||
@ -81,7 +81,6 @@ impl HomeStack {
|
||||
Ok(())
|
||||
}
|
||||
|
||||
#[inline]
|
||||
fn switch_visible(&mut self, s: State) {
|
||||
use self::State::*;
|
||||
|
||||
@ -97,7 +96,6 @@ impl HomeStack {
|
||||
}
|
||||
}
|
||||
|
||||
#[inline]
|
||||
fn determine_state(&mut self) -> Result<(), DataError> {
|
||||
if is_episodes_populated()? {
|
||||
self.switch_visible(State::Home);
|
||||
|
||||
@ -134,7 +134,6 @@ impl PopulatedStack {
|
||||
self.container.clone()
|
||||
}
|
||||
|
||||
#[inline]
|
||||
pub fn switch_visible(&mut self, state: PopulatedState, animation: gtk::StackTransitionType) {
|
||||
use self::PopulatedState::*;
|
||||
|
||||
|
||||
@ -63,7 +63,6 @@ impl ShowStack {
|
||||
self.determine_state()
|
||||
}
|
||||
|
||||
#[inline]
|
||||
fn switch_visible(&mut self, s: ShowState) {
|
||||
use self::ShowState::*;
|
||||
|
||||
@ -79,7 +78,6 @@ impl ShowStack {
|
||||
};
|
||||
}
|
||||
|
||||
#[inline]
|
||||
fn determine_state(&mut self) -> Result<(), Error> {
|
||||
use self::ShowState::*;
|
||||
|
||||
|
||||
@ -62,7 +62,6 @@ use app::Action;
|
||||
/// let list = gtk::ListBox::new();
|
||||
/// lazy_load(widgets, list, |w| w, || {});
|
||||
/// ```
|
||||
#[inline]
|
||||
pub fn lazy_load<T, C, F, W, U>(data: T, container: C, mut contructor: F, callback: U)
|
||||
where
|
||||
T: IntoIterator + 'static,
|
||||
@ -82,7 +81,6 @@ where
|
||||
/// This is a more flexible version of `lazy_load` with less constrains.
|
||||
/// If you just want to lazy add `widgets` to a `container` check if
|
||||
/// `lazy_load` fits your needs first.
|
||||
#[inline]
|
||||
#[cfg_attr(feature = "cargo-clippy", allow(redundant_closure))]
|
||||
pub fn lazy_load_full<T, F, U>(data: T, mut func: F, finish_callback: U)
|
||||
where
|
||||
@ -233,7 +231,6 @@ lazy_static! {
|
||||
// GObjects do not implement Send trait, so SendCell is a way around that.
|
||||
// Also lazy_static requires Sync trait, so that's what the mutexes are.
|
||||
// TODO: maybe use something that would just scale to requested size?
|
||||
#[inline]
|
||||
pub fn set_image_from_path(image: >k::Image, podcast_id: i32, size: u32) -> Result<(), Error> {
|
||||
// Check if there's an active download about this show cover.
|
||||
// If there is, a callback will be set so this function will be called again.
|
||||
@ -306,14 +303,12 @@ pub fn set_image_from_path(image: >k::Image, podcast_id: i32, size: u32) -> Re
|
||||
Ok(())
|
||||
}
|
||||
|
||||
#[inline]
|
||||
// FIXME: the signature should be `fn foo(s: Url) -> Result<Url, Error>`
|
||||
pub fn itunes_to_rss(url: &str) -> Result<String, Error> {
|
||||
let id = itunes_id_from_url(url).ok_or_else(|| format_err!("Failed to find an Itunes ID."))?;
|
||||
lookup_id(id)
|
||||
}
|
||||
|
||||
#[inline]
|
||||
fn itunes_id_from_url(url: &str) -> Option<u32> {
|
||||
lazy_static! {
|
||||
static ref RE: Regex = Regex::new(r"/id([0-9]+)").unwrap();
|
||||
@ -325,7 +320,6 @@ fn itunes_id_from_url(url: &str) -> Option<u32> {
|
||||
foo.parse::<u32>().ok()
|
||||
}
|
||||
|
||||
#[inline]
|
||||
fn lookup_id(id: u32) -> Result<String, Error> {
|
||||
let url = format!("https://itunes.apple.com/lookup?id={}&entity=podcast", id);
|
||||
let req: Value = reqwest::get(&url)?.json()?;
|
||||
|
||||
@ -6,7 +6,6 @@ pub struct EmptyView {
|
||||
}
|
||||
|
||||
impl Default for EmptyView {
|
||||
#[inline]
|
||||
fn default() -> Self {
|
||||
let builder = gtk::Builder::new_from_resource("/org/gnome/hammond/gtk/empty_view.ui");
|
||||
let view: gtk::Box = builder.get_object("empty_view").unwrap();
|
||||
@ -16,7 +15,6 @@ impl Default for EmptyView {
|
||||
}
|
||||
|
||||
impl EmptyView {
|
||||
#[inline]
|
||||
pub fn new() -> EmptyView {
|
||||
EmptyView::default()
|
||||
}
|
||||
|
||||
@ -32,7 +32,6 @@ pub struct EpisodeWidget {
|
||||
}
|
||||
|
||||
impl Default for EpisodeWidget {
|
||||
#[inline]
|
||||
fn default() -> Self {
|
||||
let builder = gtk::Builder::new_from_resource("/org/gnome/hammond/gtk/episode_widget.ui");
|
||||
|
||||
@ -79,14 +78,12 @@ impl Default for EpisodeWidget {
|
||||
}
|
||||
|
||||
impl EpisodeWidget {
|
||||
#[inline]
|
||||
pub fn new(episode: EpisodeWidgetQuery, sender: &Sender<Action>) -> EpisodeWidget {
|
||||
let mut widget = EpisodeWidget::default();
|
||||
widget.init(episode, sender);
|
||||
widget
|
||||
}
|
||||
|
||||
#[inline]
|
||||
fn init(&mut self, episode: EpisodeWidgetQuery, sender: &Sender<Action>) {
|
||||
// Set the date label.
|
||||
self.set_date(episode.epoch());
|
||||
@ -107,7 +104,6 @@ impl EpisodeWidget {
|
||||
self.connect_buttons(&episode, sender);
|
||||
}
|
||||
|
||||
#[inline]
|
||||
fn connect_buttons(&self, episode: &Arc<Mutex<EpisodeWidgetQuery>>, sender: &Sender<Action>) {
|
||||
let title = self.title.clone();
|
||||
if let Ok(media) = self.media.try_borrow_mut() {
|
||||
@ -140,7 +136,6 @@ impl EpisodeWidget {
|
||||
}
|
||||
}
|
||||
|
||||
#[inline]
|
||||
/// Determine the title state.
|
||||
fn set_title(&mut self, episode: &EpisodeWidgetQuery) {
|
||||
let mut machine = self.title.borrow_mut();
|
||||
@ -150,14 +145,12 @@ impl EpisodeWidget {
|
||||
});
|
||||
}
|
||||
|
||||
#[inline]
|
||||
/// Set the date label depending on the current time.
|
||||
fn set_date(&mut self, epoch: i32) {
|
||||
let machine = &mut self.date;
|
||||
take_mut::take(machine, |date| date.determine_state(i64::from(epoch)));
|
||||
}
|
||||
|
||||
#[inline]
|
||||
/// Set the duration label.
|
||||
fn set_duration(&mut self, seconds: Option<i32>) {
|
||||
let machine = &mut self.duration;
|
||||
@ -165,7 +158,6 @@ impl EpisodeWidget {
|
||||
}
|
||||
}
|
||||
|
||||
#[inline]
|
||||
fn determine_media_state(
|
||||
media_machine: &Rc<RefCell<MediaMachine>>,
|
||||
episode: &EpisodeWidgetQuery,
|
||||
@ -241,7 +233,6 @@ fn determine_media_state(
|
||||
Ok(())
|
||||
}
|
||||
|
||||
#[inline]
|
||||
fn on_download_clicked(ep: &EpisodeWidgetQuery, sender: &Sender<Action>) -> Result<(), Error> {
|
||||
let pd = dbqueries::get_podcast_from_id(ep.podcast_id())?;
|
||||
let download_fold = get_download_folder(&pd.title())?;
|
||||
@ -255,7 +246,6 @@ fn on_download_clicked(ep: &EpisodeWidgetQuery, sender: &Sender<Action>) -> Resu
|
||||
Ok(())
|
||||
}
|
||||
|
||||
#[inline]
|
||||
fn on_play_bttn_clicked(
|
||||
episode: &mut EpisodeWidgetQuery,
|
||||
title: &Rc<RefCell<TitleMachine>>,
|
||||
@ -273,7 +263,6 @@ fn on_play_bttn_clicked(
|
||||
Ok(())
|
||||
}
|
||||
|
||||
#[inline]
|
||||
fn open_uri(rowid: i32) -> Result<(), Error> {
|
||||
let uri = dbqueries::get_episode_local_uri_from_id(rowid)?
|
||||
.ok_or_else(|| format_err!("Expected Some found None."))?;
|
||||
@ -303,7 +292,6 @@ fn update_progressbar_callback(
|
||||
timeout_add(300, callback);
|
||||
}
|
||||
|
||||
#[inline]
|
||||
#[allow(if_same_then_else)]
|
||||
fn progress_bar_helper(
|
||||
prog: &Arc<Mutex<manager::Progress>>,
|
||||
@ -363,7 +351,6 @@ fn update_total_size_callback(
|
||||
timeout_add(500, callback);
|
||||
}
|
||||
|
||||
#[inline]
|
||||
fn total_size_helper(
|
||||
prog: &Arc<Mutex<manager::Progress>>,
|
||||
media: &Rc<RefCell<MediaMachine>>,
|
||||
|
||||
@ -61,7 +61,6 @@ pub struct Title<S> {
|
||||
|
||||
impl<S> Title<S> {
|
||||
#[allow(unused_must_use)]
|
||||
#[inline]
|
||||
// This does not need to be &mut since gtk-rs does not model ownership
|
||||
// But I think it wouldn't hurt if we treat it as a Rust api.
|
||||
fn set_title(&mut self, s: &str) {
|
||||
@ -70,7 +69,6 @@ impl<S> Title<S> {
|
||||
}
|
||||
|
||||
impl Title<Normal> {
|
||||
#[inline]
|
||||
fn new(title: gtk::Label) -> Self {
|
||||
Title {
|
||||
title,
|
||||
@ -80,7 +78,6 @@ impl Title<Normal> {
|
||||
}
|
||||
|
||||
impl From<Title<Normal>> for Title<GreyedOut> {
|
||||
#[inline]
|
||||
fn from(f: Title<Normal>) -> Self {
|
||||
f.title
|
||||
.get_style_context()
|
||||
@ -94,7 +91,6 @@ impl From<Title<Normal>> for Title<GreyedOut> {
|
||||
}
|
||||
|
||||
impl From<Title<GreyedOut>> for Title<Normal> {
|
||||
#[inline]
|
||||
fn from(f: Title<GreyedOut>) -> Self {
|
||||
f.title
|
||||
.get_style_context()
|
||||
@ -114,13 +110,11 @@ pub enum TitleMachine {
|
||||
}
|
||||
|
||||
impl TitleMachine {
|
||||
#[inline]
|
||||
pub fn new(label: gtk::Label, is_played: bool) -> Self {
|
||||
let m = TitleMachine::Normal(Title::<Normal>::new(label));
|
||||
m.determine_state(is_played)
|
||||
}
|
||||
|
||||
#[inline]
|
||||
pub fn determine_state(self, is_played: bool) -> Self {
|
||||
use self::TitleMachine::*;
|
||||
|
||||
@ -132,7 +126,6 @@ impl TitleMachine {
|
||||
}
|
||||
}
|
||||
|
||||
#[inline]
|
||||
pub fn set_title(&mut self, s: &str) {
|
||||
use self::TitleMachine::*;
|
||||
|
||||
@ -156,7 +149,6 @@ pub struct Date<S> {
|
||||
}
|
||||
|
||||
impl<S> Date<S> {
|
||||
#[inline]
|
||||
fn into_usual(self, epoch: i64) -> Date<Usual> {
|
||||
let ts = Utc.timestamp(epoch, 0);
|
||||
self.date.set_text(ts.format("%e %b").to_string().trim());
|
||||
@ -168,7 +160,6 @@ impl<S> Date<S> {
|
||||
}
|
||||
}
|
||||
|
||||
#[inline]
|
||||
fn into_year_shown(self, epoch: i64) -> Date<YearShown> {
|
||||
let ts = Utc.timestamp(epoch, 0);
|
||||
self.date.set_text(ts.format("%e %b %Y").to_string().trim());
|
||||
@ -182,7 +173,6 @@ impl<S> Date<S> {
|
||||
}
|
||||
|
||||
impl Date<UnInitialized> {
|
||||
#[inline]
|
||||
fn new(date: gtk::Label, epoch: i64) -> Self {
|
||||
let ts = Utc.timestamp(epoch, 0);
|
||||
date.set_text(ts.format("%e %b %Y").to_string().trim());
|
||||
@ -203,13 +193,11 @@ pub enum DateMachine {
|
||||
}
|
||||
|
||||
impl DateMachine {
|
||||
#[inline]
|
||||
pub fn new(label: gtk::Label, epoch: i64) -> Self {
|
||||
let m = DateMachine::UnInitialized(Date::<UnInitialized>::new(label, epoch));
|
||||
m.determine_state(epoch)
|
||||
}
|
||||
|
||||
#[inline]
|
||||
pub fn determine_state(self, epoch: i64) -> Self {
|
||||
use self::DateMachine::*;
|
||||
|
||||
@ -239,7 +227,6 @@ pub struct Duration<S: Visibility> {
|
||||
}
|
||||
|
||||
impl<S: Visibility> Duration<S> {
|
||||
#[inline]
|
||||
// This needs a better name.
|
||||
// TODO: make me mut
|
||||
fn set_duration(&self, minutes: i64) {
|
||||
@ -248,7 +235,6 @@ impl<S: Visibility> Duration<S> {
|
||||
}
|
||||
|
||||
impl Duration<Hidden> {
|
||||
#[inline]
|
||||
fn new(duration: gtk::Label, separator: gtk::Label) -> Self {
|
||||
duration.hide();
|
||||
separator.hide();
|
||||
@ -262,7 +248,6 @@ impl Duration<Hidden> {
|
||||
}
|
||||
|
||||
impl From<Duration<Hidden>> for Duration<Shown> {
|
||||
#[inline]
|
||||
fn from(f: Duration<Hidden>) -> Self {
|
||||
f.duration.show();
|
||||
f.separator.show();
|
||||
@ -276,7 +261,6 @@ impl From<Duration<Hidden>> for Duration<Shown> {
|
||||
}
|
||||
|
||||
impl From<Duration<Shown>> for Duration<Hidden> {
|
||||
#[inline]
|
||||
fn from(f: Duration<Shown>) -> Self {
|
||||
f.duration.hide();
|
||||
f.separator.hide();
|
||||
@ -296,13 +280,11 @@ pub enum DurationMachine {
|
||||
}
|
||||
|
||||
impl DurationMachine {
|
||||
#[inline]
|
||||
pub fn new(duration: gtk::Label, separator: gtk::Label, seconds: Option<i32>) -> Self {
|
||||
let m = DurationMachine::Hidden(Duration::<Hidden>::new(duration, separator));
|
||||
m.determine_state(seconds)
|
||||
}
|
||||
|
||||
#[inline]
|
||||
pub fn determine_state(self, seconds: Option<i32>) -> Self {
|
||||
match (self, seconds) {
|
||||
(d @ DurationMachine::Hidden(_), None) => d,
|
||||
@ -337,7 +319,6 @@ pub struct Size<S> {
|
||||
}
|
||||
|
||||
impl<S> Size<S> {
|
||||
#[inline]
|
||||
fn set_size(self, s: &str) -> Size<Shown> {
|
||||
self.size.set_text(s);
|
||||
self.size.show();
|
||||
@ -349,7 +330,6 @@ impl<S> Size<S> {
|
||||
}
|
||||
}
|
||||
|
||||
#[inline]
|
||||
// https://play.rust-lang.org/?gist=1acffaf62743eeb85be1ae6ecf474784&version=stable
|
||||
// It might be possible to make a generic definition with Specialization.
|
||||
// https://github.com/rust-lang/rust/issues/31844
|
||||
@ -364,7 +344,6 @@ impl<S> Size<S> {
|
||||
}
|
||||
}
|
||||
|
||||
#[inline]
|
||||
fn into_hidden(self) -> Size<Hidden> {
|
||||
self.size.hide();
|
||||
self.separator.hide();
|
||||
@ -378,7 +357,6 @@ impl<S> Size<S> {
|
||||
}
|
||||
|
||||
impl Size<UnInitialized> {
|
||||
#[inline]
|
||||
fn new(size: gtk::Label, separator: gtk::Label) -> Self {
|
||||
size.hide();
|
||||
separator.hide();
|
||||
@ -412,7 +390,6 @@ pub struct DownloadPlay<S> {
|
||||
}
|
||||
|
||||
impl<S> DownloadPlay<S> {
|
||||
#[inline]
|
||||
// https://play.rust-lang.org/?gist=1acffaf62743eeb85be1ae6ecf474784&version=stable
|
||||
// It might be possible to make a generic definition with Specialization.
|
||||
// https://github.com/rust-lang/rust/issues/31844
|
||||
@ -427,7 +404,6 @@ impl<S> DownloadPlay<S> {
|
||||
}
|
||||
}
|
||||
|
||||
#[inline]
|
||||
fn into_fetchable(self) -> DownloadPlay<Download> {
|
||||
self.play.hide();
|
||||
self.download.show();
|
||||
@ -439,7 +415,6 @@ impl<S> DownloadPlay<S> {
|
||||
}
|
||||
}
|
||||
|
||||
#[inline]
|
||||
fn into_hidden(self) -> DownloadPlay<Hidden> {
|
||||
self.play.hide();
|
||||
self.download.hide();
|
||||
@ -451,7 +426,6 @@ impl<S> DownloadPlay<S> {
|
||||
}
|
||||
}
|
||||
|
||||
#[inline]
|
||||
fn download_connect_clicked<F: Fn(>k::Button) + 'static>(
|
||||
&self,
|
||||
f: F,
|
||||
@ -459,14 +433,12 @@ impl<S> DownloadPlay<S> {
|
||||
self.download.connect_clicked(f)
|
||||
}
|
||||
|
||||
#[inline]
|
||||
fn play_connect_clicked<F: Fn(>k::Button) + 'static>(&self, f: F) -> glib::SignalHandlerId {
|
||||
self.play.connect_clicked(f)
|
||||
}
|
||||
}
|
||||
|
||||
impl DownloadPlay<UnInitialized> {
|
||||
#[inline]
|
||||
fn new(play: gtk::Button, download: gtk::Button) -> Self {
|
||||
play.hide();
|
||||
download.hide();
|
||||
@ -489,7 +461,6 @@ pub struct Progress<S> {
|
||||
}
|
||||
|
||||
impl<S> Progress<S> {
|
||||
#[inline]
|
||||
fn into_shown(self) -> Progress<Shown> {
|
||||
self.bar.show();
|
||||
self.cancel.show();
|
||||
@ -505,7 +476,6 @@ impl<S> Progress<S> {
|
||||
}
|
||||
}
|
||||
|
||||
#[inline]
|
||||
fn into_hidden(self) -> Progress<Hidden> {
|
||||
self.bar.hide();
|
||||
self.cancel.hide();
|
||||
@ -522,7 +492,6 @@ impl<S> Progress<S> {
|
||||
}
|
||||
|
||||
#[allow(unused_must_use)]
|
||||
#[inline]
|
||||
// This does not need to be &mut since gtk-rs does not model ownership
|
||||
// But I think it wouldn't hurt if we treat it as a Rust api.
|
||||
fn update_progress(&mut self, local_size: &str, fraction: f64) {
|
||||
@ -530,14 +499,12 @@ impl<S> Progress<S> {
|
||||
self.bar.set_fraction(fraction);
|
||||
}
|
||||
|
||||
#[inline]
|
||||
fn cancel_connect_clicked<F: Fn(>k::Button) + 'static>(&self, f: F) -> glib::SignalHandlerId {
|
||||
self.cancel.connect_clicked(f)
|
||||
}
|
||||
}
|
||||
|
||||
impl Progress<UnInitialized> {
|
||||
#[inline]
|
||||
fn new(
|
||||
bar: gtk::ProgressBar,
|
||||
cancel: gtk::Button,
|
||||
@ -571,7 +538,6 @@ type Playable<Y> = Media<Play, Y, Hidden>;
|
||||
type InProgress = Media<Hidden, Shown, Shown>;
|
||||
|
||||
impl<X, Y, Z> Media<X, Y, Z> {
|
||||
#[inline]
|
||||
fn set_size(self, s: &str) -> Media<X, Shown, Z> {
|
||||
Media {
|
||||
dl: self.dl,
|
||||
@ -580,7 +546,6 @@ impl<X, Y, Z> Media<X, Y, Z> {
|
||||
}
|
||||
}
|
||||
|
||||
#[inline]
|
||||
fn hide_size(self) -> Media<X, Hidden, Z> {
|
||||
Media {
|
||||
dl: self.dl,
|
||||
@ -589,7 +554,6 @@ impl<X, Y, Z> Media<X, Y, Z> {
|
||||
}
|
||||
}
|
||||
|
||||
#[inline]
|
||||
fn into_new(self, size: &str) -> New<Shown> {
|
||||
Media {
|
||||
dl: self.dl.into_fetchable(),
|
||||
@ -598,7 +562,6 @@ impl<X, Y, Z> Media<X, Y, Z> {
|
||||
}
|
||||
}
|
||||
|
||||
#[inline]
|
||||
fn into_new_without(self) -> New<Hidden> {
|
||||
Media {
|
||||
dl: self.dl.into_fetchable(),
|
||||
@ -607,7 +570,6 @@ impl<X, Y, Z> Media<X, Y, Z> {
|
||||
}
|
||||
}
|
||||
|
||||
#[inline]
|
||||
fn into_playable(self, size: &str) -> Playable<Shown> {
|
||||
Media {
|
||||
dl: self.dl.into_playable(),
|
||||
@ -616,7 +578,6 @@ impl<X, Y, Z> Media<X, Y, Z> {
|
||||
}
|
||||
}
|
||||
|
||||
#[inline]
|
||||
fn into_playable_without(self) -> Playable<Hidden> {
|
||||
Media {
|
||||
dl: self.dl.into_playable(),
|
||||
@ -627,7 +588,6 @@ impl<X, Y, Z> Media<X, Y, Z> {
|
||||
}
|
||||
|
||||
impl<X, Z> Media<X, Shown, Z> {
|
||||
#[inline]
|
||||
fn into_progress(self) -> InProgress {
|
||||
Media {
|
||||
dl: self.dl.into_hidden(),
|
||||
@ -638,7 +598,6 @@ impl<X, Z> Media<X, Shown, Z> {
|
||||
}
|
||||
|
||||
impl<X, Z> Media<X, Hidden, Z> {
|
||||
#[inline]
|
||||
fn into_progress(self) -> InProgress {
|
||||
Media {
|
||||
dl: self.dl.into_hidden(),
|
||||
@ -649,7 +608,6 @@ impl<X, Z> Media<X, Hidden, Z> {
|
||||
}
|
||||
|
||||
impl<X, Z> Media<X, UnInitialized, Z> {
|
||||
#[inline]
|
||||
fn into_progress(self, size: Option<String>) -> InProgress {
|
||||
if let Some(s) = size {
|
||||
Media {
|
||||
@ -668,7 +626,6 @@ impl<X, Z> Media<X, UnInitialized, Z> {
|
||||
}
|
||||
|
||||
impl InProgress {
|
||||
#[inline]
|
||||
#[allow(unused_must_use)]
|
||||
// This does not need to be &mut since gtk-rs does not model ownership
|
||||
// But I think it wouldn't hurt if we treat it as a Rust api.
|
||||
@ -686,7 +643,6 @@ pub enum ButtonsState {
|
||||
}
|
||||
|
||||
impl ButtonsState {
|
||||
#[inline]
|
||||
pub fn determine_state(self, size: Option<String>, is_downloaded: bool) -> Self {
|
||||
use self::ButtonsState::*;
|
||||
|
||||
@ -721,7 +677,6 @@ impl ButtonsState {
|
||||
}
|
||||
}
|
||||
|
||||
#[inline]
|
||||
fn into_progress(self) -> InProgress {
|
||||
use self::ButtonsState::*;
|
||||
|
||||
@ -733,7 +688,6 @@ impl ButtonsState {
|
||||
}
|
||||
}
|
||||
|
||||
#[inline]
|
||||
fn set_size(self, size: Option<String>) -> Self {
|
||||
use self::ButtonsState::*;
|
||||
|
||||
@ -749,7 +703,6 @@ impl ButtonsState {
|
||||
}
|
||||
}
|
||||
|
||||
#[inline]
|
||||
pub fn download_connect_clicked<F: Fn(>k::Button) + 'static>(
|
||||
&self,
|
||||
f: F,
|
||||
@ -764,7 +717,6 @@ impl ButtonsState {
|
||||
}
|
||||
}
|
||||
|
||||
#[inline]
|
||||
pub fn play_connect_clicked<F: Fn(>k::Button) + 'static>(
|
||||
&self,
|
||||
f: F,
|
||||
@ -779,7 +731,6 @@ impl ButtonsState {
|
||||
}
|
||||
}
|
||||
|
||||
#[inline]
|
||||
fn cancel_connect_clicked<F: Fn(>k::Button) + 'static>(&self, f: F) -> glib::SignalHandlerId {
|
||||
use self::ButtonsState::*;
|
||||
|
||||
@ -801,7 +752,6 @@ pub enum MediaMachine {
|
||||
|
||||
impl MediaMachine {
|
||||
#[cfg_attr(feature = "cargo-clippy", allow(too_many_arguments))]
|
||||
#[inline]
|
||||
pub fn new(
|
||||
play: gtk::Button,
|
||||
download: gtk::Button,
|
||||
@ -819,7 +769,6 @@ impl MediaMachine {
|
||||
MediaMachine::UnInitialized(Media { dl, progress, size })
|
||||
}
|
||||
|
||||
#[inline]
|
||||
pub fn download_connect_clicked<F: Fn(>k::Button) + 'static>(
|
||||
&self,
|
||||
f: F,
|
||||
@ -833,7 +782,6 @@ impl MediaMachine {
|
||||
}
|
||||
}
|
||||
|
||||
#[inline]
|
||||
pub fn play_connect_clicked<F: Fn(>k::Button) + 'static>(
|
||||
&self,
|
||||
f: F,
|
||||
@ -847,7 +795,6 @@ impl MediaMachine {
|
||||
}
|
||||
}
|
||||
|
||||
#[inline]
|
||||
pub fn cancel_connect_clicked<F: Fn(>k::Button) + 'static>(
|
||||
&self,
|
||||
f: F,
|
||||
@ -861,7 +808,6 @@ impl MediaMachine {
|
||||
}
|
||||
}
|
||||
|
||||
#[inline]
|
||||
pub fn determine_state(self, bytes: Option<i32>, is_active: bool, is_downloaded: bool) -> Self {
|
||||
use self::ButtonsState::*;
|
||||
use self::MediaMachine::*;
|
||||
@ -900,7 +846,6 @@ impl MediaMachine {
|
||||
}
|
||||
}
|
||||
|
||||
#[inline]
|
||||
pub fn set_size(self, bytes: Option<i32>) -> Self {
|
||||
use self::MediaMachine::*;
|
||||
let size = size_helper(bytes);
|
||||
@ -913,7 +858,6 @@ impl MediaMachine {
|
||||
}
|
||||
}
|
||||
|
||||
#[inline]
|
||||
pub fn update_progress(&mut self, local_size: &str, fraction: f64) {
|
||||
use self::MediaMachine::*;
|
||||
|
||||
@ -925,7 +869,6 @@ impl MediaMachine {
|
||||
}
|
||||
}
|
||||
|
||||
#[inline]
|
||||
fn size_helper(bytes: Option<i32>) -> Option<String> {
|
||||
let s = bytes?;
|
||||
if s == 0 {
|
||||
|
||||
@ -48,7 +48,6 @@ pub struct HomeView {
|
||||
}
|
||||
|
||||
impl Default for HomeView {
|
||||
#[inline]
|
||||
fn default() -> Self {
|
||||
let builder = gtk::Builder::new_from_resource("/org/gnome/hammond/gtk/episodes_view.ui");
|
||||
let container: gtk::Box = builder.get_object("container").unwrap();
|
||||
@ -85,7 +84,6 @@ impl Default for HomeView {
|
||||
|
||||
// TODO: REFACTOR ME
|
||||
impl HomeView {
|
||||
#[inline]
|
||||
pub fn new(sender: Sender<Action>) -> Result<Rc<HomeView>, Error> {
|
||||
use self::ListSplit::*;
|
||||
|
||||
@ -121,7 +119,6 @@ impl HomeView {
|
||||
Ok(view)
|
||||
}
|
||||
|
||||
#[inline]
|
||||
/// Set scrolled window vertical adjustment.
|
||||
fn set_vadjustment(&self) -> Result<(), Error> {
|
||||
let guard = EPISODES_VIEW_VALIGNMENT
|
||||
@ -138,7 +135,6 @@ impl HomeView {
|
||||
Ok(())
|
||||
}
|
||||
|
||||
#[inline]
|
||||
/// Save the vertical scrollbar position.
|
||||
pub fn save_alignment(&self) -> Result<(), Error> {
|
||||
if let Ok(mut guard) = EPISODES_VIEW_VALIGNMENT.lock() {
|
||||
@ -153,13 +149,11 @@ impl HomeView {
|
||||
}
|
||||
}
|
||||
|
||||
#[inline]
|
||||
fn add_to_box(widget: &EpisodesViewWidget, listbox: >k::ListBox, box_: >k::Box) {
|
||||
listbox.add(&widget.container);
|
||||
box_.show();
|
||||
}
|
||||
|
||||
#[inline]
|
||||
fn split(now: &DateTime<Utc>, epoch: i64) -> ListSplit {
|
||||
let ep = Utc.timestamp(epoch, 0);
|
||||
|
||||
@ -184,7 +178,6 @@ struct EpisodesViewWidget {
|
||||
}
|
||||
|
||||
impl Default for EpisodesViewWidget {
|
||||
#[inline]
|
||||
fn default() -> Self {
|
||||
let builder =
|
||||
gtk::Builder::new_from_resource("/org/gnome/hammond/gtk/episodes_view_widget.ui");
|
||||
@ -220,7 +213,6 @@ impl EpisodesViewWidget {
|
||||
view
|
||||
}
|
||||
|
||||
#[inline]
|
||||
fn init(&self, podcast_id: i32) {
|
||||
self.set_cover(podcast_id)
|
||||
.map_err(|err| error!("Failed to set a cover: {}", err))
|
||||
@ -229,7 +221,6 @@ impl EpisodesViewWidget {
|
||||
self.container.pack_start(&self.episode, true, true, 6);
|
||||
}
|
||||
|
||||
#[inline]
|
||||
fn set_cover(&self, podcast_id: i32) -> Result<(), Error> {
|
||||
utils::set_image_from_path(&self.image, podcast_id, 64)
|
||||
}
|
||||
|
||||
@ -40,7 +40,6 @@ pub struct ShowWidget {
|
||||
}
|
||||
|
||||
impl Default for ShowWidget {
|
||||
#[inline]
|
||||
fn default() -> Self {
|
||||
let builder = gtk::Builder::new_from_resource("/org/gnome/hammond/gtk/show_widget.ui");
|
||||
let container: gtk::Box = builder.get_object("container").unwrap();
|
||||
@ -68,7 +67,6 @@ impl Default for ShowWidget {
|
||||
}
|
||||
|
||||
impl ShowWidget {
|
||||
#[inline]
|
||||
pub fn new(pd: Arc<Podcast>, sender: Sender<Action>) -> Rc<ShowWidget> {
|
||||
let mut pdw = ShowWidget::default();
|
||||
pdw.init(&pd, &sender);
|
||||
@ -80,7 +78,6 @@ impl ShowWidget {
|
||||
pdw
|
||||
}
|
||||
|
||||
#[inline]
|
||||
pub fn init(&mut self, pd: &Arc<Podcast>, sender: &Sender<Action>) {
|
||||
let builder = gtk::Builder::new_from_resource("/org/gnome/hammond/gtk/show_widget.ui");
|
||||
|
||||
@ -120,19 +117,16 @@ impl ShowWidget {
|
||||
self.settings.set_popover(&show_menu);
|
||||
}
|
||||
|
||||
#[inline]
|
||||
/// Set the show cover.
|
||||
fn set_cover(&self, pd: &Arc<Podcast>) -> Result<(), Error> {
|
||||
utils::set_image_from_path(&self.cover, pd.id(), 256)
|
||||
}
|
||||
|
||||
#[inline]
|
||||
/// Set the descripton text.
|
||||
fn set_description(&self, text: &str) {
|
||||
self.description.set_markup(&markup_from_raw(text));
|
||||
}
|
||||
|
||||
#[inline]
|
||||
/// Save the scrollabar vajustment to the cache.
|
||||
pub fn save_vadjustment(&self, oldid: i32) -> Result<(), Error> {
|
||||
if let Ok(mut guard) = SHOW_WIDGET_VALIGNMENT.lock() {
|
||||
@ -146,7 +140,6 @@ impl ShowWidget {
|
||||
Ok(())
|
||||
}
|
||||
|
||||
#[inline]
|
||||
/// Set scrolled window vertical adjustment.
|
||||
fn set_vadjustment(&self, pd: &Arc<Podcast>) -> Result<(), Error> {
|
||||
let guard = SHOW_WIDGET_VALIGNMENT
|
||||
@ -176,7 +169,6 @@ impl ShowWidget {
|
||||
}
|
||||
}
|
||||
|
||||
#[inline]
|
||||
/// Populate the listbox with the shows episodes.
|
||||
fn populate_listbox(
|
||||
show: &Rc<ShowWidget>,
|
||||
@ -231,7 +223,6 @@ fn populate_listbox(
|
||||
Ok(())
|
||||
}
|
||||
|
||||
#[inline]
|
||||
fn on_unsub_button_clicked(pd: Arc<Podcast>, unsub_button: >k::Button, sender: &Sender<Action>) {
|
||||
// hack to get away without properly checking for none.
|
||||
// if pressed twice would panic.
|
||||
@ -252,7 +243,6 @@ fn on_unsub_button_clicked(pd: Arc<Podcast>, unsub_button: >k::Button, sender:
|
||||
unsub_button.set_sensitive(true);
|
||||
}
|
||||
|
||||
#[inline]
|
||||
fn on_played_button_clicked(pd: Arc<Podcast>, episodes: >k::ListBox, sender: &Sender<Action>) {
|
||||
if dim_titles(episodes).is_none() {
|
||||
error!("Something went horribly wrong when dimming the titles.");
|
||||
@ -265,7 +255,6 @@ fn on_played_button_clicked(pd: Arc<Podcast>, episodes: >k::ListBox, sender: &
|
||||
.ok();
|
||||
}
|
||||
|
||||
#[inline]
|
||||
fn mark_all_watched(pd: &Podcast, sender: &Sender<Action>) -> Result<(), Error> {
|
||||
dbqueries::update_none_to_played_now(pd)?;
|
||||
// Not all widgets migth have been loaded when the mark_all is hit
|
||||
@ -274,7 +263,6 @@ fn mark_all_watched(pd: &Podcast, sender: &Sender<Action>) -> Result<(), Error>
|
||||
sender.send(Action::RefreshEpisodesView).map_err(From::from)
|
||||
}
|
||||
|
||||
#[inline]
|
||||
pub fn mark_all_notif(pd: Arc<Podcast>, sender: &Sender<Action>) -> InAppNotification {
|
||||
let id = pd.id();
|
||||
let callback = clone!(sender => move || {
|
||||
@ -294,7 +282,6 @@ pub fn mark_all_notif(pd: Arc<Podcast>, sender: &Sender<Action>) -> InAppNotific
|
||||
InAppNotification::new(text, callback, undo_callback)
|
||||
}
|
||||
|
||||
#[inline]
|
||||
pub fn remove_show_notif(pd: Arc<Podcast>, sender: Sender<Action>) -> InAppNotification {
|
||||
let text = format!("Unsubscribed from {}", pd.title());
|
||||
|
||||
@ -335,7 +322,6 @@ pub fn remove_show_notif(pd: Arc<Podcast>, sender: Sender<Action>) -> InAppNotif
|
||||
InAppNotification::new(&text, callback, undo_callback)
|
||||
}
|
||||
|
||||
#[inline]
|
||||
// Ideally if we had a custom widget this would have been as simple as:
|
||||
// `for row in listbox { ep = row.get_episode(); ep.dim_title(); }`
|
||||
// But now I can't think of a better way to do it than hardcoding the title
|
||||
|
||||
@ -20,7 +20,6 @@ pub struct ShowsView {
|
||||
}
|
||||
|
||||
impl Default for ShowsView {
|
||||
#[inline]
|
||||
fn default() -> Self {
|
||||
let builder = gtk::Builder::new_from_resource("/org/gnome/hammond/gtk/shows_view.ui");
|
||||
let container: gtk::Box = builder.get_object("fb_parent").unwrap();
|
||||
@ -36,14 +35,12 @@ impl Default for ShowsView {
|
||||
}
|
||||
|
||||
impl ShowsView {
|
||||
#[inline]
|
||||
pub fn new(sender: Sender<Action>) -> Result<Rc<Self>, Error> {
|
||||
let pop = Rc::new(ShowsView::default());
|
||||
pop.init(sender)?;
|
||||
Ok(pop)
|
||||
}
|
||||
|
||||
#[inline]
|
||||
pub fn init(&self, sender: Sender<Action>) -> Result<(), Error> {
|
||||
self.flowbox.connect_child_activated(move |_, child| {
|
||||
on_child_activate(child, &sender)
|
||||
@ -54,7 +51,6 @@ impl ShowsView {
|
||||
self.populate_flowbox()
|
||||
}
|
||||
|
||||
#[inline]
|
||||
fn populate_flowbox(&self) -> Result<(), Error> {
|
||||
let ignore = get_ignored_shows()?;
|
||||
let podcasts = dbqueries::get_podcasts_filter(&ignore)?;
|
||||
@ -70,7 +66,6 @@ impl ShowsView {
|
||||
}
|
||||
}
|
||||
|
||||
#[inline]
|
||||
fn on_child_activate(child: >k::FlowBoxChild, sender: &Sender<Action>) -> Result<(), Error> {
|
||||
use gtk::WidgetExt;
|
||||
|
||||
@ -94,7 +89,6 @@ struct ShowsChild {
|
||||
}
|
||||
|
||||
impl Default for ShowsChild {
|
||||
#[inline]
|
||||
fn default() -> Self {
|
||||
let builder = gtk::Builder::new_from_resource("/org/gnome/hammond/gtk/shows_child.ui");
|
||||
|
||||
@ -113,14 +107,12 @@ impl Default for ShowsChild {
|
||||
}
|
||||
|
||||
impl ShowsChild {
|
||||
#[inline]
|
||||
pub fn new(pd: &Podcast) -> ShowsChild {
|
||||
let child = ShowsChild::default();
|
||||
child.init(pd);
|
||||
child
|
||||
}
|
||||
|
||||
#[inline]
|
||||
fn init(&self, pd: &Podcast) {
|
||||
self.container.set_tooltip_text(pd.title());
|
||||
WidgetExt::set_name(&self.child, &pd.id().to_string());
|
||||
@ -130,7 +122,6 @@ impl ShowsChild {
|
||||
.ok();
|
||||
}
|
||||
|
||||
#[inline]
|
||||
fn set_cover(&self, podcast_id: i32) -> Result<(), Error> {
|
||||
set_image_from_path(&self.cover, podcast_id, 256)
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user