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
73f7bfa64b
I dont even know what I am doing at this point.
2018-02-14 04:18:05 +02:00
Jordan Petridis
159b0d92dd
EpisodeWidget: Merge Size and Progress machines, Split total_size to it's own machine.
2018-02-13 07:51:00 +02:00
Jordan Petridis
02de2059db
EpisodeWidget: Shrink the Size state Machine.
2018-02-13 05:03:16 +02:00
Jordan Petridis
bdf8901dd8
This compiles.
...
Instead of having a Wrapper of StateMachinesWrappers, use only the desired
possible states in A new struct with only 1 Wrapper that covers all 3 of
the embeded state machines.
I don't even know if the comment makes any sense. Sorry.
2018-02-13 02:23:32 +02:00
Jordan Petridis
b6a71688c0
Version bump to 0.3
2018-02-11 22:57:37 +02:00
Jordan Petridis
48071c28a7
AboutDialog: Add a temporary icon, and update contributors list.
2018-02-10 09:26:08 +02:00
Jordan Petridis
2fbc833ebe
EpisodeWidget: Add a state machine that will manager progress_bar and cancel bttn.
2018-02-10 09:11:31 +02:00
Jordan Petridis
f7b5b35374
EpisodeWidget: change DownloadPlayMachine default constructor to a hidden state.
2018-02-10 08:13:07 +02:00
Jordan Petridis
46bd23cf66
EpisodeWidget: Add a StateMachine that manages Play and Download Buttons.
2018-02-10 08:00:12 +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
6d9dfe6fe1
EpisodeWidget: Add a StateMachine for the size labels.
2018-02-10 05:41:25 +02:00
Jordan Petridis
fc48ce9c47
EpisodeWidget: Migrate Duration Machine to use take mut too, and revert the api to require just &mut self.
2018-02-10 03:33:39 +02:00
Jordan Petridis
3a9a2f4033
EpisdoeWidget: Use take_mut crate to allow for a better api.
...
Currently it's required that you take mut self in order to manipulate
the internal state machines. This would not allow passing an Arc/Rc to
a callback since A/Rc<T> only derefs to &T and not T.
The take_mut crate allows the retrieval of ownership if you have a &mut refference
and as long you return T again. So Arc<Mutex<Machine> could work with
callbacks and embed Nested state machies without copying.
2018-02-10 03:15:12 +02:00
Jordan Petridis
f0ce0eb653
EpisodeWidget: Implement a state machine for duration label.
2018-02-09 10:12:37 +02:00
Jordan Petridis
23979b8f22
EpisodeWidget: Move state machine implementations into a separate module.
2018-02-09 09:13:41 +02:00
Jordan Petridis
e22a78fac6
EpisodeWidget: Re-enable on_play_bttn_clicked callback.
...
Before we were avoiding reloading the widget in view by
directly dimming the title label. Now instead we reload
the whole widget since I can't figure out a way to have
multiple Owneded refferences of the same state machine.
2018-02-09 08:59:50 +02:00
Jordan Petridis
7690cb1356
Remove code duplication using generics.
2018-02-09 08:43:47 +02:00
Jordan Petridis
a96f4c57c9
Probably the worst state machine implementation that was ever written.
2018-02-09 08:43:43 +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
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
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
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
1888539a97
Rename assets folder to screenshots, and improve the build system.
2018-02-04 01:34:34 +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
2f062afb07
Clippy suggestions
2018-01-29 19:09:53 +02:00
Jordan Petridis
a2cf2357c6
Add about a basic about dialog.
2018-01-29 18:02:24 +02:00
Jordan Petridis
a4660a0700
Headerbar: Do not allow insertion of duplicate urls.
2018-01-27 14:40:51 +02:00
Jordan Petridis
18e55e23ee
Headerbar: Do not allow insertion of invalid urls.
2018-01-27 14:11:02 +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
Jordan Petridis
a7e3b1b99e
GtkApplication: Headbar and Content constructors now return Self instead of Arc<Self>.
2018-01-26 19:05:19 +02:00
Jordan Petridis
39aa86157b
Switch rest of the tests to point to the internet archive urls.
2018-01-26 17:25:35 +02:00
Jordan Petridis
2912bad110
Pipeline: Split the pipeline from the cpu-pool and the tokio-core.
2018-01-26 13:34:04 +02:00
Jordan Petridis
7bd361fbbb
Upgrade dependancies.
2018-01-22 11:47:17 +02:00
Jordan Petridis
20f36a67a0
Upgrade log and loggerv.
2018-01-21 15:22:13 +02:00
Jordan Petridis
b3c4de320b
Remove dead dependancies.
2018-01-20 07:41:09 +02:00
Jordan Petridis
46b6c0d27e
hammond-data: Remove leftover synchronous code.
2018-01-19 15:41:37 +02:00
Jordan Petridis
e6b0cfccb5
Apply clippy suggestions.
2018-01-19 10:32:25 +02:00
Jordan Petridis
5c5faafc72
Source: Move around code and change some methods signature.
...
request_constructor is now a Source method.
update_etags now takes &mut self instead of mut self.
update_etags now uses source setters methods instead of raw fields.
changed the naming of into_feed to to_feed according to rust convention.
2018-01-19 07:51:55 +02:00
Jordan Petridis
93372a30d0
1.21 Gigawatts. Remove non-future indexing loop.
...
Tried to have a seperate futures loop but it's too confusign having
too write a Trait2, functon2, etc version of everything and keep it together.
Futures are functional sort of, so the synchronous versioun can be removed.
It still needs a ton of work though to be ready, or even get near the perf
of of the sync+rayon version.
2018-01-18 11:38:24 +02:00
Jordan Petridis
574cfae5c6
rustfmt: enable reorder imports.
2018-01-17 08:57:02 +02:00
Jordan Petridis
3358fcd0b3
hammond_data::Feed: general cleanup of no longer needed stuff.
2018-01-15 11:03:40 +02:00
Jordan Petridis
2f7a22355f
Minor cleanup of the mess.
2018-01-14 08:27:50 +02:00
Jordan Petridis
1031315cdd
Getting somewhere?
2018-01-14 06:37:47 +02:00
Jordan Petridis
e4d77a6ba4
Cleanup the id() method mess of the diesel models.
2018-01-13 07:46:56 +02:00
Jordan Petridis
ee9cede921
hammond_data: Remove Source dependancy from Feed struct.
2018-01-13 06:08:51 +02:00
Jordan Petridis
8e367b7e86
Dont ask me how this is working.
2018-01-12 08:50:16 +02:00
Jordan Petridis
01fe5c4730
Revert to using light theme.
2018-01-12 01:48:52 +02:00
Jordan Petridis
e192cf6618
Headerbar: Use application action channel instead of GAction.
2018-01-12 01:41:36 +02:00
Jordan Petridis
95ff3715a3
Migrate StackSwitch actions to use the AppAction channel.
2018-01-11 01:14:54 +02:00
Jordan Petridis
8a90de3c0e
Implement download cancel action. #24
2018-01-10 09:43:38 +02:00
Jordan Petridis
a63a6e168c
Added BrokenFeed Issue template.
2018-01-10 08:27:13 +02:00
Jordan Petridis
3899e8ed39
Add GPL notices to the glade ui files.
2018-01-10 02:59:47 +02:00
Jordan Petridis
7f8544373f
EpisodesView: Show 50 episodes instead of 100.
2018-01-10 02:14:49 +02:00
Jordan Petridis
955845110b
Merge branch 'master' into 33-downloader-re-work
2018-01-09 12:06:38 +02:00
Jordan Petridis
d4e3bf696b
EpisodeWidget: Fix updating.
2018-01-09 10:52:52 +02:00
Jordan Petridis
0ba5e14d7f
EpisodeWidget: Only update if it's visible.
2018-01-09 10:10:54 +02:00
Jordan Petridis
ea70addbc6
Removed some unwrap()s.
2018-01-09 09:21:07 +02:00
Jordan Petridis
87a259e1a4
Minor cleanup.
2018-01-09 07:21:38 +02:00
Jordan Petridis
68d7c621d3
EpisodeWidget: Update the local_size label.
2018-01-09 06:15:41 +02:00
Jordan Petridis
c54f29e82a
EpisodeWidget: Modulate callbacks.
2018-01-09 04:20:38 +02:00
Jordan Petridis
9dafb0ae9e
EpisodeWidget: Add local_size label that shows the amount of bytes downloaded.
2018-01-09 03:58:13 +02:00
Jordan Petridis
193117f579
Downloader: Update the progress index of downloads.
2018-01-08 12:29:47 +02:00
Jordan Petridis
eef83fc98c
EpisodeWidget: Implement API to update the progress bar.
2018-01-08 05:11:37 +02:00
Jordan Petridis
81b1ec810c
Apply clippy suggestions.
2018-01-07 08:36:02 +02:00
Jordan Petridis
074284d286
Move unsub show logic and get_download_folder func to hammond-data::utils.
2018-01-07 08:26:38 +02:00
Jordan Petridis
e290ae223e
Pixbuf cache: use rwlock where possible.
2018-01-07 07:49:16 +02:00
Jordan Petridis
6bd391d89e
I hate global mutable state..
2018-01-07 05:51:29 +02:00
Jordan Petridis
4a6a9517f1
ShowStack: Copy the scrollbar position only if both widget represent the same podcast.
2018-01-06 05:38:31 +02:00
Jordan Petridis
e961d5f8b0
Use lazystatic to cache the current chrono date. This will backfire on every new year's eve.
2018-01-06 03:49:26 +02:00
Jordan Petridis
5fed283ff4
EpisodeWidget: Hide duration label if its equal to 0.
2018-01-06 03:18:28 +02:00
Jordan Petridis
da459707be
Wire up the callbacks to the client.
2018-01-05 23:57:48 +02:00
Jordan Petridis
13ba2762ad
Move the download manager to the gtk crate.
2018-01-05 22:02:06 +02:00
Jordan Petridis
e9dd297bf3
Merge branch 'master' into 33-downloader-re-work
2018-01-05 21:43:41 +02:00
Jordan Petridis
eafad35860
Upgrade diesel to 1.0.0 and update rest dependancies.
2018-01-05 19:57:11 +02:00
Jordan Petridis
d8d4b08252
EpisodeWidget: Trim date label to avoid date/title miss alignment on single digit dates.
2018-01-05 18:46:22 +02:00
Jordan Petridis
65a2d666a3
ShowWidget: Upon unsubing spawn IO heavy tasks into a seperate thread.
2018-01-05 00:35:18 +02:00
Jordan Petridis
299d2e8db1
ShowsView: Retain vertical scrolling adjustment upon view refresh.
2018-01-05 00:09:09 +02:00
Jordan Petridis
8ad5bf6f09
ShowWidget: Retain vertical scrolling adjustment upon view refresh.
2018-01-04 23:43:31 +02:00
Jordan Petridis
112b61d39e
EpisodesView: Retain vertical scrolling adjustment upon view refresh.
2018-01-04 23:19:15 +02:00
Jordan Petridis
9d82b0edda
EpisodeWidget ui tweaks.
2018-01-04 17:27:55 +02:00
Jordan Petridis
29837ad39a
Default to using Arc instead of Rc with composite structs of GtkWidgets.
2018-01-04 17:05:05 +02:00
Jordan Petridis
750abb519b
GtkApplication: Change the action channel polling interval.
2018-01-04 16:42:17 +02:00
Jordan Petridis
f873278a96
hammond_gtk: Move the gtk callback to an Application channel action.
2018-01-04 16:16:34 +02:00
Jordan Petridis
f30c645596
hammond_gtk: Refactor refresh_feed func to use the Application channel.
2018-01-04 16:05:42 +02:00
Jordan Petridis
67bc3e5225
Minor cleanup.
2018-01-03 08:12:55 +02:00
Jordan Petridis
c33b493dcd
Migrate Headerbar transitions into Channel actions.
2018-01-03 08:02:06 +02:00
Jordan Petridis
2633161c67
GtkApplication: Remove some SimpleActions.
2018-01-03 06:57:15 +02:00
Jordan Petridis
33cd6e69ff
EpisodeWidget: Migrate to use a Channel Action instead of simple Action.
2018-01-03 06:53:19 +02:00
Jordan Petridis
84da6aac8c
ShowWidget: Replace the unsub simple action with a Channel Action.
2018-01-03 06:23:12 +02:00
Jordan Petridis
c8537e9474
GtkApplication: Start to refactor to into a App-channel structure.
2018-01-03 05:58:50 +02:00
Jordan Petridis
a0476fedec
ShowWidget: Split init into smaller functions and add comments.
2018-01-03 03:33:33 +02:00
Jordan Petridis
f54ae2f1d5
EpisodeWidget: Code cleanup and splitting.
2018-01-03 03:02:46 +02:00
Jordan Petridis
2d71a99121
Change the auto-updater and checkup startup scheduling.
2018-01-02 20:47:49 +02:00
Jordan Petridis
c67c6e463e
EpisodeWidget: Its still a mess, but a bit cleaner.
2018-01-02 08:19:24 +02:00
Jordan Petridis
c61d322569
EpisodeWidget: Implement shared download state.
2018-01-02 08:00:38 +02:00
Jordan Petridis
37e9b6fbf0
'How hard could it be'
2018-01-02 07:23:53 +02:00
Jordan Petridis
15b3eb115c
ShowWidget: Add tooltip to the website button.
2018-01-01 19:46:27 +02:00
Jordan Petridis
a3c204a02d
Headerbar: Fix add popup.
2018-01-01 00:42:14 +02:00
Jordan Petridis
963ff212ad
hammond-gtk: Add some tooltips. Closes #13 .
2017-12-30 21:56:44 +02:00
Jordan Petridis
3c84d889fd
Headerbar: Do more stuff through glade, cut some code.
2017-12-30 21:19:29 +02:00
Jordan Petridis
5730e71e2a
Clear TODO and FIXME that are no longer releavant.
2017-12-30 20:54:23 +02:00
Jordan Petridis
4894683924
hammond-gtk: Set the default theme to the dark variant for now.
2017-12-30 18:12:53 +02:00
Jordan Petridis
ce08d49107
Headerbar: Added update indication.
2017-12-29 22:58:20 +02:00
Jordan Petridis
bcc089bd82
ShowWidget: Migrate unsub button to use the GAction instead.
2017-12-29 20:33:47 +02:00
Jordan Petridis
036292284d
hammond-data: Do not clean source url's cause some feeds use queries as identifiers for some reason.
2017-12-29 20:21:36 +02:00
Jordan Petridis
ac286888bd
hammond-gtk: Add more GActions and wire the EpisodeWidget.
2017-12-29 20:06:04 +02:00
Jordan Petridis
fdd63afdfe
hammond-gtk: Create Application wide actions.
2017-12-29 16:05:10 +02:00
Jordan Petridis
ca06a16bd9
Closes #2 . Kudo to @jwykeham for the fix!.
2017-12-29 02:45:02 +02:00
Jordan Petridis
55b6fccefd
Make it explicit to run some tests.
2017-12-28 23:46:09 +02:00
Jordan Petridis
1d78ab7c42
Cargo upgrade.
2017-12-28 23:19:36 +02:00
Jordan Petridis
287620d6cd
hammond-gtk: Added some getters and removed some public fields.
2017-12-28 19:16:51 +02:00
Jordan Petridis
5942e47f2a
hammond-gtk: Split gtk::Application into its own module.
2017-12-28 16:59:05 +02:00
Jordan Petridis
ada73a616f
EpisodeWidget: Make cancel button insensitive.
2017-12-27 15:13:09 +02:00
Jordan Petridis
0a7825dfff
EpisodeWidget: Remove delete button and hide cancel button till refactor.
2017-12-26 21:36:18 +02:00
Jordan Petridis
bfb74c4dba
hammond-data: Index_loop does not wait for GET request to finish now.
2017-12-26 18:18:48 +02:00
Jordan Petridis
e99ab58b83
Headerbar: Add margins to the hamburger menu.
2017-12-26 15:46:25 +02:00
Jordan Petridis
d5b9379732
Headerbar: Remove some option from the menu.
2017-12-25 22:26:38 +02:00
Jordan Petridis
0a47b91913
Headerbar: Wire menu refresh button.
2017-12-25 22:03:37 +02:00
Jordan Petridis
9f51f4826f
Headerbar: Added menu popup.
2017-12-25 21:54:57 +02:00
Jordan Petridis
eee491f17c
appdata.xml update.
2017-12-25 20:22:53 +02:00
Jordan Petridis
8cccbe928d
hammond-gtk: Change application title. Addresses #28 .
2017-12-24 20:33:18 +02:00
Julian Sparber
f8b9bdb696
[ui] add round corners to listboxes
2017-12-24 13:16:37 +01:00
Jordan Petridis
e7185d2cd3
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.
2017-12-23 16:56:03 +02:00
Jordan Petridis
2d6f02c407
EpisodeWidget: Do not display size if it's 0 bytes.
2017-12-23 15:44:28 +02:00
Jordan Petridis
f9d17afad3
hammond-gtk: Remove app menu.
2017-12-23 10:39:20 +02:00
Julian Sparber
32c60e7ffa
merge
2017-12-22 22:10:40 +01:00
Julian Sparber
95c290df50
[ui] add custom style and [fix] draw List separators with css
2017-12-22 21:54:28 +01:00
Jordan Petridis
832495bece
EpisodesView: Remove Year category.
2017-12-22 22:14:08 +02:00
Jordan Petridis
ae6a97d725
EpisodesViewWidget: Add margins from the cover.
2017-12-22 21:21:39 +02:00
Jordan Petridis
fac048a24d
Small Visual tweaks all over the client.
2017-12-22 20:47:37 +02:00
Jordan Petridis
0129efb02e
EpisodeWidget: Display episode's duration. Closes #21 .
2017-12-22 17:49:15 +02:00
Jordan Petridis
8513ba3644
EpisodesView: Use chrono to categorize widgets intead of epoch calculations.
2017-12-22 14:29:41 +02:00
Jordan Petridis
b7e160f735
EpisodeWidget: Change date representation based on it's year. Closes #19 .
2017-12-21 21:50:50 +02:00
Jordan Petridis
4a033e6d89
EpisodeWidget: Remove the decimal places in the size label.
2017-12-21 21:37:51 +02:00
Jordan Petridis
378b8609aa
EpisodeWidget: Change the byte unit based on the size. Closes #18 .
2017-12-21 21:31:25 +02:00
Jordan Petridis
c8310b1eb9
EpisodesView: Bump the labels size a bit.
2017-12-21 20:01:24 +02:00
Jordan Petridis
13b2043b76
EpisodesStack: Fix view selection upon creation.
2017-12-21 19:10:37 +02:00
Jordan Petridis
e416bca963
Implemented a pixbuf cache mechanism.
...
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.
2017-12-21 17:36:07 +02:00
Jordan Petridis
74a6e5814a
ShowWidget: Update EpisodesView when unsub button is activated.
2017-12-21 15:14:29 +02:00
Jordan Petridis
994ea5af22
EpisodesView: Remove unused label.
2017-12-20 22:08:07 +02:00
Jordan Petridis
336846f6dd
EpisodesStack: Implemnt the transition between empty and populated.
2017-12-20 21:25:00 +02:00
Jordan Petridis
db59bed69d
hammond-data::utils: Modified EpisodeCleaner Diesel model to also be used with played_cleaner.
2017-12-20 19:18:20 +02:00
Jordan Petridis
2e06205eda
Define a new Diesel Model for PodcastCover querries.
...
Define new Diesel Model and impl From<Podcast> trait,
Change the signature of downloader::cache_image function,
Change and merge hammond-gtk::utils::get_pixbuf_from_path functions.
2017-12-20 18:19:31 +02:00
Jordan Petridis
c070fc3032
EpisodesView: Ugly and Hacky Prototype of episode splitting.
2017-12-20 15:12:55 +02:00
Jordan Petridis
ace62f7ed6
EpisodesView: Initial draft of episodewidget's splitting into the frames.
2017-12-20 14:49:28 +02:00
Jordan Petridis
bda09c032a
EpisodeWidget: Update the progrress bar only when download clicked.
2017-12-20 13:18:29 +02:00
Jordan Petridis
632f011db5
EpisodeView: Implement initial view update.
2017-12-20 13:13:32 +02:00
Jordan Petridis
914cad72f5
EpisodesView: Custom Diesel model not really necessary.
2017-12-19 20:45:40 +02:00
Jordan Petridis
895591f628
EpisodesView: Use show cover image.
2017-12-19 13:19:38 +02:00
Jordan Petridis
ad9a932143
Fix diesel query.
2017-12-19 12:56:16 +02:00
Jordan Petridis
f602e8c36d
EpisodesView: Create a DieselModel for EpisodeViewWidget.
2017-12-19 11:04:44 +02:00
Jordan Petridis
5220eaceee
EpisodesView: Add an empty cover to the widget.
2017-12-18 21:35:51 +02:00
Jordan Petridis
61bd7893c7
EpisodeWidget: Remove Podcast depndancy from new() method.
2017-12-18 19:10:50 +02:00
Jordan Petridis
32cd24fc7b
EpisodesView: Added glade files and initial yak shaving.
2017-12-18 18:20:40 +02:00
Jordan Petridis
945600b20d
Merge branch 'master' into 'master'
...
Set dim-label for secondary labels of EpisodeWidget in Glade.
See merge request alatiera/Hammond!7
2017-12-17 14:30:10 +00:00
Jordan Petridis
e04de5a576
ShowsView: Move title to a tooltip, fix gresource, center flowbox halign.
2017-12-17 15:57:06 +02:00
Jordan Petridis
0826514cbc
ShowsView: Remove new_episodes indicator.
2017-12-17 15:34:34 +02:00
Constantin Nickel
681b91d368
Set dim-label for secondary labels of EpisodeWidget in Glade.
2017-12-17 13:17:04 +01:00
Jordan Petridis
2eb58eae00
Headerbar: Remove refresh button.
2017-12-17 13:57:08 +02:00
Jordan Petridis
4c8c1f0013
Add update option to the app menu.
2017-12-17 13:52:00 +02:00
Jordan Petridis
35009e2574
Added an auto-updater that runs each hour.
2017-12-17 13:44:00 +02:00
Jordan Petridis
75fe0f8ff5
Use Default trait for creating Widget's that don't need arguments.
2017-12-17 13:08:51 +02:00
Jordan Petridis
440badf1eb
ShowWidget: Strip html tags from the description.
2017-12-16 20:45:15 +02:00
Jordan Petridis
f7af05a650
EpisodeWidget: Dim/Grey out widget if episode is played.
2017-12-16 20:30:25 +02:00
Jordan Petridis
aca35c0513
ShowWidget: Improve? description handling.
2017-12-16 19:20:40 +02:00
Jordan Petridis
f8ae2dcffe
Update rustfmt.toml and remove rustfmt warnings.
2017-12-16 18:22:35 +02:00
Jordan Petridis
0653460fb2
EpisodeWidget: prevent title label overflow.
...
Set label's maximu character width to prevent it and elipsize instead.
2017-12-16 14:58:16 +02:00
Jordan Petridis
dbe08f7deb
EpisodeListBox: Improve the separator workaround.
2017-12-16 14:17:27 +02:00
Jordan Petridis
5989f4f541
ShowWidget: Set widget width to 600.
2017-12-15 21:15:20 +02:00
Jordan Petridis
4375c7f4ce
EpisodeWidget: Added a separator in each widget.
...
This is a work around since list_box_set_header_func is not yet
available in the gtk-rs bindings.
2017-12-15 21:06:57 +02:00
Jordan Petridis
3c90e98d43
ShowWidget: Make settings button a GtkMenuButton.
2017-12-15 21:06:43 +02:00
Jordan Petridis
b1af25e4c0
ShowWidget: Wire the website button to open podcast homepage.
2017-12-15 21:06:16 +02:00
Jordan Petridis
6614818418
Use Gtk::Frame to limit ShowWidget's size.
2017-12-15 19:55:13 +02:00
Jordan Petridis
c74153f56a
Initial implementation of the new ShowWidget.
2017-12-15 18:42:49 +02:00
Jordan Petridis
4b0a6ea0f7
Add Show title in the Headerbar when switching to ShowWidget.
2017-12-15 13:45:08 +02:00
Jordan Petridis
6284c8828b
Merge branch 'episode_widget_redisgn' into 'master'
...
Episode widget redisgn
See merge request alatiera/Hammond!5
2017-12-15 11:30:15 +00:00
Jordan Petridis
0c1e759a45
Dim out secondary label of EpisodeWidget.
2017-12-15 12:27:30 +02:00
Jordan Petridis
0ac78fcff1
Added date label into EpisodeWidget.
2017-12-14 18:03:37 +02:00
Jordan Petridis
e3b540170a
Add file size indication based on rss item length.
2017-12-14 15:32:21 +02:00
Jordan Petridis
a7208b0c61
Set EpisodeWidget button valignment to center instead of fill.
2017-12-14 14:46:41 +02:00
Jordan Petridis
9d07ba24b8
HeaderBar Refactor.
...
Removed the Headerbar stack.
Removed the ShowTitle.
Fixed StackSwitcher centering.
Set the Headerbar button valignment to center instead of fill.
2017-12-14 14:27:51 +02:00
Jordan Petridis
afdb79b712
Set the progress bar into activity mode.
2017-12-14 13:38:18 +02:00
Jordan Petridis
8fe6b526a5
Add a new Diesel Model for the EpisodeWidget.
2017-12-14 12:01:35 +02:00
Jordan Petridis
ebbebf7735
Initial implementation of the new EpisodeWidget.
2017-12-14 10:57:29 +02:00
Jordan Petridis
fe136c8dbe
use user-trash-symbolic instead of edit-delete-symbolic icon.
2017-12-14 08:42:52 +02:00
Jordan Petridis
f0de6bfb1b
Use symbolic icons instead.
2017-12-13 17:58:55 +02:00
Jordan Petridis
d74aa9c625
Wire Headerbar back button and change initialiazation order.
2017-12-13 16:36:40 +02:00
Jordan Petridis
0bb0035f3c
Rework of the Headerbar.
...
Added a stack to switch between a normal and a BackButton view.
Also added a centered stack switcher and removed the Home button.
Backbutton is not wired yet.
2017-12-13 13:53:15 +02:00
Jordan Petridis
0a52f87f3a
Rename glade files.
2017-12-13 12:21:34 +02:00
Jordan Petridis
82a59d80dd
Update README.md and CONTRIBUTING.md
2017-12-13 11:53:56 +02:00
Jordan Petridis
5defb5867a
Move and rename stuff.
2017-12-13 11:35:17 +02:00
Jordan Petridis
01310ee7fa
Working non-state machine stack implementation.
...
Removed the stack state-machines. It was confusing trying to both
implement statemachines and re-design the stack architecture at the same time.
2017-12-12 16:01:19 +02:00
Jordan Petridis
211b36dfa3
Fix showmachine updating.
2017-12-11 16:14:43 +02:00
Jordan Petridis
ddb195db3c
Wired up refresh button.
2017-12-11 13:51:16 +02:00
Jordan Petridis
fa33138d66
Start switching to the new stack architecture.
2017-12-11 11:53:29 +02:00
Jordan Petridis
ad7f5013f3
Extend ShowsMachine functionality.
2017-12-11 11:15:54 +02:00
Jordan Petridis
e9b6e26f08
yet another attempt at implementing a stack state machine.
2017-12-10 23:23:09 +02:00
Jordan Petridis
2461dca94d
Remove home button.
2017-12-10 19:15:32 +02:00
Jordan Petridis
e127941d8a
Initial stackswitcher addition into the headerbar.
2017-12-10 09:53:05 +02:00
Jordan Petridis
bc57c33491
Change episode table schema.
2017-12-09 17:38:46 +02:00
Jordan Petridis
b528c48e3b
Run rustfmt.
2017-12-09 05:57:16 +02:00
Jordan Petridis
5b19274e6a
Ignore the stack state machine until TryInto trait is stabilized.
2017-12-08 10:00:21 +02:00
Jordan Petridis
48e61c6377
Added small a utility that eats extra whitespace.
2017-12-07 18:31:45 +02:00
Jordan Petridis
1266c6e971
Switch to a Generic Struct instead of an Enum.
2017-12-07 15:24:15 +02:00
Jordan Petridis
41b0a36b81
Implement Into ContentState types.
2017-12-07 11:14:12 +02:00
Jordan Petridis
6801d0b1d1
Move replace_*view functions inot Content methods.
2017-12-07 10:51:16 +02:00
Jordan Petridis
973212254c
My code is horrible, don't look at it.
2017-12-07 09:43:47 +02:00
Jordan Petridis
2b2f44b10e
Attempt n42 of implementing a StateMachine.
2017-12-07 08:50:20 +02:00
Jordan Petridis
9431fb827f
Bug fix.
2017-12-07 08:42:36 +02:00
Jordan Petridis
d7af108833
WIP markup to html parser func.
2017-12-07 06:41:10 +02:00
Jordan Petridis
c07d240532
Sanitize html during feed parsing.
2017-12-07 06:38:31 +02:00
Jordan Petridis
276169e43d
Minor cleanup of nested match/if let statements into using and_then().
2017-12-04 14:32:16 +02:00
Jordan Petridis
8bd48a09a6
Groupd stack manipulation functions into content module.
2017-12-02 08:58:28 +02:00
Jordan Petridis
74a1aae168
Upgraded diesel to 0.99 and switched from the git master into crated.io.
...
Also did a cargo upgrade of all the dependancies.
Notable upgrades are r2d2, lazystatic 1.0, loggerv 0.6 and rss 1.2
2017-12-02 01:39:28 +02:00
Jordan Petridis
8d63db047a
Temporary removed unused Content.fields.
2017-12-01 07:30:28 +02:00
Jordan Petridis
0359e9dd35
Convert EpisodeWidget into a Composed struct.
2017-12-01 07:13:41 +02:00
Jordan Petridis
91ac2c6445
Minor cleanups.
2017-12-01 06:40:32 +02:00
Jordan Petridis
2d4acc3ba3
Tweaked stack transition effects.
2017-12-01 06:21:48 +02:00
Jordan Petridis
fb6fc68d23
Fix empty view.
2017-12-01 06:00:06 +02:00
Jordan Petridis
3fca086d14
Renamed stack children.
2017-12-01 05:32:47 +02:00
Jordan Petridis
dcc541d832
Added a PodcastChild struct and groupd some flowbox_child methods.
2017-12-01 04:22:26 +02:00
Jordan Petridis
300fc3467d
Remove more stuff.
2017-12-01 03:50:23 +02:00
Jordan Petridis
326ee75cd8
Remove old implementation.
2017-12-01 02:57:55 +02:00
Jordan Petridis
b4b2f24c77
Use content struct instead of plain stack.
2017-12-01 01:30:19 +02:00