Jordan Petridis
b5dbfb1a86
PopulatedStack: Allow for more control over the stack transitions.
...
When you just update/replace the widget there is no need for an animation
to occur. Thus why animations where broken before. This commit is not ideal
as it makes it the responsibility of the caller to declare valid(UX wise)
transitions.
2018-05-04 11:32:50 +03:00
Jordan Petridis
c96b39d597
Fix all the clippy warnings!
2018-04-30 14:13:54 +03:00
Jordan Petridis
72a6832571
h-gtk: Rename HomeView and ShowView parent modules.
2018-04-25 20:57:05 +03:00
Jordan Petridis
3d160fc35c
h-gtk: Restructure the stacks structure.
...
This commit reimplements support for the empty view in the ShowStack.
The current structure is the following:
* A Content stack which holds the HomeStack and the ShowStack.
It's what is used in the headerbar StackSwitcher.
* The HomeStack is composed of the HomeView and an EmptyView.
* The ShowStack is composed of the PopulatedStack and an EmptyView.
* The PopulatedStack is composed of the ShowsView and the ShowWidget
currently. An AboutEpisode widget is planned to be added here also.
2018-04-25 19:23:02 +03:00
Jordan Petridis
c4ed90dd5a
ShowStack: Refactor to make stack restructure easier.
...
This removes the empty widget from the ShowStack. The plan is
to have a ShowsView which will be the parent of ShowStack and
an Empty Widget. Then make ShowStack have only valid populated
states of ShowsPopulate, ShowWidget and AboutEpisodeWidget later.
2018-04-24 13:12:27 +03:00
Jordan Petridis
f173b326a4
Contnet: Minor renaming following 75af3c7f2b
2018-04-24 12:28:29 +03:00
Jordan Petridis
6406c3af13
h-gtk: Refactor part of the ShowStack.
2018-04-21 07:40:42 +03:00
Jordan Petridis
a68987f257
h-gtk: Move some stuff from utils to settings module.
2018-04-19 08:04:40 +03:00
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