#include #include #include #include "Version.h" QString version_major(const QString& version) {return version.split(".")[0];} QString version_minor(const QString& version) {return version.split(".")[1];} QString version_micro(const QString& version) {return version.split(".")[2];} QString version_nano(const QString& version) {return version.split(".")[3];} /** returns true if v1 is less than v2. */ bool version_lt(const QString& v1, const QString& v2) { if (version_major(v1).toInt()version_major(v2).toInt()) return false; if (version_minor(v1).toInt()version_minor(v2).toInt()) return false; if (version_micro(v1).toInt()version_micro(v2).toInt()) return false; if (version_nano(v1).toInt()version_nano(v2).toInt()) return false; return false; } /** returns true if v1 equal v2. */ bool version_eq(const QString& v1, const QString& v2) { return version_major(v1)==version_major(v2) && version_minor(v1)==version_minor(v2) && version_micro(v1)==version_micro(v2) && version_nano(v1)==version_nano(v2); } /** returns true if v1 is less than or equal v2. */ bool version_le(const QString& v1, const QString& v2) { return version_lt(v1, v2) || version_eq(v1, v2); } /** returns true if v1 is greater than or equal v2. */ bool version_ge(const QString& v1, const QString& v2) { return !version_lt(v1, v2); } /** returns true if v1 is greater than v2. */ bool version_gt(const QString& v1, const QString& v2) { return !version_le(v1, v2); }