diff options
author | Petr Mrázek <peterix@gmail.com> | 2016-01-02 00:35:54 +0100 |
---|---|---|
committer | Petr Mrázek <peterix@gmail.com> | 2016-01-02 00:35:54 +0100 |
commit | a008efd24e81441a23ff3e81320ac3522251327e (patch) | |
tree | f73886925814cc4cfb397be9f8342f7963d8f8d7 /logic/java/JavaInstall.cpp | |
parent | 5f57df81109d268c79b34aac799fc7694ec5882a (diff) | |
download | MultiMC-a008efd24e81441a23ff3e81320ac3522251327e.tar MultiMC-a008efd24e81441a23ff3e81320ac3522251327e.tar.gz MultiMC-a008efd24e81441a23ff3e81320ac3522251327e.tar.lz MultiMC-a008efd24e81441a23ff3e81320ac3522251327e.tar.xz MultiMC-a008efd24e81441a23ff3e81320ac3522251327e.zip |
GH-1365 rework java version parsing and sorting
Diffstat (limited to 'logic/java/JavaInstall.cpp')
-rw-r--r-- | logic/java/JavaInstall.cpp | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/logic/java/JavaInstall.cpp b/logic/java/JavaInstall.cpp new file mode 100644 index 00000000..bb262b6e --- /dev/null +++ b/logic/java/JavaInstall.cpp @@ -0,0 +1,28 @@ +#include "JavaInstall.h" +#include <MMCStrings.h> + +bool JavaInstall::operator<(const JavaInstall &rhs) +{ + auto archCompare = Strings::naturalCompare(arch, rhs.arch, Qt::CaseInsensitive); + if(archCompare != 0) + return archCompare < 0; + if(id < rhs.id) + { + return true; + } + if(id > rhs.id) + { + return false; + } + return Strings::naturalCompare(path, rhs.path, Qt::CaseInsensitive) < 0; +} + +bool JavaInstall::operator==(const JavaInstall &rhs) +{ + return arch == rhs.arch && id == rhs.id && path == rhs.path; +} + +bool JavaInstall::operator>(const JavaInstall &rhs) +{ + return (!operator<(rhs)) && (!operator==(rhs)); +} |