view contact.cpp @ 11:98485ebbdb86 default tip

LayoutView: WidgetViewBox fix
author Goffi <goffi@goffi.org>
date Sat, 27 Aug 2011 00:31:20 +0200
parents 017925589d4c
children
line wrap: on
line source

/*
Bellaciao: a Salut à Toi frontend
Copyright (C) 2011  Jérôme Poisson (goffi@goffi.org)

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/

#include "contact.h"
#include <QDebug>

ContactData::ContactData()
    :m_connected(false), m_presence_to(false), m_presence_from(false), m_presence_ask(false)
{
}

ContactData::ContactData(const ContactData& other)
    :QSharedData(other), jid(other.jid), groups(other.groups), m_connected(other.m_connected),
     m_presence_to(other.m_presence_to), m_presence_from(other.m_presence_from),
     m_presence_ask(other.m_presence_ask), m_profile(other.m_profile), m_name(other.m_name)
{
}


Contact::Contact()
{
    d = new ContactData;
}

Contact::Contact(const Contact& other)
    : d(other.d)
{
}

Jid& Contact::getJid() {
    return d->jid;
}

const Jid& Contact::getJid() const {
    return d->jid;
}

QList<QString>& Contact::getGroups() {
    return d->groups;
}

const QList<QString>& Contact::getGroups() const {
    return d->groups;
}

void Contact::setProfile(const QString& profile)
{
    d->m_profile = profile;
}

const QString& Contact::getProfile() const
{
    return d->m_profile;
}

void Contact::setAttributes(const QHash<QString, QString>& attr)
{
    d->m_name = attr.value("name");
    d->m_presence_to = attr.value("to") == "True";
    d->m_presence_from = attr.value("from") == "True";
    d->m_presence_ask = attr.value("ask") == "True";
}

QHash<QString, QString> Contact::getAttributes() const
{
    QHash<QString, QString> attr;
    if (d->jid.isValid()) {
        attr["name"] = d->m_name;
        attr["to"] = d->m_presence_to ? "True" : "False";
        attr["from"] = d->m_presence_from ? "True" : "False";
        attr["ask"] = d->m_presence_ask ? "True" : "False";
    }

    return attr;
}

const QString& Contact::getName() const
{
    return d->m_name;
}

void Contact::setName(const QString& name)
{
    d->m_name = name;
}

bool Contact::isConnected()
{
    return d->m_connected;
}