Felix Häcker
ede91da6f8
cargo fmt
2018-10-04 02:19:56 +00:00
Felix Häcker
1f18d4291f
Player: implement fast forward / rewind for mpris
2018-10-04 02:19:56 +00:00
Felix Häcker
d066e8939d
Player: implement mpris play/pause callbacks
2018-10-04 02:19:56 +00:00
Felix Häcker
e4c3435d34
Player: add basic mpris support
2018-10-04 02:19:56 +00:00
Jordan Petridis
de1c8485ae
Fix rustc warnings
...
New warnings were introduced with rustc 1.29.0
podcasts-data/src/lib.rs: this one can be removed once diesel is
upgraded.
https://github.com/diesel-rs/diesel/issues/1785#issuecomment-422577018
podcasts-gtk/src/i18n.rs: This is just a deprication warning
2018-09-22 04:47:24 +03:00
Jordan Petridis
a39e642b5a
EpisodeWidget: Change cacnel button to an icon
...
This also reworks the button_box to be just a GtkBox instead.
I couldn't get ButtonBox to behave the way I wanted.
Fixes #89
2018-09-08 20:17:47 +03:00
Jordan Petridis
e42cb49cbe
EpisodeWidget: Hide total_size if request fails
...
This moves the rest of the methods of Progress struct to the downloader
trait and cancels the Progress if the request does nto succed.
Close #90
2018-09-08 20:17:47 +03:00
Jordan Petridis
678b0b9db1
BaseView: Set minimum width to 360
...
While the HomeView and ShowView can't yet scale that low,
the ShowWidget could get to about 270p already which is not
desirable.
This commit sets the minimum width of all the Views to 360p,
which is our mobile target size.
2018-09-08 20:17:47 +03:00
Jordan Petridis
993b6e9d0a
Utils: only queue a single cover download
...
Before we were inserting the id of the cover into the registry
from a rayon thread. But rayon will only execute N threads at the
same time and let the rest into a queue. This would casue mutliple
jobs being queued since the cover id was not inserted in the
registry until the downloading had started.
This fixes said behavior by having the main thread block and write
in the id in the registry.
2018-08-28 21:15:52 +00:00
Jordan Petridis
273c9f7b99
Utils: Change the priority of the cover caches
...
Since loadign a pixbuf from the pre-rendered cache is the most
common operation and it does not affect the behavior we can
first check that and then if the cover is midway downloading.
This avoids a mutex lock for the most common path.
2018-08-28 21:15:52 +00:00
Jordan Petridis
822deb2867
Utils: do not block the cover_dl registry
...
Accidently after f21398357b when a download would start,
it would lock the cover_dl_registry hashmap till it had finished.
Since the registry.read() happens on the main thread this would
cause the UI to block until the download was and the mutex guard
from the download thread dropped.
2018-08-28 21:15:52 +00:00
Jordan Petridis
569c00ff5f
Allow for parallel development instance
...
This adds a configuration option in meson, if set it changes the
application ID allowing for stable and development version to be
run at the same time.
2018-08-28 17:22:13 +03:00
Jordan Petridis
15457e1db4
App/Build: Use env! macro to fetch the variable
...
env! is resolved at compile time which means we don't need to read
and set LOCALDI from build.rs
2018-08-28 17:22:13 +03:00
Zander Brown
88e07031a6
Workaround for FileChooserNative oddness
2018-08-27 07:52:09 +00:00
Jordan Petridis
6c5cb8f07d
AboutDialog: Translate website label
2018-08-22 08:29:12 +03:00
Jordan Petridis
70e79e50d6
Change the website to point to the wiki page
...
Thanks a lot to @svito for creating the page!
2018-08-21 20:11:38 +03:00
Jordan Petridis
92ae681517
Add gtk tests
...
Currently we only test the GtkBuilder files.
Also I can't find a way to get gtk to uninitialize and reinitialize
in a different thread.
Close #56
2018-08-20 13:14:41 +03:00
Jordan Petridis
04161284a7
Headerbar: Make the switcher insensitive if empty
...
If there are no shows/episodes to display, there isn't any point
to being able to hit the switcher.
2018-08-19 14:31:27 +03:00
Jordan Petridis
14d4818867
App: Disable refresh action while in empty state
...
Close #71
2018-08-19 14:25:41 +03:00
Jordan Petridis
9f42e91088
Refactor content state with Application actions
...
Instead of each view/widget determening if its populated on its own,
make add Application Actions and apply the state globally.
2018-08-19 13:44:11 +03:00
Jordan Petridis
89b99614a0
Refactor the tests to use ? operator
...
As of ructc 1.27 #[test] can return errors. This improves a great
deal the ergonomics.
2018-08-18 17:02:31 +03:00
Jordan Petridis
cd937c4844
utils: Refactor refresh_feed
...
Move channel creation inside the thread.
Drop the Result return type as its not needed anymore.
2018-08-14 15:24:25 +03:00
Jordan Petridis
cc1a5783fd
App: Do not update the db if its empty
...
If the source table is empty skipp the database refresh.
2018-08-14 15:19:31 +03:00
Jordan Petridis
cb122cbc61
ShowWidget: Change description wrap mode
2018-08-14 13:59:42 +03:00
Jordan Petridis
03754c56c6
Fix the test-suite
2018-08-14 13:40:37 +03:00
Jordan Petridis
471f6ff93b
Source: Remove ignore_etags option
...
This is never used anywhere else apart from the testsuite. Instead
of ignoring etags we should instead not save them if the feed does
not return 200 or 304. See #64 .
2018-08-14 13:40:33 +03:00
Jordan Petridis
c53ad56a6d
Remove TODOs and FIXMEs
...
They are either no longer relevant or just forgotten
2018-08-14 13:40:28 +03:00
Jordan Petridis
ae7f65e938
InAppNotif: Switch the timer to milliseconds
...
This allows for more responsive updates. The implementation still
sucks though. Ideally we would pass a receiver in the callback
and have an even lower timeout_add.
2018-08-14 07:58:29 +03:00
Jordan Petridis
b2d71a037c
Headerbar: Remove the update indicator
2018-08-14 07:52:41 +03:00
Jordan Petridis
019ec8972f
InAppNotif: Add a spinner
2018-08-14 07:41:58 +03:00
Jordan Petridis
e25e411ebe
App: Use the new updater notif
...
Initial wiring of the new InAppNotif update indicator. This still
misses a spinner, and its overall teribly implemented!
2018-08-14 07:28:10 +03:00
Jordan Petridis
911dcbac9f
InAppNotif: Pass revealer to the callback
...
Let the callback handle if/when the visibility of the notification
2018-08-14 06:22:02 +03:00
Jordan Petridis
25195c972c
InAppNotif: add a method to show/hide the close button
...
This will enable us to create persistant notifications.
2018-08-14 05:36:17 +03:00
Jordan Petridis
304c92f733
InAppNotification: Allow to set a custom timer
...
This allows for a custom timer to be set before the
callback will be run. Currently all the callbacks only
run once and then retunr glib::Continue(false) but this
would allow for setting a low timer and have a callback
that would determine if it needs to be run again, Continue(true),
in a relative responsive way.
2018-08-13 09:13:39 +03:00
Jordan Petridis
336b9a126e
InAppNotif: Fix ref cycles
2018-08-13 09:13:10 +03:00
Jordan Petridis
01efbf5c79
InAppNotif: Refactor to infer the undo state
...
If we use an Optional instead of passing empty closures, we
can infer if the Undo button needs to be shown.
2018-08-13 08:31:52 +03:00
Jordan Petridis
b8bb5e6d82
ShowMenu: Fix a reference cycle
2018-08-13 06:48:39 +03:00
Jordan Petridis
cc4b3cce55
Player: Fix a refference cycle
2018-08-13 06:35:19 +03:00
Jordan Petridis
5699562133
App: Fix more refference cycles
2018-08-13 03:34:37 +00:00
Jordan Petridis
b07cd5515a
Refactor Empty states
2018-08-13 02:05:09 +03:00
Jordan Petridis
fee3e320ab
ShowWidget: Move the listbox back to the glade file
2018-08-10 15:43:19 +03:00
Jordan Petridis
e068cff37b
ShowWidget: Increase the description char limit
2018-08-10 14:44:02 +03:00
Jordan Petridis
28f08ed196
HomeView: handle vadjustment with BaseView
...
Instead of using lazy_static to save the adjustment,
pass it to the widget upon creation. If its the first instance
created, pass None instead.
2018-08-10 14:43:58 +03:00
Jordan Petridis
056d971000
HomeView: make base view field publick
...
There is no point to re-export BaseView's methods.
2018-08-10 14:42:57 +03:00
Jordan Petridis
aa5195e5a9
ShowsView: handle vadjustment with BaseView
...
Instead of using lazy_static to save the adjustment,
pass it to the widget upon creation. If its the first instance
created, pass None instead.
2018-08-10 14:42:52 +03:00
Jordan Petridis
85aaaf80ac
ShowsView: make base view field publick
...
There is no point to re-export BaseView's methods.
2018-08-10 13:54:19 +03:00
Jordan Petridis
5d467a22d0
ShowWidget: make base view field publick
...
There is no point to re-export BaseView's methods.
2018-08-10 13:54:14 +03:00
Jordan Petridis
bcc1cfb67b
ShowWidget: handle vadjustment with BaseView
...
Instead of using lazy_static to save the adjustment,
pass it to the widget upon creation. If previous it doesn't
exists pass None instead.
2018-08-10 13:54:07 +03:00
Jordan Petridis
70a24fba69
BaseView: implement a set_adjustments method
...
Ment to replace the individual set_vadjustment of widgets.
Also remove unused method from ShowWiget.
2018-08-10 13:53:25 +03:00
Jordan Petridis
c3121bef84
ShowsChild: Remove the need for a .ui file
...
Its a simple enough widget that can be written by hand
and does not need a .ui builder file.
2018-08-10 13:53:12 +03:00