Commit Graph
697 Commits
Author SHA1 Message Date
Jordan Petridis c3658080d3 Comment out a test. 2018-03-29 11:37:31 +03:00
Jordan Petridis 8703470010 h-gtk/utils: Use a threadpool to avoid spawning a million threads 2018-03-29 10:24:02 +03:00
Jordan Petridis 88cc7e6fec Fix set_image_from_path test 2018-03-29 09:21:49 +03:00
Jordan Petridis badcbc32c6 Implement async loading of the Show covers. 2018-03-28 22:41:45 +03:00
Jordan Petridis daa8f15ce9 hammond-gtk::utils: change the signature of get_pixbug_from_path and rename it
Requires a gtk::Image as argument now, it sets the pixbuf to the
img directly instead of returning it.
New name is set_image_from_path.

This is ground work so we can later keep the image reference, and
use it to set the image with a callback.
2018-03-28 21:47:10 +03:00
Jordan Petridis 89ee174ded Version bump. 2018-03-28 14:48:43 +03:00
Jordan Petridis f693c986ec Add an empty_show if Show has no episodes. 2018-03-28 13:24:26 +03:00
Jordan Petridis ef3809ed25 Update about dialog. 2018-03-27 16:53:12 +03:00
Rowan Lewis c458b27573 Handle window geometry with a new struct. 2018-03-27 11:54:36 +00:00
Rowan Lewis 524e0bb0a8 Persist window geometry including maximized state for issue #50. 2018-03-27 11:54:36 +00:00
Jordan Petridis d525d1fe59 InAppNofitication: Make revealer field private, change show signature
Accept an overlay widget that the revealer will be attached to into
the show method. Thus revealer field no longer need to be public.
2018-03-27 12:01:53 +03:00
Jordan Petridis bdc6264701 app.rs: Minor formatting improvments. 2018-03-27 11:50:31 +03:00
Jordan Petridis 7e2640e2d0 ShowWidget: When unsub notification expires, remove show from the ignore list.
This should not make any difference regarding the behaviour since
the Show id is eq to the sqlite rowid which means that even
if the same show was removed and readded it would have diff id.
2018-03-27 11:09:53 +03:00
Rowan Lewis 2497cb31d0 Remove shadow_type from the show widget. 2018-03-26 18:53:48 +00:00
Rowan Lewis 446a0ede54 Fix #52 by removing the specified shadow_type from the episodes and shows scrolled windows. 2018-03-26 18:53:47 +00:00
Jordan Petridis 69e87d129a ShowWidget: Hide shows from the Views when unsub is hit. 2018-03-26 14:34:54 +03:00
Jordan Petridis f7a7510322 Implement the shared HashSet with the ignored Shows ids 2018-03-26 13:25:39 +03:00
Jordan Petridis e9f2ba47f2 dbquerries: Add get_episodes and get_podcasts querries that can filters. 2018-03-26 12:46:13 +03:00
Jordan Petridis b2c95e5a73 ShowWidget: display a notification before removing the show. 2018-03-26 10:57:44 +03:00
Jordan Petridis 1af06f2e0d Neaw gtk-rs release, yay! 2018-03-19 06:34:28 +02:00
Rowan Lewis f182d441d1 Allow the Copy trait to do the work for us. 2018-03-18 00:29:52 +01:00
Rowan Lewis e14f215793 Allow cleanup to be blocking on startup and remove cleanup from automatic content refreshes. 2018-03-17 23:50:59 +01:00
Rowan Lewis 34536f4e21 Set dark theme at application startup based on settings. 2018-03-17 23:46:37 +01:00
Rowan Lewis afdedc7575 Use crono types instead of unsigned integers for time periods. 2018-03-17 01:10:10 +01:00
Rowan Lewis 69a7a9b180 Renamed the 'auto-refresh' settings to 'refresh-interval' so that they represent the internal behaviour better. 2018-03-16 23:31:12 +01:00
Rowan Lewis a7540583d6 Connect settings for auto refresh and cleanup. 2018-03-16 23:23:06 +01:00
Jordan Petridis a253d7ebf5 Merge branch 'feature/gsettings-schema' into 'master'
Added initial settings schema.

See merge request alatiera/Hammond!22
2018-03-16 20:05:19 +00:00
Rowan Lewis 3886402f8e Spelling correction. 2018-03-16 20:45:40 +01:00
Rowan Lewis 97e402b980 Added initial settings schema. 2018-03-16 20:38:37 +01:00
Jordan Petridis 93e15af209 Compress gresource ui files. 2018-03-16 21:29:54 +02:00
Jordan Petridis 9f3a5a13b3 EpisodeWidget: Some RefCell are not really necessary. 2018-03-16 20:11:17 +02:00
Jordan Petridis 3a0fb4bdec Upgrade dependancies. 2018-03-14 04:07:44 +02:00
Jordan Petridis a11c4c9bd2 InAppNotification: Twek the margins around the text label. 2018-03-14 00:43:17 +02:00
Jordan Petridis d4b98b5cb2 I hate everything that has to do with centering stuff. 2018-03-14 00:40:29 +02:00
Jordan Petridis 030fed6d12 EpisodeWidget: Just in case there was a deadlock. 2018-03-13 04:57:11 +02:00
Jordan Petridis fc9579cd51 EpisodeWidget: Replace some Mutexs with RefCells.
The state machines are not send and the code is sequnecial.
We only need `&mut machine` refference to pass to `take_mut::take`
to change the state of the machine. In 2/3 cases we can even use
`.get_mut()` method and even avoid the dynamic borrow checks at
runtime. For the `TitleMachine` The only thing that will hold
a refference to it after initialization will be the play_button
callback. So it's justifiable to use `RefCell` insetead of a `Mutex`.
2018-03-13 04:44:06 +02:00
Jordan Petridis 74712b5410 EpisodeWidget: Remove unnecessary Arcs.
`DateMachine` and `DurationMachine` are only mutated during initialization
and thus do not need shared ownership.
`TitleMachine` is only mutated during initialization and after that only
the callback will keep holding a referrence to it. The `EpisodeWidget`s
get dropped after initialization. So it's justifiable to use `Rc<Mutex<T>>`
instead of `Arc`.
2018-03-13 03:47:46 +02:00
Jordan Petridis 05628a2529 Update changelog. 2018-03-12 22:32:52 +02:00
Jordan Petridis 1bdd2f2f5b Merge branch 'master' into state-machines-experiements 2018-03-12 22:10:14 +02:00
Jordan Petridis 8a18630ae5 Initial integration of the itunes resolver with the Add button. 2018-03-12 20:49:02 +02:00
Jordan Petridis b87c331b12 Make the itunes_resolver functions inlined. 2018-03-12 07:28:09 +02:00
Jordan Petridis 9da2414e8b Initial implementation of an itunes_to_rss url resolver. #49 2018-03-12 06:48:05 +02:00
Jordan Petridis 285291b2ed Ignore tests that need access to the host system. 2018-03-12 03:35:07 +02:00
Jordan Petridis dbbb4e589e InAppNotification: Fix autohiding after the callback is executed. 2018-03-09 20:24:28 +02:00
Jordan Petridis 064879c4ce InAppNotification: Remove reduntant Overlay. 2018-03-09 19:46:46 +02:00
Jordan Petridis 8614922213 InAppNotification: Change box margins. 2018-03-09 19:36:43 +02:00
Jordan Petridis 99bc80c15b ShowWidget: Add a 6px margin to the settings popup. 2018-03-09 17:04:11 +02:00
Jordan Petridis 3423d854e1 ShowWidget: Change the mark_all notif wording. 2018-03-09 16:43:13 +02:00
Jordan Petridis 483fd090f1 InAppNotification: Add close button. 2018-03-09 15:25:53 +02:00
Jordan Petridis 82988b6011 Implement in-app notifications as App wide actions.
At first I tried creating custom InAppNotifications and send
them to the main loop to be added. That does not work sicne gtk
widgets are not thread safe. For now we can try having Action messages
that create them on demand. As oppose to create first then pass them.
2018-03-09 14:53:13 +02:00