diff options
| author | Richard Maudsley <richard.maudsley@isode.com> | 2014-02-24 09:22:24 (GMT) |
|---|---|---|
| committer | Richard Maudsley <richard.maudsley@isode.com> | 2014-02-24 09:22:24 (GMT) |
| commit | da5e31ec60d089c3ffbafc3246608c95ba44df06 (patch) | |
| tree | 0b1db584d7be8d8b32d754d6f05e3fcf4ebce27c | |
| parent | c54f38cabcf6db20b933a447135e73866156b871 (diff) | |
| download | swift-contrib-da5e31ec60d089c3ffbafc3246608c95ba44df06.zip swift-contrib-da5e31ec60d089c3ffbafc3246608c95ba44df06.tar.bz2 | |
Label fax numbers as fax and omit resources from JIDs in roster tooltips
Change-Id: I3101077446df6d673be594b0479dac169fb02f2b
| -rw-r--r-- | Swift/Controllers/Roster/ContactRosterItem.cpp | 2 | ||||
| -rw-r--r-- | Swift/QtUI/Roster/RosterTooltip.cpp | 3 |
2 files changed, 3 insertions, 2 deletions
diff --git a/Swift/Controllers/Roster/ContactRosterItem.cpp b/Swift/Controllers/Roster/ContactRosterItem.cpp index fde4c97..e0651bc 100644 --- a/Swift/Controllers/Roster/ContactRosterItem.cpp +++ b/Swift/Controllers/Roster/ContactRosterItem.cpp @@ -1,56 +1,56 @@ /* * Copyright (c) 2010 Kevin Smith * Licensed under the GNU General Public License v3. * See Documentation/Licenses/GPLv3.txt for more information. */ #include <Swift/Controllers/Roster/ContactRosterItem.h> #include <boost/date_time/posix_time/posix_time.hpp> #include <Swiften/Base/foreach.h> #include <Swiften/Base/DateTime.h> #include <Swiften/Elements/Idle.h> #include <Swift/Controllers/Intl.h> #include <Swift/Controllers/Roster/GroupRosterItem.h> namespace Swift { ContactRosterItem::ContactRosterItem(const JID& jid, const JID& displayJID, const std::string& name, GroupRosterItem* parent) -: RosterItem(name, parent), jid_(jid), displayJID_(displayJID), mucRole_(MUCOccupant::NoRole), mucAffiliation_(MUCOccupant::NoAffiliation), blockState_(BlockingNotSupported) +: RosterItem(name, parent), jid_(jid), displayJID_(displayJID.toBare()), mucRole_(MUCOccupant::NoRole), mucAffiliation_(MUCOccupant::NoAffiliation), blockState_(BlockingNotSupported) { } ContactRosterItem::~ContactRosterItem() { } StatusShow::Type ContactRosterItem::getStatusShow() const { return shownPresence_ ? shownPresence_->getShow() : StatusShow::None; } StatusShow::Type ContactRosterItem::getSimplifiedStatusShow() const { switch (shownPresence_ ? shownPresence_->getShow() : StatusShow::None) { case StatusShow::Online: return StatusShow::Online; case StatusShow::Away: return StatusShow::Away; case StatusShow::XA: return StatusShow::Away; case StatusShow::FFC: return StatusShow::Online; case StatusShow::DND: return StatusShow::DND; case StatusShow::None: return StatusShow::None; } assert(false); return StatusShow::None; } std::string ContactRosterItem::getStatusText() const { return shownPresence_ ? shownPresence_->getStatus() : ""; } std::string ContactRosterItem::getIdleText() const { Idle::ref idle = shownPresence_ ? shownPresence_->getPayload<Idle>() : Idle::ref(); if (!idle || idle->getSince().is_not_a_date_time()) { return ""; } else { return dateTimeToLocalString(idle->getSince()); } } diff --git a/Swift/QtUI/Roster/RosterTooltip.cpp b/Swift/QtUI/Roster/RosterTooltip.cpp index 045a955..86f175d 100644 --- a/Swift/QtUI/Roster/RosterTooltip.cpp +++ b/Swift/QtUI/Roster/RosterTooltip.cpp @@ -82,71 +82,72 @@ QString RosterTooltip::buildDetailedTooltip(ContactRosterItem* contact, QtScaled QString scaledAvatarPath = cachedImageScaler->getScaledAvatarPath(P2QSTRING(contact->getAvatarPath().empty() ? ":/icons/avatar.png" : pathToString(contact->getAvatarPath()))); QString bareJID = contact->getDisplayJID().toString().empty() ? "" : "( " + P2QSTRING(contact->getDisplayJID().toString()) + " )"; QString presenceIconTag = QString("<img src='%1' />").arg(statusShowTypeToIconPath(contact->getStatusShow())); QString statusMessage = contact->getStatusText().empty() ? QObject::tr("(No message)") : P2QSTRING(contact->getStatusText()); QString idleString = P2QSTRING(contact->getIdleText()); if (!idleString.isEmpty()) { idleString = QObject::tr("Idle since %1").arg(idleString); idleString = htmlEscape(idleString) + "<br/>"; } QString lastSeen = P2QSTRING(contact->getOfflineSinceText()); if (!lastSeen.isEmpty()) { lastSeen = QObject::tr("Last seen %1").arg(lastSeen); lastSeen = htmlEscape(lastSeen) + "<br/>"; } QString mucOccupant= P2QSTRING(contact->getMUCAffiliationText()); if (!mucOccupant.isEmpty()) { mucOccupant = htmlEscape(mucOccupant) + "<br/>"; } return tooltipTemplate.arg(scaledAvatarPath, htmlEscape(fullName), htmlEscape(bareJID), presenceIconTag, htmlEscape(statusMessage), mucOccupant, idleString, lastSeen, vCardSummary); } QString RosterTooltip::buildVCardSummary(VCard::ref vcard) { QString summary; summary = "<table>"; // star | name | content QString currentBlock; foreach (const VCard::Telephone& tel, vcard->getTelephones()) { - QString field = buildVCardField(tel.isPreferred, QObject::tr("Telephone"), htmlEscape(P2QSTRING(tel.number))); + QString type = tel.isFax ? QObject::tr("Fax") : QObject::tr("Telephone"); + QString field = buildVCardField(tel.isPreferred, type, htmlEscape(P2QSTRING(tel.number))); if (tel.isPreferred) { currentBlock = field; break; } currentBlock += field; } summary += currentBlock; currentBlock = ""; foreach (const VCard::EMailAddress& mail, vcard->getEMailAddresses()) { QString field = buildVCardField(mail.isPreferred, QObject::tr("E-Mail"), htmlEscape(P2QSTRING(mail.address))); if (mail.isPreferred) { currentBlock = field; break; } currentBlock += field; } summary += currentBlock; currentBlock = ""; foreach (const VCard::Organization& org, vcard->getOrganizations()) { QString field = buildVCardField(false, QObject::tr("Organization"), htmlEscape(P2QSTRING(org.name))); currentBlock += field; } summary += currentBlock; currentBlock = ""; foreach(const std::string& title, vcard->getTitles()) { QString field = buildVCardField(false, QObject::tr("Title"), htmlEscape(P2QSTRING(title))); currentBlock += field; } summary += currentBlock; summary += "</table>"; return summary; |
Swift