/* * SPDX-FileCopyrightText: 2013 - 2026 Jolla Ltd. * * SPDX-License-Identifier: BSD-3-Clause */ #include "fediverseplugininfo.h" #include "fediverseshareservicestatus.h" FediversePluginInfo::FediversePluginInfo() : SharingPluginInfo() , m_fediverseShareServiceStatus(new FediverseShareServiceStatus(this)) { m_capabilities << QLatin1String("image/jpeg") << QLatin1String("image/png") << QLatin1String("video/mp4") << QLatin1String("text/x-url") << QLatin1String("text/plain"); connect(m_fediverseShareServiceStatus, &FediverseShareServiceStatus::serviceReady, this, &FediversePluginInfo::serviceReady); connect(m_fediverseShareServiceStatus, &FediverseShareServiceStatus::serviceError, this, &FediversePluginInfo::infoError); } FediversePluginInfo::~FediversePluginInfo() { } QList FediversePluginInfo::info() const { return m_info; } void FediversePluginInfo::query() { m_fediverseShareServiceStatus->queryStatus(FediverseShareServiceStatus::PassiveMode); } void FediversePluginInfo::serviceReady() { m_info.clear(); for (int i = 0; i < m_fediverseShareServiceStatus->count(); ++i) { SharingMethodInfo info; const FediverseShareServiceStatus::AccountDetails details = m_fediverseShareServiceStatus->details(i); info.setDisplayName(details.providerName); info.setSubtitle(details.displayName); info.setAccountId(details.accountId); info.setMethodId(QLatin1String("Fediverse")); info.setMethodIcon(details.iconPath.isEmpty() ? QLatin1String("image://theme/icon-l-fediverse") : details.iconPath); info.setShareUIPath(QLatin1String("/usr/share/nemo-transferengine/plugins/sharing/FediverseSharePost.qml")); info.setCapabilities(m_capabilities); m_info << info; } emit infoReady(); }