view frontends/src/constants.py @ 1319:781ee3539252 frontends_multi_profiles

quick frontends(quick app): add a listeners (observer/observable) mechanism to call a callback when a event happen. Implemented an "avatar" event.
author Goffi <goffi@goffi.org>
date Mon, 09 Feb 2015 21:39:51 +0100
parents afc57b34c0a3
children
line wrap: on
line source

#!/usr/bin/python
# -*- coding: utf-8 -*-

# generic module for SàT frontends
# Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014 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 Affero 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 Affero General Public License for more details.

# You should have received a copy of the GNU Affero General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.


from sat.core import constants
from sat.core.i18n import _, D_
from collections import OrderedDict  # only available from python 2.7


def getPresence():
    """We cannot do it directly in the Const class, if it is not encapsulated
    in a method we get a JS runtime SyntaxError: "missing ) in parenthetical".
    # TODO: merge this definition with those in primitivus.constants
    """


class Const(constants.Const):

    PRESENCE = OrderedDict([("", _("Online")),
                            ("chat", _("Free for chat")),
                            ("away", _("Away from keyboard")),
                            ("dnd", _("Do not disturb")),
                            ("xa", _("Extended away"))])

    # from plugin_misc_text_syntaxes
    SYNTAX_XHTML = "XHTML"
    SYNTAX_CURRENT = "@CURRENT@"
    SYNTAX_TEXT = "text"

    # XMLUI
    SAT_FORM_PREFIX = "SAT_FORM_"
    SAT_PARAM_SEPARATOR = "_XMLUI_PARAM_"  # used to have unique elements names
    XMLUI_STATUS_VALIDATED = "validated"
    XMLUI_STATUS_CANCELLED = constants.Const.XMLUI_DATA_CANCELLED

    # MUC
    ALL_OCCUPANTS = 1
    MUC_USER_STATES = {
        "active": u'✔',
        "inactive": u'☄',
        "gone": u'✈',
        "composing": u'✎',
        "paused": u"⦷"
    }

    # Roster
    GROUP_NOT_IN_ROSTER = D_('Not in roster')

    # Chats
    CHAT_ONE2ONE = 'one2one'
    CHAT_GROUP = 'group'

    # Widgets management
    # FIXME: should be in quick_frontend.constant, but Libervia doesn't inherit from it
    WIDGET_NEW = 'NEW'
    WIDGET_KEEP = 'KEEP'
    WIDGET_RAISE = 'RAISE'
    WIDGET_RECREATE = 'RECREATE'