blob: bc66752b114b7af40956cfdfadfeb5b82908b8cf (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
#include "mastodonplugininfo.h"
#include "mastodonshareservicestatus.h"
MastodonPluginInfo::MastodonPluginInfo()
: SharingPluginInfo()
, m_mastodonShareServiceStatus(new MastodonShareServiceStatus(this))
{
m_capabilities << QLatin1String("image/jpeg")
<< QLatin1String("image/png");
connect(m_mastodonShareServiceStatus, &MastodonShareServiceStatus::serviceReady,
this, &MastodonPluginInfo::serviceReady);
connect(m_mastodonShareServiceStatus, &MastodonShareServiceStatus::serviceError,
this, &MastodonPluginInfo::infoError);
}
MastodonPluginInfo::~MastodonPluginInfo()
{
}
QList<SharingMethodInfo> MastodonPluginInfo::info() const
{
return m_info;
}
void MastodonPluginInfo::query()
{
m_mastodonShareServiceStatus->queryStatus(MastodonShareServiceStatus::PassiveMode);
}
void MastodonPluginInfo::serviceReady()
{
m_info.clear();
for (int i = 0; i < m_mastodonShareServiceStatus->count(); ++i) {
SharingMethodInfo info;
const MastodonShareServiceStatus::AccountDetails details = m_mastodonShareServiceStatus->details(i);
info.setDisplayName(details.providerName);
info.setSubtitle(details.displayName);
info.setAccountId(details.accountId);
info.setMethodId(QLatin1String("Mastodon"));
info.setMethodIcon(QLatin1String("image://theme/icon-l-mastodon"));
info.setShareUIPath(QLatin1String("/usr/share/nemo-transferengine/plugins/sharing/MastodonShareImage.qml"));
info.setCapabilities(m_capabilities);
m_info << info;
}
emit infoReady();
}
|