Jordan Petridis
7abf6bcade
Lazy_load: remove unnecessary clone of an Rc pointer.
2018-04-06 23:12:32 +03:00
Jordan Petridis
854581f0bf
Lazy_load: Use IntoIterator for T, instead of Iterator.
2018-04-06 22:56:44 +03:00
Jordan Petridis
c79a92f3b2
Lazy_load: accept an iterator instead a Vec<_> over T.
2018-04-06 22:37:40 +03:00
Jordan Petridis
4d6c3a67b1
Lazy_load: Avoid manually indexing.
...
make the data: Vec<T> mutable, then reverse the vector
so it can be used as a stack, and then use the ::pop()
method to retrieve the item.
This also avoid the constrain for Clone on T.
2018-04-06 22:37:36 +03:00
Jordan Petridis
83abb5a825
Move the lazy_load logic to a Generic function.
2018-04-06 22:37:33 +03:00
Jordan Petridis
d618771125
EpisodesListBox: Do not block while fetching episode backlog.
2018-04-06 17:06:14 +00:00
Jordan Petridis
45c9fd308d
EpisodesListBox: Add each widget lazyly.
2018-04-06 17:06:14 +00:00
Jordan Petridis
0c00ee1320
ShowWidget: Initial Lazier evaluation of the widgets.
2018-04-06 17:06:13 +00:00
Jordan Petridis
dd2366a15e
Change the git url of the html2pango crate.
2018-04-05 20:44:28 +03:00
Jordan Petridis
370ba2d461
dlmanager: minor cleanup.
2018-04-04 21:36:23 +03:00
Jordan Petridis
ef655ef5e0
EpisodeWidget: Keep the widget's heigth contant. Fixes #57
2018-04-04 18:44:23 +03:00
Jordan Petridis
3d98600126
h-data: Sanitize html during Podcast/Episode parsing.
2018-04-03 19:42:13 +00:00
Jordan Petridis
7ba834ee8d
Update deps now that we are at it.
2018-04-03 19:42:12 +00:00
Jordan Petridis
1c527cba03
Remove more commented out dead code.
2018-04-03 19:42:12 +00:00
Jordan Petridis
7a3a148359
Remove more dead code.
2018-04-03 19:42:11 +00:00
Jordan Petridis
e07e35110d
Use pretty assertions!
2018-04-03 19:42:10 +00:00
Jordan Petridis
a463753c84
NewEpidode: Use parse rss.description instead of itunes.summary.
...
We can deal with(sort of) html now, so we should start indexing
the proper rss description. Also cleanup commented out code.
2018-04-03 19:42:10 +00:00
Jordan Petridis
a946ddfab1
html_to_pango: Switch to use the new library spawn from this.
...
Thanks to @danigm for spinning that part of fractal to a shared library.
2018-04-03 19:42:09 +00:00
Jordan Petridis
af1cb43bd6
NewPodcast: Prefer the rss.description attribute.
...
Since we can handle rendering html stuff by converting it to pango
we no longer need the text-only itunes summary attribure.
2018-04-03 19:42:09 +00:00
Jordan Petridis
935d61324f
ShowWidget: Convert html to pango markup and render it.
...
Instead of stipping all the html tags and just using the text
in the label we could *try* converting it to pango markup
which is a bit more flexible than plain text.
The code was copied from Fractal.
2018-04-03 19:42:08 +00:00
Jordan Petridis
10e016f2ea
update appdata.xml
2018-04-03 21:41:53 +03:00
Jordan Petridis
491cd8f01c
cargo fmt
2018-03-30 17:24:38 +03:00
Jordan Petridis
07eadd2364
h-gtk/utils: Improve itunes resolver and add extra test cases.
2018-03-30 16:38:59 +03:00
Jordan Petridis
7086afe73d
h-gtk/utils: More refactor to improve formatting.
2018-03-30 15:33:19 +03:00
Jordan Petridis
f21398357b
h-gtk/utils: Refactor some mutex locks, improve formatting.
2018-03-30 14:39:30 +03:00
Jordan Petridis
c338802329
Update deps.
2018-03-30 11:49:54 +03:00
Jordan Petridis
c3076e748e
cargo fmt
2018-03-30 10:22:34 +03:00
Jordan Petridis
1595256c86
Use rayon to manage all the threads.
2018-03-30 09:31:25 +03:00
Jordan Petridis
f2444f151c
h-gtk/utils: Re-work format_err! calls and improve formatting
2018-03-29 15:26:44 +03:00
Jordan Petridis
710a3f2552
Use SendCell::try_get instead of SendCell::into_inner
2018-03-29 15:19:13 +03:00
Jordan Petridis
e203815f4f
hammond-gtk/utils.rs: Use a hashset to keep track of cover downloads.
...
Use a HashSet to check if a download of a cover is already active. If
it is, schedule a callback that will try to set the image from the
cached pixbuf later.
2018-03-29 13:07:46 +03:00
Jordan Petridis
c3658080d3
Comment out a test.
2018-03-29 11:37:31 +03:00
Jordan Petridis
8703470010
h-gtk/utils: Use a threadpool to avoid spawning a million threads
2018-03-29 10:24:02 +03:00
Jordan Petridis
88cc7e6fec
Fix set_image_from_path test
2018-03-29 09:21:49 +03:00
Jordan Petridis
badcbc32c6
Implement async loading of the Show covers.
2018-03-28 22:41:45 +03:00
Jordan Petridis
daa8f15ce9
hammond-gtk::utils: change the signature of get_pixbug_from_path and rename it
...
Requires a gtk::Image as argument now, it sets the pixbuf to the
img directly instead of returning it.
New name is set_image_from_path.
This is ground work so we can later keep the image reference, and
use it to set the image with a callback.
2018-03-28 21:47:10 +03:00
Jordan Petridis
89ee174ded
Version bump.
2018-03-28 14:48:43 +03:00
Jordan Petridis
f693c986ec
Add an empty_show if Show has no episodes.
2018-03-28 13:24:26 +03:00
Jordan Petridis
ef3809ed25
Update about dialog.
2018-03-27 16:53:12 +03:00
Rowan Lewis
c458b27573
Handle window geometry with a new struct.
2018-03-27 11:54:36 +00:00
Rowan Lewis
524e0bb0a8
Persist window geometry including maximized state for issue #50 .
2018-03-27 11:54:36 +00:00
Jordan Petridis
d525d1fe59
InAppNofitication: Make revealer field private, change show signature
...
Accept an overlay widget that the revealer will be attached to into
the show method. Thus revealer field no longer need to be public.
2018-03-27 12:01:53 +03:00
Jordan Petridis
bdc6264701
app.rs: Minor formatting improvments.
2018-03-27 11:50:31 +03:00
Jordan Petridis
7e2640e2d0
ShowWidget: When unsub notification expires, remove show from the ignore list.
...
This should not make any difference regarding the behaviour since
the Show id is eq to the sqlite rowid which means that even
if the same show was removed and readded it would have diff id.
2018-03-27 11:09:53 +03:00
Rowan Lewis
2497cb31d0
Remove shadow_type from the show widget.
2018-03-26 18:53:48 +00:00
Rowan Lewis
446a0ede54
Fix #52 by removing the specified shadow_type from the episodes and shows scrolled windows.
2018-03-26 18:53:47 +00:00
Jordan Petridis
69e87d129a
ShowWidget: Hide shows from the Views when unsub is hit.
2018-03-26 14:34:54 +03:00
Jordan Petridis
f7a7510322
Implement the shared HashSet with the ignored Shows ids
2018-03-26 13:25:39 +03:00
Jordan Petridis
e9f2ba47f2
dbquerries: Add get_episodes and get_podcasts querries that can filters.
2018-03-26 12:46:13 +03:00
Jordan Petridis
b2c95e5a73
ShowWidget: display a notification before removing the show.
2018-03-26 10:57:44 +03:00