source: projectionDesigner/trunk/projdesigner/src/Version.cpp @ 373

Last change on this file since 373 was 4, checked in by Torben Dannhauer, 15 years ago
File size: 1.8 KB
Line 
1#include <QString>
2#include <QDebug>
3#include <QStringList>
4#include "Version.h"
5
6QString version_major(const QString& version) {return version.split(".")[0];}
7QString version_minor(const QString& version) {return version.split(".")[1];}
8QString version_micro(const QString& version) {return version.split(".")[2];}
9QString version_nano(const QString& version)  {return version.split(".")[3];}
10
11/** returns true if v1 is less than v2. */
12bool version_lt(const QString& v1, const QString& v2)
13{
14                if (version_major(v1).toInt()<version_major(v2).toInt()) return true;
15                if (version_major(v1).toInt()>version_major(v2).toInt()) return false;
16                if (version_minor(v1).toInt()<version_minor(v2).toInt()) return true;
17                if (version_minor(v1).toInt()>version_minor(v2).toInt()) return false;
18                if (version_micro(v1).toInt()<version_micro(v2).toInt()) return true;
19                if (version_micro(v1).toInt()>version_micro(v2).toInt()) return false;
20                if (version_nano(v1).toInt()<version_nano(v2).toInt()) return true;
21                if (version_nano(v1).toInt()>version_nano(v2).toInt()) return false;
22                return false;
23}
24
25/** returns true if v1 equal v2. */
26bool version_eq(const QString& v1, const QString& v2)
27{
28                return 
29                                version_major(v1)==version_major(v2)
30                                && version_minor(v1)==version_minor(v2)
31                                && version_micro(v1)==version_micro(v2)
32                                && version_nano(v1)==version_nano(v2);
33}
34
35/** returns true if v1 is less than or equal v2. */
36bool version_le(const QString& v1, const QString& v2)
37{
38                return version_lt(v1, v2) || version_eq(v1, v2);
39}
40
41/** returns true if v1 is greater than or equal v2. */
42bool version_ge(const QString& v1, const QString& v2)
43{
44                return !version_lt(v1, v2);
45}
46
47/** returns true if v1 is greater than v2. */
48bool version_gt(const QString& v1, const QString& v2)
49{
50                return !version_le(v1, v2);
51}
52
Note: See TracBrowser for help on using the repository browser.