diff options
| author | Kevin Smith <git@kismith.co.uk> | 2010-03-21 22:33:09 (GMT) | 
|---|---|---|
| committer | Kevin Smith <git@kismith.co.uk> | 2010-03-22 14:54:54 (GMT) | 
| commit | f5c2750f56c78d115bb9e8a7c5d50316da98b6d5 (patch) | |
| tree | 661c761e7ebb526e1d71848c127046605e036729 /Swift/QtUI/EventViewer/QtEvent.cpp | |
| parent | 37a3ff6afe96c39bbf075d05da72e5f2c684dfa4 (diff) | |
| download | swift-contrib-f5c2750f56c78d115bb9e8a7c5d50316da98b6d5.zip swift-contrib-f5c2750f56c78d115bb9e8a7c5d50316da98b6d5.tar.bz2  | |
Lots of plumbing for event view.
This isn't ready yet, but clicking on a message in the event view will now cause the chat to pop up, and the plumbing is there for doing something with subscription requests - I just don't, yet.
Diffstat (limited to 'Swift/QtUI/EventViewer/QtEvent.cpp')
| -rw-r--r-- | Swift/QtUI/EventViewer/QtEvent.cpp | 18 | 
1 files changed, 14 insertions, 4 deletions
diff --git a/Swift/QtUI/EventViewer/QtEvent.cpp b/Swift/QtUI/EventViewer/QtEvent.cpp index 2dc1fb0..3aae213 100644 --- a/Swift/QtUI/EventViewer/QtEvent.cpp +++ b/Swift/QtUI/EventViewer/QtEvent.cpp @@ -1,22 +1,23 @@  #include "Swift/QtUI/EventViewer/QtEvent.h"  #include "Swiften/Events/MessageEvent.h" +#include "Swiften/Events/SubscriptionRequestEvent.h"  #include "Swift/QtUI/QtSwiftUtil.h"  namespace Swift { -QtEvent::QtEvent(boost::shared_ptr<Event> event, bool active) : event_(event) { +QtEvent::QtEvent(boost::shared_ptr<StanzaEvent> event, bool active) : event_(event) {  	active_ = active;  }  QVariant QtEvent::data(int role) {   	switch (role) { +		case Qt::ToolTipRole:  		case Qt::DisplayRole: return QVariant(text());  		case Qt::TextColorRole: return active_ ? Qt::black : Qt::darkGray;  		case Qt::BackgroundColorRole: return active_ ? Qt::white : Qt::lightGray; -			/*case Qt::ToolTipRole: return isContact() ? toolTipString() : QVariant(); -	 	case StatusTextRole: return statusText_; +			/*case StatusTextRole: return statusText_;  		case AvatarRole: return avatar_;  		case PresenceIconRole: return getPresenceIcon();*/  	 	default: return QVariant(); @@ -25,7 +26,16 @@ QVariant QtEvent::data(int role) {  QString QtEvent::text() {  	boost::shared_ptr<MessageEvent> messageEvent = boost::dynamic_pointer_cast<MessageEvent>(event_); -	return messageEvent ? P2QSTRING(messageEvent->getStanza()->getBody()) :  "Bob: "; +	if (messageEvent) { +		return P2QSTRING(messageEvent->getStanza()->getBody()); +	} +	boost::shared_ptr<SubscriptionRequestEvent> subscriptionRequestEvent = boost::dynamic_pointer_cast<SubscriptionRequestEvent>(event_); +	if (subscriptionRequestEvent) { +		String reason = subscriptionRequestEvent->getReason(); +		String message = subscriptionRequestEvent->getJID().toBare().toString() + " would like to add you to their roster" + (reason.isEmpty() ? "." : ", saying '" + reason + "'."); +		return P2QSTRING(message); +	} +	return "";  }  }  | 
 Swift