Commit Graph
100 Commits
Author SHA1 Message Date
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
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 3c24b9f9d9 hammond-data::utils: Added new Diesel model for the download checker. 2017-12-20 19:00:14 +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 ccfea527ac gitlab-ci: use --force for clippy and rustfmt isntallation. 2017-12-20 13:25: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 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
Jordan Petridis 3cbda5979d Merge branch 'show_widget_redesign' into 'master'
Show widget redesign

See merge request alatiera/Hammond!6
2017-12-17 13:05:25 +00: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