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
|
## Planned Features
|
||||||
|
|
||||||
## Priorities:
|
## Priorities
|
||||||
|
|
||||||
- [ ] Unplayed Only and Downloaded only view.
|
- [ ] Unplayed Only and Downloaded only view.
|
||||||
- [ ] Auto-updater
|
|
||||||
- [ ] OPML import/export // Probably need to create a crate.
|
- [ ] OPML import/export // Probably need to create a crate.
|
||||||
|
|
||||||
**Proper Desing Mockups for the Gtk Client:**
|
## Second
|
||||||
|
|
||||||
- [ ] Re-design EpisodeWidget.
|
|
||||||
- [ ] Re-design PodcastWidget.
|
|
||||||
- [ ] Polish the flowbox_child banner.
|
|
||||||
|
|
||||||
## Second:
|
|
||||||
|
|
||||||
- [ ] Make use of file metadas, [This](https://github.com/GuillaumeGomez/audio-video-metadata) might be helpfull.
|
- [ ] Make use of file metadas, [This](https://github.com/GuillaumeGomez/audio-video-metadata) might be helpfull.
|
||||||
- [ ] Notifications
|
- [ ] Notifications
|
||||||
@ -23,10 +16,9 @@
|
|||||||
- [ ] MPRIS integration
|
- [ ] MPRIS integration
|
||||||
- [ ] Search Implementation
|
- [ ] Search Implementation
|
||||||
|
|
||||||
|
## Third
|
||||||
|
|
||||||
## Third:
|
- [ ] Download Queue
|
||||||
|
|
||||||
- [ ] Download Queue
|
|
||||||
- [ ] Ability to Stream content on demand
|
- [ ] Ability to Stream content on demand
|
||||||
- [ ] soundcloud and itunes feeds // [This](http://getrssfeed.com) seems intresting.
|
- [ ] soundcloud and itunes feeds // [This](http://getrssfeed.com) seems intresting.
|
||||||
- [ ] Integrate with Itunes API for various crap
|
- [ ] Integrate with Itunes API for various crap
|
||||||
@ -37,8 +29,7 @@
|
|||||||
**Would be nice:**
|
**Would be nice:**
|
||||||
|
|
||||||
- [ ] Make Podcast cover fetchng and loading not block the execution of the program at startup.
|
- [ ] 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.
|
- [ ] Lazy evaluate episode loading based on the show_widget's scrolling.
|
||||||
- [ ] Headerbar back button and stack switching
|
|
||||||
|
|
||||||
**FIXME:**
|
**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.
|
// If download succedes set episode local_uri to dlpath.
|
||||||
ep.set_local_uri(Some(&path));
|
ep.set_local_uri(Some(&path));
|
||||||
|
|
||||||
|
// Over-write episode lenght
|
||||||
let size = fs::metadata(path);
|
let size = fs::metadata(path);
|
||||||
if let Ok(s) = size {
|
if let Ok(s) = size {
|
||||||
ep.set_length(Some(s.len() as i32))
|
ep.set_length(Some(s.len() as i32))
|
||||||
};
|
};
|
||||||
|
|
||||||
ep.save()?;
|
ep.save()?;
|
||||||
Ok(())
|
Ok(())
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@ -42,6 +42,7 @@
|
|||||||
<property name="can_focus">False</property>
|
<property name="can_focus">False</property>
|
||||||
<property name="halign">center</property>
|
<property name="halign">center</property>
|
||||||
<property name="margin_top">24</property>
|
<property name="margin_top">24</property>
|
||||||
|
<property name="margin_bottom">24</property>
|
||||||
<property name="orientation">vertical</property>
|
<property name="orientation">vertical</property>
|
||||||
<property name="spacing">24</property>
|
<property name="spacing">24</property>
|
||||||
<child>
|
<child>
|
||||||
|
|||||||
@ -20,6 +20,8 @@
|
|||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="can_focus">False</property>
|
<property name="can_focus">False</property>
|
||||||
<property name="halign">center</property>
|
<property name="halign">center</property>
|
||||||
|
<property name="margin_top">24</property>
|
||||||
|
<property name="margin_bottom">24</property>
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkBox">
|
<object class="GtkBox">
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
@ -42,6 +44,7 @@
|
|||||||
<property name="can_focus">False</property>
|
<property name="can_focus">False</property>
|
||||||
<property name="halign">center</property>
|
<property name="halign">center</property>
|
||||||
<property name="orientation">vertical</property>
|
<property name="orientation">vertical</property>
|
||||||
|
<property name="spacing">24</property>
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkFrame">
|
<object class="GtkFrame">
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
@ -191,7 +194,6 @@
|
|||||||
<packing>
|
<packing>
|
||||||
<property name="expand">False</property>
|
<property name="expand">False</property>
|
||||||
<property name="fill">True</property>
|
<property name="fill">True</property>
|
||||||
<property name="padding">24</property>
|
|
||||||
<property name="position">0</property>
|
<property name="position">0</property>
|
||||||
</packing>
|
</packing>
|
||||||
</child>
|
</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;
|
||||||
extern crate gdk_pixbuf;
|
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> {
|
pub fn get_pixbuf_from_path(pd: &PodcastCoverQuery, size: u32) -> Option<Pixbuf> {
|
||||||
let mut hashmap = CACHED_PIXBUFS.lock().unwrap();
|
let mut hashmap = CACHED_PIXBUFS.lock().unwrap();
|
||||||
{
|
{
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user