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:
parent
2360b261f7
commit
9643482ae1
840 changed files with 100813 additions and 23560 deletions
|
@ -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();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -45,7 +45,7 @@ void LoaderBase::setApiClient(ApiClient *newApiClient) {
|
|||
}
|
||||
|
||||
void LoaderBase::emitDataChanged() {
|
||||
emit viewModelChanged();
|
||||
emit dataChanged();
|
||||
}
|
||||
|
||||
void registerRemoteTypes(const char *uri) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue