Jordan Petridis
aaca6a6704
Prefs: Use weak refs to avoid refference cycle.
2018-07-25 04:25:40 +03:00
Jordan Petridis
5f7c822deb
gtk: Rename left over home_view .ui files.
2018-07-25 03:55:42 +03:00
Jordan Petridis
53be091a31
Replace links
2018-07-25 03:26:41 +03:00
Jordan Petridis
04c68ba013
Initial massive renaming.
2018-07-25 03:26:35 +03:00
Jordan Petridis
518ea9c8b5
EmptyView: Improve wording of strings and Center stuff.
2018-07-24 15:07:13 +03:00
Jordan Petridis
6bb2142f35
Prefs: Fix typo.
2018-07-24 15:06:56 +03:00
Jordan Petridis
6aa931c866
Update deps.
2018-07-24 09:28:25 +03:00
Jordan Petridis
67ab54f820
Headerbar: Try to improve the add button behavior.
2018-07-24 09:05:55 +03:00
Jordan Petridis
cc9fc80328
Remove some unwraps.
2018-07-24 08:04:31 +03:00
Jordan Petridis
3e8a8a6b85
Hamburger: connect the MenuModel during initialization.
2018-07-24 07:36:41 +03:00
Jordan Petridis
70a2d0e5f3
EpisodeWidget: Improve total_size label wording.
2018-07-24 07:29:52 +03:00
Jordan Petridis
09e8d7e1da
AboutDialog: Update authors list.
2018-07-24 07:25:57 +03:00
Jordan Petridis
3c3d6c1e7f
EmptyView: Style improvments.
...
Suggest using the OPML import action from the hamburger menu.
Minor rework of the over style.
2018-07-24 07:23:00 +03:00
Jordan Petridis
0dcc95cd34
Hamburger: Hide unimplemented menu actions.
2018-07-24 06:47:43 +03:00
Jordan Petridis
edae1b0480
Add Application Icons.
...
Huge thanks to Tobias and Sam for these!
2018-07-24 06:27:34 +03:00
Jordan Petridis
5fb2cb7e76
Merge branch 'prefs' into 'master'
...
Prefrences dialog
See merge request World/hammond!34
2018-07-24 02:57:29 +00:00
Jordan Petridis
403bb71c5d
Prefs: Bikeshed on the naming of things.
2018-07-24 05:05:52 +03:00
Jordan Petridis
9e23b16ae7
App: Remove no longer needed allow(unused).
2018-07-24 05:05:43 +03:00
Jordan Petridis
60a93a2433
App: Use the gio::prelude
2018-07-24 05:05:39 +03:00
Jordan Petridis
f661d24544
Merge branch 'icons-are-weird' into 'master'
...
Get the symbolics to work
See merge request World/hammond!45
2018-07-24 01:53:01 +00:00
Jordan Petridis
cf1042f40d
Player: Improve the tooltips of buttons.
2018-07-23 23:36:52 +03:00
Jordan Petridis
e77000076b
Player: Add custom icons for the forward and rewind buttons.
2018-07-23 21:28:29 +03:00
Jordan Petridis
49241664dc
Merge branch 'alatiera-master-patch-41773' into 'master'
...
Add Sam to the artists credits.
See merge request World/hammond!44
2018-07-21 23:19:11 +00:00
Jordan Petridis
ffa3e9ec9a
Add Sam to the artists credits.
2018-07-21 23:02:56 +00:00
Jordan Petridis
fbbe0d9ca9
EpisodeWidget: Tweak padding and spacing.
2018-07-21 21:14:07 +03:00
Jordan Petridis
001eeecc09
ShowMenu: Add a separator and set alignment left.
2018-07-21 20:12:02 +03:00
Jordan Petridis
454a9c7076
ShowWidget: Fix description padding.
2018-07-21 19:41:15 +03:00
Jordan Petridis
fc934ce8e1
ShowsView/Stack: Add some assertions.
2018-07-21 10:39:42 +03:00
Jordan Petridis
b9bcc28e0f
ShowMenu: Add debug assertions here too.
2018-07-21 10:30:46 +03:00
Jordan Petridis
b5ddca65f5
ShowWidget: Add some assertions.
2018-07-21 10:24:48 +03:00
Jordan Petridis
536805791e
ShowWidget: Move controls into a headerbar menu.
...
This fits better the HIG and allows for more flexibility in the way
the ShowWidget is implemented/designed.
2018-07-21 09:47:08 +03:00
Jordan Petridis
5a6c73c4c1
Headerbar: Move/Rename the menus.ui to hamburger.ui
2018-07-21 07:20:48 +03:00
Jordan Petridis
d50f5a0488
Player: Remove no longer relavant FIXME annotations.
2018-07-19 22:14:17 +03:00
Jordan Petridis
671a31a95a
Player: Improver human-facing error message.
2018-07-18 16:16:33 +03:00
Jordan Petridis
5e38f41530
Merge branch 'lazy_drawing' into 'master'
...
Lazy drawing
See merge request World/hammond!43
2018-07-18 13:14:44 +00:00
Jordan Petridis
7569465a61
App: Remove the imposed delay before refresh_on_startup runs.
...
The application is even lazier now and this is no longer an issue.
2018-07-17 20:42:57 +03:00
Jordan Petridis
5913166a13
EpisodeWidget: Avoid Refference Cycles.
...
When passing an Rc into a gtk callback it causes
the Rust struct to be kept in memory even if the gtk+ wiget
was dropped.
Should have been using Weak refferences all along.
2018-07-17 20:42:45 +03:00
Jordan Petridis
6036562af2
HomeEpisode: Do not initialize the Image until it needs to be drawn.
2018-07-17 16:08:20 +03:00
Jordan Petridis
39e6c258d5
ShowsChild: do not initialize the cover until it needs to be drawn.
2018-07-17 16:04:04 +03:00
Jordan Petridis
1ab0291483
EpisodeWidget: Only initialize the episode once it's first drawn.
2018-07-17 15:57:52 +03:00
Jordan Petridis
fe024502d4
EpisodeWidget: Pass the EpisodeModel by value.
...
This is preparationg for being able to pass the model to
the connect_craw callback directly.
2018-07-16 16:01:32 +03:00
Jordan Petridis
9a76c6428a
Merge branch 'hammond-service-launch'
...
See merge request !42
2018-07-15 22:21:18 +03:00
Jordan Petridis
2d4053c792
cargo fmt
2018-07-15 22:20:45 +03:00
Jordan Petridis
b343068805
cargo fmt
2018-07-15 22:17:00 +03:00
Jordan Petridis
ecf50dde2b
Update .gitignore
2018-07-15 22:16:06 +03:00
Jordan Petridis
008404ffb3
Update Changelog.
2018-07-04 18:40:03 +03:00
Jordan Petridis
2b6cca6bab
Version bump.
2018-07-04 17:26:56 +03:00
Jordan Petridis
fe968e19c0
Update Changelog.
2018-07-04 16:39:19 +03:00
Jordan Petridis
479498d8be
EpisodeMinimal: add lenght as well.
2018-07-03 16:38:08 +03:00
Jordan Petridis
af9669acd0
Add a bash script to run the test-suite.
2018-07-01 00:55:57 +03:00
Jordan Petridis
d2eb98f859
Update gitignore file.
2018-07-01 00:54:28 +03:00
Jordan Petridis
ae11084f48
Merge branch 'db-cleanup' into 'master'
...
Database cleanup
See merge request World/hammond!41
2018-06-30 21:25:51 +00:00
Jordan Petridis
b02b554105
Models: Change the Query suffix to Model.
...
This is maps better to the MVC naming convention.
2018-06-30 23:02:13 +03:00
Jordan Petridis
2d66ba918a
Models: Rename Podcat Models to Show to better match the UI code.
2018-06-30 22:47:58 +03:00
Jordan Petridis
400c0f35f0
PodcastModel: Remove dead code.
2018-06-30 22:20:07 +03:00
Jordan Petridis
5b8b265371
Database: Add diesel_cli config.
2018-06-30 21:47:57 +03:00
Jordan Petridis
f3fb27005a
Database: Rename the tables to better match the userfacing strings
2018-06-30 21:47:49 +03:00
Jordan Petridis
79bb9bdde8
Database: Drop dead fields/columns.
...
If and when such featured are going to be implemented, it should be
trivial to re-add them. Till then there is no reason for them to exist.
2018-06-30 18:05:52 +03:00
Jordan Petridis
4b983e401d
PlayerWidget: Use weak ref counting for callbacks.
...
When we pass strong reference to callback closures, it prevents
the object to be dropped even if they gtk Widget was destroyed.
2018-06-27 23:06:27 +03:00
Jordan Petridis
5f2f0a9a57
Headerbar: Hide the hamburger button when not in a global view.
2018-06-27 20:27:16 +03:00
Jordan Petridis
8b2ae6d464
Headerbar: Remove the requirment of a window to construct it.
2018-06-27 20:19:03 +03:00
Jordan Petridis
91aae6a9f5
Headerbar: Factor out the AddPopover widget.
2018-06-27 20:15:42 +03:00
Jordan Petridis
b0fc9ef05e
Headerbar: Factor out the Update Indicator widget.
2018-06-27 18:51:56 +03:00
Jordan Petridis
5d6fbb6f04
Headerbar: ::new() method now returns Rc<Self>.
2018-06-27 18:20:45 +03:00
Jordan Petridis
301ebdbcd8
Content: ::new() method now returns Rc<Self>.
2018-06-27 18:18:11 +03:00
Jordan Petridis
49bcf46b4f
app.rs: Group the gactions declarations.
2018-06-27 17:11:32 +03:00
Jordan Petridis
f7263c8ab8
app.rs: Move the action channel to it's own function.
2018-06-27 16:48:35 +03:00
Jordan Petridis
c69772131a
app.rs: Refactor into an object/struct again.
2018-06-27 16:32:08 +03:00
Jordan Petridis
e8c025b898
app.rs: Minor style change.
2018-06-26 23:37:14 +03:00
Jordan Petridis
8fb5c16bce
Upgrade crossbeam-channel.
2018-06-26 23:37:06 +03:00
Jordan Petridis
f4551ddf3a
Update deps.
2018-06-26 23:37:02 +03:00
Jordan Petridis
f337488951
Readme: Update the dependencies needed
2018-06-25 17:35:54 +00:00
Jordan Petridis
f104f11613
Fix trivial_cast lint warning.
2018-06-24 20:01:27 +03:00
Jordan Petridis
32e8f952fd
Even more lints!
2018-06-24 02:21:27 +03:00
Jordan Petridis
c7cfc81c6f
Merge branch 'embedded-player' into 'master'
...
Embedded player
Closes #38
See merge request World/hammond!40
2018-06-23 23:03:39 +00:00
Jordan Petridis
faeafc329c
PlayerWidget: Tweak rewind on pause behavior.
...
Only rewind on pause if the stream position is passed a certain point.
Else it can feel a bit weird if you just started the stream and it
immediatly rewinds.
2018-06-23 22:45:21 +00:00
Jordan Petridis
eeef0d13ff
PlayerWidget: Use the Gtk Main Context for the gst_player as well.
...
There is no longer a need for sending stuff to the main-thread `Action`
channel anymore thanks to this.
2018-06-23 22:45:21 +00:00
Jordan Petridis
0686fca3b0
h-gtk: Increase the polling rate of the main thread channel.
...
When dragging the PlayerWidget.timer.slider widget PlayerDurationChanged
messaged pile up in the channel and get out of sync with the
slider.connect_value_changed() signal.
2018-06-23 22:45:21 +00:00
Jordan Petridis
79b425326b
Update Changelog.
2018-06-23 22:45:20 +00:00
Jordan Petridis
2d879b9604
PlayerRate: Change the container widget to GtkBox and add padding.
2018-06-23 22:45:20 +00:00
Jordan Petridis
38eb14b013
Delete commented out code.
2018-06-23 22:45:19 +00:00
Jordan Petridis
ff2f43766e
PlayerWidget: Add a widget to change the playback speed of the stream.
...
Only 3 options are offered currently since the design of the feature
is still in progress and this is only a throw a away prototype.
2018-06-23 22:45:19 +00:00
Jordan Petridis
593d66ea54
EpisodeWidget: Mark an episode as played when the play button is hit.
...
Ideally episodes would be marked as played only when they have
passed a cerain point in their duration, but till thats ready
we should keep marking them.
2018-06-23 22:45:19 +00:00
Jordan Petridis
ee8cbbf7ef
PlayerWidget: Delete commented out stuff.
2018-06-23 22:45:19 +00:00
Jordan Petridis
474cb49d2c
PlayerInfo: Increase the size of the cover.
2018-06-23 22:45:19 +00:00
Jordan Petridis
590f815dc0
PlayerInfo: Limit label widths and add tooltips.
2018-06-23 22:45:18 +00:00
Jordan Petridis
a93d5246d2
PlayerInfo: Swap bold properties of the labels.
2018-06-23 22:45:18 +00:00
Jordan Petridis
3e2ab8e7ee
PlayerExt: Add a stop method.
...
Also connect on the gst_player::Player::connect_on_stream_end method.
The main reason for this is to be able to reset the slider bar to 0
upon a stream ends.
2018-06-23 22:45:18 +00:00
Jordan Petridis
a83270699f
PlayerWidget: refactor seek method.
2018-06-23 22:45:17 +00:00
Jordan Petridis
745afb32a3
PlayerWidget: Rewind on pause.
2018-06-23 22:45:17 +00:00
Jordan Petridis
2fcb8d915d
PlayerWidget: Remove an .expect() occurrence.
2018-06-23 22:45:17 +00:00
Jordan Petridis
a596b62a5f
PlayerWidget: Tweak gst_player config.
2018-06-23 22:45:16 +00:00
Jordan Petridis
55b1504aab
PlayerTimes: Display human-friendly values.
2018-06-23 22:45:16 +00:00
Jordan Petridis
c42822669b
PlayerTimes: Replace unnecessary Arc with Rc.
2018-06-23 22:45:16 +00:00
Jordan Petridis
b58d28c723
PlayerTimes: create wrapper struct of gst::ClockTime.
...
Now on_duration_changed requires a `Duration` type and
on_position_updated requires a `Position` type as oppose to
both accepting `ClockTime` as their argument.
2018-06-23 22:45:16 +00:00
Jordan Petridis
a6a34d8246
PlayerWidget: Group the button connect_clicked methods.
2018-06-23 22:45:16 +00:00
Jordan Petridis
0080399db2
PlayerWidget: Move on_duration_change and on_postion_updated methods.
...
Previously they depended on the player/pipeline to get the ClockTime
values, and only `PlayerWidget` had access to the `gst_player::Player`
object.
Now that it uses the gst_player methods instead of the raw pipeline
methods to get the ClockTime values it no longer needs access to the whole
PlayerWidget object.
2018-06-23 22:45:15 +00:00
Jordan Petridis
50b480ee23
PlayerWidget: Refactor the position_changed/updated callback.
...
It now uses gst_player::Player::connect_position_updated callback
to send, cross threads, the `position` value to the gtk main loop
which then updates the widget.
2018-06-23 22:45:15 +00:00
Jordan Petridis
da467b7837
PlayerWidget::seek handle the case where the offset might be none.
2018-06-23 22:45:15 +00:00
Jordan Petridis
70914b6c3e
PlayerWigdet: Refactor the way the duration label is updated.
...
This now connect's directly to gst_player::Player::connect_duration_changed
method.
The method then sends a cross-thread msg to the Action channel in the main loop that
then updates the widget.
2018-06-23 22:45:14 +00:00