From: Manuel Nickschas Date: Sun, 14 Feb 2010 22:23:33 +0000 (+0100) Subject: Fix CoreFeatures; disable SASL support if core isn't new enough X-Git-Tag: 0.6-beta1~25 X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=commitdiff_plain;h=cf721fb75a7525b03c0086f98314b828f5322001 Fix CoreFeatures; disable SASL support if core isn't new enough --- diff --git a/src/client/coreconnection.cpp b/src/client/coreconnection.cpp index 460b3b70..f5239140 100644 --- a/src/client/coreconnection.cpp +++ b/src/client/coreconnection.cpp @@ -474,6 +474,8 @@ void CoreConnection::clientInitAck(const QVariantMap &msg) { return; } + Client::setCoreFeatures((Quassel::Features)msg["CoreFeatures"].toUInt()); + #ifndef QT_NO_COMPRESS if(msg["SupportsCompression"].toBool()) { _socket->setProperty("UseCompression", true); diff --git a/src/client/networkmodel.cpp b/src/client/networkmodel.cpp index 8feb777a..bb0eca5e 100644 --- a/src/client/networkmodel.cpp +++ b/src/client/networkmodel.cpp @@ -235,7 +235,7 @@ void BufferItem::clearActivityLevel() { _firstUnreadMsgId = MsgId(); // FIXME remove with core proto v11 - if(!Client::coreFeatures() & Quassel::SynchronizedMarkerLine) { + if(!(Client::coreFeatures() & Quassel::SynchronizedMarkerLine)) { _markerLineMsgId = _lastSeenMsgId; } @@ -319,7 +319,7 @@ void BufferItem::setLastSeenMsgId(MsgId msgId) { _lastSeenMsgId = msgId; // FIXME remove with core protocol v11 - if(!Client::coreFeatures() & Quassel::SynchronizedMarkerLine) { + if(!(Client::coreFeatures() & Quassel::SynchronizedMarkerLine)) { if(!isCurrentBuffer()) _markerLineMsgId = msgId; } diff --git a/src/common/quassel.h b/src/common/quassel.h index b42ee47d..86469c48 100644 --- a/src/common/quassel.h +++ b/src/common/quassel.h @@ -67,8 +67,9 @@ public: */ enum Feature { SynchronizedMarkerLine = 0x0001, + SaslAuthentication = 0x0002, - NumFeatures = 0x0001 + NumFeatures = 0x0002 }; Q_DECLARE_FLAGS(Features, Feature); diff --git a/src/qtui/settingspages/networkssettingspage.cpp b/src/qtui/settingspages/networkssettingspage.cpp index 2ea60dba..15ee3af9 100644 --- a/src/qtui/settingspages/networkssettingspage.cpp +++ b/src/qtui/settingspages/networkssettingspage.cpp @@ -37,6 +37,10 @@ NetworksSettingsPage::NetworksSettingsPage(QWidget *parent) : SettingsPage(tr("IRC"), tr("Networks"), parent) { ui.setupUi(this); + // hide SASL options for older cores + if(!(Client::coreFeatures() & Quassel::SaslAuthentication)) + ui.sasl->hide(); + // set up icons ui.renameNetwork->setIcon(SmallIcon("edit-rename")); ui.addNetwork->setIcon(SmallIcon("list-add"));