| ... | ... |
@@ -249,15 +249,23 @@ this.App = |
| 249 | 249 |
App.debug ['message received', result] |
| 250 | 250 |
|
| 251 | 251 |
if (result.chat_id) |
| 252 |
- chat = App.Collections.chats.findById(result.chat_id) |
|
| 253 |
- |
|
| 254 |
- Backbone.Events.trigger('openChat', chat)
|
|
| 252 |
+ chatId = result.chat_id |
|
| 255 | 253 |
|
| 256 | 254 |
tab = _.find(App.Views.tabbar.tabs, (tab) -> |
| 257 |
- tab.getChatId() == result.chat_id |
|
| 255 |
+ tab.getChatId() == chatId |
|
| 258 | 256 |
) |
| 259 | 257 |
|
| 260 |
- tab.showChat() |
|
| 258 |
+ if App.Views.tabbar and App.Views.tabbar.activeTab |
|
| 259 |
+ if App.Views.tabbar.activeTab.model.get('chatId') != chatId
|
|
| 260 |
+ refreshScreen = true |
|
| 261 |
+ else |
|
| 262 |
+ refreshScreen = true |
|
| 263 |
+ |
|
| 264 |
+ if refreshScreen |
|
| 265 |
+ chat = App.Collections.chats.findById(chatId) |
|
| 266 |
+ Backbone.Events.trigger('openChat', chat)
|
|
| 267 |
+ tab.showChat() |
|
| 268 |
+ |
|
| 261 | 269 |
contact = App.Collections.contacts.findByJid(App.stripJid(result.from)) |
| 262 | 270 |
tab.chatWindow.appendMessage(contact, new Date(), result.message, result.id_message) |
| 263 | 271 |
else |
| ... | ... |
@@ -278,7 +286,12 @@ this.App = |
| 278 | 278 |
contactView = App.Collections.contacts.friendsList.hasContact(contact) |
| 279 | 279 |
|
| 280 | 280 |
contact.setPreferredResource(result.from) |
| 281 |
- contactView.startChat() |
|
| 281 |
+ |
|
| 282 |
+ if App.Views.tabbar and App.Views.tabbar.activeTab |
|
| 283 |
+ if App.Views.tabbar.activeTab.model.get('withWhom') != contact
|
|
| 284 |
+ contactView.startChat() |
|
| 285 |
+ else |
|
| 286 |
+ contactView.startChat() |
|
| 282 | 287 |
|
| 283 | 288 |
tab = _.find(App.Views.tabbar.tabs, (tab) -> |
| 284 | 289 |
tab.hasParticipants(App.Models.me, contact) |