diff options
Diffstat (limited to 'Swiftob/MUCs.cpp')
-rw-r--r-- | Swiftob/MUCs.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/Swiftob/MUCs.cpp b/Swiftob/MUCs.cpp index 695cbd9..aec821a 100644 --- a/Swiftob/MUCs.cpp +++ b/Swiftob/MUCs.cpp @@ -18,5 +18,8 @@ #include <Swiftob/Storage.h> +using namespace Swift; + #define MUC_LIST_SETTING "muc_list" +#define NICK "default_nick" typedef std::pair<JID, MUC::ref> JIDMUCPair; @@ -25,4 +28,8 @@ MUCs::MUCs(Client* client, Storage* storage) : defaultNick_("Kanchil+") { client_ = client; storage_ = storage; + std::string storedNick = storage_->getSetting(NICK); + if (!storedNick.empty()) { + defaultNick_ = storedNick; + } client_->onConnected.connect(boost::bind(&MUCs::handleConnected, this)); } @@ -119,2 +126,12 @@ MUC::ref MUCs::getMUC(const JID& room) { return (mucs_.find(room) != mucs_.end()) ? mucs_[room] : MUC::ref(); } + +bool MUCs::setDefaultNick(const std::string& nick) { + JID testJID("alice", "wonderland.lit", nick); + if (testJID.isValid()) { + defaultNick_ = testJID.getResource(); + storage_->saveSetting(NICK, defaultNick_); + return true; + } + return false; +} |