Commit Graph

199 Commits

Author SHA1 Message Date
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
6bd391d89e
I hate global mutable state.. 2018-01-07 05:51:29 +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
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
8ad5bf6f09
ShowWidget: Retain vertical scrolling adjustment upon view refresh. 2018-01-04 23:43:31 +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
c33b493dcd
Migrate Headerbar transitions into Channel actions. 2018-01-03 08:02:06 +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
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
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
bcc089bd82
ShowWidget: Migrate unsub button to use the GAction instead. 2017-12-29 20:33:47 +02:00
Jordan Petridis
1d78ab7c42
Cargo upgrade. 2017-12-28 23:19:36 +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
2d6f02c407
EpisodeWidget: Do not display size if it's 0 bytes. 2017-12-23 15:44:28 +02: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
0129efb02e
EpisodeWidget: Display episode's duration. Closes #21. 2017-12-22 17:49:15 +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
74a6e5814a
ShowWidget: Update EpisodesView when unsub button is activated. 2017-12-21 15:14:29 +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
bda09c032a
EpisodeWidget: Update the progrress bar only when download clicked. 2017-12-20 13:18:29 +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
Constantin Nickel
681b91d368 Set dim-label for secondary labels of EpisodeWidget in Glade. 2017-12-17 13:17:04 +01: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
dbe08f7deb
EpisodeListBox: Improve the separator workaround. 2017-12-16 14:17:27 +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
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
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
d74aa9c625
Wire Headerbar back button and change initialiazation order. 2017-12-13 16:36:40 +02:00
Jordan Petridis
0a52f87f3a
Rename glade files. 2017-12-13 12:21:34 +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
fa33138d66
Start switching to the new stack architecture. 2017-12-11 11:53:29 +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
48e61c6377
Added small a utility that eats extra whitespace. 2017-12-07 18:31:45 +02:00
Jordan Petridis
973212254c
My code is horrible, don't look at it. 2017-12-07 09:43:47 +02:00
Jordan Petridis
9431fb827f
Bug fix. 2017-12-07 08:42:36 +02:00
Jordan Petridis
c07d240532
Sanitize html during feed parsing. 2017-12-07 06:38:31 +02:00
Jordan Petridis
8bd48a09a6
Groupd stack manipulation functions into content module. 2017-12-02 08:58:28 +02:00
Jordan Petridis
0359e9dd35
Convert EpisodeWidget into a Composed struct. 2017-12-01 07:13:41 +02:00
Jordan Petridis
3fca086d14
Renamed stack children. 2017-12-01 05:32:47 +02:00
Jordan Petridis
326ee75cd8
Remove old implementation. 2017-12-01 02:57:55 +02:00
Jordan Petridis
dd0034327b
Add Content Struct. 2017-12-01 01:12:25 +02:00
Jordan Petridis
f1f4d10fe3
Add PopulatedView struct. 2017-12-01 01:00:07 +02:00
Jordan Petridis
94879b4256
Move get_pixbuf_from_path into hammond_gtk/src/utils.rs module. 2017-11-30 21:38:21 +02:00
Jordan Petridis
bf240a00f4
Make a PodcastWidget Struct type. 2017-11-30 21:19:03 +02:00
Jordan Petridis
b32e35c574
Rename podcasts_view module. 2017-11-30 21:10:05 +02:00
Jordan Petridis
3707b70b41
Document Episode Model. 2017-11-28 08:25:04 +02:00
Jordan Petridis
d81f9c6ad7
Fixed stable unit tests. 2017-11-28 04:42:15 +02:00
Jordan Petridis
62da8bbb52
Use source_id as the unique identifieble field for the podcast table. 2017-11-25 01:56:10 +02:00
Jordan Petridis
4a195eb1b7
Moved set_played_now into a method of the Episode model. 2017-11-24 19:48:20 +02:00
Jordan Petridis
aa7c493e81
hammond-data/src/feed.rs api changes. 2017-11-23 18:48:41 +02:00
Jordan Petridis
31328355b1
Methods renaming, Api changes. 2017-11-22 06:25:34 +02:00
Jordan Petridis
9bc6df2cba
Made Disel NewModels private. 2017-11-22 05:50:25 +02:00
Jordan Petridis
e07683c046
partially-fixed the tests and benchmarks. 2017-11-20 01:08:34 +02:00
Jordan Petridis
5ad52fa4b2
Refactored to remove from Database refferences. 2017-11-19 23:32:37 +02:00
Jordan Petridis
5c84b77434
Converted iter_mut into into_iter wherever possible. 2017-11-18 19:23:25 +02:00
Jordan Petridis
494761beaf
Removed id function from diesel models.
It's automaticly declared upon derive identifiable,
And there's no need to overwrite it.
2017-11-18 15:23:40 +02:00
Jordan Petridis
1ec4370c7b
Moved Database type-alias into hammond-data/src/lib.rs. 2017-11-17 21:37:55 +02:00
Jordan Petridis
3c6176b1c0
Renamed hammond-data/src/dbcheckup.rs into utils.rs 2017-11-16 23:32:40 +02:00
Jordan Petridis
cfb876e006
Split hammond-data/models into sub modules. 2017-11-15 17:42:22 +02:00
Jordan Petridis
8b4701f1a1
Renamed Gresource path in order to be less confusing. 2017-11-15 14:55:26 +02:00
Jordan Petridis
f2476cde65
Refactored empty view logic. 2017-11-10 16:15:53 +02:00
Jordan Petridis
07c1395c29
Cleanup of downloader module. 2017-11-09 17:47:38 +02:00
Jordan Petridis
8c5cdf75a7
Cleaned up a bit the downloader moduel and added some unit tests. 2017-11-08 20:22:07 +02:00
Jordan Petridis
8d17d30c82
Completed #6, switch to gresource instead of include_str! macro. 2017-11-06 17:17:55 +02:00
Jordan Petridis
36271afcdd
Error types cleanup. 2017-11-05 15:36:54 +02:00