Mercurial > libervia-backend
view frontends/src/quick_frontend/constants.py @ 1972:02d21a589be2
quick_frontend, primitivus: notifications refactoring
replaced old "alerts" system by a more generic one which use listeners and can activate callbacks on notification click.
author | Goffi <goffi@goffi.org> |
---|---|
date | Mon, 27 Jun 2016 22:36:22 +0200 |
parents | 011eff37e21d |
children | 19b9d3f8a6c7 |
line wrap: on
line source
#!/usr/bin/env python2 # -*- coding: utf-8 -*- # Primitivus: a SAT frontend # Copyright (C) 2009-2016 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 _ from collections import OrderedDict # only available from python 2.7 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 # Roster CONTACT_GROUPS = 'groups' CONTACT_RESOURCES = 'resources' CONTACT_MAIN_RESOURCE = 'main_resource' CONTACT_SPECIAL = 'special' CONTACT_SPECIAL_GROUP = 'group' # group chat special entity CONTACT_SELECTED = 'selected' CONTACT_PROFILE = 'profile' # used in handler to track where the contact is coming from CONTACT_SPECIAL_ALLOWED = (CONTACT_SPECIAL_GROUP,) # allowed values for special flag CONTACT_DATA_FORBIDDEN = {CONTACT_GROUPS, CONTACT_RESOURCES, CONTACT_MAIN_RESOURCE, CONTACT_SELECTED, CONTACT_PROFILE} # set of forbidden names for contact data # Chats CHAT_ONE2ONE = 'one2one' CHAT_GROUP = 'group' USER_CHAT_STATES = { "active": u'✔', "inactive": u'☄', "gone": u'✈', "composing": u'✎', "paused": u"⦷" } # Blogs ENTRY_MODE_TEXT = "text" ENTRY_MODE_RICH = "rich" ENTRY_MODE_XHTML = "xhtml" # 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' # Updates (generic) UPDATE_DELETE = 'DELETE' UPDATE_MODIFY = 'MODIFY' UPDATE_ADD = 'ADD' UPDATE_SELECTION = 'SELECTION' UPDATE_STRUCTURE = 'STRUCTURE' # high level update (i.e. not item level but organisation of items) LISTENERS = {'avatar', 'nick', 'presence', 'profilePlugged', 'disconnect', 'gotMenus', 'menu', 'notification', 'notificationsClear'} # Notifications NOTIFY_MESSAGE = 'MESSAGE' # a message was received NOTIFY_MENTION = 'MENTION' # user was mentionned NOTIFY_PROGRESS_END = 'PROGRESS_END' # a progression has finised NOTIFY_GENERIC = 'GENERIC' # a notification which has not its own type