コード例 #1
0
ファイル: contactbrowser.cpp プロジェクト: Camelek/qtmoko
void ContactBrowser::init( const QContact& contact, ContactDocument::ContactDocumentType docType)
{
    mLink.clear();
    if (!mDocument)
        mDocument = new ContactDocument(this);
    mDocument->textDocument()->setTextWidth(width() - 10);
    mDocument->init(this, contact, docType);
    setDocument(mDocument->textDocument());
    loadLinks(contact.customField(QDL::CLIENT_DATA_KEY));
    verifyLinks();
}
コード例 #2
0
ファイル: ringcontrol.cpp プロジェクト: Artox/qtmoko
QString RingControl::findRingTone()
{
    QString ringTone;
    if(DialerControl::instance()->hasIncomingCall()) {
        QPhoneCall call = DialerControl::instance()->incomingCall();
        QString numberOrName = call.number();
        QContact cnt;
        QContactModel *m = ServerContactModel::instance();
        if (!call.contact().isNull()) {
            cnt = m->contact(call.contact());
        } else if (!numberOrName.isEmpty()) {
            cnt = m->matchPhoneNumber(numberOrName);
        }

        if (!cnt.uid().isNull()) {
            numberOrName = cnt.label();

            // video ringtone
            ringTone = cnt.customField( "videotone" );
            if ( !ringTone.isEmpty() ) {
                d->videoTone = true;
            } else { // normal ringtone
                ringTone = cnt.customField( "tone" );
                d->videoTone = false;
            }

            if ( ringTone.isEmpty() ) {
                // check if the contacts category has a ringtone
                QList<QString> catList = cnt.categories();
                if ( catList.count() ) {
                    QCategoryManager catManager;
                    ringTone = catManager.ringTone( catList.at( 0 ) );
                }
                d->videoTone = false;
            }
        }
    }

    return ringTone;
}