Commit Graph
100 Commits
Author SHA1 Message Date
Jordan Petridis d1821163c2 Factor out the In-app notification into something generic. 2018-03-09 01:21:54 +02:00
Jordan Petridis 7de118adeb Minor style changes. 2018-03-08 23:14:48 +02:00
Jordan Petridis abe7215bc0 Merge branch '47-mark-all-played' into 'master'
Resolve "Mark all episodes of a Show Feed as played."

Closes #47

See merge request alatiera/Hammond!19
2018-03-08 20:57:04 +00:00
Jordan Petridis 7b064e63b9 ShowWidget: Fix undo notif. 2018-03-08 16:21:42 +02:00
Jordan Petridis f6890c709f ShowWidget: Instantly dim episode titles when mark_all is clicked.
This is would have been way prettier, easier and safer if we could
have custom widgets. But till then I am not sure how to do it better.
2018-03-07 23:04:02 +02:00
Jordan Petridis e4814dbfbc ShowWidget: Initial prototype of an undo notification. 2018-03-07 16:37:10 +02:00
Jordan Petridis 8261b32c99 Update changelog. 2018-03-05 22:07:18 +02:00
Jordan Petridis 9a73520b25 dbquerries: Add a unit test for update_none_to_played_now func. 2018-03-05 21:40:11 +02:00
Jordan Petridis 10db4f7210 ShowWidget: Initial implementation of a menu popup.
Re implement mark_all_episodes_as_watched functionality too.
2018-03-05 20:14:06 +02:00
Jordan Petridis bb467b7aba Rustfmt. 2018-03-03 16:45:37 +02:00
Jordan Petridis 3da503cdea Use prebuilt image for the rustfmt CI check. 2018-02-26 17:49:20 +02:00
Jordan Petridis 3d542e5554 Readme: add dependancy ci banner. 2018-02-21 09:33:03 +00:00
Jordan Petridis c61938ba62 Update dependancies. 2018-02-20 06:19:05 +00:00
Jordan Petridis fce3684113 Readme: Improve flatpak instructions. 2018-02-19 16:52:58 +00:00
Jordan Petridis ae25dd65bf Cargo clippy and fmt. 2018-02-19 09:58:47 +00:00
Jordan Petridis 038d28779c ShowWidget: Limit description to 100 chars width. 2018-02-16 07:45:29 +02:00
Jordan Petridis e803e11c81 Fix EpisodeWidget Vertical alignment. 2018-02-15 11:56:56 +02:00
Jordan Petridis a24c9b1350 EpisodesView: Fix EpisodeWidget spacing. 2018-02-14 12:44:30 +02:00
Jordan Petridis 8913b7aedb SHowWidet: Experiement with dynamic size. Relevant to #35. 2018-02-14 08:44:02 +02:00
Jordan Petridis 978edfc11f EpisodeWidget: Allow the title to ellipsize. Releavnt to #35. 2018-02-14 08:04:59 +02:00
Jordan Petridis f4b41d0fd3 ShowWidget: Restrict horizontal scrolling. Relevant to #35. 2018-02-14 07:56:27 +02:00
Jordan Petridis 20162a16a8 EpisodesView: Re-work box/frame layout
Restrict horizontal scrolling,
Allow the episode widget to expand along when more space becomes available.
2018-02-14 07:03:26 +02:00
Jordan Petridis b6a71688c0 Version bump to 0.3 2018-02-11 22:57:37 +02:00
Jordan Petridis dcc4eae27e Use Gnome Nightly Sdk for the flatpak manifest. 2018-02-11 00:54:17 +02:00
Jordan Petridis 65a080ed1d Readme: Fix rustup link. 2018-02-10 22:42:13 +02:00
Jordan Petridis 48071c28a7 AboutDialog: Add a temporary icon, and update contributors list. 2018-02-10 09:26:08 +02:00
Jordan Petridis 138cfdb68c EpisodeWidget: use debug! instead of error! to avoid spamming stderr with *not actuall* errors. 2018-02-10 05:45:50 +02:00
Jordan Petridis 45522b86df Remove another unwrap. Though it would never be hit currently. 2018-02-08 21:34:11 +02:00
Jordan Petridis 1135d77147 EpisodeWidget: Remove unwrap on that could occur if an invalid path was passed. 2018-02-08 21:10:36 +02:00
Jordan Petridis 9dfb18a487 EpisodeWidget: Minor refactor of set_total_size method. 2018-02-08 21:02:16 +02:00
Jordan Petridis fbfa0de17e EpisodeWidget: Fix minutes label parsing.
Before if a feed had reported a number between 1 and 60, a label 0 min
would be set.

This fixes that, while also using chrono::Duration for parsing minutes.
2018-02-08 20:39:37 +02:00
Jordan Petridis ea29aae64a Fix benchmarks. 2018-02-08 17:33:40 +02:00
Jordan Petridis e77b0a84c7 Update dependancies. 2018-02-08 17:03:26 +02:00
Jordan Petridis c5e0bf34cb Headerbar: Use the Application Action instead of relying directly on Content. 2018-02-08 05:40:40 +02:00
Jordan Petridis 4ba82c1515 EpisodeWidget: Set title alignment from glade. 2018-02-08 05:29:47 +02:00
Jordan Petridis b172aa7aa3 Remove forgotten unwrap(). 2018-02-08 04:39:51 +02:00
Jordan Petridis c6f5a4200d EpisodeWidget: Fix progressbar alignment. 2018-02-07 22:08:52 +02:00
Jordan Petridis e2a1762af4 EpisodeWidget: Use refference counting intead of unnecessary clones.
Pass owenership of EpisodeWidgetQuery and use Atomic Ref counting
to pass to the callbacks. This should avoid extra allocations.
2018-02-07 18:40:22 +02:00
Jordan Petridis 07c1a9a0e9 Fix private field visibility of stacks. 2018-02-07 07:11:40 +02:00
Jordan Petridis 31bd75ae45 Minor Arc changes. 2018-02-07 07:02:24 +02:00
Jordan Petridis 67af85e347 Hammond-gtk: Use Atomic Refference counting to reduce cloning of Podcast. 2018-02-07 06:28:16 +02:00
Jordan Petridis df02054b29 Hammond-gtk: Change the privacy of the widgets module. 2018-02-07 05:47:58 +02:00
Jordan Petridis 0cdd48ac1e Hammond-gtk: Change the privacy of the views module. 2018-02-07 05:37:07 +02:00
Jordan Petridis bdda596806 Hammond-gtk: Inital split of content.rs into stacks module. 2018-02-07 05:33:29 +02:00
Jordan Petridis 8cbae4050e Merge branch '40-gtk-unwrap-cleanup' into 'master'
Resolve "Clean up the unwraps in the Gtk Client."

Closes #40

See merge request alatiera/Hammond!17
2018-02-07 02:12:11 +00:00
Jordan Petridis d3696fc5ec Minor Error messages wording changes. 2018-02-07 03:52:21 +02:00
Jordan Petridis 2d33606251 Hammond-gtk: Stack, Content constructors return Results now.
Constructors now proxy underlying errors that migth occur during initialazation.
I think that's about the last unwraps in the main thread.
2018-02-07 03:17:37 +02:00
Jordan Petridis 89564996df ShowStack: Convert rest methods to return Result<T, Error>. 2018-02-07 01:19:07 +02:00
Jordan Petridis e196a6c905 ShowStack: update_widget methods now return Result<T, Error>. 2018-02-07 00:55:43 +02:00
Jordan Petridis 7eb038b899 EpisodesStack: Refactor update method to return a Result<T, Error>. 2018-02-07 00:31:04 +02:00
Jordan Petridis 1c84f0d721 hammond-gtk::manager: Switch the add function to return a Result<(), Error>. 2018-02-06 22:03:17 +02:00
Jordan Petridis ab519a54d3 Headerbar: Use Result<T, failure::Error> wherever possible. 2018-02-06 21:32:21 +02:00
Jordan Petridis 7ed1cd8b26 hammond-gtk: Change utils::get_pixbuf_from_path function to return a Result. 2018-02-06 20:56:55 +02:00
Jordan Petridis c6e426cbac Downloader: Change cache_image function to return Result<T, DownlaoderError> instead of Option<T>. 2018-02-06 20:14:03 +02:00
Jordan Petridis d3f279374a ShowWidget: Refactor to return Result<T, Error> wherever possible. 2018-02-06 02:47:39 +02:00
Jordan Petridis 0dc16dab9a EpisodeWidget: Refactor to return Result<T, Error> wherever possible. 2018-02-06 02:31:53 +02:00
Jordan Petridis ed5ff16598 Downloader: clean a bit downloader::get_episode function. 2018-02-06 02:00:32 +02:00
Jordan Petridis c1ecdbda52 Merge branch '39-failure-libs-migration' into 'master'
Resolve "Migrate Error-Handling to Failure crate."

Closes #39

See merge request alatiera/Hammond!16
2018-02-05 19:16:11 +00:00
Jordan Petridis d3472b3205 hammond-data: Deny Unused. 2018-02-05 20:51:34 +02:00
Jordan Petridis 5cd3dff1d4 Downloader: Switch to returning Downloader::Error instead of failure::Error. 2018-02-05 20:41:45 +02:00
Jordan Petridis 4d1168803c Dbquerries: Remove Result type allias. 2018-02-05 19:43:26 +02:00
Jordan Petridis 7eec01a52e Minor rename of DataError::Bail. 2018-02-05 19:05:40 +02:00
Jordan Petridis 44ebe46f10 Replace last bail! invocations. 2018-02-05 19:00:31 +02:00
Jordan Petridis 008f57bec4 Create a ParseEpisodeError and replace bail! invocations. 2018-02-05 18:51:21 +02:00
Jordan Petridis d0ae5a4198 Typo fix. 2018-02-05 18:33:12 +02:00
Jordan Petridis 064c2b4be0 Start creating custom errors instead of using bail! macro. 2018-02-05 18:25:56 +02:00
Jordan Petridis 34d7391363 Make a counterfeit rss Error. 2018-02-05 16:37:50 +02:00
Jordan Petridis e84e7df3f1 Remove unwrap call. 2018-02-05 15:59:34 +02:00
Jordan Petridis 8ba9f928d6 Switch to using DataError instead of failure::Error. 2018-02-05 02:43:56 +02:00
Jordan Petridis 435ce05ac7 Add rest of the From impls for the Error Type. 2018-02-05 01:53:01 +02:00
Jordan Petridis ede4c21e30 Merge the Errors into a single Enum. 2018-02-05 01:39:50 +02:00
Jordan Petridis 0892fe26ba Manually implement From Trait for the DatabaseError. 2018-02-05 01:20:01 +02:00
Jordan Petridis 1085d468b9 cargo fmt 2018-02-04 18:45:19 +02:00
Jordan Petridis 8f0a63fdb7 Downloader: Make the Error type public. 2018-02-04 17:46:01 +02:00
Jordan Petridis de43cae015 Switch rest stuff of data/downloader to Failure Crate. 2018-02-04 17:36:27 +02:00
Jordan Petridis f9f015a211 Hammond-data: switch database module to use Failure. 2018-02-04 16:33:10 +02:00
Jordan Petridis 3874235074 Readme: Add a note about being able to built with Gnome-Builder. 2018-02-04 02:03:47 +02:00
Jordan Petridis 1888539a97 Rename assets folder to screenshots, and improve the build system. 2018-02-04 01:34:34 +02:00
Jordan Petridis d131c279b9 Add batch indexing fallback.
If an RSS feed triggered a unique constrains violation, none of it's
items would be indexed resulting in a Podcast without episodes.

This adds a fallback that indexes each item individually if the batch index fails.
2018-02-03 16:02:42 +02:00
Jordan Petridis 92d01ec51a Feed: enchance get_stuff unit test. 2018-02-03 15:55:26 +02:00
Jordan Petridis 97c65c8bd1 Add a download test for Steal the Stars podcast to spot #10 reggressions. 2018-02-03 15:43:00 +02:00
Jordan Petridis e8ae0b0251 Thats a hack, a terrible one, but without it the user
would have to manually click refresh if the user that was added
happen to redirect somewhere else.

The problem is in the hammond-data/src/models/source.rs
fn request_constructor. It has to do with futures and lifetimes
and I am not sure how to tackle it yet.
2018-02-03 00:06:02 +02:00
Jordan Petridis f1f248fa40 Merge branch 'master' into 'master'
Issue 10 - Infinite Redirect Fix

See merge request alatiera/Hammond!15
2018-02-02 16:12:46 +00:00
Jordan Petridis 80fd4e9fc5 Source: Set Etag and last modified to None upon redirect. 2018-02-01 19:35:35 +02:00
Jordan Petridis 7b62ef203d Source: Pass owenership around instead of &mut, cause futures. 2018-02-01 15:55:19 +02:00
Jordan Petridis 2f062afb07 Clippy suggestions 2018-01-29 19:09:53 +02:00
Jordan Petridis 817d5d9cf7 Fix meson config to build each time. 2018-01-29 18:17:02 +02:00
Jordan Petridis a2cf2357c6 Add about a basic about dialog. 2018-01-29 18:02:24 +02:00
Jordan Petridis 815639fe5f Add an order by tittle asc clasuse to the Podcast query. Address #34. 2018-01-29 12:30:13 +02:00
Jordan Petridis b1c3b4f9cc Pipeline: Fetch sources without etag support fist as they are more likely to need parsing. 2018-01-29 12:20:21 +02:00
Jordan Petridis 332a439b7a hammond-data: Factor out save method of diesel models into a Trait. 2018-01-28 22:09:06 +02:00
Jordan Petridis fb5264c479 NewSource: Rename into_source -> to_source and take reffence &self instead. 2018-01-27 18:34:03 +02:00
Jordan Petridis a3705d424b NewSource: Remove Insert implemantation and replace it with a insert_or_ignore method. 2018-01-27 18:09:40 +02:00
Jordan Petridis a4660a0700 Headerbar: Do not allow insertion of duplicate urls. 2018-01-27 14:40:51 +02:00
Jordan Petridis 77a52bdc8c hammond-data: Add a source_exists query. 2018-01-27 14:23:19 +02:00
Jordan Petridis 18e55e23ee Headerbar: Do not allow insertion of invalid urls. 2018-01-27 14:11:02 +02:00
Jordan Petridis d14973cf0d Use num_cpus instead of hardcoding the number of threads for dns look_up.
In the next hyper_tls relase it should be possible to use the existing
cpu_pool executor.
2018-01-27 11:08:57 +02:00
Jordan Petridis 120d494280 Update hyper and futures. 2018-01-27 09:45:25 +02:00
Jordan Petridis 8c0e3221cb refresh_feed: remove code duplication. 2018-01-26 19:29:45 +02:00
Jordan Petridis 5e1d1e557f GtkApplication: Add an action for showing the headerbar_update_indicator. 2018-01-26 19:15:07 +02:00