Sfoglia il codice sorgente

do not use xmpp in settings menu

master
isymchych 10 anni fa
parent
commit
fe77846b89

+ 31
- 2
app.js Vedi File

40
             room.setDisplayName(nickname);
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
         sendMessage: function (message) {
51
         sendMessage: function (message) {
44
             room.sendTextMessage(message);
52
             room.sendTextMessage(message);
45
         },
53
         },
50
 
58
 
51
         localId: function () {
59
         localId: function () {
52
             return room.myUserId();
60
             return room.myUserId();
61
+        },
62
+
63
+        isLocalId: function (id) {
64
+            return id === this.localId();
53
         }
65
         }
54
     };
66
     };
55
 }
67
 }
173
     room.on(
185
     room.on(
174
         ConferenceEvents.USER_JOINED,
186
         ConferenceEvents.USER_JOINED,
175
         function (id) {
187
         function (id) {
176
-            // FIXME ????
177
-            APP.UI.addUser();
188
+            // FIXME email???
189
+            APP.UI.addUser(id);
178
         }
190
         }
179
     );
191
     );
180
 
192
 
263
             APP.conference.sendMessage(message);
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
         APP.desktopsharing.init();
295
         APP.desktopsharing.init();
267
         APP.statistics.start();
296
         APP.statistics.start();
268
         APP.connectionquality.init();
297
         APP.connectionquality.init();

+ 8
- 4
modules/UI/UI.js Vedi File

129
     messageHandler.showError("dialog.error", "dialog.bridgeUnavailable");
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
 UI.initConference = function (jid) {
138
 UI.initConference = function (jid) {
171
     UI.addListener(UIEvents.FILM_STRIP_TOGGLED, function (isToggled) {
171
     UI.addListener(UIEvents.FILM_STRIP_TOGGLED, function (isToggled) {
172
         VideoLayout.onFilmStripToggled(isToggled);
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
 function onResize() {
180
 function onResize() {

+ 7
- 8
modules/UI/side_pannels/contactlist/ContactList.js Vedi File

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
             contactName.html(displayName);
179
             contactName.html(displayName);
180
+        }
182
     },
181
     },
183
 
182
 
184
     userAvatarChanged: function (resourceJid, contactListUrl) {
183
     userAvatarChanged: function (resourceJid, contactListUrl) {

+ 19
- 26
modules/UI/side_pannels/settings/SettingsMenu.js Vedi File

1
 /* global APP, $ */
1
 /* global APP, $ */
2
-var Avatar = require("../../avatar/Avatar");
3
 var Settings = require("./../../../settings/Settings");
2
 var Settings = require("./../../../settings/Settings");
4
 var UIUtil = require("../../util/UIUtil");
3
 var UIUtil = require("../../util/UIUtil");
5
 var languages = require("../../../../service/translation/languages");
4
 var languages = require("../../../../service/translation/languages");
5
+var UIEvents = require("../../../../service/UI/UIEvents");
6
 
6
 
7
 function generateLanguagesSelectBox() {
7
 function generateLanguagesSelectBox() {
8
     var currentLang = APP.translation.getCurrentLanguage();
8
     var currentLang = APP.translation.getCurrentLanguage();
24
 
24
 
25
 var SettingsMenu = {
25
 var SettingsMenu = {
26
 
26
 
27
-    init: function () {
27
+    init: function (emitter) {
28
+        this.emitter = emitter;
29
+
28
         var startMutedSelector = $("#startMutedOptions");
30
         var startMutedSelector = $("#startMutedOptions");
29
         startMutedSelector.before(generateLanguagesSelectBox());
31
         startMutedSelector.before(generateLanguagesSelectBox());
30
         APP.translation.translateElement($("#languages_selectbox"));
32
         APP.translation.translateElement($("#languages_selectbox"));
36
 
38
 
37
         if (APP.conference.isModerator()) {
39
         if (APP.conference.isModerator()) {
38
             startMutedSelector.css("display", "block");
40
             startMutedSelector.css("display", "block");
39
-        }
40
-        else {
41
+        } else {
41
             startMutedSelector.css("display", "none");
42
             startMutedSelector.css("display", "none");
42
         }
43
         }
43
 
44
 
61
     },
62
     },
62
 
63
 
63
     update: function() {
64
     update: function() {
65
+        // FIXME check if this values really changed:
66
+        // compare them with Settings etc.
64
         var newDisplayName =
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
         var language = $("#languages_selectbox").val();
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
         var startAudioMuted = ($("#startAudioMuted").is(":checked"));
80
         var startAudioMuted = ($("#startAudioMuted").is(":checked"));
81
         var startVideoMuted = ($("#startVideoMuted").is(":checked"));
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
     isVisible: function() {
87
     isVisible: function() {
89
         return $('#settingsmenu').is(':visible');
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
     changeAvatar: function (thumbUrl) {
96
     changeAvatar: function (thumbUrl) {

+ 5
- 8
modules/UI/videolayout/VideoLayout.js Vedi File

590
     /**
590
     /**
591
      * Display name changed.
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
             localVideoThumbnail.setDisplayName(displayName);
596
             localVideoThumbnail.setDisplayName(displayName);
598
         } else {
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 Vedi File

7
      * Notifies that local user created text message.
7
      * Notifies that local user created text message.
8
      */
8
      */
9
     MESSAGE_CREATED: "UI.message_created",
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
      * Notifies interested parties when the film strip (remote video's panel)
23
      * Notifies interested parties when the film strip (remote video's panel)
12
      * is hidden (toggled) or shown (un-toggled).
24
      * is hidden (toggled) or shown (un-toggled).

Loading…
Annulla
Salva