summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--libkdepim/addresseeview.cpp18
-rw-r--r--libkdepim/addresseeview.h2
-rw-r--r--libkdepim/kincidenceformatter.cpp6
3 files changed, 22 insertions, 4 deletions
diff --git a/libkdepim/addresseeview.cpp b/libkdepim/addresseeview.cpp
index deafd34..70fc57c 100644
--- a/libkdepim/addresseeview.cpp
+++ b/libkdepim/addresseeview.cpp
@@ -1,137 +1,153 @@
1/* 1/*
2 This file is part of libkdepim. 2 This file is part of libkdepim.
3 3
4 Copyright (c) 2003 Tobias Koenig <tokoe@kde.org> 4 Copyright (c) 2003 Tobias Koenig <tokoe@kde.org>
5 5
6 This library is free software; you can redistribute it and/or 6 This library is free software; you can redistribute it and/or
7 modify it under the terms of the GNU Library General Public 7 modify it under the terms of the GNU Library General Public
8 License as published by the Free Software Foundation; either 8 License as published by the Free Software Foundation; either
9 version 2 of the License, or (at your option) any later version. 9 version 2 of the License, or (at your option) any later version.
10 10
11 This library is distributed in the hope that it will be useful, 11 This library is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 Library General Public License for more details. 14 Library General Public License for more details.
15 15
16 You should have received a copy of the GNU Library General Public License 16 You should have received a copy of the GNU Library General Public License
17 along with this library; see the file COPYING.LIB. If not, write to 17 along with this library; see the file COPYING.LIB. If not, write to
18 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 18 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
19 Boston, MA 02111-1307, USA. 19 Boston, MA 02111-1307, USA.
20*/ 20*/
21 21
22#include <kabc/address.h> 22#include <kabc/address.h>
23#include <kabc/addressee.h> 23#include <kabc/addressee.h>
24#include <kabc/phonenumber.h> 24#include <kabc/phonenumber.h>
25#include <kglobal.h> 25#include <kglobal.h>
26//US#include <kglobalsettings.h> 26//US#include <kglobalsettings.h>
27#include <kiconloader.h> 27#include <kiconloader.h>
28#include <klocale.h> 28#include <klocale.h>
29//US #include <kstringhandler.h> 29//US #include <kstringhandler.h>
30#include <qscrollview.h> 30#include <qscrollview.h>
31#include <qregexp.h> 31#include <qregexp.h>
32#include <qfile.h> 32#include <qfile.h>
33#include <qapplication.h> 33#include <qapplication.h>
34 34
35 35
36#include "addresseeview.h" 36#include "addresseeview.h"
37 37
38
39#ifndef DESKTOP_VERSION
40#include <qtopia/qcopenvelope_qws.h>
41#endif
42
43
44
38using namespace KPIM; 45using namespace KPIM;
39 46
40AddresseeView::AddresseeView( QWidget *parent, const char *name ) 47AddresseeView::AddresseeView( QWidget *parent, const char *name )
41//US : KTextBrowser( parent, name ) 48//US : KTextBrowser( parent, name )
42 : QTextBrowser( parent, name ) 49 : QTextBrowser( parent, name )
43 50
44 51
45{ 52{
46//US setWrapPolicy( QTextEdit::AtWordBoundary ); 53//US setWrapPolicy( QTextEdit::AtWordBoundary );
47 setLinkUnderline( false ); 54 setLinkUnderline( false );
48 // setVScrollBarMode( QScrollView::AlwaysOff ); 55 // setVScrollBarMode( QScrollView::AlwaysOff );
49 //setHScrollBarMode( QScrollView::AlwaysOff ); 56 //setHScrollBarMode( QScrollView::AlwaysOff );
50 57
51//US QStyleSheet *sheet = styleSheet(); 58//US QStyleSheet *sheet = styleSheet();
52//US QStyleSheetItem *link = sheet->item( "a" ); 59//US QStyleSheetItem *link = sheet->item( "a" );
53//US link->setColor( KGlobalSettings::linkColor() ); 60//US link->setColor( KGlobalSettings::linkColor() );
54 61
55} 62}
63void AddresseeView::setSource(const QString& n)
64{
65 //qDebug("********AddresseeView::setSource %s", n.mid(7).latin1());
66#ifndef DESKTOP_VERSION
67 QCopEnvelope e("QPE/Application/kmpi", "newMail(QString)");
68 e << n.mid(7);
69#endif
56 70
71}
57void AddresseeView::setAddressee( const KABC::Addressee& addr ) 72void AddresseeView::setAddressee( const KABC::Addressee& addr )
58{ 73{
59 mAddressee = addr; 74 mAddressee = addr;
60 75
61 // clear view 76 // clear view
62 setText( QString::null ); 77 setText( QString::null );
63 78
64 if ( mAddressee.isEmpty() ) 79 if ( mAddressee.isEmpty() )
65 return; 80 return;
66 81
67 QString name = ( mAddressee.formattedName().isEmpty() ? 82 QString name = ( mAddressee.formattedName().isEmpty() ?
68 mAddressee.assembledName() : mAddressee.formattedName() ); 83 mAddressee.assembledName() : mAddressee.formattedName() );
69 84
70 QString dynamicPart; 85 QString dynamicPart;
71 86
72 KABC::PhoneNumber::List phones = mAddressee.phoneNumbers(); 87 KABC::PhoneNumber::List phones = mAddressee.phoneNumbers();
73 KABC::PhoneNumber::List::ConstIterator phoneIt; 88 KABC::PhoneNumber::List::ConstIterator phoneIt;
74 for ( phoneIt = phones.begin(); phoneIt != phones.end(); ++phoneIt ) { 89 for ( phoneIt = phones.begin(); phoneIt != phones.end(); ++phoneIt ) {
75 dynamicPart += QString( 90 dynamicPart += QString(
76 "<tr><td align=\"right\"><b>%1</b></td>" 91 "<tr><td align=\"right\"><b>%1</b></td>"
77 "<td align=\"left\">%2</td></tr>" ) 92 "<td align=\"left\">%2</td></tr>" )
78 .arg( KABC::PhoneNumber::typeLabel( (*phoneIt).type() ) ) 93 .arg( KABC::PhoneNumber::typeLabel( (*phoneIt).type() ) )
79 .arg( (*phoneIt).number() ); 94 .arg( (*phoneIt).number() );
80 } 95 }
81 96
82 QStringList emails = mAddressee.emails(); 97 QStringList emails = mAddressee.emails();
83 QStringList::ConstIterator emailIt; 98 QStringList::ConstIterator emailIt;
84 QString type = i18n( "Email" ); 99 QString type = i18n( "Email" );
85 for ( emailIt = emails.begin(); emailIt != emails.end(); ++emailIt ) { 100 for ( emailIt = emails.begin(); emailIt != emails.end(); ++emailIt ) {
86 dynamicPart += QString( 101 dynamicPart += QString(
87 "<tr><td align=\"right\"><b>%1</b></td>" 102 "<tr><td align=\"right\"><b>%1</b></td>"
88 "<td align=\"left\"><a href=\"mailto:%2\">%3</a></td></tr>" ) 103 "<td align=\"left\"><a href=\"mailto:%2 <%3> \">%4</a></td></tr>" )
89 .arg( type ) 104 .arg( type )
105 .arg( name )
90 .arg( *emailIt ) 106 .arg( *emailIt )
91 .arg( *emailIt ); 107 .arg( *emailIt );
92 type = i18n( "Other" ); 108 type = i18n( "Other" );
93 } 109 }
94 110
95 if ( !mAddressee.url().url().isEmpty() ) { 111 if ( !mAddressee.url().url().isEmpty() ) {
96 dynamicPart += QString( 112 dynamicPart += QString(
97 "<tr><td align=\"right\"><b>%1</b></td>" 113 "<tr><td align=\"right\"><b>%1</b></td>"
98 "<td align=\"left\">%2</td></tr>" ) 114 "<td align=\"left\">%2</td></tr>" )
99 .arg( i18n( "Homepage" ) ) 115 .arg( i18n( "Homepage" ) )
100//US .arg( KStringHandler::tagURLs( mAddressee.url().url() ) ); 116//US .arg( KStringHandler::tagURLs( mAddressee.url().url() ) );
101 .arg( mAddressee.url().url() ); 117 .arg( mAddressee.url().url() );
102 //qDebug("AddresseeView::setAddressee has to be verified."); 118 //qDebug("AddresseeView::setAddressee has to be verified.");
103 } 119 }
104 120
105 KABC::Address::List addresses = mAddressee.addresses(); 121 KABC::Address::List addresses = mAddressee.addresses();
106 KABC::Address::List::ConstIterator addrIt; 122 KABC::Address::List::ConstIterator addrIt;
107 for ( addrIt = addresses.begin(); addrIt != addresses.end(); ++addrIt ) { 123 for ( addrIt = addresses.begin(); addrIt != addresses.end(); ++addrIt ) {
108 if ( true /*(*addrIt).label().isEmpty()*/ ) { 124 if ( true /*(*addrIt).label().isEmpty()*/ ) {
109 QString formattedAddress = (*addrIt).formattedAddress().stripWhiteSpace(); 125 QString formattedAddress = (*addrIt).formattedAddress().stripWhiteSpace();
110//US formattedAddress = formattedAddress.replace( '\n', "<br>" ); 126//US formattedAddress = formattedAddress.replace( '\n', "<br>" );
111 //qDebug("adresss %s ",formattedAddress.latin1() ); 127 //qDebug("adresss %s ",formattedAddress.latin1() );
112 formattedAddress = formattedAddress.replace( QRegExp("\n"), "<br>" ); 128 formattedAddress = formattedAddress.replace( QRegExp("\n"), "<br>" );
113 //qDebug("AddresseeView::setAddressee has to be verified."); 129 //qDebug("AddresseeView::setAddressee has to be verified.");
114 130
115 dynamicPart += QString( 131 dynamicPart += QString(
116 "<tr><td align=\"right\"><b>%1</b></td>" 132 "<tr><td align=\"right\"><b>%1</b></td>"
117 "<td align=\"left\">%2</td></tr>" ) 133 "<td align=\"left\">%2</td></tr>" )
118 .arg( KABC::Address::typeLabel( (*addrIt).type() ) ) 134 .arg( KABC::Address::typeLabel( (*addrIt).type() ) )
119 .arg( formattedAddress ); 135 .arg( formattedAddress );
120 } else { 136 } else {
121 137
122 dynamicPart += QString( 138 dynamicPart += QString(
123 "<tr><td align=\"right\"><b>%1</b></td>" 139 "<tr><td align=\"right\"><b>%1</b></td>"
124 "<td align=\"left\">%2</td></tr>" ) 140 "<td align=\"left\">%2</td></tr>" )
125 .arg( KABC::Address::typeLabel( (*addrIt).type() ) ) 141 .arg( KABC::Address::typeLabel( (*addrIt).type() ) )
126//US .arg( (*addrIt).label().replace( '\n', "<br>" ) ); 142//US .arg( (*addrIt).label().replace( '\n', "<br>" ) );
127 .arg( (*addrIt).label() /*replace( QRegExp("\n"), "<br>" )*/ ); 143 .arg( (*addrIt).label() /*replace( QRegExp("\n"), "<br>" )*/ );
128 144
129 } 145 }
130 } 146 }
131 147
132 QString notes; 148 QString notes;
133 if ( !mAddressee.note().isEmpty() ) { 149 if ( !mAddressee.note().isEmpty() ) {
134 notes = QString( 150 notes = QString(
135 "<tr>" 151 "<tr>"
136 "<td align=\"right\" valign=\"top\"><b>%1:</b></td>" // note label 152 "<td align=\"right\" valign=\"top\"><b>%1:</b></td>" // note label
137 "<td align=\"left\">%2</td>" // note 153 "<td align=\"left\">%2</td>" // note
diff --git a/libkdepim/addresseeview.h b/libkdepim/addresseeview.h
index 598ef0d..1865fc4 100644
--- a/libkdepim/addresseeview.h
+++ b/libkdepim/addresseeview.h
@@ -1,60 +1,60 @@
1/* 1/*
2 This file is part of libkdepim. 2 This file is part of libkdepim.
3 3
4 Copyright (c) 2003 Tobias Koenig <tokoe@kde.org> 4 Copyright (c) 2003 Tobias Koenig <tokoe@kde.org>
5 5
6 This library is free software; you can redistribute it and/or 6 This library is free software; you can redistribute it and/or
7 modify it under the terms of the GNU Library General Public 7 modify it under the terms of the GNU Library General Public
8 License as published by the Free Software Foundation; either 8 License as published by the Free Software Foundation; either
9 version 2 of the License, or (at your option) any later version. 9 version 2 of the License, or (at your option) any later version.
10 10
11 This library is distributed in the hope that it will be useful, 11 This library is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 Library General Public License for more details. 14 Library General Public License for more details.
15 15
16 You should have received a copy of the GNU Library General Public License 16 You should have received a copy of the GNU Library General Public License
17 along with this library; see the file COPYING.LIB. If not, write to 17 along with this library; see the file COPYING.LIB. If not, write to
18 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 18 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
19 Boston, MA 02111-1307, USA. 19 Boston, MA 02111-1307, USA.
20*/ 20*/
21 21
22#ifndef KPIM_ADDRESSEEVIEW_H 22#ifndef KPIM_ADDRESSEEVIEW_H
23#define KPIM_ADDRESSEEVIEW_H 23#define KPIM_ADDRESSEEVIEW_H
24 24
25#include <kabc/addressee.h> 25#include <kabc/addressee.h>
26 26
27//US #include <ktextbrowser.h> 27//US #include <ktextbrowser.h>
28#include <qtextbrowser.h> 28#include <qtextbrowser.h>
29 29
30namespace KPIM { 30namespace KPIM {
31 31
32//US class AddresseeView : public KTextBrowser 32//US class AddresseeView : public KTextBrowser
33class AddresseeView : public QTextBrowser 33class AddresseeView : public QTextBrowser
34{ 34{
35 public: 35 public:
36 AddresseeView( QWidget *parent = 0, const char *name = 0 ); 36 AddresseeView( QWidget *parent = 0, const char *name = 0 );
37 37
38 /** 38 /**
39 Sets the addressee object. The addressee is displayed immediately. 39 Sets the addressee object. The addressee is displayed immediately.
40 40
41 @param addr The addressee object. 41 @param addr The addressee object.
42 */ 42 */
43 void setAddressee( const KABC::Addressee& addr ); 43 void setAddressee( const KABC::Addressee& addr );
44 44 void setSource(const QString& n);
45 /** 45 /**
46 Returns the current addressee object. 46 Returns the current addressee object.
47 */ 47 */
48 KABC::Addressee addressee() const; 48 KABC::Addressee addressee() const;
49 49
50 private: 50 private:
51 KABC::Addressee mAddressee; 51 KABC::Addressee mAddressee;
52 QString mText; 52 QString mText;
53 void addTag(const QString & tag,const QString & text); 53 void addTag(const QString & tag,const QString & text);
54 class AddresseeViewPrivate; 54 class AddresseeViewPrivate;
55 AddresseeViewPrivate *d; 55 AddresseeViewPrivate *d;
56}; 56};
57 57
58} 58}
59 59
60#endif 60#endif
diff --git a/libkdepim/kincidenceformatter.cpp b/libkdepim/kincidenceformatter.cpp
index 4815519..2f41409 100644
--- a/libkdepim/kincidenceformatter.cpp
+++ b/libkdepim/kincidenceformatter.cpp
@@ -203,124 +203,126 @@ void KIncidenceFormatter::setTodo(Todo *event )
203void KIncidenceFormatter::setJournal(Journal* ) 203void KIncidenceFormatter::setJournal(Journal* )
204{ 204{
205 205
206} 206}
207 207
208void KIncidenceFormatter::formatCategories(Incidence *event) 208void KIncidenceFormatter::formatCategories(Incidence *event)
209{ 209{
210 if (!event->categoriesStr().isEmpty()) { 210 if (!event->categoriesStr().isEmpty()) {
211 addTag("p",i18n("<b>Categories: </b>")+event->categoriesStr() ); 211 addTag("p",i18n("<b>Categories: </b>")+event->categoriesStr() );
212 //mText.append(event->categoriesStr()); 212 //mText.append(event->categoriesStr());
213 } 213 }
214} 214}
215void KIncidenceFormatter::addTag(const QString & tag,const QString & text) 215void KIncidenceFormatter::addTag(const QString & tag,const QString & text)
216{ 216{
217 int number=text.contains("\n"); 217 int number=text.contains("\n");
218 QString str = "<" + tag + ">"; 218 QString str = "<" + tag + ">";
219 QString tmpText=text; 219 QString tmpText=text;
220 QString tmpStr=str; 220 QString tmpStr=str;
221 if(number !=-1) 221 if(number !=-1)
222 { 222 {
223 if (number > 0) { 223 if (number > 0) {
224 int pos=0; 224 int pos=0;
225 QString tmp; 225 QString tmp;
226 for(int i=0;i<=number;i++) { 226 for(int i=0;i<=number;i++) {
227 pos=tmpText.find("\n"); 227 pos=tmpText.find("\n");
228 tmp=tmpText.left(pos); 228 tmp=tmpText.left(pos);
229 tmpText=tmpText.right(tmpText.length()-pos-1); 229 tmpText=tmpText.right(tmpText.length()-pos-1);
230 tmpStr+=tmp+"<br>"; 230 tmpStr+=tmp+"<br>";
231 } 231 }
232 } 232 }
233 else tmpStr += tmpText; 233 else tmpStr += tmpText;
234 tmpStr+="</" + tag + ">"; 234 tmpStr+="</" + tag + ">";
235 mText.append(tmpStr); 235 mText.append(tmpStr);
236 } 236 }
237 else 237 else
238 { 238 {
239 str += text + "</" + tag + ">"; 239 str += text + "</" + tag + ">";
240 mText.append(str); 240 mText.append(str);
241 } 241 }
242} 242}
243 243
244void KIncidenceFormatter::formatAttendees(Incidence *event) 244void KIncidenceFormatter::formatAttendees(Incidence *event)
245{ 245{
246 QPtrList<Attendee> attendees = event->attendees(); 246 QPtrList<Attendee> attendees = event->attendees();
247 if (attendees.count()) { 247 if (attendees.count()) {
248 QString iconPath = KGlobal::iconLoader()->iconPath("mailappt",KIcon::Small); 248 QString iconPath = KGlobal::iconLoader()->iconPath("mailappt",KIcon::Small);
249 addTag("h3",i18n("Organizer")); 249 addTag("h3",i18n("Organizer"));
250 mText.append("<ul><li>"); 250 mText.append("<ul><li>");
251#ifndef KORG_NOKABC 251#if 0
252 //ndef KORG_NOKABC
252 253
253 KABC::AddressBook *add_book = KABC::StdAddressBook::self(); 254 KABC::AddressBook *add_book = KABC::StdAddressBook::self();
254 KABC::Addressee::List addressList; 255 KABC::Addressee::List addressList;
255 addressList = add_book->findByEmail(event->organizer()); 256 addressList = add_book->findByEmail(event->organizer());
256 KABC::Addressee o = addressList.first(); 257 KABC::Addressee o = addressList.first();
257 if (!o.isEmpty() && addressList.size()<2) { 258 if (!o.isEmpty() && addressList.size()<2) {
258 mText += "<a href=\"uid:" + o.uid() + "\">"; 259 mText += "<a href=\"uid:" + o.uid() + "\">";
259 mText += o.formattedName(); 260 mText += o.formattedName();
260 mText += "</a>\n"; 261 mText += "</a>\n";
261 } else { 262 } else {
262 mText.append(event->organizer()); 263 mText.append(event->organizer());
263 } 264 }
264#else 265#else
265 mText.append(event->organizer()); 266 mText.append(event->organizer());
266#endif 267#endif
267 if (iconPath) { 268 if (iconPath) {
268 mText += " <a href=\"mailto:" + event->organizer() + "\">"; 269 mText += " <a href=\"mailto:" + event->organizer() + "\">";
269 mText += "<IMG src=\"" + iconPath + "\">"; 270 mText += "<IMG src=\"" + iconPath + "\">";
270 mText += "</a>\n"; 271 mText += "</a>\n";
271 } 272 }
272 mText.append("</li></ul>"); 273 mText.append("</li></ul>");
273 274
274 addTag("h3",i18n("Attendees")); 275 addTag("h3",i18n("Attendees"));
275 Attendee *a; 276 Attendee *a;
276 mText.append("<ul>"); 277 mText.append("<ul>");
277 for(a=attendees.first();a;a=attendees.next()) { 278 for(a=attendees.first();a;a=attendees.next()) {
278#ifndef KORG_NOKABC 279#if 0
280//ndef KORG_NOKABC
279 if (a->name().isEmpty()) { 281 if (a->name().isEmpty()) {
280 addressList = add_book->findByEmail(a->email()); 282 addressList = add_book->findByEmail(a->email());
281 KABC::Addressee o = addressList.first(); 283 KABC::Addressee o = addressList.first();
282 if (!o.isEmpty() && addressList.size()<2) { 284 if (!o.isEmpty() && addressList.size()<2) {
283 mText += "<a href=\"uid:" + o.uid() + "\">"; 285 mText += "<a href=\"uid:" + o.uid() + "\">";
284 mText += o.formattedName(); 286 mText += o.formattedName();
285 mText += "</a>\n"; 287 mText += "</a>\n";
286 } else { 288 } else {
287 mText += "<li>"; 289 mText += "<li>";
288 mText.append(a->email()); 290 mText.append(a->email());
289 mText += "\n"; 291 mText += "\n";
290 } 292 }
291 } else { 293 } else {
292 mText += "<li><a href=\"uid:" + a->uid() + "\">"; 294 mText += "<li><a href=\"uid:" + a->uid() + "\">";
293 if (!a->name().isEmpty()) mText += a->name(); 295 if (!a->name().isEmpty()) mText += a->name();
294 else mText += a->email(); 296 else mText += a->email();
295 mText += "</a>\n"; 297 mText += "</a>\n";
296 } 298 }
297#else 299#else
298 //qDebug("nokabc "); 300 //qDebug("nokabc ");
299 mText += "<li><a href=\"uid:" + a->uid() + "\">"; 301 mText += "<li><a href=\"uid:" + a->uid() + "\">";
300 if (!a->name().isEmpty()) mText += a->name(); 302 if (!a->name().isEmpty()) mText += a->name();
301 else mText += a->email(); 303 else mText += a->email();
302 mText += "</a>\n"; 304 mText += "</a>\n";
303#endif 305#endif
304 306
305 if (!a->email().isEmpty()) { 307 if (!a->email().isEmpty()) {
306 if (iconPath) { 308 if (iconPath) {
307 mText += "<a href=\"mailto:" + a->name() +" "+ "<" + a->email() + ">" + "\">"; 309 mText += "<a href=\"mailto:" + a->name() +" "+ "<" + a->email() + ">" + "\">";
308 mText += "<IMG src=\"" + iconPath + "\">"; 310 mText += "<IMG src=\"" + iconPath + "\">";
309 mText += "</a>\n"; 311 mText += "</a>\n";
310 } 312 }
311 } 313 }
312 if (a->status() != Attendee::NeedsAction ) 314 if (a->status() != Attendee::NeedsAction )
313 mText +="[" + a->statusStr() + "] "; 315 mText +="[" + a->statusStr() + "] ";
314 if (a->role() == Attendee::Chair ) 316 if (a->role() == Attendee::Chair )
315 mText +="(" + a->roleStr().left(1) + ".)"; 317 mText +="(" + a->roleStr().left(1) + ".)";
316 } 318 }
317 mText.append("</li></ul>"); 319 mText.append("</li></ul>");
318 } 320 }
319} 321}
320 322
321void KIncidenceFormatter::formatReadOnly(Incidence *event) 323void KIncidenceFormatter::formatReadOnly(Incidence *event)
322{ 324{
323 if (event->isReadOnly()) { 325 if (event->isReadOnly()) {
324 addTag("p","<em>(" + i18n("read-only") + ")</em>"); 326 addTag("p","<em>(" + i18n("read-only") + ")</em>");
325 } 327 }
326} 328}