Pārlūkot izejas kodu

do not use xmpp in settings menu

master
isymchych 10 gadus atpakaļ
vecāks
revīzija
fe77846b89

+ 31
- 2
app.js Parādīt failu

@@ -40,6 +40,14 @@ function createConference(connection, room) {
40 40
             room.setDisplayName(nickname);
41 41
         },
42 42
 
43
+        setEmail: function (email) {
44
+            // FIXME room.setEmail
45
+        },
46
+
47
+        setStartMuted: function (audio, video) {
48
+            // FIXME room.setStartMuted
49
+        },
50
+
43 51
         sendMessage: function (message) {
44 52
             room.sendTextMessage(message);
45 53
         },
@@ -50,6 +58,10 @@ function createConference(connection, room) {
50 58
 
51 59
         localId: function () {
52 60
             return room.myUserId();
61
+        },
62
+
63
+        isLocalId: function (id) {
64
+            return id === this.localId();
53 65
         }
54 66
     };
55 67
 }
@@ -173,8 +185,8 @@ function initConference(connection, roomName) {
173 185
     room.on(
174 186
         ConferenceEvents.USER_JOINED,
175 187
         function (id) {
176
-            // FIXME ????
177
-            APP.UI.addUser();
188
+            // FIXME email???
189
+            APP.UI.addUser(id);
178 190
         }
179 191
     );
180 192
 
@@ -263,6 +275,23 @@ function init() {
263 275
             APP.conference.sendMessage(message);
264 276
         });
265 277
 
278
+        APP.UI.addListener(UIEvents.LANG_CHANGED, function (language) {
279
+            APP.translation.setLanguage(language);
280
+            APP.settings.setLanguage(language);
281
+        });
282
+
283
+        APP.UI.addListener(UIEvents.EMAIL_CHANGED, function (email) {
284
+            APP.conference.setEmail(email);
285
+            APP.settings.setEmail(email);
286
+        });
287
+
288
+        APP.UI.addListener(
289
+            UIEvents.START_MUTED_CHANGED,
290
+            function (startAudioMuted, startVideoMuted) {
291
+                APP.conference.setStartMuted(startAudioMuted, startVideoMuted);
292
+            }
293
+        );
294
+
266 295
         APP.desktopsharing.init();
267 296
         APP.statistics.start();
268 297
         APP.connectionquality.init();

+ 8
- 4
modules/UI/UI.js Parādīt failu

@@ -129,10 +129,10 @@ UI.notifyBridgeDown = function () {
129 129
     messageHandler.showError("dialog.error", "dialog.bridgeUnavailable");
130 130
 };
131 131
 
132
-UI.changeDisplayName = function (jid, displayName) {
133
-    ContactList.onDisplayNameChange(jid, displayName);
134
-    SettingsMenu.onDisplayNameChange(jid, displayName);
135
-    VideoLayout.onDisplayNameChanged(jid, displayName);
132
+UI.changeDisplayName = function (id, displayName) {
133
+    ContactList.onDisplayNameChange(id, displayName);
134
+    SettingsMenu.onDisplayNameChange(id, displayName);
135
+    VideoLayout.onDisplayNameChanged(id, displayName);
136 136
 };
137 137
 
138 138
 UI.initConference = function (jid) {
@@ -171,6 +171,10 @@ function registerListeners() {
171 171
     UI.addListener(UIEvents.FILM_STRIP_TOGGLED, function (isToggled) {
172 172
         VideoLayout.onFilmStripToggled(isToggled);
173 173
     });
174
+
175
+    UI.addListener(UIEvents.EMAIL_CHANGED, function (email) {
176
+        Avatar.setUserAvatar(APP.xmpp.myJid(), email);
177
+    });
174 178
 }
175 179
 
176 180
 function onResize() {

+ 7
- 8
modules/UI/side_pannels/contactlist/ContactList.js Parādīt failu

@@ -169,16 +169,15 @@ var ContactList = {
169 169
         }
170 170
     },
171 171
 
172
-    onDisplayNameChange: function (peerJid, displayName) {
173
-        if (peerJid === 'localVideoContainer')
174
-            peerJid = APP.xmpp.myJid();
175
-
176
-        var resourceJid = Strophe.getResourceFromJid(peerJid);
177
-
178
-        var contactName = $('#contacts #' + resourceJid + '>p');
172
+    onDisplayNameChange: function (id, displayName) {
173
+        if (id === 'localVideoContainer') {
174
+            id = APP.conference.localId();
175
+        }
176
+        var contactName = $('#contacts #' + id + '>p');
179 177
 
180
-        if (contactName && displayName && displayName.length > 0)
178
+        if (contactName && displayName && displayName.length > 0) {
181 179
             contactName.html(displayName);
180
+        }
182 181
     },
183 182
 
184 183
     userAvatarChanged: function (resourceJid, contactListUrl) {

+ 19
- 26
modules/UI/side_pannels/settings/SettingsMenu.js Parādīt failu

@@ -1,8 +1,8 @@
1 1
 /* global APP, $ */
2
-var Avatar = require("../../avatar/Avatar");
3 2
 var Settings = require("./../../../settings/Settings");
4 3
 var UIUtil = require("../../util/UIUtil");
5 4
 var languages = require("../../../../service/translation/languages");
5
+var UIEvents = require("../../../../service/UI/UIEvents");
6 6
 
7 7
 function generateLanguagesSelectBox() {
8 8
     var currentLang = APP.translation.getCurrentLanguage();
@@ -24,7 +24,9 @@ function generateLanguagesSelectBox() {
24 24
 
25 25
 var SettingsMenu = {
26 26
 
27
-    init: function () {
27
+    init: function (emitter) {
28
+        this.emitter = emitter;
29
+
28 30
         var startMutedSelector = $("#startMutedOptions");
29 31
         startMutedSelector.before(generateLanguagesSelectBox());
30 32
         APP.translation.translateElement($("#languages_selectbox"));
@@ -36,8 +38,7 @@ var SettingsMenu = {
36 38
 
37 39
         if (APP.conference.isModerator()) {
38 40
             startMutedSelector.css("display", "block");
39
-        }
40
-        else {
41
+        } else {
41 42
             startMutedSelector.css("display", "none");
42 43
         }
43 44
 
@@ -61,43 +62,35 @@ var SettingsMenu = {
61 62
     },
62 63
 
63 64
     update: function() {
65
+        // FIXME check if this values really changed:
66
+        // compare them with Settings etc.
64 67
         var newDisplayName =
65
-            UIUtil.escapeHtml($('#setDisplayName').get(0).value);
66
-        var newEmail = UIUtil.escapeHtml($('#setEmail').get(0).value);
68
+                UIUtil.escapeHtml($('#setDisplayName').get(0).value);
67 69
 
68
-        if(newDisplayName) {
69
-            var displayName = Settings.setDisplayName(newDisplayName);
70
-            APP.xmpp.addToPresence("displayName", displayName, true);
70
+        if (newDisplayName) {
71
+            this.emitter.emit(UIEvents.NICKNAME_CHANGED, newDisplayName);
71 72
         }
72 73
 
73 74
         var language = $("#languages_selectbox").val();
74
-        APP.translation.setLanguage(language);
75
-        Settings.setLanguage(language);
75
+        this.emitter.emit(UIEvents.LANG_CHANGED, language);
76 76
 
77
-        APP.xmpp.addToPresence("email", newEmail);
78
-        var email = Settings.setEmail(newEmail);
77
+        var newEmail = UIUtil.escapeHtml($('#setEmail').get(0).value);
78
+        this.emitter.emit(UIEvents.EMAIL_CHANGED, newEmail);
79 79
 
80 80
         var startAudioMuted = ($("#startAudioMuted").is(":checked"));
81 81
         var startVideoMuted = ($("#startVideoMuted").is(":checked"));
82
-        APP.xmpp.addToPresence("startMuted",
83
-            [startAudioMuted, startVideoMuted]);
84
-
85
-        Avatar.setUserAvatar(APP.xmpp.myJid(), email);
82
+        this.emitter.emit(
83
+            UIEvents.START_MUTED_CHANGED, startAudioMuted, startVideoMuted
84
+        );
86 85
     },
87 86
 
88 87
     isVisible: function() {
89 88
         return $('#settingsmenu').is(':visible');
90 89
     },
91 90
 
92
-    setDisplayName: function(newDisplayName) {
93
-        var displayName = Settings.setDisplayName(newDisplayName);
94
-        $('#setDisplayName').get(0).value = displayName;
95
-    },
96
-
97
-    onDisplayNameChange: function(peerJid, newDisplayName) {
98
-        if(peerJid === 'localVideoContainer' ||
99
-            peerJid === APP.xmpp.myJid()) {
100
-            this.setDisplayName(newDisplayName);
91
+    onDisplayNameChange: function(id, newDisplayName) {
92
+        if(id === 'localVideoContainer' || APP.conference.isLocalId(id)) {
93
+            $('#setDisplayName').get(0).value = newDisplayName;
101 94
         }
102 95
     },
103 96
     changeAvatar: function (thumbUrl) {

+ 5
- 8
modules/UI/videolayout/VideoLayout.js Parādīt failu

@@ -590,16 +590,13 @@ var VideoLayout = (function (my) {
590 590
     /**
591 591
      * Display name changed.
592 592
      */
593
-    my.onDisplayNameChanged =
594
-                    function (jid, displayName, status) {
595
-        if (jid === 'localVideoContainer' ||
596
-            jid === APP.xmpp.myJid()) {
593
+    my.onDisplayNameChanged = function (id, displayName, status) {
594
+        if (id === 'localVideoContainer' ||
595
+            APP.conference.isLocalId(id)) {
597 596
             localVideoThumbnail.setDisplayName(displayName);
598 597
         } else {
599
-            VideoLayout.ensurePeerContainerExists(jid);
600
-            remoteVideos[Strophe.getResourceFromJid(jid)].setDisplayName(
601
-                displayName,
602
-                status);
598
+            VideoLayout.ensurePeerContainerExists(id);
599
+            remoteVideos[id].setDisplayName(displayName, status);
603 600
         }
604 601
     };
605 602
 

+ 12
- 0
service/UI/UIEvents.js Parādīt failu

@@ -7,6 +7,18 @@ var UIEvents = {
7 7
      * Notifies that local user created text message.
8 8
      */
9 9
     MESSAGE_CREATED: "UI.message_created",
10
+    /**
11
+     * Notifies that local user changed language.
12
+     */
13
+    LANG_CHANGED: "UI.lang_changed",
14
+    /**
15
+     * Notifies that local user changed email.
16
+     */
17
+    EMAIL_CHANGED: "UI.email_changed",
18
+    /**
19
+     * Notifies that "start muted" settings changed.
20
+     */
21
+    START_MUTED_CHANGED: "UI.start_muted_changed",
10 22
     /**
11 23
      * Notifies interested parties when the film strip (remote video's panel)
12 24
      * is hidden (toggled) or shown (un-toggled).

Notiek ielāde…
Atcelt
Saglabāt