Commit Graph

115 Commits

Author SHA1 Message Date
Chris Josten 1453cbbc63 Add basic settings framework
This settingsframework uses mlite5 on SailfishOS and other platforms
with the mlite library present, because I believe DConf is neat. For
platforms that do not have DConf and mlite present, it falls back to a
quickly put together implementation that uses QSettings as a backend.

Implementing an settings item is simply done by subclassing the
Jellyfin::QObjectSettingsWrapper.
2021-09-02 15:34:32 +02:00
Chris Josten a89834044c MPRIS: set several musicbrainz ids in metadata 2021-09-01 22:10:54 +02:00
Chris Josten 03bc3f795a openapi: group endpoints by tag in file
This reduces the amount of files generated by arround 300 and makes for
quicker compilation times.
2021-09-01 14:50:02 +02:00
Chris Josten 54235f298e Add MPRIS support
Besides MPRIS support, this also adds support for hasPrevious() and
hasNext() in several parts to determine whether the
player/playlist/shuffler has a previous or next item.
2021-08-31 01:29:51 +02:00
Chris Josten 757327ceac AN attempt to get covers to work again
Covers should now work when at least the playbackManager is playing.
Covers based on the currently displayed item on the page does not work
yet.

The CoverPage has been revamped to use 1 model and 1 PathView to animate
the items for cleaner code.
2021-08-23 01:53:20 +02:00
Chris Josten 5ee2869db9 Fix a few bugs regarding loaders and models
* Properly keep track of the current offset and total recourd count in
  models.
* Catch exceptions and store them in errorString properties wherever
  applicable in loaders.
2021-08-23 01:48:35 +02:00
Chris Josten 1aae311b9b Add track selection back 2021-08-23 01:48:19 +02:00
Chris Josten 5a24bdee59 Loader: catch exceptions and reemit them as errors
This reduces application crashes when an invalid JSON response has been
returned.
2021-08-22 14:50:15 +02:00
Chris Josten 7f39da0b95 Make sandboxing the default, remove the cli-option
SailfishOS 4.0.1 has been out for over half a year now, sandboxing
should have wide support by now.
2021-08-22 14:48:22 +02:00
Chris Josten 2bd9d66841 Actually make the shim visible 2021-08-22 14:47:21 +02:00
Chris Josten 4bbc86d31c Convert Loader-related thread-code to async code
Closes #10
2021-08-22 02:33:04 +02:00
Chris Josten f028e38b7a Polish UI elements 2021-08-22 00:29:44 +02:00
Chris Josten 75474e1793 Skip to song when clicking in the queue 2021-08-21 22:33:23 +02:00
Chris Josten f09593c245 Implement playlist model and UI 2021-08-21 22:01:13 +02:00
Chris Josten e04ec364c1 Add UserLoader back + misc regression fixes 2021-08-18 00:04:27 +02:00
Chris Josten bb1e3ea21d Repair broken userdata.
The UserData of an item was not displaying, this should re-add it.
2021-08-17 16:43:17 +02:00
Chris Josten 7b6c272aa9 Rewire more of Sailfish frontend into new backend
This should encompass most simple things, besides some larger, trickier
things, like the video streams and the now-broken userdata
2021-08-11 23:35:33 +02:00
Chris Josten df1e134821 Allow manual entry of IP address in setup
Also fixed a small bug in the main page
2021-08-02 00:57:14 +02:00
Chris Josten 242ccc90c1 Remove complicated QMediaPlayer switching
THe idea behind the switching was to provide gapless playback, but it
made the code too complicated and to intertwined with QtMultiMedia.

I might attempt to implement it later, but I probably will put the code
in a separate class to make it easier to swap the QtMultiMedia
implementation with a multimedia implementation for a player with better
support for gappless playback.
2021-08-02 00:52:21 +02:00
Chris Josten 86672be051 WIP: Add playlists/queues and add support for Sailfish back 2021-07-31 15:06:17 +02:00
Chris Josten fbc154fb56 WIP: Playlist support 2021-05-21 15:46:30 +02:00
Chris Josten 228f81984b WIP: Slowly bringing back viewmodels 2021-03-29 23:48:16 +02:00
Chris Josten 9abee12658 Resolved remaining issues with ApiModel 2021-03-29 17:10:25 +02:00
Chris Josten 89fef6d7f4 WIP: Code cleanup, trying to debug Q_ENUM not visible from QML 2021-03-29 14:27:37 +02:00
Chris Josten 729e343661 WIP: HttpLoader seems to work, Model still borked 2021-03-28 04:00:00 +02:00
Chris Josten e421adf733 WIP: Reimplementation of ListModels. 2021-03-26 21:27:35 +01:00
Chris Josten 76a49868b9 Make image sizes relative 2021-03-25 18:30:57 +01:00
Chris Josten d9bb22f367 Move images on 1 line 2021-03-25 18:28:30 +01:00
Chris Josten f670ea22ab FIx image links 2021-03-25 18:27:55 +01:00
Chris Josten 2fbafdf450 Update readme with new graphics 2021-03-25 18:21:51 +01:00
Chris Josten 6d8aa373f0 Merge branch 'qtquick' of github.com:HenkKalkwater/harbour-sailfin into qtquick 2021-03-25 17:46:14 +01:00
Chris Josten 9643482ae1 WIP: Refractor C++-side. Loader should be working again 2021-03-25 17:45:53 +01:00
Chris Josten 3e6b22e084 WIP: Refractor C++-side. Loader should be working again 2021-03-25 17:32:00 +01:00
Chris Josten 2360b261f7 WIP: logic rewrite
WIP: adding loaders
2021-03-24 20:04:03 +01:00
Chris Josten b9b08ab384 Make model code compileable
This disables some application level logic, but I'm going to rewrite
that using Lager anyway.
2021-03-20 16:29:31 +01:00
Chris Josten 0358418926 Adjust codegeneration to emit simpler classes 2021-03-20 03:30:50 +01:00
Chris Josten 05f79197eb Extract OpenAPI writeflns to template files
With a few exceptions if the code would actually get larger
2021-03-19 23:01:29 +01:00
Chris Josten 96e19548d7 Merge branch 'master' into qtquick 2021-03-19 21:28:41 +01:00
Chris Josten 3cd1fd3e23 Update UI to bare minimum to allow for core lib testing 2021-03-19 20:57:04 +01:00
Chris Josten 56d7c1486e Add login page 2021-03-07 16:26:13 +01:00
Chris Josten 17d4b2c24b WIP: extract loading logic from model
Loading logic should be extracted from the model, to make
loading the data from other sources, such as a local database for
synchronised items, possible.
2021-03-05 15:34:10 +01:00
Chris Josten fb60cf13de Initial work on creating a custom style 2021-03-04 17:26:51 +01:00
Chris Josten 40d8793bd8 WIP: autogenerate models based on OpenAPI 2021-02-21 05:02:05 +01:00
Chris Josten 4ed6a8a42d Slight improvements to the OpenAPI generator 2021-02-21 00:26:18 +01:00
Chris Josten 0bd9042ef3 Initial OpenApi code generator 2021-02-20 23:33:07 +01:00
Chris Josten f7bca333c8 Moved playback logic to C++-side (and refractoring) 2021-02-20 23:20:39 +01:00
Chris Josten 895731ae38 Big C++ refractor
- Removed "jellyfin" prefix from files, as they are already in a
  directory named Jellyfin
- Split the former "jellyfinitem.{h,cpp}" into multiple files in the DTO
  directory, one for each class. The jellyfinitem files started to
  become enormous.
- Use forward declarations in headers instead of including files
  wherever possible.
- Updated copyright headers
2021-02-17 19:42:10 +01:00
Chris Josten b345a1c650 Don't use the new Silica Background
Should improve backwards compatibility with older versions.
2021-02-17 02:31:26 +01:00
Chris Josten e4e35c03d4 Add (optional) firejail support 2021-02-17 02:28:37 +01:00
Chris Josten 4453492204 QtQuick background test 2021-02-16 18:01:17 +01:00