Mercurial > libervia-backend
diff frontends/primitivus/primitivus @ 112:f551e44adb25
Primitivus first draft
- Sortilège is recoded using urwid, and renamed in Primitivus as it is no more based on curses
- soritlege code moved to sortilege_old, and deprecated
- Primitivus first draft, begining of ProfileManager widget
author | Goffi <goffi@goffi.org> |
---|---|
date | Wed, 30 Jun 2010 14:24:24 +0800 |
parents | |
children | e5ca22113280 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/frontends/primitivus/primitivus Wed Jun 30 14:24:24 2010 +0800 @@ -0,0 +1,78 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- + +""" +Primitivus: a SAT frontend +Copyright (C) 2009, 2010 Jérôme Poisson (goffi@goffi.org) + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see <http://www.gnu.org/licenses/>. +""" + + +from quick_frontend.quick_app import QuickApp +from quick_frontend.quick_chat_list import QuickChatList +from quick_frontend.quick_contact_list import QuickContactList +from quick_frontend.quick_contact_management import QuickContactManagement +import urwid +from profile_manager import ProfileManager +import pdb +"""from window import Window +from editbox import EditBox +from statusbar import StatusBar +from chat import Chat +from tools.jid import JID""" +import logging +from logging import debug, info, error +#import locale +import sys, os +#from curses import ascii +#import locale +#from signal import signal, SIGWINCH +#import fcntl +#import struct +#import termios +#from boxsizer import BoxSizer + + +### logging configuration FIXME: put this elsewhere ### +logging.basicConfig(level=logging.CRITICAL, #TODO: configure it to put messages in a log file + format='%(message)s') +### + +const_APP_NAME = "Primitivus" +const_PALETTE = [('title', 'black', 'light gray', 'standout,underline'),] + +class PrimitivusApp(QuickApp): + + def __init__(self): + QuickApp.__init__(self) #XXX: yes it's an unusual place for the constructor of a parent class, but the init order is important + + ## main loop setup ## + self.main_widget = self.__buildMainWidget() + self.loop = urwid.MainLoop(self.main_widget, const_PALETTE, event_loop=urwid.GLibEventLoop(), unhandled_input=self.key_handler) + + def start(self): + self.loop.run() + + def key_handler(self, input): + if input in ('q', 'Q') or input == 'ctrl x': + raise urwid.ExitMainLoop() + + def __buildMainWidget(self): + main_widget = ProfileManager(self) + return main_widget + + +sat = PrimitivusApp() +sat.start()