1
0
Fork 0
mirror of https://github.com/HenkKalkwater/harbour-sailfin.git synced 2025-09-06 10:32:44 +00:00

WIP: Refractor C++-side. Loader should be working again

This commit is contained in:
Chris Josten 2021-03-25 17:32:00 +01:00
parent 2360b261f7
commit 9643482ae1
840 changed files with 100813 additions and 23560 deletions

View file

@ -21,6 +21,9 @@
namespace Jellyfin {
namespace ViewModel {
Item::Item(QObject *parent)
: Item(nullptr, parent){}
Item::Item(QSharedPointer<Model::Item> data, QObject *parent)
: QObject(parent), m_data(data){}
@ -29,6 +32,31 @@ void Item::setData(QSharedPointer<Model::Item> newData) {
m_data = newData;
}
// ItemLoader
ItemLoader::ItemLoader(QObject *parent)
: BaseClass(Jellyfin::Loader::HTTP::GetItem(), parent) {
}
void ItemLoader::onApiClientChanged(ApiClient *newApiClient) {
if (m_apiClient != nullptr) {
disconnect(m_apiClient, &ApiClient::userIdChanged, this, &ItemLoader::setUserId);
}
if (newApiClient != nullptr) {
m_parameters.setUserId(newApiClient->userId());
connect(newApiClient, &ApiClient::userIdChanged, this, &ItemLoader::setUserId);
}
}
void ItemLoader::setUserId(const QString &newUserId) {
m_parameters.setUserId(newUserId);
}
bool ItemLoader::canReload() const {
return BaseClass::canReload() && !m_parameters.itemId().isEmpty();
}
}
}

View file

@ -45,7 +45,7 @@ void LoaderBase::setApiClient(ApiClient *newApiClient) {
}
void LoaderBase::emitDataChanged() {
emit viewModelChanged();
emit dataChanged();
}
void registerRemoteTypes(const char *uri) {