diff options
| author | Tobias Markmann <tm@ayena.de> | 2016-04-13 18:43:51 (GMT) | 
|---|---|---|
| committer | Tobias Markmann <tm@ayena.de> | 2016-04-14 09:41:14 (GMT) | 
| commit | a83ddaace71688abc7f2b6a6dd1b821f2194e890 (patch) | |
| tree | e654cefc1ac259296519230e78821872b9e993d7 /Swift/Controllers/UIInterfaces | |
| parent | b9ad76af13fc1d253845e027f91f22039bf14f9c (diff) | |
| download | swift-a83ddaace71688abc7f2b6a6dd1b821f2194e890.zip swift-a83ddaace71688abc7f2b6a6dd1b821f2194e890.tar.bz2  | |
Fix bug of /me commands not being shown as actions
Test-Information:
Added a test case that verifies this behavior. This test case
succeeded before the refactoring in 74e5131 and now succeeds
again.
Tested Swift UI 1-to-1 and MUC messages with /me commands.
Tested on OS X 10.11.4 with open-source clang.
Change-Id: I270a0b4e2ddc595919646bddcc5e1f27074c9e1f
Diffstat (limited to 'Swift/Controllers/UIInterfaces')
| -rw-r--r-- | Swift/Controllers/UIInterfaces/ChatWindow.h | 22 | 
1 files changed, 12 insertions, 10 deletions
diff --git a/Swift/Controllers/UIInterfaces/ChatWindow.h b/Swift/Controllers/UIInterfaces/ChatWindow.h index 2636bda..3aa1c7e 100644 --- a/Swift/Controllers/UIInterfaces/ChatWindow.h +++ b/Swift/Controllers/UIInterfaces/ChatWindow.h @@ -45,9 +45,11 @@ namespace Swift {              class ChatMessage {                  public:                      ChatMessage() {} +                      ChatMessage(const std::string& text) {                          append(std::make_shared<ChatTextMessagePart>(text));                      } +                      void append(const std::shared_ptr<ChatMessagePart>& part) {                          parts_.push_back(part);                      } @@ -56,6 +58,10 @@ namespace Swift {                          return parts_;                      } +                    void setParts(const std::vector<std::shared_ptr<ChatMessagePart> >& parts) { +                        parts_ = parts; +                    } +                      void setFullMessageHighlightAction(const HighlightAction& action) {                          fullMessageHighlightAction_ = action;                      } @@ -65,21 +71,17 @@ namespace Swift {                      }                      bool isMeCommand() const { -                        bool isMeCommand = false; -                        if (!parts_.empty()) { -                            std::shared_ptr<ChatTextMessagePart> textPart = std::dynamic_pointer_cast<ChatTextMessagePart>(parts_[0]); -                            if (textPart) { -                                if (boost::starts_with(textPart->text, "/me ")) { -                                    isMeCommand = true; -                                } -                            } -                        } -                        return isMeCommand; +                        return isMeCommand_; +                    } + +                    void setIsMeCommand(bool isMeCommand) { +                        isMeCommand_ = isMeCommand;                      }                  private:                      std::vector<std::shared_ptr<ChatMessagePart> > parts_;                      HighlightAction fullMessageHighlightAction_; +                    bool isMeCommand_ = false;              };              class ChatTextMessagePart : public ChatMessagePart {  | 
 Swift