1 /************************************************************************ 2 ** 3 ** Copyright (C) 2015-2020 Kevin B. Hendricks, Stratford Ontario Canada 4 ** Copyright (C) 2015-2021 Doug Massay 5 ** Copyright (C) 2009-2011 Strahinja Markovic <strahinja.markovic@gmail.com> 6 ** 7 ** This file is part of Sigil. 8 ** 9 ** Sigil is free software: you can redistribute it and/or modify 10 ** it under the terms of the GNU General Public License as published by 11 ** the Free Software Foundation, either version 3 of the License, or 12 ** (at your option) any later version. 13 ** 14 ** Sigil is distributed in the hope that it will be useful, 15 ** but WITHOUT ANY WARRANTY; without even the implied warranty of 16 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 ** GNU General Public License for more details. 18 ** 19 ** You should have received a copy of the GNU General Public License 20 ** along with Sigil. If not, see <http://www.gnu.org/licenses/>. 21 ** 22 *************************************************************************/ 23 24 #pragma once 25 #ifndef SG_CONSTANTS_H 26 #define SG_CONSTANTS_H 27 28 class QString; 29 class QStringList; 30 31 // These enable us to use constants defined 32 // in one CPP file to be used in another 33 extern const QString BODY_START; 34 extern const QString BODY_END; 35 extern const QString BREAK_TAG_INSERT; 36 extern const QString HEADING; 37 extern const QString STYLE_TAG; 38 extern const QStringList BLOCK_LEVEL_TAGS; 39 extern const QStringList ID_TAGS; 40 extern const QStringList IMAGE_TAGS; 41 extern const QStringList AUDIO_TAGS; 42 extern const QStringList VIDEO_TAGS; 43 extern const QStringList ANCHOR_TAGS; 44 extern const QStringList SRC_TAGS; 45 extern const QString VERSION_NUMBERS; 46 extern const QString SIGIL_VERSION; 47 extern const int PROGRESS_BAR_MINIMUM_DURATION; 48 extern const QString IMAGE_FOLDER_NAME; 49 extern const QString FONT_FOLDER_NAME; 50 extern const QString TEXT_FOLDER_NAME; 51 extern const QString STYLE_FOLDER_NAME; 52 extern const QString MISC_FOLDER_NAME; 53 extern const QStringList IMAGE_MIMEYPES; 54 extern const QStringList TEXT_MIMETYPES; 55 extern const QStringList STYLE_MIMETYPES; 56 extern const QString SIGIL_TOC_ID_PREFIX; 57 extern const QStringList HEADING_TAGS; 58 extern const QString SIGIL_NOT_IN_TOC_CLASS; 59 extern const QString OLD_SIGIL_NOT_IN_TOC_CLASS; 60 extern const QString FIRST_SECTION_PREFIX; 61 extern const QString FIRST_SECTION_NAME; 62 extern const QString OPF_FILE_NAME; 63 extern const QString NCX_FILE_NAME; 64 extern const QString CONTAINER_XML_FILE_NAME; 65 extern const QStringList TEXT_EXTENSIONS; 66 extern const QStringList FONT_EXTENSIONS; 67 extern const QStringList IMAGE_EXTENSIONS; 68 extern const QStringList SVG_EXTENSIONS; 69 extern const QStringList JPG_EXTENSIONS; 70 extern const QStringList TIFF_EXTENSIONS; 71 extern const QStringList VIDEO_EXTENSIONS; 72 extern const QStringList AUDIO_EXTENSIONS; 73 extern const QStringList MISC_XML_MIMETYPES; 74 extern const QString ENCODING_ATTRIBUTE; 75 extern const QString STANDALONE_ATTRIBUTE; 76 extern const QString VERSION_ATTRIBUTE; 77 extern const QString ADOBE_FONT_ALGO_ID; 78 extern const QString IDPF_FONT_ALGO_ID; 79 extern const QString DUBLIN_CORE_NS; 80 extern const int XML_DECLARATION_SEARCH_PREFIX_SIZE; 81 82 extern const QString NCX_MIMETYPE; 83 84 extern const char *XHTML_ENTITIES_DTD_ID; 85 extern const unsigned int XHTML_ENTITIES_DTD_LEN; 86 extern const unsigned char XHTML_ENTITIES_DTD[]; 87 88 extern const char *NCX_2005_1_DTD_ID; 89 extern const unsigned int NCX_2005_1_DTD_LEN; 90 extern const unsigned char NCX_2005_1_DTD[]; 91 92 extern const int PCRE_MAX_CAPTURE_GROUPS; 93 94 extern const float ZOOM_STEP; 95 extern const float ZOOM_MIN; 96 extern const float ZOOM_MAX; 97 extern const float ZOOM_NORMAL; 98 99 extern const QString SET_CURSOR_JS; 100 101 extern const QString SIGIL_INDEX_CLASS; 102 extern const QString SIGIL_INDEX_ID_PREFIX; 103 104 extern const QString IMAGE_HTML_BASE_PREVIEW; 105 extern const QString VIDEO_HTML_BASE; 106 extern const QString AUDIO_HTML_BASE; 107 108 extern const QString SGC_TOC_CSS_FILENAME; 109 extern const QString SGC_INDEX_CSS_FILENAME; 110 extern const QString CUSTOM_ICON_THEME_FILENAME; 111 112 extern const QString HTML_NAV_FILENAME; 113 extern const QString EMPTY_NAV_FILE_START; 114 extern const QString EMPTY_NAV_FILE_TOC; 115 extern const QString EMPTY_NAV_FILE_LANDMARKS; 116 extern const QString EMPTY_NAV_FILE_END; 117 extern const QString SGC_NAV_CSS_FILENAME; 118 119 extern const QString HTML_COVER_FILENAME; 120 extern const QString HTML_COVER_SOURCE; 121 extern const QString HTML5_COVER_SOURCE; 122 123 extern const int CLIPBOARD_HISTORY_MAX; 124 125 extern const QString SIGIL_PREFS_DIR; 126 extern const QString PATH_LIST_DELIM; 127 extern const QString PYTHON_MAIN_PATH; 128 extern const QString PYTHON_MAIN_BIN_PATH; 129 extern const bool DONT_CHECK_FOR_UPDATES; 130 131 #if defined(__APPLE__) 132 extern const QString PYTHON_SITE_PACKAGES; 133 extern const QString PYTHON_MAIN_PREFIX; 134 extern const QString PYTHON_MAIN_BIN_PATH; 135 extern const QString PYTHON_LIB_PATH; 136 #endif 137 extern const QStringList PYTHON_SYS_PATHS; 138 139 #if !defined(_WIN32) && !defined(__APPLE__) 140 extern const QString sigil_extra_root; 141 extern const QString hunspell_dicts_override; 142 extern const QString force_sigil_darkmode_palette; 143 extern const QString sigil_share_root; 144 extern const bool dicts_are_bundled; 145 extern const QString extra_dict_dirs; 146 extern const QString mathjax_dir; 147 #endif 148 149 #endif // SG_CONSTANTS_H 150