/* * Copyright (c) 2012-2018 Isode Limited. * All rights reserved. * See the COPYING file for more information. */ #pragma once #include namespace Swift { /** * This class contains the major setting keys for Swift. */ class SettingConstants { public: /** * The #IDLE_GOES_OFFLINE setting specifies whether to close the XMPP connection when * the user went idle. * * True for automatic close of the XMPP connection and false for only changing the presence on idle. */ static const SettingsProvider::Setting IDLE_GOES_OFFLINE; /** * The #IDLE_TIMEOUT setting specifieds the seconds the user has to be inactive at the * desktop so the user is regarded as idle. */ static const SettingsProvider::Setting IDLE_TIMEOUT; static const SettingsProvider::Setting SHOW_NOTIFICATIONS; /** * The #REQUEST_DELIVERYRECEIPTS settings specifies whether to request delivery receipts * for messages to contacts that support message receipts. */ static const SettingsProvider::Setting REQUEST_DELIVERYRECEIPTS; static const SettingsProvider::Setting FORGET_PASSWORDS; static const SettingsProvider::Setting REMEMBER_RECENT_CHATS; /** * The #SHOW_OFFLINE setting specifies whether or not to show offline contacts in the * roster. * * If set true Swift will show offline contacts; else not. */ static const SettingsProvider::Setting SHOW_OFFLINE; /** * The #EXPANDED_ROSTER_GROUPS setting specifies the list of groups that are expanded * in the roster UI. * * Its value is a string with group names seperated by newlines. */ static const SettingsProvider::Setting EXPANDED_ROSTER_GROUPS; static const SettingsProvider::Setting PLAY_SOUNDS; /** * The #HIGHLIGHT_RULES setting specifies the highlight rules and the associated actions. * * Its value is a Boost serialized representation. */ static const SettingsProvider::Setting HIGHLIGHT_RULES; /** * The #HIGHLIGHT_RULES_V2 setting specifies the second version of highlight configuration * rules, incompatible to old highlight rules. * * Its value is a Boost serialized representation. */ static const SettingsProvider::Setting HIGHLIGHT_RULES_V2; /** * The #INVITE_AUTO_ACCEPT_MODE setting specifies how to handle invites to chat rooms. * * Supported values are: * - "no" : It is up to the user whether to accept the invitation and enter a room or not. * - "presence" : The invitation is automatically accepted if it is from a contact that is * already allowed to see the user's presence status. * - "domain" : The invitation is automatically accepted if it is from a contact that is * already allowed to see the user's presence status or from a contact of user's domain. */ static const SettingsProvider::Setting INVITE_AUTO_ACCEPT_MODE; /** * The #DISCONNECT_ON_CARD_REMOVAL setting * specifies whether or not to sign out the user when * the smartcard is removed. * * If set true Swift will sign out the user when the * smart card is removed; else not. */ static const SettingsProvider::Setting DISCONNECT_ON_CARD_REMOVAL; /** * The #MUC_MARKING_ELISION setting * specifies whether or not messages with the default muc * marking display their marking, and whether unmarked messages * are marked as such. * * If set true, unmarked messages will be marked with the marking * "unmarked", and messages with the room default marking will * have their markings stripped. */ static const SettingsProvider::Setting MUC_MARKING_ELISION; /** * The #FUTURE setting enables use of experimental features * planned for future releases. */ static const SettingsProvider::Setting FUTURE; }; }