Mercurial > libervia-web
changeset 48:153de5d461a4
added Social Contract \o. (in French only so far)
- new infoDialog, to show widget, it's used here to show an external webpage
- some CSS tuning
author | Goffi <goffi@goffi.org> |
---|---|
date | Thu, 26 May 2011 18:44:31 +0200 |
parents | 7cabe3c1a5f2 |
children | f1d2eb9b2523 |
files | browser_side/dialog.py browser_side/panels.py public/contrat_social.html public/libervia.css |
diffstat | 4 files changed, 154 insertions(+), 13 deletions(-) [+] |
line wrap: on
line diff
--- a/browser_side/dialog.py Thu May 26 17:17:48 2011 +0200 +++ b/browser_side/dialog.py Thu May 26 18:44:31 2011 +0200 @@ -26,6 +26,7 @@ from pyjamas.ui.ListBox import ListBox from pyjamas.ui.Button import Button from pyjamas.ui.HTML import HTML +from pyjamas.ui import HasAlignment from pyjamas.ui.KeyboardListener import KEY_ESCAPE class ContactsChooser(DialogBox): @@ -112,27 +113,36 @@ self.hide() self.callback(False) -class SimpleDialog(DialogBox): +class InfoDialog(DialogBox): + """Dialog which just show a widget and a close button""" - def __init__(self, title, body, callback = None): + def __init__(self, title, widget, callback = None): """Simple notice dialog box @param title: HTML put in the header - @param body: HTML put in the body""" + @param body: widget put in the body""" DialogBox.__init__(self, centered=True) self.callback = callback _body = VerticalPanel() + _body.setSize('100%','100%') + _body.setHorizontalAlignment(HasAlignment.ALIGN_CENTER) _body.setSpacing(4) - _body.add(HTML(body)) + _body.add(widget) + _body.setCellWidth(widget, '100%') _body.add(Button("Close", self.onClose)) - _body.setStyleName("dialogBody") self.setHTML(title) self.setWidget(_body) + self.panel.setWidth('100%') def onClose(self): self.hide() if self.callback: self.callback() +class SimpleDialog(InfoDialog): + + def __init__(self, title, body, callback = None): + InfoDialog.__init__(self, title, HTML(body), callback) + class PopupPanelWrapper(PopupPanel): """This wrapper catch Escape event to avoid request cancellation by Firefox"""
--- a/browser_side/panels.py Thu May 26 17:17:48 2011 +0200 +++ b/browser_side/panels.py Thu May 26 18:44:31 2011 +0200 @@ -34,9 +34,9 @@ from pyjamas.ui.MenuItem import MenuItem from pyjamas.ui.Label import Label from pyjamas.ui.HTML import HTML +from pyjamas.ui.Frame import Frame from pyjamas.ui.DropWidget import DropWidget from pyjamas.ui.ClickListener import ClickHandler -from pyjamas.ui import HasAlignment from pyjamas.ui.KeyboardListener import KEY_ENTER from pyjamas.Timer import Timer from pyjamas import Window @@ -50,7 +50,7 @@ from tools import html_sanitize from datetime import datetime from time import time -from dialog import ContactsChooser, PopupPanelWrapper +import dialog class MenuCmd: @@ -69,7 +69,8 @@ SimplePanel.__init__(self) menu_general = MenuBar(vertical=True) - menu_general.addItem("Properties", MenuCmd(self, "onProperties")) + menu_general.addItem("Social contract", MenuCmd(self, "onSocialContract")) + menu_general.addItem("About", MenuCmd(self, "onAbout")) menu_games = MenuBar(vertical=True) menu_games.addItem("Tarot", MenuCmd(self, "onTarotGame")) @@ -80,18 +81,28 @@ menubar.addItem(MenuItem("Games", True, menu_games)) self.add(menubar) - def onProperties(self): - Window.alert("Properties selected") + #General menu + def onSocialContract(self): + _frame = Frame('contrat_social.html') + _frame.setStyleName('infoFrame') + _dialog = dialog.InfoDialog("Contrat Social", _frame) + _dialog.setSize('80%', '80%') + _dialog.show() + + def onAbout(self): + dialog.SimpleDialog("About", "Libervia, a Salut à Toi project").show() + + #Game menu def onTarotGame(self): #Window.alert("Tarot selected") #self.host.tab_panel.add(EmptyPanel(self.host), "Tarot") def onPlayersSelected(other_players): self.host.bridge.call('launchTarotGame', None, other_players) - ContactsChooser(self.host, onPlayersSelected, 3, text="Please select 3 other players").getContacts() + dialog.ContactsChooser(self.host, onPlayersSelected, 3, text="Please select 3 other players").getContacts() def onXiangqiGame(self): - Window.alert("Xiangqi selected") + Window.alert("A Xiangqi is planed, but not available yet") class DropCell(DropWidget): """Cell in the middle grid which replace itself with the dropped widget on DnD""" @@ -245,7 +256,7 @@ return contents = HTML(msg) - self._popup = PopupPanelWrapper(autoHide=False, modal=False) + self._popup = dialog.PopupPanelWrapper(autoHide=False, modal=False) self._popup.target_data = target_data self._popup.add(contents) self._popup.setStyleName("warningPopup")
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/public/contrat_social.html Thu May 26 18:44:31 2011 +0200 @@ -0,0 +1,110 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> +<html><head> + + <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type"> + <title>Salut à Toi: Contrat Social</title> + + +</head><body> +Le projet « Salut à Toi » est né d'un besoin de protection de nos +libertés, de notre vie privée et de notre indépendance. Il se veut +garant des droits et libertés qu'un utilisateur a vis à vis de ses +propres informations, des informations numériques sur sa vie ou celles +de ses connaissances, des données qu'il manipule; et se veut également +un point de contact humain, ne se substituant pas aux rapports réels, +mais au contraire les facilitant.<br> + +Salut à Toi lutte et luttera toujours contre toute forme de main mise +sur les technologies par des intérêts privés. Le réseau global doit +appartenir à tous, et être un point d'expression et de liberté pour +l'Humanité.<br> + +<br> + +À ce titre, « Salut à Toi » et ceux qui y participent se basent sur un +contrat social, un engagement vis à vis de ceux qui l'utilisent. Ce +contrat consiste en les points suivants:<br> + +<ul> + + <li>nous plaçons la <span style="font-style: italic;">Liberté</span> en tête de nos priorités: liberté de +l'utilisateur, liberté vis à vis de ses données. Pour cela, « Salut à +Toi » est un logiciel Libre - condition essentielle -, et son +infrastructure se base également sur des logiciels Libres, c'est à dire +des logiciels qui respectent ces 4 libertés fondamentales + <ul> + + <li>la liberté d'exécuter le programme, pour tous les usages,</li> + + </ul> + <ul> + + <li>la liberté d'étudier le fonctionnement du programme et de +l'adapter à ses besoins,</li> + + </ul> + <ul> + + <li>la liberté de redistribuer des copies du programme</li> + + </ul> + <ul> + + <li>la liberté d'améliorer le programme et de distribuer ces +améliorations au public, pour en faire profiter toute la communauté.<br> +</li> + + </ul> +</li> + + + + + +Vous avez ainsi la possibilité d'installer votre propre version de « +Salut à Toi » sur votre propre machine, d'en vérifier - et de +comprendre - ainsi son fonctionnement, de l'adapter à vos besoins, d'en +faire profiter vos amis. + + <li>Les informations vous concernant vous appartiennent, et nous +n'aurons pas la prétention - et l'indécence ! - de considérer le +contenu que vous produisez ou faites circuler via « Salut à Toi » comme +nous appartenant. De même, nous nous engageons à ne jamais faire de +profit en revendant vos informations personnelles.</li> + <li>Nous incitons fortement à la <span style="text-decoration: underline;">décentralisation généralisée</span>. « +Salut à Toi » étant basé sur un protocole décentralisé (XMPP), il l'est +lui-même par nature. La décentralisation est essentielle pour une +meilleure protection de vos informations, une meilleure résistance à la +censure ou aux pannes, et pour éviter les dérives autoritaires.</li> + <li>Luttant contre les tentatives de contrôle privé et les abus +commerciaux du réseau global, et afin de garder notre indépendance, +nous nous refusons à toute forme de publicité: vous ne verrez <span style="font-weight: bold;">jamais</span> +de forme de réclame commerciale de notre fait.</li> + <li>L'<span style="font-style: italic;">Égalité</span> des utilisateurs est essentielle pour nous, nous +refusons toute forme de discrimination, que ce soit pour une zone +géographique, une catégorie de la population, ou tout autre raison.</li> + <li>Nous ferons tout notre possible pour lutter contre toute +tentative de censure. Le réseau global doit être un moyen d'expression +pour tous.</li> + <li>Nous refusons toute idée d'autorité absolue en ce qui concerne +les décisions prises pour « Salut à Toi » et son fonctionnement, et le +choix de la décentralisation et l'utilisation de logiciel Libre permet +de lutter contre toute forme de hiérarchie.</li> + + <li>L'idée de <span style="font-style: italic;">Fraternité</span> est essentielle, aussi: + <ul> + <li>nous ferons notre +possible pour aider les utilisateurs, quel que soit leur niveau</li> + <li>de même, des efforts seront fait quant à +l'accessibilité aux personnes victimes d'un handicap</li> + <li>« Salut à Toi », +XMPP, et les technologies utilisées facilitent les échanges +électroniques, mais nous désirons mettre l'accent sur les rencontres +réelles et humaines: nous favoriserons toujours le réel sur le virtuel.</li> + </ul> +</li> + + +</ul> + +</body></html>
--- a/public/libervia.css Thu May 26 17:17:48 2011 +0200 +++ b/public/libervia.css Thu May 26 18:44:31 2011 +0200 @@ -133,6 +133,7 @@ margin: 2px; font-weight: bold; cursor: default; + text-align: center; } .gwt-DialogBox .Registration { @@ -150,6 +151,10 @@ text-align: center; } +.infoDialogBody { + width: 100%; + height: 100% +} /* Contact List */ .contactTitle { @@ -406,3 +411,8 @@ border: 3px dashed red; } +.infoFrame { + position: relative; + width: 100%; + height: 100%; +}