diff --git a/src/huggle_core/configuration.hpp b/src/huggle_core/configuration.hpp index 9d9b530a3..71c5355b6 100644 --- a/src/huggle_core/configuration.hpp +++ b/src/huggle_core/configuration.hpp @@ -22,109 +22,110 @@ #include "projectconfiguration.hpp" class QXmlStreamWriter; -#define HUGGLE_ACCEL_NONE "" -#define HUGGLE_ACCEL_MAIN_EXIT 0 -#define HUGGLE_ACCEL_MAIN_REVERT_AND_WARN 1 -#define HUGGLE_ACCEL_MAIN_REVERT 2 -#define HUGGLE_ACCEL_MAIN_WARN 3 -#define HUGGLE_ACCEL_NEXT 4 -#define HUGGLE_ACCEL_SUSPICIOUS_EDIT 5 -#define HUGGLE_ACCEL_MAIN_FORWARD 6 -#define HUGGLE_ACCEL_MAIN_BACK 7 -#define HUGGLE_ACCEL_MAIN_REVERT_AND_WARN0 8 -#define HUGGLE_ACCEL_MAIN_REVERT_AND_WARN1 9 -#define HUGGLE_ACCEL_MAIN_REVERT_AND_WARN2 10 -#define HUGGLE_ACCEL_MAIN_REVERT_AND_WARN3 11 -#define HUGGLE_ACCEL_MAIN_REVERT_AND_WARN4 12 -#define HUGGLE_ACCEL_MAIN_REVERT_AND_WARN5 13 -#define HUGGLE_ACCEL_MAIN_REVERT_AND_WARN6 14 -#define HUGGLE_ACCEL_MAIN_REVERT_AND_WARN7 15 -#define HUGGLE_ACCEL_MAIN_REVERT_AND_WARN8 16 -#define HUGGLE_ACCEL_MAIN_REVERT_AND_WARN9 17 -#define HUGGLE_ACCEL_MAIN_REVERT_AND_WARN10 10000 -#define HUGGLE_ACCEL_MAIN_REVERT_AND_WARN11 10001 -#define HUGGLE_ACCEL_MAIN_REVERT_AND_WARN12 10002 -#define HUGGLE_ACCEL_MAIN_REVERT_AND_WARN13 10003 -#define HUGGLE_ACCEL_MAIN_REVERT_AND_WARN14 10004 -#define HUGGLE_ACCEL_MAIN_REVERT_AND_WARN15 10005 -#define HUGGLE_ACCEL_MAIN_REVERT_AND_WARN16 10006 -#define HUGGLE_ACCEL_MAIN_REVERT_AND_WARN17 10007 -#define HUGGLE_ACCEL_MAIN_REVERT_AND_WARN18 10008 -#define HUGGLE_ACCEL_MAIN_REVERT_AND_WARN19 10009 -#define HUGGLE_ACCEL_MAIN_REVERT_AND_WARN20 10010 -#define HUGGLE_ACCEL_MAIN_WARN0 18 -#define HUGGLE_ACCEL_MAIN_WARN1 19 -#define HUGGLE_ACCEL_MAIN_WARN2 20 -#define HUGGLE_ACCEL_MAIN_WARN3 21 -#define HUGGLE_ACCEL_MAIN_WARN4 22 -#define HUGGLE_ACCEL_MAIN_WARN5 23 -#define HUGGLE_ACCEL_MAIN_WARN6 24 -#define HUGGLE_ACCEL_MAIN_WARN7 25 -#define HUGGLE_ACCEL_MAIN_WARN8 26 -#define HUGGLE_ACCEL_MAIN_WARN9 27 -#define HUGGLE_ACCEL_MAIN_WARN10 20001 -#define HUGGLE_ACCEL_MAIN_WARN11 20002 -#define HUGGLE_ACCEL_MAIN_WARN12 20003 -#define HUGGLE_ACCEL_MAIN_WARN13 20004 -#define HUGGLE_ACCEL_MAIN_WARN14 20005 -#define HUGGLE_ACCEL_MAIN_WARN15 20006 -#define HUGGLE_ACCEL_MAIN_WARN16 20007 -#define HUGGLE_ACCEL_MAIN_WARN17 20008 -#define HUGGLE_ACCEL_MAIN_WARN18 20009 -#define HUGGLE_ACCEL_MAIN_WARN19 20010 -#define HUGGLE_ACCEL_MAIN_WARN20 20011 -#define HUGGLE_ACCEL_MAIN_REVERT_0 28 -#define HUGGLE_ACCEL_MAIN_REVERT_1 29 -#define HUGGLE_ACCEL_MAIN_REVERT_2 30 -#define HUGGLE_ACCEL_MAIN_REVERT_3 31 -#define HUGGLE_ACCEL_MAIN_REVERT_4 32 -#define HUGGLE_ACCEL_MAIN_REVERT_5 33 -#define HUGGLE_ACCEL_MAIN_REVERT_6 34 -#define HUGGLE_ACCEL_MAIN_REVERT_7 35 -#define HUGGLE_ACCEL_MAIN_REVERT_8 36 -#define HUGGLE_ACCEL_MAIN_REVERT_9 37 -#define HUGGLE_ACCEL_MAIN_REVERT_10 20110 -#define HUGGLE_ACCEL_MAIN_REVERT_11 20111 -#define HUGGLE_ACCEL_MAIN_REVERT_12 20112 -#define HUGGLE_ACCEL_MAIN_REVERT_13 20113 -#define HUGGLE_ACCEL_MAIN_REVERT_14 20114 -#define HUGGLE_ACCEL_MAIN_REVERT_15 20115 -#define HUGGLE_ACCEL_MAIN_REVERT_16 20116 -#define HUGGLE_ACCEL_MAIN_REVERT_17 20117 -#define HUGGLE_ACCEL_MAIN_REVERT_18 20118 -#define HUGGLE_ACCEL_MAIN_REVERT_19 20119 -#define HUGGLE_ACCEL_MAIN_REVERT_20 20120 -#define HUGGLE_ACCEL_MAIN_C_REVERT 20200 -#define HUGGLE_ACCEL_MAIN_REVERT_AGF 20201 -#define HUGGLE_ACCEL_MAIN_TALK 38 -#define HUGGLE_ACCEL_REVERT_STAY 39 -#define HUGGLE_ACCEL_MAIN_OPEN_IN_BROWSER 40 -#define HUGGLE_ACCEL_MAIN_GOOD 41 -#define HUGGLE_ACCEL_MAIN_MYTALK_PAGE 42 -#define HUGGLE_ACCEL_REVW_STAY 43 -#define HUGGLE_ACCEL_MAIN_REVERT_AGF_ONE_REV 44 -#define HUGGLE_ACCEL_MAIN_WATCH 45 -#define HUGGLE_ACCEL_MAIN_UNWATCH 46 -#define HUGGLE_ACCEL_MAIN_PATROL 47 -#define HUGGLE_ACCEL_MAIN_OPEN 48 -#define HUGGLE_ACCEL_MAIN_USER_CLEAR_TALK 49 -#define HUGGLE_ACCEL_MAIN_USER_CONTRIBUTIONS 50 -#define HUGGLE_ACCEL_MAIN_CONTRIB_BROWSER 52 -#define HUGGLE_ACCEL_MAIN_REFRESH 54 -#define HUGGLE_ACCEL_MAIN_USER_CUSTOM_MSG 55 -#define HUGGLE_ACCEL_MAIN_ESC 56 -#define HUGGLE_ACCEL_MAIN_REVERT_THIS 60 -#define HUGGLE_ACCEL_MAIN_WELCOME 61 -#define HUGGLE_ACCEL_MAIN_DECREASE_BS 62 -#define HUGGLE_ACCEL_MAIN_INCREASE_BS 63 -#define HUGGLE_ACCEL_MAIN_FIND 64 -#define HUGGLE_ACCEL_MAIN_EDIT 65 -#define HUGGLE_ACCEL_MAIN_CLEAR_QUEUE 66 -#define HUGGLE_ACCEL_MAIN_EDIT_IN_BROWSER 68 -#define HUGGLE_ACCEL_CLOSE_TAB 200 -#define HUGGLE_ACCEL_CREATE_NEW_TAB 206 -#define HUGGLE_ACCEL_USER_REPORT_USER_NAME 300 -#define HUGGLE_ACCEL_USER_REPORT 310 + +constexpr const char* HUGGLE_ACCEL_NONE = ""; +constexpr int HUGGLE_ACCEL_MAIN_EXIT = 0; +constexpr int HUGGLE_ACCEL_MAIN_REVERT_AND_WARN = 1; +constexpr int HUGGLE_ACCEL_MAIN_REVERT = 2; +constexpr int HUGGLE_ACCEL_MAIN_WARN = 3; +constexpr int HUGGLE_ACCEL_NEXT = 4; +constexpr int HUGGLE_ACCEL_SUSPICIOUS_EDIT = 5; +constexpr int HUGGLE_ACCEL_MAIN_FORWARD = 6; +constexpr int HUGGLE_ACCEL_MAIN_BACK = 7; +constexpr int HUGGLE_ACCEL_MAIN_REVERT_AND_WARN0 = 8; +constexpr int HUGGLE_ACCEL_MAIN_REVERT_AND_WARN1 = 9; +constexpr int HUGGLE_ACCEL_MAIN_REVERT_AND_WARN2 = 10; +constexpr int HUGGLE_ACCEL_MAIN_REVERT_AND_WARN3 = 11; +constexpr int HUGGLE_ACCEL_MAIN_REVERT_AND_WARN4 = 12; +constexpr int HUGGLE_ACCEL_MAIN_REVERT_AND_WARN5 = 13; +constexpr int HUGGLE_ACCEL_MAIN_REVERT_AND_WARN6 = 14; +constexpr int HUGGLE_ACCEL_MAIN_REVERT_AND_WARN7 = 15; +constexpr int HUGGLE_ACCEL_MAIN_REVERT_AND_WARN8 = 16; +constexpr int HUGGLE_ACCEL_MAIN_REVERT_AND_WARN9 = 17; +constexpr int HUGGLE_ACCEL_MAIN_REVERT_AND_WARN10 = 10000; +constexpr int HUGGLE_ACCEL_MAIN_REVERT_AND_WARN11 = 10001; +constexpr int HUGGLE_ACCEL_MAIN_REVERT_AND_WARN12 = 10002; +constexpr int HUGGLE_ACCEL_MAIN_REVERT_AND_WARN13 = 10003; +constexpr int HUGGLE_ACCEL_MAIN_REVERT_AND_WARN14 = 10004; +constexpr int HUGGLE_ACCEL_MAIN_REVERT_AND_WARN15 = 10005; +constexpr int HUGGLE_ACCEL_MAIN_REVERT_AND_WARN16 = 10006; +constexpr int HUGGLE_ACCEL_MAIN_REVERT_AND_WARN17 = 10007; +constexpr int HUGGLE_ACCEL_MAIN_REVERT_AND_WARN18 = 10008; +constexpr int HUGGLE_ACCEL_MAIN_REVERT_AND_WARN19 = 10009; +constexpr int HUGGLE_ACCEL_MAIN_REVERT_AND_WARN20 = 10010; +constexpr int HUGGLE_ACCEL_MAIN_WARN0 = 18; +constexpr int HUGGLE_ACCEL_MAIN_WARN1 = 19; +constexpr int HUGGLE_ACCEL_MAIN_WARN2 = 20; +constexpr int HUGGLE_ACCEL_MAIN_WARN3 = 21; +constexpr int HUGGLE_ACCEL_MAIN_WARN4 = 22; +constexpr int HUGGLE_ACCEL_MAIN_WARN5 = 23; +constexpr int HUGGLE_ACCEL_MAIN_WARN6 = 24; +constexpr int HUGGLE_ACCEL_MAIN_WARN7 = 25; +constexpr int HUGGLE_ACCEL_MAIN_WARN8 = 26; +constexpr int HUGGLE_ACCEL_MAIN_WARN9 = 27; +constexpr int HUGGLE_ACCEL_MAIN_WARN10 = 20001; +constexpr int HUGGLE_ACCEL_MAIN_WARN11 = 20002; +constexpr int HUGGLE_ACCEL_MAIN_WARN12 = 20003; +constexpr int HUGGLE_ACCEL_MAIN_WARN13 = 20004; +constexpr int HUGGLE_ACCEL_MAIN_WARN14 = 20005; +constexpr int HUGGLE_ACCEL_MAIN_WARN15 = 20006; +constexpr int HUGGLE_ACCEL_MAIN_WARN16 = 20007; +constexpr int HUGGLE_ACCEL_MAIN_WARN17 = 20008; +constexpr int HUGGLE_ACCEL_MAIN_WARN18 = 20009; +constexpr int HUGGLE_ACCEL_MAIN_WARN19 = 20010; +constexpr int HUGGLE_ACCEL_MAIN_WARN20 = 20011; +constexpr int HUGGLE_ACCEL_MAIN_REVERT_0 = 28; +constexpr int HUGGLE_ACCEL_MAIN_REVERT_1 = 29; +constexpr int HUGGLE_ACCEL_MAIN_REVERT_2 = 30; +constexpr int HUGGLE_ACCEL_MAIN_REVERT_3 = 31; +constexpr int HUGGLE_ACCEL_MAIN_REVERT_4 = 32; +constexpr int HUGGLE_ACCEL_MAIN_REVERT_5 = 33; +constexpr int HUGGLE_ACCEL_MAIN_REVERT_6 = 34; +constexpr int HUGGLE_ACCEL_MAIN_REVERT_7 = 35; +constexpr int HUGGLE_ACCEL_MAIN_REVERT_8 = 36; +constexpr int HUGGLE_ACCEL_MAIN_REVERT_9 = 37; +constexpr int HUGGLE_ACCEL_MAIN_REVERT_10 = 20110; +constexpr int HUGGLE_ACCEL_MAIN_REVERT_11 = 20111; +constexpr int HUGGLE_ACCEL_MAIN_REVERT_12 = 20112; +constexpr int HUGGLE_ACCEL_MAIN_REVERT_13 = 20113; +constexpr int HUGGLE_ACCEL_MAIN_REVERT_14 = 20114; +constexpr int HUGGLE_ACCEL_MAIN_REVERT_15 = 20115; +constexpr int HUGGLE_ACCEL_MAIN_REVERT_16 = 20116; +constexpr int HUGGLE_ACCEL_MAIN_REVERT_17 = 20117; +constexpr int HUGGLE_ACCEL_MAIN_REVERT_18 = 20118; +constexpr int HUGGLE_ACCEL_MAIN_REVERT_19 = 20119; +constexpr int HUGGLE_ACCEL_MAIN_REVERT_20 = 20120; +constexpr int HUGGLE_ACCEL_MAIN_C_REVERT = 20200; +constexpr int HUGGLE_ACCEL_MAIN_REVERT_AGF = 20201; +constexpr int HUGGLE_ACCEL_MAIN_TALK = 38; +constexpr int HUGGLE_ACCEL_REVERT_STAY = 39; +constexpr int HUGGLE_ACCEL_MAIN_OPEN_IN_BROWSER = 40; +constexpr int HUGGLE_ACCEL_MAIN_GOOD = 41; +constexpr int HUGGLE_ACCEL_MAIN_MYTALK_PAGE = 42; +constexpr int HUGGLE_ACCEL_REVW_STAY = 43; +constexpr int HUGGLE_ACCEL_MAIN_REVERT_AGF_ONE_REV = 44; +constexpr int HUGGLE_ACCEL_MAIN_WATCH = 45; +constexpr int HUGGLE_ACCEL_MAIN_UNWATCH = 46; +constexpr int HUGGLE_ACCEL_MAIN_PATROL = 47; +constexpr int HUGGLE_ACCEL_MAIN_OPEN = 48; +constexpr int HUGGLE_ACCEL_MAIN_USER_CLEAR_TALK = 49; +constexpr int HUGGLE_ACCEL_MAIN_USER_CONTRIBUTIONS = 50; +constexpr int HUGGLE_ACCEL_MAIN_CONTRIB_BROWSER = 52; +constexpr int HUGGLE_ACCEL_MAIN_REFRESH = 54; +constexpr int HUGGLE_ACCEL_MAIN_USER_CUSTOM_MSG = 55; +constexpr int HUGGLE_ACCEL_MAIN_ESC = 56; +constexpr int HUGGLE_ACCEL_MAIN_REVERT_THIS = 60; +constexpr int HUGGLE_ACCEL_MAIN_WELCOME = 61; +constexpr int HUGGLE_ACCEL_MAIN_DECREASE_BS = 62; +constexpr int HUGGLE_ACCEL_MAIN_INCREASE_BS = 63; +constexpr int HUGGLE_ACCEL_MAIN_FIND = 64; +constexpr int HUGGLE_ACCEL_MAIN_EDIT = 65; +constexpr int HUGGLE_ACCEL_MAIN_CLEAR_QUEUE = 66; +constexpr int HUGGLE_ACCEL_MAIN_EDIT_IN_BROWSER = 68; +constexpr int HUGGLE_ACCEL_CLOSE_TAB = 200; +constexpr int HUGGLE_ACCEL_CREATE_NEW_TAB = 206; +constexpr int HUGGLE_ACCEL_USER_REPORT_USER_NAME = 300; +constexpr int HUGGLE_ACCEL_USER_REPORT = 310; #define hcfg Huggle::Configuration::HuggleConfiguration diff --git a/src/huggle_core/definitions_prod.hpp b/src/huggle_core/definitions_prod.hpp index 3e1a43197..fdb0e585e 100644 --- a/src/huggle_core/definitions_prod.hpp +++ b/src/huggle_core/definitions_prod.hpp @@ -13,39 +13,41 @@ #ifndef DEFINITIONS_H #define DEFINITIONS_H +#include + // Byte-sizes of some huggle specific types typedef long long score_ht; typedef char byte_ht; typedef long long revid_ht; -#define HUGGLE_VERSION "3.4.11" -#define HUGGLE_BYTE_VERSION_MAJOR 0x3 -#define HUGGLE_BYTE_VERSION_MINOR 0x4 -#define HUGGLE_BYTE_VERSION_RELEASE 0xB +constexpr const char* HUGGLE_VERSION = "3.4.11"; +constexpr int HUGGLE_BYTE_VERSION_MAJOR = 0x3; +constexpr int HUGGLE_BYTE_VERSION_MINOR = 0x4; +constexpr int HUGGLE_BYTE_VERSION_RELEASE = 0xB; // format is 0xMAJOR(2)MINOR(2)RELEASE(2) so for 3.1.15 it's 0x03010F -#define HUGGLE_BYTE_VERSION 0x03040B +constexpr int HUGGLE_BYTE_VERSION = 0x03040B; // Minimal version of mediawiki that we do support -#define HUGGLE_SUPPORTED_MEDIAWIKI_VERSION "1.25" +constexpr const char* HUGGLE_SUPPORTED_MEDIAWIKI_VERSION = "1.25"; // How often do the statistics get purged (in seconds - smaller value results in more recent statistics) -#define HUGGLE_STATISTICS_LIFETIME 200 -#define HUGGLE_STATISTICS_BLOCK_SIZE 20 +constexpr int HUGGLE_STATISTICS_LIFETIME = 200; +constexpr int HUGGLE_STATISTICS_BLOCK_SIZE = 20; // How many dynamic shortcuts for dropdown menus to support -#define HUGGLE_MAX_DROPDOWN_SHORTCUTS 20 +constexpr int HUGGLE_MAX_DROPDOWN_SHORTCUTS = 20; // If advanced perf statistics should be used #define HUGGLE_METRICS #ifdef HUGGLE_WEBEN - #define HUGGLE_WEB_ENGINE_NAME "Chromium" + constexpr const char* HUGGLE_WEB_ENGINE_NAME = "Chromium"; #else - #define HUGGLE_WEB_ENGINE_NAME "WebKit" + constexpr const char* HUGGLE_WEB_ENGINE_NAME = "WebKit"; #endif // This is signature we can use to find Huggle yml config inside of wiki text -#define HUGGLE_BOC "" +constexpr const char* HUGGLE_BOC = ""; // We are using translatewiki and if this is not defined there is a huge overhead of Qt code #ifndef QT_NO_TRANSLATION @@ -85,7 +87,7 @@ namespace std { typedef decltype(nullptr) nullptr_t; } // This is a nasty hack that will disable multi threaded gc on MacOS as we had some report that // it has problems there (need to be fixed though) #ifndef HUGGLE_NO_MT_GC - #define HUGGLE_USE_MT_GC "mt" + #define HUGGLE_USE_MT_GC "mt" #endif // #define HUGGLE_PROFILING @@ -113,41 +115,41 @@ namespace std { typedef decltype(nullptr) nullptr_t; } #endif #endif -#define HUGGLE_SCRIPT_CONTEXT_CORE 0 -#define HUGGLE_SCRIPT_CONTEXT_UI 1 - -#define HUGGLE_SUCCESS 1 -#define PRODUCTION_BUILD 0 -#define HUGGLE_WL_UNKNOWN 0 -#define HUGGLE_WL_TRUE 1 -#define HUGGLE_WL_FALSE 2 -#define MEDIAWIKI_DEFAULT_NS_MAIN "" -#define MEDIAWIKI_DEFAULT_NS_TALK "Talk:" -#define MEDIAWIKI_DEFAULT_NS_USER "User:" -#define MEDIAWIKI_DEFAULT_NS_USERTALK "User talk:" -#define MEDIAWIKI_DEFAULT_NS_PROJECT "Project:" -#define MEDIAWIKI_DEFAULT_NS_PROJECTTALK "Project talk:" -#define MEDIAWIKI_DEFAULT_NS_FILE "File:" -#define MEDIAWIKI_DEFAULT_NS_FILETALK "File talk:" -#define MEDIAWIKI_DEFAULT_NS_MEDIAWIKI "Mediawiki:" -#define MEDIAWIKI_DEFAULT_NS_MEDIAWIKITALK "Mediawiki talk:" -#define MEDIAWIKI_DEFAULT_NS_TEMPLATE "Template:" -#define MEDIAWIKI_DEFAULT_NS_TEMPLATETALK "Template talk:" -#define MEDIAWIKI_DEFAULT_NS_HELP "Help:" -#define MEDIAWIKI_DEFAULT_NS_HELPTALK "Help talk:" -#define MEDIAWIKI_DEFAULT_NS_CATEGORY "Category:" -#define MEDIAWIKI_DEFAULT_NS_CATEGORYTALK "Category talk:" +constexpr int HUGGLE_SCRIPT_CONTEXT_CORE = 0; +constexpr int HUGGLE_SCRIPT_CONTEXT_UI = 1; + +constexpr int HUGGLE_SUCCESS = 1; +constexpr int PRODUCTION_BUILD = 0; +constexpr int HUGGLE_WL_UNKNOWN = 0; +constexpr int HUGGLE_WL_TRUE = 1; +constexpr int HUGGLE_WL_FALSE = 2; +constexpr const char* MEDIAWIKI_DEFAULT_NS_MAIN = ""; +constexpr const char* MEDIAWIKI_DEFAULT_NS_TALK = "Talk:"; +constexpr const char* MEDIAWIKI_DEFAULT_NS_USER = "User:"; +constexpr const char* MEDIAWIKI_DEFAULT_NS_USERTALK = "User talk:"; +constexpr const char* MEDIAWIKI_DEFAULT_NS_PROJECT = "Project:"; +constexpr const char* MEDIAWIKI_DEFAULT_NS_PROJECTTALK = "Project talk:"; +constexpr const char* MEDIAWIKI_DEFAULT_NS_FILE = "File:"; +constexpr const char* MEDIAWIKI_DEFAULT_NS_FILETALK = "File talk:"; +constexpr const char* MEDIAWIKI_DEFAULT_NS_MEDIAWIKI = "Mediawiki:"; +constexpr const char* MEDIAWIKI_DEFAULT_NS_MEDIAWIKITALK = "Mediawiki talk:"; +constexpr const char* MEDIAWIKI_DEFAULT_NS_TEMPLATE = "Template:"; +constexpr const char* MEDIAWIKI_DEFAULT_NS_TEMPLATETALK = "Template talk:"; +constexpr const char* MEDIAWIKI_DEFAULT_NS_HELP = "Help:"; +constexpr const char* MEDIAWIKI_DEFAULT_NS_HELPTALK = "Help talk:"; +constexpr const char* MEDIAWIKI_DEFAULT_NS_CATEGORY = "Category:"; +constexpr const char* MEDIAWIKI_DEFAULT_NS_CATEGORYTALK = "Category talk:"; //! Minimal score the edit can have -#define MINIMAL_SCORE -999999 -#define HUGGLE_CONF "huggle3.xml" +constexpr const int MINIMAL_SCORE = -999999; +constexpr const char* HUGGLE_CONF = "huggle3.xml"; //! When wikipedia get a higher revision ID than this, it will need to look for new anti-vandalism software :P -#define HUGGLE_MAX_REV 9223372036854775807 +constexpr long long HUGGLE_MAX_REV = 9223372036854775807; //! Path where the extensions are located -#define EXTENSION_PATH "extensions" +constexpr const char* EXTENSION_PATH = "extensions"; //! Value that is used by default for timers that are used on various places //! lower value will result in higher CPU usage, but faster performance of huggle #ifndef HUGGLE_TIMER - #define HUGGLE_TIMER 200 + #define HUGGLE_TIMER 200 #endif #ifndef HUGGLE_EX_CORE @@ -212,27 +214,27 @@ namespace std { typedef decltype(nullptr) nullptr_t; } //! Change this to DEBIAN / UBUNTU / WINDOWS to get automatic updates for selected channels #ifdef HUGGLE_SNAP - #define HUGGLE_UPDATER_PLATFORM_TYPE "linux/snap" - #define HUGGLE_GLOBAL_EXTENSION_PATH QCoreApplication::applicationDirPath() + "/extensions" + constexpr const char* HUGGLE_UPDATER_PLATFORM_TYPE = "linux/snap"; + #define HUGGLE_GLOBAL_EXTENSION_PATH QCoreApplication::applicationDirPath() + "/extensions" #elif defined __linux__ - #define HUGGLE_UPDATER_PLATFORM_TYPE "linux" - #define HUGGLE_GLOBAL_EXTENSION_PATH "/usr/local/share/huggle/extensions" + constexpr const char* HUGGLE_UPDATER_PLATFORM_TYPE = "linux"; + #define HUGGLE_GLOBAL_EXTENSION_PATH "/usr/local/share/huggle/extensions" #elif defined HUGGLE_WIN // This is needed by yaml cpp library, otherwise it won't build with MSVC #define YAML_CPP_DLL #ifdef _WIN64 - #define HUGGLE_UPDATER_PLATFORM_TYPE "windows/msvc/64" + constexpr const char* HUGGLE_UPDATER_PLATFORM_TYPE = "windows/msvc/64"; #elif defined __GNUC__ - #define HUGGLE_UPDATER_PLATFORM_TYPE "windows/gnu/32" + constexpr const char* HUGGLE_UPDATER_PLATFORM_TYPE = "windows/gnu/32"; #else - #define HUGGLE_UPDATER_PLATFORM_TYPE "windows/msvc/32" + constexpr const char* HUGGLE_UPDATER_PLATFORM_TYPE = "windows/msvc/32"; #endif - #define HUGGLE_GLOBAL_EXTENSION_PATH QCoreApplication::applicationDirPath() + "\\extensions" + #define HUGGLE_GLOBAL_EXTENSION_PATH QCoreApplication::applicationDirPath() + "\\extensions" #elif defined HUGGLE_MACX - #define HUGGLE_GLOBAL_EXTENSION_PATH QCoreApplication::applicationDirPath() + "/../PlugIns" - #define HUGGLE_UPDATER_PLATFORM_TYPE "mac" + #define HUGGLE_GLOBAL_EXTENSION_PATH QCoreApplication::applicationDirPath() + "/../PlugIns" + constexpr const char* HUGGLE_UPDATER_PLATFORM_TYPE = "mac"; #else - #define HUGGLE_UPDATER_PLATFORM_TYPE "unknown" + constexpr const char* HUGGLE_UPDATER_PLATFORM_TYPE = "unknown"; #endif // This function help us clear any qlist that contains pointers @@ -270,6 +272,6 @@ namespace std { typedef decltype(nullptr) nullptr_t; } #endif //! Revid of edit that doesn't exist -#define WIKI_UNKNOWN_REVID -1 +constexpr int WIKI_UNKNOWN_REVID = -1; #endif // CONFIG_H diff --git a/src/huggle_core/deprecated/pythonengine.hpp b/src/huggle_core/deprecated/pythonengine.hpp index fda763fd4..f59109cb0 100644 --- a/src/huggle_core/deprecated/pythonengine.hpp +++ b/src/huggle_core/deprecated/pythonengine.hpp @@ -18,7 +18,7 @@ #ifndef PYTHONENGINE_H #define PYTHONENGINE_H -#define HUGGLE_EINVALIDQUERY 1 +constexpr int HUGGLE_EINVALIDQUERY = 1; #include #include diff --git a/src/huggle_core/exception.hpp b/src/huggle_core/exception.hpp index e8e80244c..4b99e4d1e 100644 --- a/src/huggle_core/exception.hpp +++ b/src/huggle_core/exception.hpp @@ -20,11 +20,11 @@ #ifndef DISABLE_BREAKPAD #ifdef __linux__ //linux code goes here - #define HUGGLE_BREAKPAD 0 + #define HUGGLE_BREAKPAD 0 #include "client/linux/handler/exception_handler.h" #elif _WIN32 // windows code goes here - #define HUGGLE_BREAKPAD 1 + #define HUGGLE_BREAKPAD 1 // This fixes the qdatetime bug which produces error with compiler on windows #define NOMINMAX // Ensure that NOMINMAX is there before including this file @@ -35,7 +35,7 @@ // remaining code must be surrounded with directives ////////////////////////////////////////////////////////////////////////// -#define HUGGLE_STACK 80 +constexpr int HUGGLE_STACK = 80; namespace Huggle { diff --git a/src/huggle_core/gc.hpp b/src/huggle_core/gc.hpp index 5235a2da6..3ce7ae18a 100644 --- a/src/huggle_core/gc.hpp +++ b/src/huggle_core/gc.hpp @@ -21,33 +21,33 @@ class QMutex; -#define HUGGLECONSUMER_WIKIEDIT 0 -#define HUGGLECONSUMER_QUEUE 1 -#define HUGGLECONSUMER_CORE_POSTPROCESS 2 -#define HUGGLECONSUMER_EDITQUERY 3 -#define HUGGLECONSUMER_REVERTQUERY 4 -#define HUGGLECONSUMER_MESSAGE_SEND 5 -#define HUGGLECONSUMER_HISTORYWIDGET 6 +constexpr int HUGGLECONSUMER_WIKIEDIT = 0; +constexpr int HUGGLECONSUMER_QUEUE = 1; +constexpr int HUGGLECONSUMER_CORE_POSTPROCESS = 2; +constexpr int HUGGLECONSUMER_EDITQUERY = 3; +constexpr int HUGGLECONSUMER_REVERTQUERY = 4; +constexpr int HUGGLECONSUMER_MESSAGE_SEND = 5; +constexpr int HUGGLECONSUMER_HISTORYWIDGET = 6; //! This is used to lock the message resource before it's passed to parent object -#define HUGGLECONSUMER_CORE_MESSAGE 7 -#define HUGGLECONSUMER_PROCESSOR 8 -#define HUGGLECONSUMER_MAINPEND 9 -#define HUGGLECONSUMER_QP 10 -#define HUGGLECONSUMER_QP_UNCHECKED 11 -#define HUGGLECONSUMER_QP_REVERTBUFFER 12 -#define HUGGLECONSUMER_QP_WATCHLIST 17 -#define HUGGLECONSUMER_MAINFORM_HISTORICAL 13 -#define HUGGLECONSUMER_QP_MODS 14 -#define HUGGLECONSUMER_REVERTQUERYTMR 16 -#define HUGGLECONSUMER_CALLBACK 20 -#define HUGGLECONSUMER_PYTHON 60 -#define HUGGLECONSUMER_JS_POOL 100 -#define HUGGLECONSUMER_CORE 800 +constexpr int HUGGLECONSUMER_CORE_MESSAGE = 7; +constexpr int HUGGLECONSUMER_PROCESSOR = 8; +constexpr int HUGGLECONSUMER_MAINPEND = 9; +constexpr int HUGGLECONSUMER_QP = 10; +constexpr int HUGGLECONSUMER_QP_UNCHECKED = 11; +constexpr int HUGGLECONSUMER_QP_REVERTBUFFER = 12; +constexpr int HUGGLECONSUMER_QP_WATCHLIST = 17; +constexpr int HUGGLECONSUMER_MAINFORM_HISTORICAL = 13; +constexpr int HUGGLECONSUMER_QP_MODS = 14; +constexpr int HUGGLECONSUMER_REVERTQUERYTMR = 16; +constexpr int HUGGLECONSUMER_CALLBACK = 20; +constexpr int HUGGLECONSUMER_PYTHON = 60; +constexpr int HUGGLECONSUMER_JS_POOL = 100; +constexpr int HUGGLECONSUMER_CORE = 800; // some macros so that people hate us #define GC_DECREF(collectable) if (collectable) collectable->DecRef(); collectable=nullptr #define GC_DECNAMEDREF(collectable, consumer) if(collectable) collectable->UnregisterConsumer(consumer); collectable=nullptr -#define GC_LIMIT 60 +constexpr int GC_LIMIT = 60; namespace Huggle { diff --git a/src/huggle_core/hugglefeed.hpp b/src/huggle_core/hugglefeed.hpp index 1d9fc1647..93903ceb0 100644 --- a/src/huggle_core/hugglefeed.hpp +++ b/src/huggle_core/hugglefeed.hpp @@ -18,9 +18,9 @@ #include #include "mediawikiobject.hpp" -#define HUGGLE_FEED_PROVIDER_IRC 0 -#define HUGGLE_FEED_PROVIDER_WIKI 1 -#define HUGGLE_FEED_PROVIDER_XMLRPC 2 +constexpr int HUGGLE_FEED_PROVIDER_IRC = 0; +constexpr int HUGGLE_FEED_PROVIDER_WIKI = 1; +constexpr int HUGGLE_FEED_PROVIDER_XMLRPC = 2; namespace Huggle { diff --git a/src/huggle_core/huggleprofiler.hpp b/src/huggle_core/huggleprofiler.hpp index 774807c31..f0aa9ebd4 100644 --- a/src/huggle_core/huggleprofiler.hpp +++ b/src/huggle_core/huggleprofiler.hpp @@ -44,7 +44,7 @@ namespace Huggle #define HUGGLE_PROFILER_PRINT_TIME(function) #define HUGGLE_PROFILER_RESET -#define HUGGLE_PROFILER_TIME 0 +constexpr int HUGGLE_PROFILER_TIME = 0; #define HUGGLE_PROFILER_INCRCALL #endif diff --git a/src/huggle_core/projectconfiguration.hpp b/src/huggle_core/projectconfiguration.hpp index db4261f07..cbf682837 100644 --- a/src/huggle_core/projectconfiguration.hpp +++ b/src/huggle_core/projectconfiguration.hpp @@ -25,7 +25,7 @@ // 1. Change them on 1 place // 2. Track them (we need to be able to find where these options // are being used) -#define ProjectConfig_IPScore_Key "score-ip" +constexpr const char* ProjectConfig_IPScore_Key = "score-ip"; namespace YAML { diff --git a/src/huggle_core/queryresult.hpp b/src/huggle_core/queryresult.hpp index a2181b056..b345c6a45 100644 --- a/src/huggle_core/queryresult.hpp +++ b/src/huggle_core/queryresult.hpp @@ -16,11 +16,11 @@ #include #include -#define HUGGLE_EUNKNOWN 1 -#define HUGGLE_ENOTLOGGEDIN 2 -#define HUGGLE_EKILLED 3 -#define HUGGLE_ETOKEN 4 -#define HUGGLE_EREADONLY 5 +constexpr int HUGGLE_EUNKNOWN = 1; +constexpr int HUGGLE_ENOTLOGGEDIN = 2; +constexpr int HUGGLE_EKILLED = 3; +constexpr int HUGGLE_ETOKEN = 4; +constexpr int HUGGLE_EREADONLY = 5; namespace Huggle { diff --git a/src/huggle_core/scripting/script.hpp b/src/huggle_core/scripting/script.hpp index f2abee2ab..df64579a6 100644 --- a/src/huggle_core/scripting/script.hpp +++ b/src/huggle_core/scripting/script.hpp @@ -26,26 +26,26 @@ // If you are working in different context than core, you can define your own IDs, but each context is prefixed // with some number so that you never get a conflicting number -#define HUGGLE_SCRIPT_HOOK_SHUTDOWN 0 -#define HUGGLE_SCRIPT_HOOK_EDIT_BEFORE_PRE_PROCESS 19 -#define HUGGLE_SCRIPT_HOOK_EDIT_PRE_PROCESS 1 -#define HUGGLE_SCRIPT_HOOK_EDIT_BEFORE_POST_PROCESS 2 -#define HUGGLE_SCRIPT_HOOK_EDIT_POST_PROCESS 3 -#define HUGGLE_SCRIPT_HOOK_EDIT_LOAD_TO_QUEUE 4 -#define HUGGLE_SCRIPT_HOOK_FEED_PROVIDERS_ON_INIT 5 -#define HUGGLE_SCRIPT_HOOK_EDIT_ON_REVERT 6 -#define HUGGLE_SCRIPT_HOOK_EDIT_ON_GOOD 7 -#define HUGGLE_SCRIPT_HOOK_EDIT_ON_SUSPICIOUS 8 -#define HUGGLE_SCRIPT_HOOK_EDIT_RESCORE 9 -#define HUGGLE_SCRIPT_HOOK_WARNING_FINISHED 10 -#define HUGGLE_SCRIPT_HOOK_REVERT_PREFLIGHT 11 -#define HUGGLE_SCRIPT_HOOK_LOCALCONFIG_WRITE 12 -#define HUGGLE_SCRIPT_HOOK_LOCALCONFIG_READ 13 -#define HUGGLE_SCRIPT_HOOK_HAN_GOOD 14 -#define HUGGLE_SCRIPT_HOOK_HAN_REVERT 15 -#define HUGGLE_SCRIPT_HOOK_HAN_MESSAGE 16 -#define HUGGLE_SCRIPT_HOOK_HAN_RESCORE 17 -#define HUGGLE_SCRIPT_HOOK_HAN_SUSPICIOUS 18 +constexpr int HUGGLE_SCRIPT_HOOK_SHUTDOWN = 0; +constexpr int HUGGLE_SCRIPT_HOOK_EDIT_BEFORE_PRE_PROCESS = 19; +constexpr int HUGGLE_SCRIPT_HOOK_EDIT_PRE_PROCESS = 1; +constexpr int HUGGLE_SCRIPT_HOOK_EDIT_BEFORE_POST_PROCESS = 2; +constexpr int HUGGLE_SCRIPT_HOOK_EDIT_POST_PROCESS = 3; +constexpr int HUGGLE_SCRIPT_HOOK_EDIT_LOAD_TO_QUEUE = 4; +constexpr int HUGGLE_SCRIPT_HOOK_FEED_PROVIDERS_ON_INIT = 5; +constexpr int HUGGLE_SCRIPT_HOOK_EDIT_ON_REVERT = 6; +constexpr int HUGGLE_SCRIPT_HOOK_EDIT_ON_GOOD = 7; +constexpr int HUGGLE_SCRIPT_HOOK_EDIT_ON_SUSPICIOUS = 8; +constexpr int HUGGLE_SCRIPT_HOOK_EDIT_RESCORE = 9; +constexpr int HUGGLE_SCRIPT_HOOK_WARNING_FINISHED = 10; +constexpr int HUGGLE_SCRIPT_HOOK_REVERT_PREFLIGHT = 11; +constexpr int HUGGLE_SCRIPT_HOOK_LOCALCONFIG_WRITE = 12; +constexpr int HUGGLE_SCRIPT_HOOK_LOCALCONFIG_READ = 13; +constexpr int HUGGLE_SCRIPT_HOOK_HAN_GOOD = 14; +constexpr int HUGGLE_SCRIPT_HOOK_HAN_REVERT = 15; +constexpr int HUGGLE_SCRIPT_HOOK_HAN_MESSAGE = 16; +constexpr int HUGGLE_SCRIPT_HOOK_HAN_RESCORE = 17; +constexpr int HUGGLE_SCRIPT_HOOK_HAN_SUSPICIOUS = 18; // 20 (19 already in use) namespace Huggle diff --git a/src/huggle_core/wikiutil.hpp b/src/huggle_core/wikiutil.hpp index 986850800..17871941b 100644 --- a/src/huggle_core/wikiutil.hpp +++ b/src/huggle_core/wikiutil.hpp @@ -20,11 +20,11 @@ #include "revertquery.hpp" #include "wikipage.hpp" -#define EvaluatePageErrorReason_Missing 0 -#define EvaluatePageErrorReason_Unknown 1 -#define EvaluatePageErrorReason_NULL 2 -#define EvaluatePageErrorReason_NoRevs 3 -#define EvaluatePageErrorReason_Running 4 +constexpr int EvaluatePageErrorReason_Missing = 0; +constexpr int EvaluatePageErrorReason_Unknown = 1; +constexpr int EvaluatePageErrorReason_NULL = 2; +constexpr int EvaluatePageErrorReason_NoRevs = 3; +constexpr int EvaluatePageErrorReason_Running = 4; namespace Huggle { diff --git a/src/huggle_ui/exceptionwindow.hpp b/src/huggle_ui/exceptionwindow.hpp index 318e2ec6f..de9d0c35f 100644 --- a/src/huggle_ui/exceptionwindow.hpp +++ b/src/huggle_ui/exceptionwindow.hpp @@ -14,9 +14,9 @@ #include #if _MSC_VER -#define TRACING 0 + constexpr int TRACING = 0; #else -#define TRACING 1 + constexpr int TRACING = 1; #endif #include diff --git a/src/huggle_ui/huggletool.hpp b/src/huggle_ui/huggletool.hpp index e94abab51..df2da7362 100644 --- a/src/huggle_ui/huggletool.hpp +++ b/src/huggle_ui/huggletool.hpp @@ -26,11 +26,11 @@ namespace Ui class HuggleTool; } -#define HUGGLETOOL_DONE 0 -#define HUGGLETOOL_DOWNLOADING_WIKI_EDIT 1 -#define HUGGLETOOL_PROCESS_WIKI_EDIT 2 -#define HUGGLETOOL_RETRIEVING_USER_INFO 3 -#define HUGGLETOOL_RETRIEVING_USER_LAST_EDIT 4 +constexpr int HUGGLETOOL_DONE = 0; +constexpr int HUGGLETOOL_DOWNLOADING_WIKI_EDIT = 1; +constexpr int HUGGLETOOL_PROCESS_WIKI_EDIT = 2; +constexpr int HUGGLETOOL_RETRIEVING_USER_INFO = 3; +constexpr int HUGGLETOOL_RETRIEVING_USER_LAST_EDIT = 4; namespace Huggle diff --git a/src/huggle_ui/loginform.cpp b/src/huggle_ui/loginform.cpp index edd39ca4e..959432cf2 100644 --- a/src/huggle_ui/loginform.cpp +++ b/src/huggle_ui/loginform.cpp @@ -37,13 +37,13 @@ #include "updateform.hpp" #include "ui_loginform.h" -#define LOGINFORM_LOGIN 0 -#define LOGINFORM_SITEINFO 1 -#define LOGINFORM_WHITELIST 3 -#define LOGINFORM_LOCALCONFIG 4 -#define LOGINFORM_USERCONFIG 5 -#define LOGINFORM_USERINFO 6 -#define LOGINFORM_YAMLCONFIG 7 +constexpr int LOGINFORM_LOGIN = 0; +constexpr int LOGINFORM_SITEINFO = 1; +constexpr int LOGINFORM_WHITELIST = 3; +constexpr int LOGINFORM_LOCALCONFIG = 4; +constexpr int LOGINFORM_USERCONFIG = 5; +constexpr int LOGINFORM_USERINFO = 6; +constexpr int LOGINFORM_YAMLCONFIG = 7; using namespace Huggle; diff --git a/src/huggle_ui/mainwindow.hpp b/src/huggle_ui/mainwindow.hpp index 678dc516a..0bf194a22 100644 --- a/src/huggle_ui/mainwindow.hpp +++ b/src/huggle_ui/mainwindow.hpp @@ -24,18 +24,18 @@ #undef DeleteForm #endif -#define HUGGLE_MW_MENU_SYSTEM 1 -#define HUGGLE_MW_MENU_USER 2 -#define HUGGLE_MW_MENU_PAGE 3 -#define HUGGLE_MW_MENU_TOOLS 4 -#define HUGGLE_MW_MENU_QUEUE 5 -#define HUGGLE_MW_MENU_HAN 6 -#define HUGGLE_MW_MENU_GOTO 7 -#define HUGGLE_MW_MENU_HELP 8 -#define HUGGLE_MW_MENU_SCRIPTING 9 -#define HUGGLE_MW_MENU_DEBUG 10 +constexpr int HUGGLE_MW_MENU_SYSTEM = 1; +constexpr int HUGGLE_MW_MENU_USER = 2; +constexpr int HUGGLE_MW_MENU_PAGE = 3; +constexpr int HUGGLE_MW_MENU_TOOLS = 4; +constexpr int HUGGLE_MW_MENU_QUEUE = 5; +constexpr int HUGGLE_MW_MENU_HAN = 6; +constexpr int HUGGLE_MW_MENU_GOTO = 7; +constexpr int HUGGLE_MW_MENU_HELP = 8; +constexpr int HUGGLE_MW_MENU_SCRIPTING = 9; +constexpr int HUGGLE_MW_MENU_DEBUG = 10; -#define HUGGLE_MW_MENUITEM_EXIT 1 +constexpr int HUGGLE_MW_MENUITEM_EXIT = 1; class QLabel; class QTimer; diff --git a/src/huggle_ui/overlaybox.hpp b/src/huggle_ui/overlaybox.hpp index 316e0b703..023a6f712 100644 --- a/src/huggle_ui/overlaybox.hpp +++ b/src/huggle_ui/overlaybox.hpp @@ -22,8 +22,8 @@ namespace Ui class OverlayBox; } -#define HUGGLE_OVERLAY_DEFAULT_HEIGHT 80 -#define HUGGLE_OVERLAY_DEFAULT_WIDTH 400 +constexpr int HUGGLE_OVERLAY_DEFAULT_HEIGHT = 80; +constexpr int HUGGLE_OVERLAY_DEFAULT_WIDTH = 400; namespace Huggle { diff --git a/src/huggle_ui/scripting/uiscript.hpp b/src/huggle_ui/scripting/uiscript.hpp index 424fa9b6c..6a906ad58 100644 --- a/src/huggle_ui/scripting/uiscript.hpp +++ b/src/huggle_ui/scripting/uiscript.hpp @@ -19,11 +19,11 @@ class QAction; class QMenu; -#define HUGGLE_SCRIPT_HOOK_LOGIN_OPEN 20000 -#define HUGGLE_SCRIPT_HOOK_MAIN_OPEN 20001 -#define HUGGLE_SCRIPT_HOOK_SPEEDY_FINISHED 20010 -#define HUGGLE_SCRIPT_HOOK_ON_RENDER 20011 -#define HUGGLE_SCRIPT_HOOK_ON_STATUSBAR_UPDATE 20012 +constexpr int HUGGLE_SCRIPT_HOOK_LOGIN_OPEN = 20000; +constexpr int HUGGLE_SCRIPT_HOOK_MAIN_OPEN = 20001; +constexpr int HUGGLE_SCRIPT_HOOK_SPEEDY_FINISHED = 20010; +constexpr int HUGGLE_SCRIPT_HOOK_ON_RENDER = 20011; +constexpr int HUGGLE_SCRIPT_HOOK_ON_STATUSBAR_UPDATE = 20012; namespace Huggle {