Zander Brown
f56fac6877
Bind GtkSettings dark property to GSettings
...
Now you can switch between dark and light on the fly
2018-07-24 05:05:15 +03:00
Zander Brown
1b623ef346
Initial dialog
2018-07-24 05:05:00 +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
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
2d4053c792
cargo fmt
2018-07-15 22:20:45 +03:00
Zander Brown
09a14c1270
Delay showing window until ::activate
...
Bit of a hack as we are still creating the window in ::startup but it's good compromise
Pass the arguments to GApplication so we can be launched as a service
2018-07-15 22:20:28 +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
8b2ae6d464
Headerbar: Remove the requirment of a window to construct it.
2018-06-27 20:19:03 +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
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
38eb14b013
Delete commented out code.
2018-06-23 22:45:19 +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
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
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
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
Jordan Petridis
1daa841f31
PlayerWidget: Connect to the errors callback.
2018-06-23 22:45:13 +00:00
Jordan Petridis
1b78d221b6
PlayerWidget: Wire the play and pause buttons and add style classes to the Info Labels.
...
This also includes the yak shaving of a ::new and ::inti methods.
2018-06-23 22:45:12 +00:00
Jordan Petridis
5f92df97e6
PlayerWidget: Wire the widget to the GUI.
...
This commit also removes the majority of the playback widget,
though most of it's code will make it to the PlayerWidget once
it starts to get wired to the gtreamer_plaer::Player.
2018-06-23 22:45:11 +00:00
Zander Brown
9528160b03
Start hooking things up
...
Still doesn't accept input
2018-06-23 22:45:10 +00:00
Zander Brown
4afdc54914
Initial playback control area
...
(not plumbed in)
2018-06-23 22:45:10 +00:00
Zander Brown
09973a6a56
Initial playback
...
... and not a lot more. Hit play and the podcast will play, press play on something else and that will play instead
2018-06-23 22:45:09 +00:00
Zander Brown
ee23df176d
Our GActions don't need to be in the app namespace
2018-06-07 18:06:36 +01:00
Jordan Petridis
14d72b92cb
h-gtk: Move appnotif.rs into the widgets module.
2018-05-30 16:45:46 +03:00
Zander Brown
2c203acbd2
Use a macro when setting up simple SimpleActions
2018-05-29 17:16:05 +00:00
Jordan Petridis
e626c6f286
app.rs: Factor out the GAction definitions.
2018-05-29 14:04:09 +03:00
Jordan Petridis
a8d47e9a72
app.rs: Remove unused variable.
2018-05-29 13:26:36 +03:00
Jordan Petridis
667deef5f2
Use a mpmc channel instead of the mspc from the std.
2018-05-28 20:49:12 +03:00
Zander Brown
ffbab0136f
Bind F10 to open the menu
...
Because we aren't using app-menu accels aren't automatically binded
2018-05-27 15:48:27 +01:00
Zander Brown
f1892eeba2
Always show hamburger menu
2018-05-22 10:46:50 +01:00
Zander Brown
e7128a57db
Resolve some comments
2018-05-22 10:28:13 +01:00
Zander Brown
793cafd294
Formatting updates
2018-05-22 09:55:00 +01:00
Zander Brown
079ae0e1f3
Fallback to hamburger when the environment doesn't like app menus
2018-05-21 13:01:06 +01:00
Zander Brown
e181a9837a
Merge upstream master
2018-05-21 12:01:32 +01:00
Zander Brown
ca5c7022ef
Fixed some shortcut display issues
...
Also give FileChooserNative arguments in the right order & add F5 to refresh
2018-05-21 11:49:35 +01:00
Zander Brown
75c50392cb
Everything works (ish)
...
Also use FileChooserNative for flatpak nicities
2018-05-21 10:06:10 +01:00
Zander Brown
8c2ea052de
Keyboard shortcut overview!
...
(shame everything else is broken...)
2018-05-20 13:59:00 +01:00
Zander Brown
095dd73c52
Move refresh
2018-05-19 22:11:44 +01:00
Zander Brown
ac6ac42860
Move import
2018-05-19 21:48:38 +01:00
Zander Brown
c6ce888cc7
Define an app-menu with About & Quit actions
...
Rename some paths for auto resource magic
2018-05-19 20:38:36 +01:00
Jordan Petridis
ccd3e3ab2c
h-gtk: Show error notifications when OPML import fails.
2018-05-16 17:54:32 +03:00
Jordan Petridis
118dac5a1a
app.rs: Add an action for showing error notification.
2018-05-16 17:30:43 +03:00
Jordan Petridis
d47bbd6131
Remove explicit and not needed inline calls.
...
This code is not performance critical and the compiler will already
inline whatever it thinks it might benefit it.
2018-05-13 22:08:25 +03:00