1
/***************************************************************************
2
qgsprojectfile.h - description
4
begin : Sun 15 dec 2007
5
copyright : (C) 2007 by Magnus Homann
6
email : magnus at homann.se
7
***************************************************************************/
9
/***************************************************************************
11
* This program is free software; you can redistribute it and/or modify *
12
* it under the terms of the GNU General Public License as published by *
13
* the Free Software Foundation; either version 2 of the License, or *
14
* (at your option) any later version. *
16
***************************************************************************/
19
#include <QStringList>
21
#include "qgslogger.h"
22
#include "qgsprojectversion.h"
24
QgsProjectVersion::QgsProjectVersion( int major, int minor, int sub, QString name )
32
QgsProjectVersion::QgsProjectVersion( QString string )
34
QString pre = string.section( '-', 0, 0 );
36
QStringList fileVersionParts = pre.section( "-", 0 ).split( "." );
41
mMajor = fileVersionParts.at( 0 ).toInt();
43
if ( fileVersionParts.size() > 1 )
45
mMinor = fileVersionParts.at( 1 ).toInt();
47
if ( fileVersionParts.size() > 2 )
49
mSub = fileVersionParts.at( 2 ).toInt();
51
mName = string.section( '-', 1 );
53
QgsDebugMsg( QString( "Version is set to " ) + text() );
57
/*! Boolean equal operator
59
bool QgsProjectVersion::operator==( const QgsProjectVersion &other )
61
return (( mMajor == other.mMajor ) &&
62
( mMinor == other.mMinor ) &&
63
( mSub == other.mSub ) );
66
/*! Boolean >= operator
68
bool QgsProjectVersion::operator>=( const QgsProjectVersion &other )
70
return (( mMajor >= other.mMajor ) ||
71
(( mMajor == other.mMajor ) && ( mMinor >= other.mMinor ) ) ||
72
(( mMajor == other.mMajor ) && ( mMinor == other.mMinor ) && ( mSub >= other.mSub ) ) );
75
/*! Boolean > operator
77
bool QgsProjectVersion::operator>( const QgsProjectVersion &other )
79
return (( mMajor > other.mMajor ) ||
80
(( mMajor == other.mMajor ) && ( mMinor > other.mMinor ) ) ||
81
(( mMajor == other.mMajor ) && ( mMinor == other.mMinor ) && ( mSub > other.mSub ) ) );
84
QString QgsProjectVersion::text()
88
return QString( "%1.%2.%3" ).arg( mMajor ).arg( mMinor ).arg( mSub );
92
return QString( "%1.%2.%3-%4" ).arg( mMajor ).arg( mMinor ).arg( mSub ).arg( mName );