secrecy.cpp

00001 /*
00002     This file is part of libkabc.
00003     Copyright (c) 2002 Tobias Koenig <tokoe@kde.org>
00004 
00005     This library is free software; you can redistribute it and/or
00006     modify it under the terms of the GNU Library General Public
00007     License as published by the Free Software Foundation; either
00008     version 2 of the License, or (at your option) any later version.
00009 
00010     This library is distributed in the hope that it will be useful,
00011     but WITHOUT ANY WARRANTY; without even the implied warranty of
00012     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00013     Library General Public License for more details.
00014 
00015     You should have received a copy of the GNU Library General Public License
00016     along with this library; see the file COPYING.LIB.  If not, write to
00017     the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
00018     Boston, MA 02110-1301, USA.
00019 */
00020 
00021 #include <klocale.h>
00022 
00023 #include "secrecy.h"
00024 
00025 using namespace KABC;
00026 
00027 Secrecy::Secrecy( int type )
00028   : mType( type )
00029 {
00030 }
00031 
00032 bool Secrecy::operator==( const Secrecy &s ) const
00033 {
00034   return ( mType == s.mType );
00035 }
00036 
00037 bool Secrecy::operator!=( const Secrecy &s ) const
00038 {
00039   return !( *this == s );
00040 }
00041 
00042 bool Secrecy::isValid() const
00043 {
00044   return mType != Invalid;
00045 }
00046 
00047 void Secrecy::setType( int type )
00048 {
00049   mType = type;
00050 }
00051 
00052 int Secrecy::type() const
00053 {
00054   return mType;
00055 }
00056 
00057 Secrecy::TypeList Secrecy::typeList()
00058 {
00059   static TypeList list;
00060 
00061   if ( list.isEmpty() )
00062     list << Public << Private << Confidential;
00063 
00064   return list;
00065 }
00066 
00067 QString Secrecy::typeLabel( int type )
00068 {
00069   switch ( type ) {
00070     case Public:
00071       return i18n( "Public" );
00072       break;
00073     case Private:
00074       return i18n( "Private" );
00075       break;
00076     case Confidential:
00077       return i18n( "Confidential" );
00078       break;
00079     default:
00080       return i18n( "Unknown type" );
00081       break;
00082   }
00083 }
00084 
00085 QString Secrecy::asString() const
00086 {
00087   return typeLabel( mType );
00088 }
00089 
00090 QDataStream &KABC::operator<<( QDataStream &s, const Secrecy &secrecy )
00091 {
00092     return s << secrecy.mType;
00093 }
00094 
00095 QDataStream &KABC::operator>>( QDataStream &s, Secrecy &secrecy )
00096 {
00097     s >> secrecy.mType;
00098 
00099     return s;
00100 }
KDE Home | KDE Accessibility Home | Description of Access Keys