/*! * \qmlproperty jsobject AccountService::service * An immutable object representing the service which this AccountService * instantiates. * The returned object will have at least these members: * \list * \li \c id is the unique identified for this service * \li \c displayName * \li \c iconName * \li \c serviceTypeId identifies the provided service type * \li \c translations, the localization domain for translating the provider's * display name * \endlist */ QVariantMap AccountService::service() const { QVariantMap map; if (Q_UNLIKELY(accountService == 0)) return map; Accounts::Service service = accountService->service(); map.insert("id", service.name()); map.insert("displayName", service.displayName()); map.insert("iconName", service.iconName()); map.insert("serviceTypeId", service.serviceType()); map.insert("translations", service.trCatalog()); return map; }
AppletAvialabilityWidget::AppletAvialabilityWidget(QGraphicsItem *parent, Tp::AccountPtr account): MWidget(parent), m_account(account) { setMaximumSize(64,64); setMinimumSize(64,64); MFeedback* feedback1 = new MFeedback("priority2_static_press", this); connect(this, SIGNAL(pressed()), feedback1, SLOT(play())); MFeedback* feedback2 = new MFeedback("priority2_static_release", this); connect(this, SIGNAL(released()), feedback2, SLOT(play())); MFeedback* feedback3 = new MFeedback("priority2_grab", this); connect(this, SIGNAL(longpressed()), feedback3, SLOT(play())); m_iconService = new MImageWidget("icon-m-common-presence-unknown", this); m_iconService->setAspectRatioMode(Qt::KeepAspectRatio); m_iconService->setMaximumSize(64,64); m_iconService->setMinimumSize(64,64); m_iconService->setPos(0,0); m_iconPresence = new MImageWidget("icon-m-common-presence-unknown", this); m_iconPresence->setAspectRatioMode(Qt::KeepAspectRatio); m_iconPresence->setMaximumSize(24,24); m_iconPresence->setPos(40, 0); currentIconId = presenceToIconId(m_account->currentPresence()); requestedIconId = presenceToIconId(m_account->requestedPresence()); if (m_account->currentPresence().type() == Tp::ConnectionPresenceTypeOffline) nextPresence = Tp::Presence(Tp::ConnectionPresenceTypeAvailable, "", ""); else nextPresence = Tp::Presence(Tp::ConnectionPresenceTypeOffline, "", ""); m_iconPresence->setImage(currentIconId); isFakePresence = false; m_account->setConnectsAutomatically(false); QString serviceName = m_account->serviceName(); Accounts::Manager *manager = new Accounts::Manager(); Accounts::Service *service = manager->service(serviceName); QString serviceIconId = service->iconName(); m_iconService->setImage(serviceIconId); connect(m_account.data(), SIGNAL(changingPresence(bool)), SLOT(onChangingPresence(bool))); connect(m_account.data(), SIGNAL(currentPresenceChanged(Tp::Presence)), SLOT(onCurrentPresenceChanged(Tp::Presence))); connect(m_account.data(), SIGNAL(requestedPresenceChanged(Tp::Presence)), SLOT(onRequestedPresenceChanged(Tp::Presence))); connect(m_account.data(), SIGNAL(removed()), SLOT(onRemoved())); connect(m_account.data(), SIGNAL(stateChanged(bool)), SLOT(onStateChanged(bool))); presenceFaker = new QTimer(this); connect(presenceFaker, SIGNAL(timeout()), this, SLOT(fakerupdate())); grabGesture(Qt::TapAndHoldGesture); // pressTime = new QTimer(this); // pressTime->setSingleShot(true); // pressTime->setInterval(800); // connect(pressTime, SIGNAL(timeout()), this, SLOT(openPresence())); }