GUI: improve config + changelog
[fanfix.git] / src / be / nikiroo / fanfix / bundles / Config.java
CommitLineData
08fe2e33
NR
1package be.nikiroo.fanfix.bundles;
2
3import be.nikiroo.utils.resources.Meta;
ce788468 4import be.nikiroo.utils.resources.Meta.Format;
08fe2e33
NR
5
6/**
7 * The configuration options.
8 *
9 * @author niki
10 */
ce788468 11@SuppressWarnings("javadoc")
08fe2e33 12public enum Config {
ce788468 13 @Meta(description = "language (example: en-GB, fr-BE...) or nothing for default system language", format = Format.LOCALE, info = "Force the language (can be overwritten again with the env variable $LANG)")
08fe2e33 14 LANG, //
c1873e56
NR
15 @Meta(description = "reader type (CLI = simple output to console, TUI = Text User Interface with menus and windows, GUI = a GUI with locally stored files)", format = Format.FIXED_LIST, list = {
16 "CLI", "GUI", "TUI" }, info = "Select the default reader to use to read stories")
3727aae2 17 READER_TYPE, //
ae78e517
NR
18 @Meta(def = "INFO_TEXT", format = Format.COMBO_LIST, list = { "INFO_TEXT",
19 "EPUB", "HTML", "TEXT" }, info = "One of the known output type", description = "The type of output for the Local Reader for non-images documents")
e604986c 20 NON_IMAGES_DOCUMENT_TYPE, //
ae78e517 21 @Meta(def = "CBZ", format = Format.COMBO_LIST, list = { "CBZ", "HTML" }, description = "The type of output for the Local Reader for images documents")
e604986c 22 IMAGES_DOCUMENT_TYPE, //
ce788468 23 @Meta(description = "absolute path, $HOME variable supported, / is always accepted as dir separator", format = Format.DIRECTORY, info = "The directory where to store temporary files, defaults to directory 'tmp' in the conig directory (usually $HOME/.fanfix)")
08fe2e33 24 CACHE_DIR, //
ae78e517 25 @Meta(def = "24", description = "delay in hours, or 0 for no cache, or -1 for infinite time (default)", format = Format.INT, info = "The delay after which a cached resource that is thought to change ~often is considered too old and triggers a refresh")
08fe2e33 26 CACHE_MAX_TIME_CHANGING, //
ae78e517 27 @Meta(def = "720", description = "delay in hours, or 0 for no cache, or -1 for infinite time (default)", format = Format.INT, info = "The delay after which a cached resource that is thought to change rarely is considered too old and triggers a refresh")
08fe2e33 28 CACHE_MAX_TIME_STABLE, //
ae78e517 29 @Meta(def = "Mozilla/5.0 (X11; Linux x86_64; rv:44.0) Gecko/20100101 Firefox/44.0 -- ELinks/0.9.3 (Linux 2.6.11 i686; 80x24)", description = "string", info = "The user-agent to use to download files")
08fe2e33 30 USER_AGENT, //
51c5d9a7 31 @Meta(def = "$HOME/.fanfix/covers/", description = "absolute path, $HOME variable supported, / is always accepted as dir separator", format = Format.DIRECTORY, info = "The directory where to get the default story covers")
08fe2e33 32 DEFAULT_COVERS_DIR, //
e023483b
NR
33 @Meta(description = "string", info = "The default library to use (KEY:SERVER:PORT), or empty for the local library")
34 DEFAULT_LIBRARY, //
fb25273c
NR
35 @Meta(def = "58365", description = "The port on which we can start the server", format = Format.INT, info = "A valid port")
36 SERVER_PORT, //
37 @Meta(def = "", description = "The encryption key for the server (NOT including a subkey)", format = Format.PASSWORD, info = "cannot contain the pipe character (|)")
38 SERVER_KEY, //
39 @Meta(def = "TRUE", description = "Allow write access to the clients by default (download story, move story...)", format = Format.BOOLEAN)
40 SERVER_RW, //
41 @Meta(def = "", description = "If not empty, only the EXACT listed sources will be available for clients", info = "list is comma-separated (,) and values are surrounded by double quotes (\"); any double quote in the value must be backslash-escaped (with \\\")")
42 SERVER_WHITELIST, //
43 @Meta(def = "", description = "The subkeys that the server will allow, including the modes", info = "list is comma-separated (,) and values are surrounded by double quotes (\"); any double quote in the value must be backslash-escaped (with \\\")")
44 SERVER_ALLOWED_SUBKEYS, //
ae78e517 45 @Meta(def = "$HOME/Books", description = "absolute path, $HOME variable supported, / is always accepted as dir separator", format = Format.DIRECTORY, info = "The directory where to store the library")
08fe2e33 46 LIBRARY_DIR, //
ae78e517 47 @Meta(def = "false", description = "boolean", format = Format.BOOLEAN, info = "Show debug information on errors")
08fe2e33 48 DEBUG_ERR, //
ae78e517 49 @Meta(def = "false", description = "boolean", format = Format.BOOLEAN, info = "Show debug trace information")
a8209dd0 50 DEBUG_TRACE, //
ae78e517 51 @Meta(def = "PNG", description = "image format", format = Format.COMBO_LIST, list = {
ce788468 52 "PNG", "JPG", "BMP" }, info = "Image format to use for cover images")
08fe2e33 53 IMAGE_FORMAT_COVER, //
ae78e517 54 @Meta(def = "JPG", description = "image format", format = Format.COMBO_LIST, list = {
ce788468 55 "PNG", "JPG", "BMP" }, info = "Image format to use for content images")
08fe2e33 56 IMAGE_FORMAT_CONTENT, //
ce788468 57 @Meta(group = true)
08fe2e33 58 LATEX_LANG, //
ae78e517 59 @Meta(def = "english", description = "LaTeX output language: English", info = "LaTeX full name")
08fe2e33 60 LATEX_LANG_EN, //
ae78e517 61 @Meta(def = "french", description = "LaTeX output language: French", info = "LaTeX full name")
08fe2e33 62 LATEX_LANG_FR, //
ae78e517 63 @Meta(def = "by,par,de,©,(c)", description = "other 'by' prefixes before author name, used to identify the author", array = true)
08fe2e33 64 BYS, //
ae78e517 65 @Meta(def = "EN,FR", description = "List of languages codes used for chapter identification (should not be changed)", array = true, info = "EN,FR")
08fe2e33 66 CHAPTER, //
ae78e517 67 @Meta(def = "Chapter", description = "Chapter identification String: English", info = "used to identify a starting chapter in text mode")
08fe2e33 68 CHAPTER_EN, //
ae78e517 69 @Meta(def = "Chapitre", description = "Chapter identification String: French", info = "used to identify a starting chapter in text mode")
08fe2e33 70 CHAPTER_FR, //
ce788468 71 @Meta(description = "Login information (username) for YiffStar to have access to all the stories (should not be necessary anymore)")
6e06d2cc 72 LOGIN_YIFFSTAR_USER, //
ce788468 73 @Meta(description = "Login information (password) for YiffStar to have access to all the stories (should not be necessary anymore)", format = Format.PASSWORD)
6e06d2cc 74 LOGIN_YIFFSTAR_PASS, //
ce788468 75 @Meta(description = "If the last update check was done at least that many days, check for updates at startup (-1 for 'no checks' -- default is 1 day)", format = Format.INT)
315f14ae 76 UPDATE_INTERVAL, //
4ff0b1a9 77 @Meta(def = "", description = "", info = "Format is ((user(:pass)@)proxy:port), with ':' being system proxy and an empty String being no proxy")
f59eafef
NR
78 USE_PROXY, //
79 @Meta(group = true, description = "FimFiction APIKEY credentials\nFimFiction can be queried via an API, but requires an API key to do that. One has been created for this program, but if you have another API key you can set it here. You can also set a login and password instead, in that case, a new API key will be generated (and stored) if you still haven't set one.")
80 LOGIN_FIMFICTION_APIKEY, //
81 @Meta(description = "An API key required to create a token from FimFiction", format = Format.STRING)
315f14ae
NR
82 LOGIN_FIMFICTION_APIKEY_CLIENT_ID, //
83 @Meta(description = "An API key required to create a token from FimFiction", format = Format.PASSWORD)
84 LOGIN_FIMFICTION_APIKEY_CLIENT_SECRET, //
a8209dd0 85 @Meta(description = "Do not use the new API, even if we have a token, and force HTML scraping (default is false, use API if token or ID present)", format = Format.BOOLEAN)
315f14ae 86 LOGIN_FIMFICTION_APIKEY_FORCE_HTML, //
ae78e517 87 @Meta(def = "Bearer WnZ5oHlzQoDocv1GcgHfcoqctHkSwL-D", description = "A token is required to use the beta APIv2 from FimFiction (see APIKEY_CLIENT_*)", format = Format.PASSWORD)
315f14ae 88 LOGIN_FIMFICTION_APIKEY_TOKEN, //
08fe2e33 89}