Commit Graph

121 Commits

Author SHA1 Message Date
Jordan Petridis
3b5831f317
ShowsView: Do not block while loading ShowChilds. 2018-04-19 07:51:48 +03:00
Jordan Petridis
df417fa619
h-gtk: Use Rc instead of Arc wherever possible.
As logn we are not doing anything funny to bypass the borrow-checker,
we should not be able to touch gtk wigets from other threads anyway.
2018-04-19 06:34:02 +03:00
Jordan Petridis
7c03266d16
Inline a bunch of stuff. 2018-04-17 09:04:18 +03:00
Jordan Petridis
627f06ea9f
Fix typos. 2018-04-17 08:50:03 +03:00
Jordan Petridis
9f84178182
h-gtk: Increase the sleep time between the action channel calls. 2018-04-17 07:52:04 +03:00
Jordan Petridis
54641fc3c5
ShowWidget: Try to retain scrollbar adjustment. 2018-04-17 06:00:06 +03:00
Jordan Petridis
0589f2fe2a
h-gtk: Move show notification creation into widgets/show.rs 2018-04-16 05:45:58 +03:00
Jordan Petridis
a9abd75b51
h-gtk: Nuke Action::UpdateSource.
Use inline glib::idle_add since it can be called on the spot.
2018-04-16 04:34:17 +03:00
Jordan Petridis
bc6eeec663
Replace if Let Err(_) with .map_err().ok() patterns.
I dislike the indentation and the noise if let adds.
2018-04-16 04:03:44 +03:00
Jordan Petridis
3132856efe
h-gtk/utils: Remove expects and unwraps on senders 2018-04-16 01:27:59 +03:00
Jordan Petridis
4db7628eed
h-gtk/utils: Make refresh_feed methods generic over Source. 2018-04-16 01:12:27 +03:00
Jordan Petridis
87421ce74d
Cargo fmt 2018-04-13 04:35:50 +03:00
Jordan Petridis
f94ccb9947
InAppNotification: Remove the need to pass a sender. 2018-04-13 03:46:32 +03:00
Jordan Petridis
0720222423
h-gtk/app: use idle_add instead of timeout_add for updating on startup. 2018-04-10 21:07:07 +03:00
Jordan Petridis
1595256c86
Use rayon to manage all the threads. 2018-03-30 09:31:25 +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
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
b2c95e5a73
ShowWidget: display a notification before removing the show. 2018-03-26 10:57:44 +03: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
a7540583d6 Connect settings for auto refresh and cleanup. 2018-03-16 23:23:06 +01: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
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
Jordan Petridis
d1821163c2
Factor out the In-app notification into something generic. 2018-03-09 01:21:54 +02:00
Jordan Petridis
7de118adeb
Minor style changes. 2018-03-08 23:14:48 +02:00
Jordan Petridis
ae25dd65bf
Cargo clippy and fmt. 2018-02-19 09:58:47 +00: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
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
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
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
a2cf2357c6
Add about a basic about dialog. 2018-01-29 18:02:24 +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
574cfae5c6
rustfmt: enable reorder imports. 2018-01-17 08:57:02 +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
0ba5e14d7f
EpisodeWidget: Only update if it's visible. 2018-01-09 10:10:54 +02:00
Jordan Petridis
eef83fc98c
EpisodeWidget: Implement API to update the progress bar. 2018-01-08 05:11:37 +02:00
Jordan Petridis
6bd391d89e
I hate global mutable state.. 2018-01-07 05:51:29 +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
112b61d39e
EpisodesView: Retain vertical scrolling adjustment upon view refresh. 2018-01-04 23:19:15 +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
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
2d71a99121
Change the auto-updater and checkup startup scheduling. 2018-01-02 20:47:49 +02:00
Jordan Petridis
c61d322569
EpisodeWidget: Implement shared download state. 2018-01-02 08:00:38 +02:00
Jordan Petridis
5730e71e2a
Clear TODO and FIXME that are no longer releavant. 2017-12-30 20:54:23 +02:00
Jordan Petridis
ce08d49107
Headerbar: Added update indication. 2017-12-29 22:58:20 +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
5942e47f2a
hammond-gtk: Split gtk::Application into its own module. 2017-12-28 16:59:05 +02:00