+#include "client.h"
+
+void Clickable::activate(NetworkId networkId, const QString &text) const {
+ if(!isValid())
+ return;
+
+ QString str = text.mid(start(), length());
+
+ switch(type()) {
+ case Clickable::Url:
+ if(!str.contains("://"))
+ str = "http://" + str;
+ QDesktopServices::openUrl(QUrl::fromEncoded(str.toUtf8(), QUrl::TolerantMode));
+ break;
+ case Clickable::Channel:
+ Client::bufferModel()->switchToOrJoinBuffer(networkId, str);
+ break;
+ default:
+ break;
+ }
+}