2 * Copyright (C) 2012 Canonical, Ltd.
5 * Guenter Schwann <guenter.schwann@canonical.com>
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; version 3.
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
16 * You should have received a copy of the GNU General Public License
17 * along with this program. If not, see <http://www.gnu.org/licenses/>.
20#include "peoplepreviewdata.h"
26static void phoneAppend(QQmlListProperty<PeoplePhoneData> *property, PeoplePhoneData *val)
31static PeoplePhoneData *phoneAt(QQmlListProperty<PeoplePhoneData> *property, int index)
33 PeoplePreviewData *d = static_cast<PeoplePreviewData*>(property->data);
34 return d->phoneNumberList().at(index);
36static int phoneCount(QQmlListProperty<PeoplePhoneData> *property)
38 PeoplePreviewData *d = static_cast<PeoplePreviewData*>(property->data);
39 return d->phoneNumberList().count();
41static void phoneClear(QQmlListProperty<PeoplePhoneData> *property)
46static void emailAppend(QQmlListProperty<PeopleAddressData> *property, PeopleAddressData *val)
51static PeopleAddressData *emailAt(QQmlListProperty<PeopleAddressData> *property, int index)
53 PeoplePreviewData *d = static_cast<PeoplePreviewData*>(property->data);
54 return d->emailAddressesList().at(index);
56static int emailCount(QQmlListProperty<PeopleAddressData> *property)
58 PeoplePreviewData *d = static_cast<PeoplePreviewData*>(property->data);
59 return d->emailAddressesList().count();
61static void emailClear(QQmlListProperty<PeopleAddressData> *property)
66static void imAppend(QQmlListProperty<PeopleIMData> *property, PeopleIMData *val)
71static PeopleIMData *imAt(QQmlListProperty<PeopleIMData> *property, int index)
73 PeoplePreviewData *d = static_cast<PeoplePreviewData*>(property->data);
74 return d->imAccountsList().at(index);
76static int imCount(QQmlListProperty<PeopleIMData> *property)
78 PeoplePreviewData *d = static_cast<PeoplePreviewData*>(property->data);
79 return d->imAccountsList().count();
81static void imClear(QQmlListProperty<PeopleIMData> *property)
86static void addressAppend(QQmlListProperty<PeopleAddressData> *property, PeopleAddressData *val)
91static PeopleAddressData *addressAt(QQmlListProperty<PeopleAddressData> *property, int index)
93 PeoplePreviewData *d = static_cast<PeoplePreviewData*>(property->data);
94 return d->addressesList().at(index);
96static int addressCount(QQmlListProperty<PeopleAddressData> *property)
98 PeoplePreviewData *d = static_cast<PeoplePreviewData*>(property->data);
99 return d->addressesList().count();
101static void addressClear(QQmlListProperty<PeopleAddressData> *property)
107using namespace unity;
109PeoplePreviewData::PeoplePreviewData(QObject *parent)
116PeoplePreviewData::~PeoplePreviewData()
121Lens *PeoplePreviewData::lens() const
126void PeoplePreviewData::setLens(Lens *lens)
133 if (m_lensConnection.connected())
134 m_lensConnection.disconnect();
137 m_lensConnection = m_lens->unityLens()->preview_ready.connect(
138 sigc::mem_fun(this, &PeoplePreviewData::setUnityPreview));
139 Q_EMIT lensChanged();
141 if (!m_uri.isEmpty() && !m_lens)
145QString PeoplePreviewData::uri() const
150void PeoplePreviewData::setUri(const QString &uri)
159 if (!m_uri.isEmpty() && m_lens)
163bool PeoplePreviewData::ready() const
168void PeoplePreviewData::setReady(const bool &ready)
170 if (ready == m_ready)
174 Q_EMIT readyChanged();
177QString PeoplePreviewData::renderName() const
180 return QLatin1String("");
182 return QString::fromStdString(m_unityPreview->renderer_name());
185QString PeoplePreviewData::title() const
188 return QLatin1String("");
190 return QString::fromStdString(m_unityPreview->title());
193QString PeoplePreviewData::subTitle() const
196 return QLatin1String("");
198 return QString::fromStdString(m_unityPreview->subtitle());
201QString PeoplePreviewData::description() const
204 return QLatin1String("");
206 return QString::fromStdString(m_unityPreview->description());
209QString PeoplePreviewData::imageSource() const
212 return QLatin1String("");
214 return QString::fromStdString(m_unityPreview->image_source_uri());
217QQmlListProperty<PeoplePhoneData> PeoplePreviewData::phoneNumbers()
219 return QQmlListProperty<PeoplePhoneData> (this, this,
226QQmlListProperty<PeopleAddressData> PeoplePreviewData::emailAddresses()
228 return QQmlListProperty<PeopleAddressData> (this, this,
235QQmlListProperty<PeopleIMData> PeoplePreviewData::imAccounts()
237 return QQmlListProperty<PeopleIMData> (this, this,
244QString PeoplePreviewData::displayName() const
247 return QLatin1String("");
249 return QString::fromStdString(m_unityPreview->display_name());
252QString PeoplePreviewData::status() const
255 return QLatin1String("");
257 return QString::fromStdString(m_unityPreview->status());
260QString PeoplePreviewData::statusTime() const
263 return QLatin1String("");
265 return QString::fromStdString(m_unityPreview->status_time());
268QString PeoplePreviewData::statusService() const
271 return QLatin1String("");
273 return QString::fromStdString(m_unityPreview->status_service());
276QString PeoplePreviewData::statusServiceIcon() const
279 return QLatin1String("");
281 glib::Object<GIcon> icon = m_unityPreview->status_service_icon();
283 return QLatin1String("");
285 return QString(g_icon_to_string(icon));
288QString PeoplePreviewData::statusPostUri() const
291 return QLatin1String("");
293 return QString::fromStdString(m_unityPreview->status_post_uri());
296QQmlListProperty<PeopleAddressData> PeoplePreviewData::addresses()
298 return QQmlListProperty<PeopleAddressData> (this, this,
305QString PeoplePreviewData::avatar() const
308 return QLatin1String("");
310 glib::Object<GIcon> avatar = m_unityPreview->avatar();
312 return QLatin1String("");
314 return QString(g_icon_to_string(avatar));
317void PeoplePreviewData::getPeoplePreview()
319 m_lens->unityLens()->Preview(m_uri.toStdString());
322void PeoplePreviewData::setUnityPreview(std::string const& uri, dash::Preview::Ptr const& preview)
324 if (uri != m_uri.toStdString())
327 dash::PeoplePreview::Ptr peoplePtr = std::dynamic_pointer_cast<dash::PeoplePreview>(preview);
328 if (peoplePtr == nullptr) {
329 qWarning() << "Backend returned a dash::Preview that isn't a dash::PeoplePreview";
335 m_unityPreview = peoplePtr;
341 Q_EMIT renderNameChanged();
342 Q_EMIT titleChanged();
343 Q_EMIT subTitleChanged();
344 Q_EMIT descriptionChanged();
345 Q_EMIT imageSourceChanged();
346 Q_EMIT phoneNumbersChanged();
347 Q_EMIT emailAddressesChanged();
348 Q_EMIT imAccountsChanged();
349 Q_EMIT displayNameChanged();
350 Q_EMIT statusChanged();
351 Q_EMIT statusTimeChanged();
352 Q_EMIT statusServiceChanged();
353 Q_EMIT addressesChanged();
354 Q_EMIT avatarChanged();
359void PeoplePreviewData::clearData()
361 while (!m_phoneList.empty()) {
362 PeoplePhoneData *phone = m_phoneList.takeLast();
365 while (!m_emailList.empty()) {
366 PeopleAddressData *email = m_emailList.takeLast();
369 while (!m_imList.empty()) {
370 PeopleIMData *im = m_imList.takeLast();
373 while (!m_addressList.empty()) {
374 PeopleAddressData *address = m_addressList.takeLast();
379void PeoplePreviewData::getPhoneData()
381 dash::PeoplePreview::PhonePtrList uPhoneList;
382 uPhoneList = m_unityPreview->GetPhone();
384 for (size_t i=0; i<uPhoneList.size(); ++i) {
385 PeoplePhoneData *phone = new PeoplePhoneData;
386 phone->m_type = QString::fromStdString(uPhoneList[i]->type);
387 phone->m_location = QString::fromStdString(uPhoneList[i]->location);
388 phone->m_number = QString::fromStdString(uPhoneList[i]->number);
389 m_phoneList.append(phone);
393void PeoplePreviewData::getEmailAddresses()
395 dash::PeoplePreview::EmailPtrList uEmailList;
396 uEmailList = m_unityPreview->GetEmail();
398 for (size_t i=0; i<uEmailList.size(); ++i) {
399 PeopleAddressData *email = new PeopleAddressData;
400 email->m_type = QString::fromStdString(uEmailList[i]->type);
401 email->m_address = QString::fromStdString(uEmailList[i]->address);
402 m_emailList.append(email);
406void PeoplePreviewData::getImAccounts()
408 dash::PeoplePreview::IMAccountPtrList uIMList;
409 uIMList = m_unityPreview->GetIMAccount();
411 for (size_t i=0; i<uIMList.size(); ++i) {
412 PeopleIMData *im = new PeopleIMData;
413 im->m_protocol = QString::fromStdString(uIMList[i]->protocol);
414 im->m_address = QString::fromStdString(uIMList[i]->address);
419void PeoplePreviewData::getAddresses()
421 dash::PeoplePreview::AddressPtrList uAddressList;
422 uAddressList = m_unityPreview->GetAddress();
424 for (size_t i=0; i<uAddressList.size(); ++i) {
425 PeopleAddressData *address = new PeopleAddressData;
426 address->m_type = QString::fromStdString(uAddressList[i]->type);
427 address->m_address = QString::fromStdString(uAddressList[i]->address);
428 address->m_poBox = QString::fromStdString(uAddressList[i]->po_box);
429 address->m_extension = QString::fromStdString(uAddressList[i]->extension);
430 address->m_street = QString::fromStdString(uAddressList[i]->street);
431 address->m_locality = QString::fromStdString(uAddressList[i]->locality);
432 address->m_region = QString::fromStdString(uAddressList[i]->region);
433 address->m_postalCode = QString::fromStdString(uAddressList[i]->postal_code);
434 address->m_country = QString::fromStdString(uAddressList[i]->country);
435 address->m_addressFormat = QString::fromStdString(uAddressList[i]->address_format);
436 m_addressList.append(address);
keysesc to close
- j k
- move down, up
- enter
- open
- esc
- back, or up a level
- 1 2 3 4
- readme, files, commits, refs
- /
- filter
- y
- copy the clone command
- c
- compare the chosen commit with another (or shift-click both)
- ?
- show or hide this list