According to the docs, `gtk::Window::set_default_icon_name` should take care of
this, but it evidently isn't. So we'll use the environment variable method
instead.
Fixes#142
When a new version of the compiler introduces a new warning
it makes your perfectly fine older release require manual
patching in order to build again.
When you add a feed url and clear the input after entering some
characters, then the error label is shown. The empty url check in the
code is broken, because it is performed on a version of the url which
is not the original input and instead a version modified in the code.
I store in a variable whether the original input url is empty.
part of #45
When you enter an invalid or duplicate URL an error message is shown.
But GTK's error style is not applied to the entry.
This commit applies GTK's error style to the URL entry when appropriate.
part of #45
Validation errors of an entry should be displayed by an icon with a
tooltip explaining the reason.
For the situation when you add a podcast URL I remove the existing
error label and show the former label text as tooltip of an error icon
in the entry.
The dark theme option is broken with themes that don't ship a
dark variant.
The episode garbage collection doesn't seem useful being
configurable at all.
The gsettings are still there, this just removes the ui
dialog since nothing useful made it into it ever.
Also, less toggles the better.
http://www.islinuxaboutchoice.com/
When an episode from a show that has a cover is played. Switching to an
episode of a show that has no cover does not load the generic image in the
player. utils::set_image_from_path implementation does not deal with
DownloadError::NoImageLocation
utils::set_image_from_path deals with DownloadError::NoImageLocation,
this generic is set in this case.
https://gitlab.gnome.org/World/podcasts/issues/114
Instead of putting target/ and target_test/ in the source
directory, we can tell our cargo script to put both target
and our cargo-home in meson's build directory.
In addition, makes tests and builds use the same target
directory, significantly reducing the time it takes to run tests.
Allows us to get rid of build.rs, which was only used to
compile resources. static_resource.rs is now created by
meson, and the meson path is used for include_bytes!.
Closes https://gitlab.gnome.org/World/podcasts/issues/55
Previously we were using the env! macro to determine
build-time variables like version, app ID, and locale dir.
Instead of relying on env vars, we can create a configuration
file with meson and import it.
This is not supported at all, and it still won't run with cargo
run, thankfully, you should use meson instead...
The only purpose of this commit is to make it possible for
cargo check, and by extension rls, to function and work
properly.
Part of #110
Previously, methods that required the Player to be ref counted,
were using static methods with s: &Rc<Self> as the first argument.
Now the wrapper type auto-derefs to the inner struct and you can
declare methods on just &self.
Previously if you hit fast-forward but the offset remaining was
let that the amount you wanted to seek, it would do nothing.
Now it resets the stream and seekbar to the start.
Eventually this will just move on to the next episode in the
Queue once that's implemented.
If you added a Feed where a Show exists but it had no episodes
entries, the stack would end up in a populated state, but the
HomeView would be blank without widgets.
This changes it so the stack state depends upon the episodes
table being populated instead of the show. The downside
is that if your only feed is one without episodes you can
no longer navigate and interact with it.