diff options
| author | Andrew Branson <andrew.branson@jolla.com> | 2026-02-10 23:52:48 +0100 |
|---|---|---|
| committer | Andrew Branson <andrew.branson@jolla.com> | 2026-02-11 00:12:00 +0100 |
| commit | b42a78104f6d38ab3aa578e8d2201ac8c685a28c (patch) | |
| tree | 0a3cbf5483f0272f1a20678907a240ab8bfb0b11 /transferengine-plugins | |
| parent | 69628390815254297bbd8c95436f6780fa846fae (diff) | |
Show account handle as description
Diffstat (limited to 'transferengine-plugins')
| -rw-r--r-- | transferengine-plugins/mastodonshareservicestatus.cpp | 84 |
1 files changed, 44 insertions, 40 deletions
diff --git a/transferengine-plugins/mastodonshareservicestatus.cpp b/transferengine-plugins/mastodonshareservicestatus.cpp index 6ff4cb8..60173eb 100644 --- a/transferengine-plugins/mastodonshareservicestatus.cpp +++ b/transferengine-plugins/mastodonshareservicestatus.cpp @@ -201,53 +201,57 @@ void MastodonShareServiceStatus::queryStatus(QueryStatusMode mode) } } - if (acc->enabled() && service.isValid() && serviceFound) { - if (acc->value(QStringLiteral("CredentialsNeedUpdate")).toBool()) { - qWarning() << Q_FUNC_INFO << "Credentials need update for account id:" << id; - continue; - } - - acc->selectService(service); - if (acc->value(QStringLiteral("CredentialsNeedUpdate")).toBool()) { - qWarning() << Q_FUNC_INFO << "Credentials need update for account id:" << id; - acc->selectService(Accounts::Service()); - continue; - } + if (!service.isValid() || !serviceFound) { + continue; + } - if (!m_accountIdToDetailsIdx.contains(id)) { - AccountDetails details; - details.accountId = id; - details.apiHost = MastodonAuthUtils::normalizeApiHost(acc->value(QStringLiteral("api/Host")).toString()); - - QUrl apiUrl(details.apiHost); - details.providerName = apiUrl.host(); - if (details.providerName.isEmpty()) { - details.providerName = details.apiHost; - if (details.providerName.startsWith(QLatin1String("https://"))) { - details.providerName.remove(0, 8); - } else if (details.providerName.startsWith(QLatin1String("http://"))) { - details.providerName.remove(0, 7); - } - const int separator = details.providerName.indexOf(QLatin1Char('/')); - if (separator > 0) { - details.providerName.truncate(separator); - } - } + const bool accountEnabled = acc->enabled(); + acc->selectService(service); + const bool shareServiceEnabled = acc->enabled(); + if (!accountEnabled || !shareServiceEnabled) { + acc->selectService(Accounts::Service()); + continue; + } - details.displayName = acc->displayName(); + if (acc->value(QStringLiteral("CredentialsNeedUpdate")).toBool()) { + qWarning() << Q_FUNC_INFO << "Credentials need update for account id:" << id; + acc->selectService(Accounts::Service()); + continue; + } - m_accountIdToDetailsIdx.insert(id, m_accountDetails.size()); - m_accountDetails.append(details); + if (!m_accountIdToDetailsIdx.contains(id)) { + AccountDetails details; + details.accountId = id; + details.apiHost = MastodonAuthUtils::normalizeApiHost(acc->value(QStringLiteral("api/Host")).toString()); + + QUrl apiUrl(details.apiHost); + details.providerName = apiUrl.host(); + if (details.providerName.isEmpty()) { + details.providerName = details.apiHost; + if (details.providerName.startsWith(QLatin1String("https://"))) { + details.providerName.remove(0, 8); + } else if (details.providerName.startsWith(QLatin1String("http://"))) { + details.providerName.remove(0, 7); + } + const int separator = details.providerName.indexOf(QLatin1Char('/')); + if (separator > 0) { + details.providerName.truncate(separator); + } } - if (mode == SignInMode) { - signInActive = true; - m_accountDetailsState.insert(id, Waiting); - signIn(id); - } + details.displayName = acc->displayName(); - acc->selectService(Accounts::Service()); + m_accountIdToDetailsIdx.insert(id, m_accountDetails.size()); + m_accountDetails.append(details); + } + + if (mode == SignInMode) { + signInActive = true; + m_accountDetailsState.insert(id, Waiting); + signIn(id); } + + acc->selectService(Accounts::Service()); } if (!signInActive) { |
