Commit Graph
1389 Commits
Author SHA1 Message Date
Jordan Petridis e4814dbfbc ShowWidget: Initial prototype of an undo notification. 2018-03-07 16:37:10 +02:00
Jordan Petridis 8261b32c99 Update changelog. 2018-03-05 22:07:18 +02:00
Jordan Petridis 9a73520b25 dbquerries: Add a unit test for update_none_to_played_now func. 2018-03-05 21:40:11 +02:00
Jordan Petridis 10db4f7210 ShowWidget: Initial implementation of a menu popup.
Re implement mark_all_episodes_as_watched functionality too.
2018-03-05 20:14:06 +02:00
Jordan Petridis 94f6fdcbe7 Clippy. 2018-03-03 18:52:38 +02:00
Jordan Petridis bb467b7aba Rustfmt. 2018-03-03 16:45:37 +02:00
Jordan Petridis 3da503cdea Use prebuilt image for the rustfmt CI check. 2018-02-26 17:49:20 +02:00
Jordan Petridis b062f0a19f EpisodeWidget Machine: Remove unused From impls. 2018-02-22 13:16:33 +00:00
Jordan Petridis 2a6e0b0e07 Merge branch 'master' into state-machines-experiements 2018-02-22 12:14:55 +00:00
Jordan Petridis 1558ee2177 EpisodeWidget: Fix Date states. 2018-02-22 12:01:07 +00:00
Jordan Petridis 3d542e5554 Readme: add dependancy ci banner. 2018-02-21 09:33:03 +00:00
Jordan Petridis c61938ba62 Update dependancies. 2018-02-20 06:19:05 +00:00
Jordan Petridis c856b88008 EpisodeWidget: Add a Date state machine. 2018-02-19 18:14:34 +00:00
Jordan Petridis fce3684113 Readme: Improve flatpak instructions. 2018-02-19 16:52:58 +00:00
Jordan Petridis ae25dd65bf Cargo clippy and fmt. 2018-02-19 09:58:47 +00:00
Jordan Petridis a88a1c5f1f MediaMachine: Expose an interface to update the ProgressBar and local_size. 2018-02-17 19:49:43 +02:00
Jordan Petridis 0cd678cc1d MediaMachine: Expose an interface to update total_size label. 2018-02-16 17:18:02 +02:00
Jordan Petridis c9bf58af66 EpisodeWidget: Expose cancel button from the state machine. 2018-02-16 16:05:48 +02:00
Jordan Petridis ed87a00225 EpisodeWidget: Cleanup parts of the state machine. 2018-02-16 14:43:16 +02:00
Jordan Petridis bcc3608c04 EpisodeWidget: Split ButtonState enum from the MediaMachine.
Add a ButtonState Machine which represents the state of total_size
label, play button, and download button. Also implemented the
update/determine_state function for ButtonState.

Also implemented required generic functions for MediaMachine<X,Y,Z>
that convert it to the desired state.
2018-02-16 13:32:13 +02:00
Jordan Petridis 038d28779c ShowWidget: Limit description to 100 chars width. 2018-02-16 07:45:29 +02:00
Jordan Petridis 973d47ee05 EpisodeWidget: Expose the connect_clicked callbacks from the statemachine enum. 2018-02-15 18:07:21 +02:00
Jordan Petridis e803e11c81 Fix EpisodeWidget Vertical alignment. 2018-02-15 11:56:56 +02:00
Jordan Petridis f50c990d93 Yay, finally something that works. 2018-02-15 11:33:56 +02:00
Jordan Petridis 72eef6f104 Running in circles. 2018-02-15 11:08:21 +02:00
Jordan Petridis 5ccdb5d100 Minor cleanup. 2018-02-15 05:31:36 +02:00
Jordan Petridis 4b8fceaa7d Nothing makes sense. 2018-02-15 05:15:25 +02:00
Jordan Petridis a24c9b1350 EpisodesView: Fix EpisodeWidget spacing. 2018-02-14 12:44:30 +02:00
Jordan Petridis 8913b7aedb SHowWidet: Experiement with dynamic size. Relevant to #35. 2018-02-14 08:44:02 +02:00
Jordan Petridis 978edfc11f EpisodeWidget: Allow the title to ellipsize. Releavnt to #35. 2018-02-14 08:04:59 +02:00
Jordan Petridis f4b41d0fd3 ShowWidget: Restrict horizontal scrolling. Relevant to #35. 2018-02-14 07:56:27 +02:00
Jordan Petridis 20162a16a8 EpisodesView: Re-work box/frame layout
Restrict horizontal scrolling,
Allow the episode widget to expand along when more space becomes available.
2018-02-14 07:03:26 +02:00
Jordan Petridis 73f7bfa64b I dont even know what I am doing at this point. 2018-02-14 04:18:05 +02:00
Jordan Petridis 159b0d92dd EpisodeWidget: Merge Size and Progress machines, Split total_size to it's own machine. 2018-02-13 07:51:00 +02:00
Jordan Petridis 02de2059db EpisodeWidget: Shrink the Size state Machine. 2018-02-13 05:03:16 +02:00
Jordan Petridis bdf8901dd8 This compiles.
Instead of having a Wrapper of StateMachinesWrappers, use only the desired
possible states in A new struct with only 1 Wrapper that covers all 3 of
the embeded state machines.

I don't even know if the comment makes any sense. Sorry.
2018-02-13 02:23:32 +02:00
Jordan Petridis b6a71688c0 Version bump to 0.3 0.3 2018-02-11 22:57:37 +02:00
Jordan Petridis dcc4eae27e Use Gnome Nightly Sdk for the flatpak manifest. 2018-02-11 00:54:17 +02:00
Jordan Petridis 65a080ed1d Readme: Fix rustup link. 2018-02-10 22:42:13 +02:00
Jordan Petridis 48071c28a7 AboutDialog: Add a temporary icon, and update contributors list. 2018-02-10 09:26:08 +02:00
Jordan Petridis 2fbc833ebe EpisodeWidget: Add a state machine that will manager progress_bar and cancel bttn. 2018-02-10 09:11:31 +02:00
Jordan Petridis f7b5b35374 EpisodeWidget: change DownloadPlayMachine default constructor to a hidden state. 2018-02-10 08:13:07 +02:00
Jordan Petridis 46bd23cf66 EpisodeWidget: Add a StateMachine that manages Play and Download Buttons. 2018-02-10 08:00:12 +02:00
Jordan Petridis 138cfdb68c EpisodeWidget: use debug! instead of error! to avoid spamming stderr with *not actuall* errors. 2018-02-10 05:45:50 +02:00
Jordan Petridis 6d9dfe6fe1 EpisodeWidget: Add a StateMachine for the size labels. 2018-02-10 05:41:25 +02:00
Jordan Petridis fc48ce9c47 EpisodeWidget: Migrate Duration Machine to use take mut too, and revert the api to require just &mut self. 2018-02-10 03:33:39 +02:00
Jordan Petridis 3a9a2f4033 EpisdoeWidget: Use take_mut crate to allow for a better api.
Currently it's required that you take mut self in order to manipulate
the internal state machines. This would not allow passing an Arc/Rc to
a callback since A/Rc<T> only derefs to &T and not T.

The take_mut crate allows the retrieval of ownership if you have a &mut refference
and as long you return T again. So Arc<Mutex<Machine> could work with
callbacks and embed Nested state machies without copying.
2018-02-10 03:15:12 +02:00
Jordan Petridis f0ce0eb653 EpisodeWidget: Implement a state machine for duration label. 2018-02-09 10:12:37 +02:00
Jordan Petridis 23979b8f22 EpisodeWidget: Move state machine implementations into a separate module. 2018-02-09 09:13:41 +02:00
Jordan Petridis e22a78fac6 EpisodeWidget: Re-enable on_play_bttn_clicked callback.
Before we were avoiding reloading the widget in view by
directly dimming the title label. Now instead we reload
the whole widget since I can't figure out a way to have
multiple Owneded refferences of the same state machine.
2018-02-09 08:59:50 +02:00