Mercurial > libervia-web
comparison libervia.py @ 66:9d8e79ac4c9c
Login/Register box: integration of Adrien Vigneron's design
author | Goffi <goffi@goffi.org> |
---|---|
date | Wed, 15 Jun 2011 00:52:02 +0200 |
parents | 104e71ce2293 |
children | 68d360caeecb |
comparison
equal
deleted
inserted
replaced
65:8f421a12b8f9 | 66:9d8e79ac4c9c |
---|---|
1 #!/usr/bin/python | 1 #!/usr/bin/python |
2 # -*- coding: utf-8 -*- | 2 # -*- coding: utf-8 -*- |
3 | 3 |
4 """ | 4 """ |
5 Libervia: a Salut à Toi frontend | 5 Libervia: a Salut à Toi frontend |
6 Copyright (C) 2011 Jérôme Poisson (goffi@goffi.org) | 6 Copyright (C) 2011 Jérôme Poisson <goffi@goffi.org> |
7 | 7 |
8 This program is free software: you can redistribute it and/or modify | 8 This program is free software: you can redistribute it and/or modify |
9 it under the terms of the GNU Affero General Public License as published by | 9 it under the terms of the GNU Affero General Public License as published by |
10 the Free Software Foundation, either version 3 of the License, or | 10 the Free Software Foundation, either version 3 of the License, or |
11 (at your option) any later version. | 11 (at your option) any later version. |
23 from pyjamas.ui.RootPanel import RootPanel | 23 from pyjamas.ui.RootPanel import RootPanel |
24 from pyjamas.ui.HTML import HTML | 24 from pyjamas.ui.HTML import HTML |
25 from pyjamas.ui.KeyboardListener import KEY_ESCAPE | 25 from pyjamas.ui.KeyboardListener import KEY_ESCAPE |
26 from pyjamas import Window, DOM | 26 from pyjamas import Window, DOM |
27 from pyjamas.JSONService import JSONProxy | 27 from pyjamas.JSONService import JSONProxy |
28 from browser_side.register import RegisterPanel, RegisterBox | 28 from browser_side.register import RegisterBox |
29 from browser_side.contact import ContactPanel | 29 from browser_side.contact import ContactPanel |
30 from browser_side import panels, dialog | 30 from browser_side import panels, dialog |
31 from browser_side.jid import JID | 31 from browser_side.jid import JID |
32 from browser_side.tools import html_sanitize | 32 from browser_side.tools import html_sanitize |
33 | 33 |
108 self.room_list = set() #set of rooms | 108 self.room_list = set() #set of rooms |
109 self.mblog_cache = [] #used to keep blog entries in memory, to show them in new mblog panel | 109 self.mblog_cache = [] #used to keep blog entries in memory, to show them in new mblog panel |
110 self.discuss_panel.changePanel(0,self.mpanels[0]) | 110 self.discuss_panel.changePanel(0,self.mpanels[0]) |
111 self.discuss_panel.changePanel(1,self.mpanels[1]) | 111 self.discuss_panel.changePanel(1,self.mpanels[1]) |
112 self.discuss_panel.changePanel(2,self.mpanels[2]) | 112 self.discuss_panel.changePanel(2,self.mpanels[2]) |
113 self._dialog = None | 113 self._register_box = None |
114 RootPanel().add(self.panel) | 114 RootPanel().add(self.panel) |
115 DOM.addEventPreview(self) | 115 DOM.addEventPreview(self) |
116 self.resize() | 116 self.resize() |
117 self._register = RegisterCall() | 117 self._register = RegisterCall() |
118 self._register.call('isRegistered',self._isRegisteredCB) | 118 self._register.call('isRegistered',self._isRegisteredCB) |
149 self.tab_panel.add(panel, label) | 149 self.tab_panel.add(panel, label) |
150 self.other_panels.append(panel) | 150 self.other_panels.append(panel) |
151 | 151 |
152 def _isRegisteredCB(self, registered): | 152 def _isRegisteredCB(self, registered): |
153 if not registered: | 153 if not registered: |
154 self._dialog = RegisterBox(self.logged,centered=True) | 154 self._register_box = RegisterBox(self.logged) |
155 self._dialog.show() | 155 self._register_box.centerBox() |
156 self._register_box.show() | |
156 else: | 157 else: |
157 self._register.call('isConnected', self._isConnectedCB) | 158 self._register.call('isConnected', self._isConnectedCB) |
158 | 159 |
159 def _isConnectedCB(self, connected): | 160 def _isConnectedCB(self, connected): |
160 if not connected: | 161 if not connected: |
161 self._register.call('connect',lambda x:self.logged()) | 162 self._register.call('connect',lambda x:self.logged()) |
162 else: | 163 else: |
163 self.logged() | 164 self.logged() |
164 | 165 |
165 def logged(self): | 166 def logged(self): |
166 if self._dialog: | 167 if self._register_box: |
167 self._dialog.hide() | 168 self._register_box.hide() |
168 del self._dialog # don't work if self._dialog is None | 169 del self._register_box # don't work if self._register_box is None |
169 | 170 |
170 #it's time to fill the page | 171 #it's time to fill the page |
171 self.bridge.call('getContacts', self._getContactsCB) | 172 self.bridge.call('getContacts', self._getContactsCB) |
172 self.bridge_signals.call('getSignals', self._getSignalsCB) | 173 self.bridge_signals.call('getSignals', self._getSignalsCB) |
173 #We want to know our own jid | 174 #We want to know our own jid |