From 37333bf25ad9a4c538250f5af2f9f1d666362883 Mon Sep 17 00:00:00 2001 From: toma Date: Wed, 25 Nov 2009 17:56:58 +0000 Subject: Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. BUG:215923 git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdeadmin@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da --- ksysv/Data.cpp | 190 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 190 insertions(+) create mode 100644 ksysv/Data.cpp (limited to 'ksysv/Data.cpp') diff --git a/ksysv/Data.cpp b/ksysv/Data.cpp new file mode 100644 index 0000000..caa4a1b --- /dev/null +++ b/ksysv/Data.cpp @@ -0,0 +1,190 @@ +// (c) 2000 Peter Putzer + +#include +#include + +#include "Data.h" + +KSVData::KSVData () +{ + mNrChanged = mLabelChanged = mFilenameChanged = mOtherChanged = mNewEntry = false; + mNr = mOldNr = 0; +} + +KSVData::KSVData (const QString& file, const QString& path, + const QString& label, Q_INT8 nr) + : mPath (path), + mLabel (label), mFilename (file) +{ + mNrChanged = mLabelChanged = mFilenameChanged = mOtherChanged = mNewEntry = false; + mNr = mOldNr = 0; + setNumber (nr); + mNrChanged = false; +} + +KSVData::KSVData (const KSVData& rhs) + : mPath (rhs.mPath), + mLabel (rhs.mLabel), + mFilename (rhs.mFilename), + mRunlevel (rhs.mRunlevel), + mNr (rhs.mNr), + mOldLabel (rhs.mOldLabel), + mOldFilename (rhs.mOldFilename), + mOriginalRunlevel (rhs.mOriginalRunlevel), + mOldNr (rhs.mOldNr), + mNrChanged (rhs.mNrChanged), + mLabelChanged (rhs.mLabelChanged), + mOtherChanged (rhs.mOtherChanged), + mFilenameChanged (rhs.mFilenameChanged), + mNewEntry (rhs.mNewEntry), mNumberString (rhs.mNumberString) +{ +} + +const KSVData& KSVData::operator= (const KSVData& rhs) +{ + if (this ==&rhs) + return *this; + + mPath = rhs.mPath; + mLabel = rhs.mLabel; + mFilename = rhs.mFilename; + mRunlevel = rhs.mRunlevel; + mNr = rhs.mNr; + + mOldLabel = rhs.mOldLabel; + mOldFilename = rhs.mOldFilename; + mOriginalRunlevel = rhs.mOriginalRunlevel; + mOldNr = rhs.mOldNr; + + mNrChanged = rhs.mNrChanged; + mLabelChanged = rhs.mLabelChanged; + mOtherChanged = rhs.mOtherChanged; + mFilenameChanged = rhs.mFilenameChanged; + mNewEntry = rhs.mNewEntry; + + mNumberString = rhs.mNumberString; + + return *this; +} + +bool KSVData::operator== (const KSVData& rhs) const +{ + return mLabel == rhs.mLabel && + mPath == rhs.mPath && mFilename == rhs.mFilename; + // return mPath == rhs.mPath && + // mLabel == rhs.mLabel && + // mFilename == rhs.mFilename && + // mRunlevel == rhs.mRunlevel && + // mNr == rhs.mNr && + + // mOldLabel == rhs.mOldLabel && + // mOldFilename == rhs.mOldFilename && + // mOriginalRunlevel == rhs.mOriginalRunlevel && + // mOldNr == rhs.mOldNr && + + // mNrChanged == rhs.mNrChanged && + // mLabelChanged == rhs.mLabelChanged && + // mOtherChanged == rhs.mOtherChanged && + // mFilenameChanged == rhs.mFilenameChanged && + // mNewEntry == rhs.mNewEntry; +} + +bool KSVData::operator< (const KSVData& rhs) const +{ + return mNr< rhs.mNr; +} + +void KSVData::setPath (const QString& s) +{ + if (mPath != s) + mOtherChanged = true; + + mPath = s; +} + +void KSVData::setLabel (const QString& s) +{ + if (!mLabelChanged && mLabel != s) + { + mOldLabel = mLabel; + mLabelChanged = true; + } + + mLabel = s; +} + +void KSVData::setFilename (const QString& s) +{ + if (!mFilenameChanged && mFilename != s) + { + mOldFilename = mFilename; + mFilenameChanged = true; + } + + mFilename = s; +} + +void KSVData::setRunlevel (const QString& s) +{ + mRunlevel = s; +} + +void KSVData::setNumber (Q_INT8 nr) +{ + if (!mNrChanged && mNr != nr) + { + mOldNr = mNr; + mNrChanged = true; + } + + mNr = nr; + mNumberString.sprintf ("%.2i", nr); +} + +void KSVData::setChanged (bool val) +{ + mNrChanged = mLabelChanged = mOtherChanged = mFilenameChanged = val; +} + +void KSVData::setOriginalRunlevel (const QString& rl) +{ + mOriginalRunlevel = rl; +} + +QDataStream& operator<< (QDataStream& stream, const KSVData& data) +{ + return stream << data.mPath + << data.mFilename + << data.mNr + << data.mRunlevel + << data.mLabel + << data.mOldFilename + << data.mOldNr + << data.mOldLabel + << data.mNrChanged + << data.mLabelChanged + << data.mFilenameChanged + << data.mOtherChanged << data.mOriginalRunlevel << data.mNewEntry; + +} + +QDataStream& operator>> (QDataStream& stream, KSVData& data) +{ + stream >> data.mPath + >> data.mFilename + >> data.mNr + >> data.mRunlevel + >> data.mLabel + >> data.mOldFilename + >> data.mOldNr + >> data.mOldLabel + >> data.mNrChanged + >> data.mLabelChanged + >> data.mFilenameChanged + >> data.mOtherChanged >> data.mOriginalRunlevel >> data.mNewEntry; + + + data.mNumberString.sprintf ("%.2i", data.mNr); + + return stream; +} -- cgit v1.2.3