1 #ifndef Header_UtilsVersion 2 #define Header_UtilsVersion 3 4 #define TEXSTUDIO "TeXstudio" 5 6 7 #define TXSVERSION "4.1.2" 8 9 #define TXSVERSION_NUMERIC 0x040102 10 11 12 13 //#define IS_DEVELOPMENT_VERSION (TXSVERSION_NUMERIC & 0x000001) 14 #define IS_DEVELOPMENT_VERSION 0 // odd numbers have not been used at all, git version gives a much clearer insight about the used version 15 16 extern const char *TEXSTUDIO_GIT_REVISION; 17 18 #ifdef QT_NO_DEBUG 19 #define COMPILED_DEBUG_OR_RELEASE "R" 20 #else 21 #define COMPILED_DEBUG_OR_RELEASE "D" 22 #endif 23 24 #include "mostQtHeaders.h" 25 26 int gitRevisionToInt(const char *); 27 28 class Version 29 { 30 public: 31 enum VersionCompareResult {Invalid = -2, Lower = -1, Same = 0, Higher = 1}; 32 static VersionCompareResult compareStringVersion(const QString &v1, const QString &v2); 33 static VersionCompareResult compareIntVersion(const QList<int> &v1, const QList<int> &v2); 34 static QList<int> parseVersionNumber(const QString &versionNumber); 35 static bool versionNumberIsValid(const QString &versionNumber); 36 static int parseGitRevisionNumber(const QString &revision); 37 Version()38 Version() : revision(0) {} versionNumber(number)39 Version(QString number, int rev = 0) : versionNumber(number), revision(rev) {} versionNumber(number)40 Version(QString number, QString tp,int rev = 0) : versionNumber(number), type(tp), revision(rev) {} 41 static Version current(); 42 43 QString platform; // "win" or "mac" or "linux" 44 QString versionNumber; // "2.10.2" 45 QString type; // "stable", "release candidate" or "development" 46 int revision; // 5310, now changed to revision after tag as deliverd by "git describe" 47 48 bool operator > (const Version &other) const; 49 50 bool isEmpty() const; 51 bool isValid() const; 52 53 }; 54 #endif // UTILSVERSION_H 55