KCal Library
exceptions.cpp
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00036 #include "exceptions.h"
00037 #include "calformat.h"
00038
00039 #include <klocale.h>
00040
00041 using namespace KCal;
00042
00043 Exception::Exception( const QString &message )
00044 {
00045 mMessage = message;
00046 }
00047
00048 Exception::~Exception()
00049 {
00050 }
00051
00052 QString Exception::message()
00053 {
00054 if ( mMessage.isEmpty() ) {
00055 return i18n( "%1 Error", CalFormat::application() );
00056 } else {
00057 return mMessage;
00058 }
00059 }
00060
00065
00066 class KCal::ErrorFormat::Private
00067 {
00068 public:
00069 ErrorCodeFormat mCode;
00070 };
00071
00072
00073 ErrorFormat::ErrorFormat( ErrorCodeFormat code, const QString &message )
00074 : Exception( message ), d( new KCal::ErrorFormat::Private )
00075 {
00076 d->mCode = code;
00077 }
00078
00079 ErrorFormat::~ErrorFormat()
00080 {
00081 delete d;
00082 }
00083
00084 QString ErrorFormat::message()
00085 {
00086 QString message = "";
00087
00088 switch ( d->mCode ) {
00089 case LoadError:
00090 message = i18n( "Load Error" );
00091 break;
00092 case SaveError:
00093 message = i18n( "Save Error" );
00094 break;
00095 case ParseErrorIcal:
00096 message = i18n( "Parse Error in libical" );
00097 break;
00098 case ParseErrorKcal:
00099 message = i18n( "Parse Error in libkcal" );
00100 break;
00101 case NoCalendar:
00102 message = i18n( "No calendar component found." );
00103 break;
00104 case CalVersion1:
00105 message = i18n( "vCalendar Version 1.0 detected." );
00106 break;
00107 case CalVersion2:
00108 message = i18n( "iCalendar Version 2.0 detected." );
00109 break;
00110 case CalVersionUnknown:
00111 message = i18n( "Unknown calendar format detected." );
00112 break;
00113 case Restriction:
00114 message = i18n( "Restriction violation" );
00115 break;
00116 case NoWritableFound:
00117 message = i18n( "No writable resource found" );
00118 break;
00119 case UserCancel:
00120
00121 break;
00122 }
00123
00124 if ( !mMessage.isEmpty() ) {
00125 message += ": " + mMessage;
00126 }
00127
00128 return message;
00129 }
00130
00131 ErrorFormat::ErrorCodeFormat ErrorFormat::errorCode()
00132 {
00133 return d->mCode;
00134 }