diff --git a/frontends/primitivus/primitivus b/frontends/primitivus/primitivus new file mode 100755 index 00000000..d425bf0e --- /dev/null +++ b/frontends/primitivus/primitivus @@ -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 . +""" + + +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() diff --git a/frontends/primitivus/profile_manager.py b/frontends/primitivus/profile_manager.py new file mode 100644 index 00000000..6fe06bd1 --- /dev/null +++ b/frontends/primitivus/profile_manager.py @@ -0,0 +1,34 @@ +#!/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 . +""" + +import urwid + + +class ProfileManager(urwid.WidgetWrap): + + def __init__(self, host): + self.host = host + profiles = self.host.bridge.getProfilesList() + widgets = [urwid.Text(str(profiles))] + content = urwid.SimpleListWalker(widgets) + display_widget = urwid.Frame(urwid.ListBox(content),urwid.AttrMap(urwid.Text("Profile Manager",align='center'),'title')) + urwid.WidgetWrap.__init__(self, display_widget) + diff --git a/frontends/sortilege/__init__.py b/frontends/sortilege_old/__init__.py similarity index 100% rename from frontends/sortilege/__init__.py rename to frontends/sortilege_old/__init__.py diff --git a/frontends/sortilege/boxsizer.py b/frontends/sortilege_old/boxsizer.py similarity index 100% rename from frontends/sortilege/boxsizer.py rename to frontends/sortilege_old/boxsizer.py diff --git a/frontends/sortilege/chat.py b/frontends/sortilege_old/chat.py similarity index 100% rename from frontends/sortilege/chat.py rename to frontends/sortilege_old/chat.py diff --git a/frontends/sortilege/editbox.py b/frontends/sortilege_old/editbox.py similarity index 100% rename from frontends/sortilege/editbox.py rename to frontends/sortilege_old/editbox.py diff --git a/frontends/sortilege/sortilege b/frontends/sortilege_old/sortilege similarity index 100% rename from frontends/sortilege/sortilege rename to frontends/sortilege_old/sortilege diff --git a/frontends/sortilege/statusbar.py b/frontends/sortilege_old/statusbar.py similarity index 100% rename from frontends/sortilege/statusbar.py rename to frontends/sortilege_old/statusbar.py diff --git a/frontends/sortilege/window.py b/frontends/sortilege_old/window.py similarity index 100% rename from frontends/sortilege/window.py rename to frontends/sortilege_old/window.py