Mercurial > libervia-web
annotate src/browser/sat_browser/menu.py @ 494:5d8632a7bfde
browser_side: refactorisation of menus and LiberviaWidget's header
author | souliane <souliane@mailoo.org> |
---|---|
date | Tue, 15 Jul 2014 18:43:55 +0200 |
parents | a7f5448a1bc3 |
children | 60be99de3808 |
rev | line source |
---|---|
78
12680e220b35
browser side: refactoring: menu is now in its own module
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
1 #!/usr/bin/python |
12680e220b35
browser side: refactoring: menu is now in its own module
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
2 # -*- coding: utf-8 -*- |
12680e220b35
browser side: refactoring: menu is now in its own module
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
3 |
339
2067d6241927
fixed docstrings wrong usage for licence informations
Goffi <goffi@goffi.org>
parents:
336
diff
changeset
|
4 # Libervia: a Salut à Toi frontend |
340 | 5 # Copyright (C) 2011, 2012, 2013, 2014 Jérôme Poisson <goffi@goffi.org> |
78
12680e220b35
browser side: refactoring: menu is now in its own module
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
6 |
339
2067d6241927
fixed docstrings wrong usage for licence informations
Goffi <goffi@goffi.org>
parents:
336
diff
changeset
|
7 # This program is free software: you can redistribute it and/or modify |
2067d6241927
fixed docstrings wrong usage for licence informations
Goffi <goffi@goffi.org>
parents:
336
diff
changeset
|
8 # it under the terms of the GNU Affero General Public License as published by |
2067d6241927
fixed docstrings wrong usage for licence informations
Goffi <goffi@goffi.org>
parents:
336
diff
changeset
|
9 # the Free Software Foundation, either version 3 of the License, or |
2067d6241927
fixed docstrings wrong usage for licence informations
Goffi <goffi@goffi.org>
parents:
336
diff
changeset
|
10 # (at your option) any later version. |
78
12680e220b35
browser side: refactoring: menu is now in its own module
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
11 |
339
2067d6241927
fixed docstrings wrong usage for licence informations
Goffi <goffi@goffi.org>
parents:
336
diff
changeset
|
12 # This program is distributed in the hope that it will be useful, |
2067d6241927
fixed docstrings wrong usage for licence informations
Goffi <goffi@goffi.org>
parents:
336
diff
changeset
|
13 # but WITHOUT ANY WARRANTY; without even the implied warranty of |
2067d6241927
fixed docstrings wrong usage for licence informations
Goffi <goffi@goffi.org>
parents:
336
diff
changeset
|
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
2067d6241927
fixed docstrings wrong usage for licence informations
Goffi <goffi@goffi.org>
parents:
336
diff
changeset
|
15 # GNU Affero General Public License for more details. |
78
12680e220b35
browser side: refactoring: menu is now in its own module
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
16 |
339
2067d6241927
fixed docstrings wrong usage for licence informations
Goffi <goffi@goffi.org>
parents:
336
diff
changeset
|
17 # You should have received a copy of the GNU Affero General Public License |
2067d6241927
fixed docstrings wrong usage for licence informations
Goffi <goffi@goffi.org>
parents:
336
diff
changeset
|
18 # along with this program. If not, see <http://www.gnu.org/licenses/>. |
78
12680e220b35
browser side: refactoring: menu is now in its own module
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
19 |
387
933bce4cb816
browser_side: factorize the code from AvatarUpload to a new class FileUploadPanel
souliane <souliane@mailoo.org>
parents:
377
diff
changeset
|
20 import pyjd # this is dummy in pyjs |
439
d52f529a6d42
browser side: use of new log system (first draft):
Goffi <goffi@goffi.org>
parents:
432
diff
changeset
|
21 from sat.core.log import getLogger |
d52f529a6d42
browser side: use of new log system (first draft):
Goffi <goffi@goffi.org>
parents:
432
diff
changeset
|
22 log = getLogger(__name__) |
449
981ed669d3b3
/!\ reorganize all the file hierarchy, move the code and launching script to src:
souliane <souliane@mailoo.org>
parents:
439
diff
changeset
|
23 |
981ed669d3b3
/!\ reorganize all the file hierarchy, move the code and launching script to src:
souliane <souliane@mailoo.org>
parents:
439
diff
changeset
|
24 from sat.core.i18n import _ |
981ed669d3b3
/!\ reorganize all the file hierarchy, move the code and launching script to src:
souliane <souliane@mailoo.org>
parents:
439
diff
changeset
|
25 |
78
12680e220b35
browser side: refactoring: menu is now in its own module
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
26 from pyjamas.ui.SimplePanel import SimplePanel |
12680e220b35
browser side: refactoring: menu is now in its own module
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
27 from pyjamas.ui.HTML import HTML |
12680e220b35
browser side: refactoring: menu is now in its own module
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
28 from pyjamas.ui.Frame import Frame |
12680e220b35
browser side: refactoring: menu is now in its own module
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
29 from pyjamas import Window |
449
981ed669d3b3
/!\ reorganize all the file hierarchy, move the code and launching script to src:
souliane <souliane@mailoo.org>
parents:
439
diff
changeset
|
30 |
494
5d8632a7bfde
browser_side: refactorisation of menus and LiberviaWidget's header
souliane <souliane@mailoo.org>
parents:
492
diff
changeset
|
31 from constants import Const as C |
467 | 32 import jid |
33 import file_tools | |
34 import xmlui | |
449
981ed669d3b3
/!\ reorganize all the file hierarchy, move the code and launching script to src:
souliane <souliane@mailoo.org>
parents:
439
diff
changeset
|
35 import panels |
981ed669d3b3
/!\ reorganize all the file hierarchy, move the code and launching script to src:
souliane <souliane@mailoo.org>
parents:
439
diff
changeset
|
36 import dialog |
467 | 37 import contact_group |
494
5d8632a7bfde
browser_side: refactorisation of menus and LiberviaWidget's header
souliane <souliane@mailoo.org>
parents:
492
diff
changeset
|
38 import base_menu |
5d8632a7bfde
browser_side: refactorisation of menus and LiberviaWidget's header
souliane <souliane@mailoo.org>
parents:
492
diff
changeset
|
39 from base_menu import MenuCmd |
336
629c99bbd031
browser + server side: refactored menus:
Goffi <goffi@goffi.org>
parents:
300
diff
changeset
|
40 |
629c99bbd031
browser + server side: refactored menus:
Goffi <goffi@goffi.org>
parents:
300
diff
changeset
|
41 |
494
5d8632a7bfde
browser_side: refactorisation of menus and LiberviaWidget's header
souliane <souliane@mailoo.org>
parents:
492
diff
changeset
|
42 class MainMenuBar(base_menu.GenericMenuBar): |
5d8632a7bfde
browser_side: refactorisation of menus and LiberviaWidget's header
souliane <souliane@mailoo.org>
parents:
492
diff
changeset
|
43 """The main menu bar which is displayed on top of the document""" |
78
12680e220b35
browser side: refactoring: menu is now in its own module
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
44 |
494
5d8632a7bfde
browser_side: refactorisation of menus and LiberviaWidget's header
souliane <souliane@mailoo.org>
parents:
492
diff
changeset
|
45 ITEM_TPL = "<img src='media/icons/menu/%s_menu_red.png' />%s" |
218
4e6467efd6bf
browser_side: small improvements for parameters panel
souliane <souliane@mailoo.org>
parents:
215
diff
changeset
|
46 |
494
5d8632a7bfde
browser_side: refactorisation of menus and LiberviaWidget's header
souliane <souliane@mailoo.org>
parents:
492
diff
changeset
|
47 def __init__(self, host): |
5d8632a7bfde
browser_side: refactorisation of menus and LiberviaWidget's header
souliane <souliane@mailoo.org>
parents:
492
diff
changeset
|
48 base_menu.GenericMenuBar.__init__(self, host, vertical=False) |
5d8632a7bfde
browser_side: refactorisation of menus and LiberviaWidget's header
souliane <souliane@mailoo.org>
parents:
492
diff
changeset
|
49 self.moved_popup_style = 'menuLastPopup' |
5d8632a7bfde
browser_side: refactorisation of menus and LiberviaWidget's header
souliane <souliane@mailoo.org>
parents:
492
diff
changeset
|
50 |
5d8632a7bfde
browser_side: refactorisation of menus and LiberviaWidget's header
souliane <souliane@mailoo.org>
parents:
492
diff
changeset
|
51 @classmethod |
5d8632a7bfde
browser_side: refactorisation of menus and LiberviaWidget's header
souliane <souliane@mailoo.org>
parents:
492
diff
changeset
|
52 def getCategoryHTML(cls, type_, menu_name_i18n): |
5d8632a7bfde
browser_side: refactorisation of menus and LiberviaWidget's header
souliane <souliane@mailoo.org>
parents:
492
diff
changeset
|
53 return cls.ITEM_TPL % (type_, menu_name_i18n) |
78
12680e220b35
browser side: refactoring: menu is now in its own module
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
54 |
218
4e6467efd6bf
browser_side: small improvements for parameters panel
souliane <souliane@mailoo.org>
parents:
215
diff
changeset
|
55 |
494
5d8632a7bfde
browser_side: refactorisation of menus and LiberviaWidget's header
souliane <souliane@mailoo.org>
parents:
492
diff
changeset
|
56 class MainMenuPanel(SimplePanel): |
5d8632a7bfde
browser_side: refactorisation of menus and LiberviaWidget's header
souliane <souliane@mailoo.org>
parents:
492
diff
changeset
|
57 """Container for the main menu bar""" |
78
12680e220b35
browser side: refactoring: menu is now in its own module
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
58 |
12680e220b35
browser side: refactoring: menu is now in its own module
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
59 def __init__(self, host): |
12680e220b35
browser side: refactoring: menu is now in its own module
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
60 self.host = host |
12680e220b35
browser side: refactoring: menu is now in its own module
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
61 SimplePanel.__init__(self) |
12680e220b35
browser side: refactoring: menu is now in its own module
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
62 self.setStyleName('menuContainer') |
494
5d8632a7bfde
browser_side: refactorisation of menus and LiberviaWidget's header
souliane <souliane@mailoo.org>
parents:
492
diff
changeset
|
63 self.menu_bar = MainMenuBar(self.host) |
336
629c99bbd031
browser + server side: refactored menus:
Goffi <goffi@goffi.org>
parents:
300
diff
changeset
|
64 |
494
5d8632a7bfde
browser_side: refactorisation of menus and LiberviaWidget's header
souliane <souliane@mailoo.org>
parents:
492
diff
changeset
|
65 def addMenu(self, *args): |
5d8632a7bfde
browser_side: refactorisation of menus and LiberviaWidget's header
souliane <souliane@mailoo.org>
parents:
492
diff
changeset
|
66 self.menu_bar.addMenu(*args) |
5d8632a7bfde
browser_side: refactorisation of menus and LiberviaWidget's header
souliane <souliane@mailoo.org>
parents:
492
diff
changeset
|
67 |
5d8632a7bfde
browser_side: refactorisation of menus and LiberviaWidget's header
souliane <souliane@mailoo.org>
parents:
492
diff
changeset
|
68 def addCachedMenus(self, *args): |
5d8632a7bfde
browser_side: refactorisation of menus and LiberviaWidget's header
souliane <souliane@mailoo.org>
parents:
492
diff
changeset
|
69 self.menu_bar.addCachedMenus(*args) |
78
12680e220b35
browser side: refactoring: menu is now in its own module
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
70 |
494
5d8632a7bfde
browser_side: refactorisation of menus and LiberviaWidget's header
souliane <souliane@mailoo.org>
parents:
492
diff
changeset
|
71 def createMenus(self): |
5d8632a7bfde
browser_side: refactorisation of menus and LiberviaWidget's header
souliane <souliane@mailoo.org>
parents:
492
diff
changeset
|
72 self.addMenu("General", _("General"), _("Web widget"), 'home', MenuCmd(self, "onWebWidget")) |
5d8632a7bfde
browser_side: refactorisation of menus and LiberviaWidget's header
souliane <souliane@mailoo.org>
parents:
492
diff
changeset
|
73 self.addMenu("General", _("General"), _("Disconnect"), 'home', MenuCmd(self, "onDisconnect")) |
5d8632a7bfde
browser_side: refactorisation of menus and LiberviaWidget's header
souliane <souliane@mailoo.org>
parents:
492
diff
changeset
|
74 self.addMenu("Contacts", _("Contacts"), None, 'social', None) |
5d8632a7bfde
browser_side: refactorisation of menus and LiberviaWidget's header
souliane <souliane@mailoo.org>
parents:
492
diff
changeset
|
75 self.addMenu("Groups", _("Groups"), _("Discussion"), 'social', MenuCmd(self, "onJoinRoom")) |
5d8632a7bfde
browser_side: refactorisation of menus and LiberviaWidget's header
souliane <souliane@mailoo.org>
parents:
492
diff
changeset
|
76 self.addMenu("Groups", _("Groups"), _("Collective radio"), 'social', MenuCmd(self, "onCollectiveRadio")) |
5d8632a7bfde
browser_side: refactorisation of menus and LiberviaWidget's header
souliane <souliane@mailoo.org>
parents:
492
diff
changeset
|
77 self.addMenu("Games", _("Games"), _("Tarot"), 'games', MenuCmd(self, "onTarotGame")) |
5d8632a7bfde
browser_side: refactorisation of menus and LiberviaWidget's header
souliane <souliane@mailoo.org>
parents:
492
diff
changeset
|
78 self.addMenu("Games", _("Games"), _("Xiangqi"), 'games', MenuCmd(self, "onXiangqiGame")) |
78
12680e220b35
browser side: refactoring: menu is now in its own module
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
79 |
336
629c99bbd031
browser + server side: refactored menus:
Goffi <goffi@goffi.org>
parents:
300
diff
changeset
|
80 # additional menus |
494
5d8632a7bfde
browser_side: refactorisation of menus and LiberviaWidget's header
souliane <souliane@mailoo.org>
parents:
492
diff
changeset
|
81 self.addCachedMenus(C.MENU_GLOBAL) |
218
4e6467efd6bf
browser_side: small improvements for parameters panel
souliane <souliane@mailoo.org>
parents:
215
diff
changeset
|
82 |
431
4fcf9bac109c
browser_side: roster management menus are now imported from the backend
souliane <souliane@mailoo.org>
parents:
392
diff
changeset
|
83 # menu items that should be displayed after the automatically added ones |
494
5d8632a7bfde
browser_side: refactorisation of menus and LiberviaWidget's header
souliane <souliane@mailoo.org>
parents:
492
diff
changeset
|
84 self.addMenu("Contacts", _("Contacts"), _("Manage groups"), 'social', MenuCmd(self, "onManageContactGroups")) |
431
4fcf9bac109c
browser_side: roster management menus are now imported from the backend
souliane <souliane@mailoo.org>
parents:
392
diff
changeset
|
85 |
494
5d8632a7bfde
browser_side: refactorisation of menus and LiberviaWidget's header
souliane <souliane@mailoo.org>
parents:
492
diff
changeset
|
86 self.menu_bar.addSeparator() |
336
629c99bbd031
browser + server side: refactored menus:
Goffi <goffi@goffi.org>
parents:
300
diff
changeset
|
87 |
494
5d8632a7bfde
browser_side: refactorisation of menus and LiberviaWidget's header
souliane <souliane@mailoo.org>
parents:
492
diff
changeset
|
88 self.addMenu("Help", _("Help"), _("Social contract"), 'help', MenuCmd(self, "onSocialContract")) |
5d8632a7bfde
browser_side: refactorisation of menus and LiberviaWidget's header
souliane <souliane@mailoo.org>
parents:
492
diff
changeset
|
89 self.addMenu("Help", _("Help"), _("About"), 'help', MenuCmd(self, "onAbout")) |
5d8632a7bfde
browser_side: refactorisation of menus and LiberviaWidget's header
souliane <souliane@mailoo.org>
parents:
492
diff
changeset
|
90 self.addMenu("Settings", _("Settings"), _("Account"), 'settings', MenuCmd(self, "onAccount")) |
5d8632a7bfde
browser_side: refactorisation of menus and LiberviaWidget's header
souliane <souliane@mailoo.org>
parents:
492
diff
changeset
|
91 self.addMenu("Settings", _("Settings"), _("Parameters"), 'settings', MenuCmd(self, "onParameters")) |
336
629c99bbd031
browser + server side: refactored menus:
Goffi <goffi@goffi.org>
parents:
300
diff
changeset
|
92 |
218
4e6467efd6bf
browser_side: small improvements for parameters panel
souliane <souliane@mailoo.org>
parents:
215
diff
changeset
|
93 # XXX: temporary, will change when a full profile will be managed in SàT |
494
5d8632a7bfde
browser_side: refactorisation of menus and LiberviaWidget's header
souliane <souliane@mailoo.org>
parents:
492
diff
changeset
|
94 self.addMenu("Settings", _("Settings"), _("Upload avatar"), 'settings', MenuCmd(self, "onAvatarUpload")) |
218
4e6467efd6bf
browser_side: small improvements for parameters panel
souliane <souliane@mailoo.org>
parents:
215
diff
changeset
|
95 |
494
5d8632a7bfde
browser_side: refactorisation of menus and LiberviaWidget's header
souliane <souliane@mailoo.org>
parents:
492
diff
changeset
|
96 self.add(self.menu_bar) |
218
4e6467efd6bf
browser_side: small improvements for parameters panel
souliane <souliane@mailoo.org>
parents:
215
diff
changeset
|
97 |
494
5d8632a7bfde
browser_side: refactorisation of menus and LiberviaWidget's header
souliane <souliane@mailoo.org>
parents:
492
diff
changeset
|
98 # General menu |
181
c0b78a3af06d
browser side: web widget first draft
Goffi <goffi@goffi.org>
parents:
165
diff
changeset
|
99 def onWebWidget(self): |
c0b78a3af06d
browser side: web widget first draft
Goffi <goffi@goffi.org>
parents:
165
diff
changeset
|
100 web_panel = panels.WebPanel(self.host, "http://www.goffi.org") |
257
377de26d5bc2
browser_side: open the web widget in the current tab
souliane <souliane@mailoo.org>
parents:
256
diff
changeset
|
101 self.host.addWidget(web_panel) |
377de26d5bc2
browser_side: open the web widget in the current tab
souliane <souliane@mailoo.org>
parents:
256
diff
changeset
|
102 self.host.setSelected(web_panel) |
181
c0b78a3af06d
browser side: web widget first draft
Goffi <goffi@goffi.org>
parents:
165
diff
changeset
|
103 |
158
58442ed28f2b
browser side: basic disconnection management: hard reload is done on empty signal response
Goffi <goffi@goffi.org>
parents:
152
diff
changeset
|
104 def onDisconnect(self): |
58442ed28f2b
browser side: basic disconnection management: hard reload is done on empty signal response
Goffi <goffi@goffi.org>
parents:
152
diff
changeset
|
105 def confirm_cb(answer): |
58442ed28f2b
browser side: basic disconnection management: hard reload is done on empty signal response
Goffi <goffi@goffi.org>
parents:
152
diff
changeset
|
106 if answer: |
439
d52f529a6d42
browser side: use of new log system (first draft):
Goffi <goffi@goffi.org>
parents:
432
diff
changeset
|
107 log.info("disconnection") |
158
58442ed28f2b
browser side: basic disconnection management: hard reload is done on empty signal response
Goffi <goffi@goffi.org>
parents:
152
diff
changeset
|
108 self.host.bridge.call('disconnect', None) |
58442ed28f2b
browser side: basic disconnection management: hard reload is done on empty signal response
Goffi <goffi@goffi.org>
parents:
152
diff
changeset
|
109 _dialog = dialog.ConfirmDialog(confirm_cb, text="Do you really want to disconnect ?") |
58442ed28f2b
browser side: basic disconnection management: hard reload is done on empty signal response
Goffi <goffi@goffi.org>
parents:
152
diff
changeset
|
110 _dialog.show() |
58442ed28f2b
browser side: basic disconnection management: hard reload is done on empty signal response
Goffi <goffi@goffi.org>
parents:
152
diff
changeset
|
111 |
78
12680e220b35
browser side: refactoring: menu is now in its own module
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
112 def onSocialContract(self): |
12680e220b35
browser side: refactoring: menu is now in its own module
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
113 _frame = Frame('contrat_social.html') |
12680e220b35
browser side: refactoring: menu is now in its own module
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
114 _frame.setStyleName('infoFrame') |
12680e220b35
browser side: refactoring: menu is now in its own module
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
115 _dialog = dialog.GenericDialog("Contrat Social", _frame) |
12680e220b35
browser side: refactoring: menu is now in its own module
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
116 _dialog.setSize('80%', '80%') |
12680e220b35
browser side: refactoring: menu is now in its own module
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
117 _dialog.show() |
12680e220b35
browser side: refactoring: menu is now in its own module
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
118 |
12680e220b35
browser side: refactoring: menu is now in its own module
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
119 def onAbout(self): |
147
60ea800b7237
browser side: fixed about menu + updated website URL
Goffi <goffi@goffi.org>
parents:
131
diff
changeset
|
120 _about = HTML("""<b>Libervia</b>, a Salut à Toi project<br /> |
78
12680e220b35
browser side: refactoring: menu is now in its own module
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
121 <br /> |
12680e220b35
browser side: refactoring: menu is now in its own module
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
122 You can contact the author at <a href="mailto:goffi@goffi.org">goffi@goffi.org</a><br /> |
12680e220b35
browser side: refactoring: menu is now in its own module
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
123 Blog available (mainly in french) at <a href="http://www.goffi.org" target="_blank">http://www.goffi.org</a><br /> |
147
60ea800b7237
browser side: fixed about menu + updated website URL
Goffi <goffi@goffi.org>
parents:
131
diff
changeset
|
124 Project page: <a href="http://sat.goffi.org"target="_blank">http://sat.goffi.org</a><br /> |
78
12680e220b35
browser side: refactoring: menu is now in its own module
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
125 <br /> |
12680e220b35
browser side: refactoring: menu is now in its own module
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
126 Any help welcome :) |
12680e220b35
browser side: refactoring: menu is now in its own module
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
127 <p style='font-size:small;text-align:center'>This project is dedicated to Roger Poisson</p> |
12680e220b35
browser side: refactoring: menu is now in its own module
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
128 """) |
12680e220b35
browser side: refactoring: menu is now in its own module
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
129 _dialog = dialog.GenericDialog("About", _about) |
12680e220b35
browser side: refactoring: menu is now in its own module
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
130 _dialog.show() |
12680e220b35
browser side: refactoring: menu is now in its own module
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
131 |
12680e220b35
browser side: refactoring: menu is now in its own module
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
132 #Contact menu |
256
0e7f3944bd27
browser_side: added contact group manager based on ListManager
souliane <souliane@mailoo.org>
parents:
242
diff
changeset
|
133 def onManageContactGroups(self): |
0e7f3944bd27
browser_side: added contact group manager based on ListManager
souliane <souliane@mailoo.org>
parents:
242
diff
changeset
|
134 """Open the contact groups manager.""" |
0e7f3944bd27
browser_side: added contact group manager based on ListManager
souliane <souliane@mailoo.org>
parents:
242
diff
changeset
|
135 |
0e7f3944bd27
browser_side: added contact group manager based on ListManager
souliane <souliane@mailoo.org>
parents:
242
diff
changeset
|
136 def onCloseCallback(): |
0e7f3944bd27
browser_side: added contact group manager based on ListManager
souliane <souliane@mailoo.org>
parents:
242
diff
changeset
|
137 pass |
0e7f3944bd27
browser_side: added contact group manager based on ListManager
souliane <souliane@mailoo.org>
parents:
242
diff
changeset
|
138 |
467 | 139 contact_group.ContactGroupEditor(self.host, None, onCloseCallback) |
256
0e7f3944bd27
browser_side: added contact group manager based on ListManager
souliane <souliane@mailoo.org>
parents:
242
diff
changeset
|
140 |
78
12680e220b35
browser side: refactoring: menu is now in its own module
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
141 #Group menu |
12680e220b35
browser side: refactoring: menu is now in its own module
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
142 def onJoinRoom(self): |
12680e220b35
browser side: refactoring: menu is now in its own module
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
143 |
268
79970bf6af93
browser_side: added class RoomAndContactsChooser:
souliane <souliane@mailoo.org>
parents:
257
diff
changeset
|
144 def invite(room_jid, contacts): |
79970bf6af93
browser_side: added class RoomAndContactsChooser:
souliane <souliane@mailoo.org>
parents:
257
diff
changeset
|
145 for contact in contacts: |
79970bf6af93
browser_side: added class RoomAndContactsChooser:
souliane <souliane@mailoo.org>
parents:
257
diff
changeset
|
146 self.host.bridge.call('inviteMUC', None, contact, room_jid) |
79970bf6af93
browser_side: added class RoomAndContactsChooser:
souliane <souliane@mailoo.org>
parents:
257
diff
changeset
|
147 |
79970bf6af93
browser_side: added class RoomAndContactsChooser:
souliane <souliane@mailoo.org>
parents:
257
diff
changeset
|
148 def join(room_jid, contacts): |
78
12680e220b35
browser side: refactoring: menu is now in its own module
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
149 if self.host.whoami: |
12680e220b35
browser side: refactoring: menu is now in its own module
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
150 nick = self.host.whoami.node |
268
79970bf6af93
browser_side: added class RoomAndContactsChooser:
souliane <souliane@mailoo.org>
parents:
257
diff
changeset
|
151 if room_jid not in [room.bare for room in self.host.room_list]: |
79970bf6af93
browser_side: added class RoomAndContactsChooser:
souliane <souliane@mailoo.org>
parents:
257
diff
changeset
|
152 self.host.bridge.call('joinMUC', lambda room_jid: invite(room_jid, contacts), room_jid, nick) |
79970bf6af93
browser_side: added class RoomAndContactsChooser:
souliane <souliane@mailoo.org>
parents:
257
diff
changeset
|
153 else: |
467 | 154 self.host.getOrCreateLiberviaWidget(panels.ChatPanel, (room_jid, "group"), True, jid.JID(room_jid).bare) |
268
79970bf6af93
browser_side: added class RoomAndContactsChooser:
souliane <souliane@mailoo.org>
parents:
257
diff
changeset
|
155 invite(room_jid, contacts) |
78
12680e220b35
browser side: refactoring: menu is now in its own module
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
156 |
268
79970bf6af93
browser_side: added class RoomAndContactsChooser:
souliane <souliane@mailoo.org>
parents:
257
diff
changeset
|
157 dialog.RoomAndContactsChooser(self.host, join, ok_button="Join", visible=(True, False)) |
218
4e6467efd6bf
browser_side: small improvements for parameters panel
souliane <souliane@mailoo.org>
parents:
215
diff
changeset
|
158 |
125
f9d63624699f
radio collective integration, first draft
Goffi <goffi@goffi.org>
parents:
103
diff
changeset
|
159 def onCollectiveRadio(self): |
268
79970bf6af93
browser_side: added class RoomAndContactsChooser:
souliane <souliane@mailoo.org>
parents:
257
diff
changeset
|
160 def callback(room_jid, contacts): |
79970bf6af93
browser_side: added class RoomAndContactsChooser:
souliane <souliane@mailoo.org>
parents:
257
diff
changeset
|
161 self.host.bridge.call('launchRadioCollective', None, contacts, room_jid) |
272
0cb9869b42b6
browser_side: bug fix for RoomAndContactsChooser (do not display the MUCs in the list)
souliane <souliane@mailoo.org>
parents:
268
diff
changeset
|
162 dialog.RoomAndContactsChooser(self.host, callback, ok_button="Choose", title="Collective Radio", visible=(False, True)) |
78
12680e220b35
browser side: refactoring: menu is now in its own module
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
163 |
12680e220b35
browser side: refactoring: menu is now in its own module
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
164 #Game menu |
12680e220b35
browser side: refactoring: menu is now in its own module
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
165 def onTarotGame(self): |
268
79970bf6af93
browser_side: added class RoomAndContactsChooser:
souliane <souliane@mailoo.org>
parents:
257
diff
changeset
|
166 def onPlayersSelected(room_jid, other_players): |
79970bf6af93
browser_side: added class RoomAndContactsChooser:
souliane <souliane@mailoo.org>
parents:
257
diff
changeset
|
167 self.host.bridge.call('launchTarotGame', None, other_players, room_jid) |
272
0cb9869b42b6
browser_side: bug fix for RoomAndContactsChooser (do not display the MUCs in the list)
souliane <souliane@mailoo.org>
parents:
268
diff
changeset
|
168 dialog.RoomAndContactsChooser(self.host, onPlayersSelected, 3, title="Tarot", title_invite="Please select 3 other players", visible=(False, True)) |
78
12680e220b35
browser side: refactoring: menu is now in its own module
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
169 |
12680e220b35
browser side: refactoring: menu is now in its own module
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
170 def onXiangqiGame(self): |
12680e220b35
browser side: refactoring: menu is now in its own module
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
171 Window.alert("A Xiangqi game is planed, but not available yet") |
148
8635bc9db9bf
added parameter management to test XMLUI, but it's currently deactivated for security reasons (need some configuration options) + separated mainTabPanel CSS from LiberviaTabPanel
Goffi <goffi@goffi.org>
parents:
147
diff
changeset
|
172 |
8635bc9db9bf
added parameter management to test XMLUI, but it's currently deactivated for security reasons (need some configuration options) + separated mainTabPanel CSS from LiberviaTabPanel
Goffi <goffi@goffi.org>
parents:
147
diff
changeset
|
173 #Settings menu |
8635bc9db9bf
added parameter management to test XMLUI, but it's currently deactivated for security reasons (need some configuration options) + separated mainTabPanel CSS from LiberviaTabPanel
Goffi <goffi@goffi.org>
parents:
147
diff
changeset
|
174 |
391
c86d7a8d2c1e
browser_side: added a dialog in Settings/Account to update/delete the XMPP account
souliane <souliane@mailoo.org>
parents:
387
diff
changeset
|
175 def onAccount(self): |
467 | 176 def gotUI(xml_ui): |
177 if not xml_ui: | |
391
c86d7a8d2c1e
browser_side: added a dialog in Settings/Account to update/delete the XMPP account
souliane <souliane@mailoo.org>
parents:
387
diff
changeset
|
178 return |
467 | 179 body = xmlui.XMLUI(self.host, xml_ui) |
464
bea9788f3170
browser and server sides: don't handle the "connectionError" signal anymore, we now use asyncConnect errback:
souliane <souliane@mailoo.org>
parents:
449
diff
changeset
|
180 _dialog = dialog.GenericDialog("Manage your account", body, options=['NO_CLOSE']) |
391
c86d7a8d2c1e
browser_side: added a dialog in Settings/Account to update/delete the XMPP account
souliane <souliane@mailoo.org>
parents:
387
diff
changeset
|
181 body.setCloseCb(_dialog.close) |
c86d7a8d2c1e
browser_side: added a dialog in Settings/Account to update/delete the XMPP account
souliane <souliane@mailoo.org>
parents:
387
diff
changeset
|
182 _dialog.show() |
c86d7a8d2c1e
browser_side: added a dialog in Settings/Account to update/delete the XMPP account
souliane <souliane@mailoo.org>
parents:
387
diff
changeset
|
183 self.host.bridge.call('getAccountDialogUI', gotUI) |
c86d7a8d2c1e
browser_side: added a dialog in Settings/Account to update/delete the XMPP account
souliane <souliane@mailoo.org>
parents:
387
diff
changeset
|
184 |
148
8635bc9db9bf
added parameter management to test XMLUI, but it's currently deactivated for security reasons (need some configuration options) + separated mainTabPanel CSS from LiberviaTabPanel
Goffi <goffi@goffi.org>
parents:
147
diff
changeset
|
185 def onParameters(self): |
467 | 186 def gotParams(xml_ui): |
187 if not xml_ui: | |
218
4e6467efd6bf
browser_side: small improvements for parameters panel
souliane <souliane@mailoo.org>
parents:
215
diff
changeset
|
188 return |
467 | 189 body = xmlui.XMLUI(self.host, xml_ui) |
148
8635bc9db9bf
added parameter management to test XMLUI, but it's currently deactivated for security reasons (need some configuration options) + separated mainTabPanel CSS from LiberviaTabPanel
Goffi <goffi@goffi.org>
parents:
147
diff
changeset
|
190 _dialog = dialog.GenericDialog("Parameters", body, options=['NO_CLOSE']) |
336
629c99bbd031
browser + server side: refactored menus:
Goffi <goffi@goffi.org>
parents:
300
diff
changeset
|
191 body.setCloseCb(_dialog.close) |
148
8635bc9db9bf
added parameter management to test XMLUI, but it's currently deactivated for security reasons (need some configuration options) + separated mainTabPanel CSS from LiberviaTabPanel
Goffi <goffi@goffi.org>
parents:
147
diff
changeset
|
192 _dialog.setSize('80%', '80%') |
8635bc9db9bf
added parameter management to test XMLUI, but it's currently deactivated for security reasons (need some configuration options) + separated mainTabPanel CSS from LiberviaTabPanel
Goffi <goffi@goffi.org>
parents:
147
diff
changeset
|
193 _dialog.show() |
8635bc9db9bf
added parameter management to test XMLUI, but it's currently deactivated for security reasons (need some configuration options) + separated mainTabPanel CSS from LiberviaTabPanel
Goffi <goffi@goffi.org>
parents:
147
diff
changeset
|
194 self.host.bridge.call('getParamsUI', gotParams) |
8635bc9db9bf
added parameter management to test XMLUI, but it's currently deactivated for security reasons (need some configuration options) + separated mainTabPanel CSS from LiberviaTabPanel
Goffi <goffi@goffi.org>
parents:
147
diff
changeset
|
195 |
218
4e6467efd6bf
browser_side: small improvements for parameters panel
souliane <souliane@mailoo.org>
parents:
215
diff
changeset
|
196 def removeItemParams(self): |
4e6467efd6bf
browser_side: small improvements for parameters panel
souliane <souliane@mailoo.org>
parents:
215
diff
changeset
|
197 """Remove the Parameters item from the Settings menu bar.""" |
4e6467efd6bf
browser_side: small improvements for parameters panel
souliane <souliane@mailoo.org>
parents:
215
diff
changeset
|
198 self.menu_settings.removeItem(self.item_params) |
4e6467efd6bf
browser_side: small improvements for parameters panel
souliane <souliane@mailoo.org>
parents:
215
diff
changeset
|
199 |
152
7e87c87b7952
browser side: temporary avatar upload dialog is added to setting menu
Goffi <goffi@goffi.org>
parents:
148
diff
changeset
|
200 def onAvatarUpload(self): |
494
5d8632a7bfde
browser_side: refactorisation of menus and LiberviaWidget's header
souliane <souliane@mailoo.org>
parents:
492
diff
changeset
|
201 body = file_tools.AvatarUpload() |
152
7e87c87b7952
browser side: temporary avatar upload dialog is added to setting menu
Goffi <goffi@goffi.org>
parents:
148
diff
changeset
|
202 _dialog = dialog.GenericDialog("Avatar upload", body, options=['NO_CLOSE']) |
7e87c87b7952
browser side: temporary avatar upload dialog is added to setting menu
Goffi <goffi@goffi.org>
parents:
148
diff
changeset
|
203 body.setCloseCb(_dialog.close) |
392
f539f6f8ee9c
browser_side: standardize the dialogs size and buttons display:
souliane <souliane@mailoo.org>
parents:
391
diff
changeset
|
204 _dialog.setWidth('40%') |
152
7e87c87b7952
browser side: temporary avatar upload dialog is added to setting menu
Goffi <goffi@goffi.org>
parents:
148
diff
changeset
|
205 _dialog.show() |