Visual tweaks, and other minor stuff.
Added margins bottom margins on EpisodesView and ShowWidget. Added some comment's to the code. Silenced needless_pass_by_value clippy warning. Updated TODO.md.
This commit is contained in:
parent
30970c8dfb
commit
e7185d2cd3
21
TODO.md
21
TODO.md
@ -1,20 +1,13 @@
|
||||
## TODOs:
|
||||
# TODOs
|
||||
|
||||
## Planned Features
|
||||
|
||||
## Priorities:
|
||||
## Priorities
|
||||
|
||||
- [ ] Unplayed Only and Downloaded only view.
|
||||
- [ ] Auto-updater
|
||||
- [ ] OPML import/export // Probably need to create a crate.
|
||||
|
||||
**Proper Desing Mockups for the Gtk Client:**
|
||||
|
||||
- [ ] Re-design EpisodeWidget.
|
||||
- [ ] Re-design PodcastWidget.
|
||||
- [ ] Polish the flowbox_child banner.
|
||||
|
||||
## Second:
|
||||
## Second
|
||||
|
||||
- [ ] Make use of file metadas, [This](https://github.com/GuillaumeGomez/audio-video-metadata) might be helpfull.
|
||||
- [ ] Notifications
|
||||
@ -23,10 +16,9 @@
|
||||
- [ ] MPRIS integration
|
||||
- [ ] Search Implementation
|
||||
|
||||
## Third
|
||||
|
||||
## Third:
|
||||
|
||||
- [ ] Download Queue
|
||||
- [ ] Download Queue
|
||||
- [ ] Ability to Stream content on demand
|
||||
- [ ] soundcloud and itunes feeds // [This](http://getrssfeed.com) seems intresting.
|
||||
- [ ] Integrate with Itunes API for various crap
|
||||
@ -37,8 +29,7 @@
|
||||
**Would be nice:**
|
||||
|
||||
- [ ] Make Podcast cover fetchng and loading not block the execution of the program at startup.
|
||||
- [ ] Lazy evaluate episode loading based on the podcast_widget's view scrolling.
|
||||
- [ ] Headerbar back button and stack switching
|
||||
- [ ] Lazy evaluate episode loading based on the show_widget's scrolling.
|
||||
|
||||
**FIXME:**
|
||||
|
||||
|
||||
@ -125,10 +125,12 @@ pub fn get_episode(ep: &mut EpisodeWidgetQuery, download_folder: &str) -> Result
|
||||
// If download succedes set episode local_uri to dlpath.
|
||||
ep.set_local_uri(Some(&path));
|
||||
|
||||
// Over-write episode lenght
|
||||
let size = fs::metadata(path);
|
||||
if let Ok(s) = size {
|
||||
ep.set_length(Some(s.len() as i32))
|
||||
};
|
||||
|
||||
ep.save()?;
|
||||
Ok(())
|
||||
} else {
|
||||
|
||||
@ -42,6 +42,7 @@
|
||||
<property name="can_focus">False</property>
|
||||
<property name="halign">center</property>
|
||||
<property name="margin_top">24</property>
|
||||
<property name="margin_bottom">24</property>
|
||||
<property name="orientation">vertical</property>
|
||||
<property name="spacing">24</property>
|
||||
<child>
|
||||
|
||||
@ -20,6 +20,8 @@
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="halign">center</property>
|
||||
<property name="margin_top">24</property>
|
||||
<property name="margin_bottom">24</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="visible">True</property>
|
||||
@ -42,6 +44,7 @@
|
||||
<property name="can_focus">False</property>
|
||||
<property name="halign">center</property>
|
||||
<property name="orientation">vertical</property>
|
||||
<property name="spacing">24</property>
|
||||
<child>
|
||||
<object class="GtkFrame">
|
||||
<property name="visible">True</property>
|
||||
@ -191,7 +194,6 @@
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="padding">24</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
#![cfg_attr(feature = "cargo-clippy", allow(clone_on_ref_ptr))]
|
||||
#![cfg_attr(feature = "cargo-clippy", allow(clone_on_ref_ptr, needless_pass_by_value))]
|
||||
|
||||
extern crate gdk;
|
||||
extern crate gdk_pixbuf;
|
||||
|
||||
@ -68,7 +68,13 @@ lazy_static! {
|
||||
};
|
||||
}
|
||||
|
||||
// FIXME: use something that would just scale?
|
||||
// Since gdk_pixbuf::Pixbuf is refference counted and every episode,
|
||||
// use the cover of the Podcast Feed/Show, We can only create a Pixbuf
|
||||
// cover per show and pass around the Rc pointer.
|
||||
//
|
||||
// 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?
|
||||
pub fn get_pixbuf_from_path(pd: &PodcastCoverQuery, size: u32) -> Option<Pixbuf> {
|
||||
let mut hashmap = CACHED_PIXBUFS.lock().unwrap();
|
||||
{
|
||||
|
||||
Loading…
Reference in New Issue
Block a user