Commit Graph

328 Commits

Author SHA1 Message Date
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
gogo
0476b67b2f Add Croatian translation 2018-09-06 18:29:14 +00:00
Balázs Meskó
2751a828e0 Add Hungarian translation 2018-09-05 22:09:46 +00:00
Fabio Tomat
60e09c0dd7 Add Friulian translation 2018-09-04 18:18:27 +00:00
Milo Casagrande
a23297e56a Add Italian translation 2018-09-03 13:42:38 +00:00
Daniel Mustieles
f59be31ded Update Spanish translation 2018-09-03 06:32:14 +00:00
Anders Jonsson
2e527250de Add Swedish translation 2018-09-02 23:35:41 +00:00
Piotr Drąg
91dd378f5d Update Polish translation 2018-09-01 17:49:54 +00:00
Jiri Grönroos
f5b3d033a3 Update Finnish translation 2018-09-01 16:59:07 +00:00
Rafael Fontenelle
db98e3b722 Add Brazilian Portuguese translation 2018-09-01 13:29:55 +00:00
Mario Blättermann
586cf16fdc Update German translation 2018-08-31 19:05:31 +00:00
Jordan Petridis
064d877205
Appdata: add release notes 2018-08-31 21:00:18 +03:00
Jordan Petridis
fbf8cc87c9 Version bump 2018-08-31 14:14:17 +00:00
Seong-ho Cho
36f169635a Add Korean translation 2018-08-31 00:56:44 +00:00
Jordan Petridis
3f509f44a1
Update dependancies. 2018-08-30 20:45:53 +03:00
Jordan Petridis
abfe98283b
EpisodeWidget: Allow size labels to elipsize 2018-08-30 20:21:10 +03:00
Kukuh Syafaat
ded0224f51 Add Indonesian translation 2018-08-30 10:43:20 +00:00
Fran Dieguez
0060a634d2 Add Galician translation 2018-08-30 08:45:45 +00: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
Piotr Drąg
2a888f0bce Update POTFILES.in 2018-08-28 19:44:34 +02: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
Jordan Petridis
0ae1eb9578
build: Translate desktop and appdata files 2018-08-28 17:22:13 +03:00
Emin Tufan Çetin
a2d8b88337 Update Turkish translation 2018-08-27 08:43:08 +00:00
Zander Brown
88e07031a6 Workaround for FileChooserNative oddness 2018-08-27 07:52:09 +00:00
Piotr Drąg
cb4daa1ba1 Update Polish translation 2018-08-26 16:31:44 +00:00
Mario Blättermann
05d6d8399d Update German translation 2018-08-25 21:27:45 +00:00
Jordan Petridis
8bc81d6b5e
Update pot files 2018-08-22 08:29:30 +03: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
d2c6c6cc4d
Update pot files 2018-08-20 14:09:34 +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
Emin Tufan Çetin
547fdef9c4 Update Turkish translation 2018-08-19 14:54:27 +00: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
79ac3b9700
Update dependancies 2018-08-18 18:33:26 +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
Tobias Bernard
0dfb48593e App icon: orange -> red 2018-08-17 12:49:44 +02:00
Mario Blättermann
6b6c390cb8 Add German translation 2018-08-15 17:19:11 +00: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
Piotr Drąg
dae064d2bb Update Polish translation 2018-08-13 01:45:08 +00:00
Jordan Petridis
d54e15cd15
EmptyView: Fix a typo 2018-08-13 04:05:28 +03:00
Jordan Petridis
dbdf56d494
App: Do not placeholder strings as translatable
Also add license metadata, and update the targeted gtk3 version
2018-08-13 02:34:53 +03:00
Jordan Petridis
b07cd5515a
Refactor Empty states 2018-08-13 02:05:09 +03:00
Emin Tufan Çetin
73929f2d25 Add Turkish translation 2018-08-12 11:05:29 +00:00
Jordan Petridis
acaa06749e
ShowWidget: Keep the Frame from filling available the space 2018-08-12 02:41:22 +03:00
Piotr Drąg
1bd6efc0c1 Add Polish translation 2018-08-11 16:43:15 +00:00
Jiri Grönroos
936960269d Add Finnish translation 2018-08-11 14:10:14 +00:00
Piotr Drąg
14e5f33f2a gschema: Add gettext-domain
Without it DConf Editor won’t show localized schemas.
2018-08-11 01:35:28 +02:00
Piotr Drąg
c77a1e85a4 Update POTFILES.in 2018-08-10 20:58:18 +00:00
Piotr Drąg
6460198e1d desktop: Add translator comments 2018-08-10 22:03:04 +02:00
Jordan Petridis
662dc3fa85
HomeView: Properly align the frames
d5ea0d5a17 broke alignment
between the listboxes and the frame labels.
2018-08-10 22:49:54 +03:00
Jordan Petridis
d5ea0d5a17
HoveView and ShowWiget: Add margins around the listboxes 2018-08-10 21:14:49 +03:00
Jordan Petridis
9e525727fd
InAppNotif: allow the text to elipsize
Also fixe deprications in the glae file, add license
2018-08-10 20:49:59 +03:00
Jordan Petridis
95b6995649
Headerbar: Elipsisize update label 2018-08-10 15:54:12 +03:00
Jordan Petridis
745064c5ce
AddPopOver: Remove deprication warning 2018-08-10 15:47:20 +03:00
Jordan Petridis
223a3b46bf
Headerbar: Elipsisize show title 2018-08-10 15:46:28 +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
Jordan Petridis
8c25be7d05
BaseView: Set scroll policy 2018-08-10 13:53:00 +03:00
Jordan Petridis
7463e9d42c
ShowsView: Use BaseView abstraction 2018-08-10 13:52:56 +03:00
Jordan Petridis
e4dd9f5bb3
HomeView: Use libhandy::Column for the main widget 2018-08-10 13:52:52 +03:00
Jordan Petridis
4e59d648ef
HomeView: Use the new BaseView abstraction 2018-08-10 13:52:48 +03:00
Jordan Petridis
7538e76537
Gtk: Abstract a BaseView Widget
Currently it just re-exports its children with getters,
but the idea is that it will also be able to handle
the saving the state of its height adjustment later.
2018-08-10 13:52:44 +03:00
Jordan Petridis
20ddc54edc
ShowWidget: Put the whole thing inside HdyColumn 2018-08-10 13:52:35 +03:00
Jordan Petridis
ac75205933
ShowWidget: Initial prototype w/ libhandy::Column 2018-08-10 13:47:59 +03:00
Jordan Petridis
17b58b159a
ShowWidget: Remove unsused menu from the glade file 2018-08-10 13:47:12 +03:00
Jordan Petridis
191cf445ef
ShowWidget: Do not hardcode the episode listbox in the glade file 2018-08-10 13:47:07 +03:00
Piotr Drąg
bfdd6b5f7c podcasts-gtk: Review ALL the strings! 2018-08-10 05:23:15 +00:00
Piotr Drąg
4bd13b81cf
appdata: Remove duplicate tag 2018-08-10 08:00:32 +03:00
Piotr Drąg
f2bc4b21cb episode_widget: Unmark placeholder strings from translation 2018-08-10 04:37:32 +00:00
Piotr Drąg
57f920624f aboutdialog: Unmark copyright string from translation 2018-08-10 04:05:31 +00:00
Piotr Drąg
c33d0836eb
app: Translate the app name 2018-08-10 06:34:02 +03:00
Jordan Petridis
4fa973007d
App: Make sure to quit on delete event.
Since 9a76c6428a I've noticed
the applciation does not quit properly, and then it's unable
to be launched again till it's killed manually.

This patch is an attept to correct/workaroud that by calling
explcitly gio::ApplicationExt::quit().
2018-08-06 01:01:21 +03:00
Jordan Petridis
f6c7731377
Fix Rust 2018 edition warnings 2018-08-05 11:24:20 +03:00
Daniel García Moreno
bea4915317 Translation support and initial spanish translation
Added translation support based on the Fractal i18n. To do this I've
added the gettext-rs crate dep. I'm using my own fork because the
official gettext-rs release includes the gettext source files and that
increase the distribution package a lot and for distribution with
flatkap we don't need to build gettext, the lib is in the gnome sdk. So
this gettext-rs fork is the same, but removing the not needed gettext
source files.

The i18n.rs file adds some useful functions to translate strings. These
functions wraps the original gettext and adds more functionality, to be
able to translate compound strings, something that's not supported by
the gettext function.

The 'i18n' function works like the gettext, receives a plain string
without params.

The 'i18n_f' function receives a string with "{}" and a ref to an array
of &str with substitutions for the "{}" in the original string. The
substitution is done by order.

The 'i18n_k' function receives a string with "{named}" and a ref to an
array of (&str, &str) with substitutions for the "{named}" in the
original string. The substitution is done by name, where the first &str
in the tuple is the name and the second the string to use for the
replace.

This mod also include ni18n variants of the three functions for plural
and singular translations.

I've also created the spanish translation.

See #61

https://gitlab.gnome.org/World/podcasts/issues/61
2018-08-02 15:24:19 +02:00
Jordan Petridis
042c9eed9c
Appdata: Remove 'lang=' metadata tag from the description.
This seems to confuse the flathub store website.
2018-07-31 11:22:15 +03:00
Jordan Petridis
b0c94dd998
Appdata: Add OARS Rating
This help with content age rating. Usefull for store
clients like gnome-software.

https://hughsie.github.io/oars/
2018-07-31 10:58:04 +03:00
Jordan Petridis
4c8cc9e823
Version bump. 2018-07-31 00:31:44 +03:00
Jordan Petridis
3496df24f8
App: Fix refference cycles in actions. 2018-07-28 19:52:37 +03:00
Jordan Petridis
e4e35e4c57
App: Replace action macro with a generic fuction. 2018-07-28 19:52:27 +03:00
Jordan Petridis
838320785e
Replace SendCell with fragile.
SendCell is depricated now and its advised to use the Fragile
crate instead.

https://github.com/sdroege/send-cell/issues/5
2018-07-28 19:46:01 +03:00
Jordan Petridis
91bea85519
Update dependancies. 2018-07-28 19:15:26 +03:00
Jordan Petridis
88ea081661
Version bump. 2018-07-28 00:12:08 +03:00
Jordan Petridis
9d64d3e30d
AppStream: captions were too short. 2018-07-27 21:45:33 +03:00
Jordan Petridis
39ff238716
Version bump. 2018-07-27 20:21:28 +03:00
Jordan Petridis
7c96152f3f
Gtk: Change the minimum requests of the views. 2018-07-27 19:46:18 +03:00
Jordan Petridis
a2440c19e1
Appdata: Fix screenshots metadata. 2018-07-27 00:42:54 +03:00
Tobias Bernard
1ca8e15d19 Update org.gnome.Podcasts.appdata.xml 2018-07-26 21:15:10 +00:00
Jordan Petridis
b03ff46767
Version bump. 2018-07-26 08:33:45 +03:00
Jordan Petridis
27e74ee064
Update the appdata summary. 2018-07-26 07:53:29 +03:00
Jordan Petridis
83c44aa12c
Replace links again 2018-07-26 07:41:43 +03:00
Jordan Petridis
17da62d53b
App: Fix some refference cycles. 2018-07-26 07:19:43 +03:00
Jordan Petridis
d43fc268f4
App: Only execute .show_all() at startup.
If you would had an instance running and activate the app again
the UI would break visually in all kind of ways.
2018-07-26 07:07:56 +03:00
Jordan Petridis
5a7ab9795d
Headerbar: rename menu-button to hamburger. 2018-07-25 04:57:00 +03:00
Jordan Petridis
cfcdba5aea
Headerbar: Avoid code duplication and ref cycles. 2018-07-25 04:38:24 +03:00
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