Commit Graph
100 Commits
Author SHA1 Message Date
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 5c333291e1 Move temporary downloads to XDG_CACHE/Downloads. 2018-01-07 07:46:11 +02:00
Jordan Petridis 6bd391d89e I hate global mutable state.. 2018-01-07 05:51:29 +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 b32f448957 When downloading an episode, set it's title to rowid instead of it's title. 2018-01-01 16:36:15 +02:00
Jordan Petridis e42353e03f cargo update 2018-01-01 00:46:31 +02:00
Jordan Petridis a3c204a02d Headerbar: Fix add popup. 2018-01-01 00:42:14 +02:00
Jordan Petridis a3cd76dbf8 hammond-downloader: Use glob Insead of hardcoded file extensions. 2017-12-31 03:59:48 +02:00
Jordan Petridis 785a5f80c6 hammond-data::utils: Small and minor refactor. 2017-12-31 01:42:28 +02:00
Jordan Petridis e727734443 DB Schema: Remove episode.published_date column. 2017-12-30 22:23:10 +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 8a7d6d9f1b Add an empty CHANGELOG that follows keepachangelog.com format. Closes #23. 2017-12-28 22:41:22 +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 a9d1084e05 gitlab-ci: Remove ci cache until gitlab-runner 10.4 release 2017-12-27 18:14:50 +02:00
Jordan Petridis 7d7b09ff0f hammond-data::parser: Prefer itunes_summary over channel.description if it exists. Finishes #20. 2017-12-27 17:59:40 +02:00
Jordan Petridis 1f0a2b5c6c hammond-data::parser: Prefer itunes_summary over item.description if it exists. Finishes #20. 2017-12-27 17:40:31 +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 41abeeb2e3 Merge branch 'hamburger-menu' into 'master'
Hamburger menu

See merge request alatiera/Hammond!11
2017-12-26 14:25:47 +00:00
Jordan Petridis e99ab58b83 Headerbar: Add margins to the hamburger menu. 2017-12-26 15:46:25 +02:00
Jordan Petridis 933fec55a5 hammond-data::parser: Refactor Episode tests. 2017-12-26 13:40:52 +02:00
Jordan Petridis fde4bedce6 hammond-data::parser: Refactor Podcast tests. 2017-12-25 23:29:42 +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
Jordan Petridis ee03d92fdb Merge branch 'master' into 'master'
[ui] add round corners to listboxes

See merge request alatiera/Hammond!10
2017-12-24 13:02:37 +00:00
Jordan Petridis ef705f9a2a Merge branch '27-episodesview' into 'master'
Resolve "EpisodesView"

Closes #27, #21, #22, #19, and #18

See merge request alatiera/Hammond!8
2017-12-23 15:05:17 +00: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 30970c8dfb gitlab-ci: Force regeneration of gresources. 2017-12-23 16:35:23 +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 37dbfff766 gitlab-ci: Do not cache rustfmt and clippy stuff. 2017-12-23 14:22:02 +02:00
Jordan Petridis f9d17afad3 hammond-gtk: Remove app menu. 2017-12-23 10:39:20 +02:00
Jordan Petridis 5234ecb2a7 Merge branch '27-episodesview' into '27-episodesview'
[ui] add custom style and [fix] draw List separators with css

See merge request alatiera/Hammond!9
2017-12-22 21:41:18 +00: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 7aebb4d50d gitlab-ci: Add caching to the ci config. 2017-12-22 18:49:24 +02:00
Jordan Petridis 31b19dd88e Just things apple force you to do. 2017-12-22 18:28:18 +02:00
Jordan Petridis 0129efb02e EpisodeWidget: Display episode's duration. Closes #21. 2017-12-22 17:49:15 +02:00
Jordan Petridis 4512790f2d hammond-data: Add duration column to the episode table. 2017-12-22 17:30:07 +02:00
Jordan Petridis 5541b18a6a hammond-data::parser: Add itunesext_duration parser. 2017-12-22 16:55:45 +02:00
Jordan Petridis b820ee4db7 hammond-data::parser : Do not clean image urls cause feeds put redirects for uri for some reason. 2017-12-22 14:51:57 +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 2ad0539a82 Downloader: Overwrite episode.lenght column upon download finish with the actual file size. Closes #22. 2017-12-21 22:15:17 +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