summaryrefslogtreecommitdiffabout
path: root/korganizer/outgoingdialog.cpp
Side-by-side diff
Diffstat (limited to 'korganizer/outgoingdialog.cpp') (more/less context) (show whitespace changes)
-rw-r--r--korganizer/outgoingdialog.cpp1
1 files changed, 0 insertions, 1 deletions
diff --git a/korganizer/outgoingdialog.cpp b/korganizer/outgoingdialog.cpp
index 4eb64f3..0fc90c4 100644
--- a/korganizer/outgoingdialog.cpp
+++ b/korganizer/outgoingdialog.cpp
@@ -298,97 +298,96 @@ bool OutgoingDialog::saveMessage(IncidenceBase *incidence,Scheduler::Method meth
*qts << messageText;
*qts << "METHOD-BEGIN:" << endl << method << endl << ":METHOD-END" << endl;
*qts << "RECIPIENTS-BEGIN:" << endl << recipients << endl << ":RECIPIENTS-END" << endl;
mMessageMap[incidence]=ktfile.name();
return true;
}
bool OutgoingDialog::deleteMessage(IncidenceBase *incidence)
{
QFile f( mMessageMap[incidence] );
mMessageMap.remove(incidence);
if ( !f.exists() ) return false;
else
return f.remove();
}
void OutgoingDialog::loadMessages()
{
Scheduler::Method method;
QString recipients;
QString outgoingDirName = locateLocal("data","korganizer/outgoing");
QDir outgoingDir(outgoingDirName);
QStringList outgoing = outgoingDir.entryList(QDir::Files);
QStringList::ConstIterator it;
for(it = outgoing.begin(); it != outgoing.end(); ++it) {
kdDebug() << "-- File: " << (*it) << endl;
QFile f(outgoingDirName + "/" + (*it));
bool inserted = false;
QMap<IncidenceBase*, QString>::Iterator iter;
for ( iter = mMessageMap.begin(); iter != mMessageMap.end(); ++iter ) {
if (iter.data() == outgoingDirName + "/" + (*it)) inserted = true;
}
if (!inserted) {
if (!f.open(IO_ReadOnly)) {
kdDebug() << "OutgoingDialog::loadMessage(): Can't open file'"
<< (*it) << "'" << endl;
} else {
QTextStream t(&f);
QString messageString = t.read();
ScheduleMessage *message = mFormat->parseScheduleMessage(mCalendar,
messageString);
int begin_pos = messageString.find("METHOD-BEGIN:");
begin_pos = messageString.find('\n',begin_pos)+1;
QString meth = messageString.mid(begin_pos,1);
switch (meth.toInt()) {
case 0:method=Scheduler::Publish; break;
case 1:method=Scheduler::Request; break;
case 2:method=Scheduler::Refresh; break;
case 3:method=Scheduler::Cancel; break;
case 4:method=Scheduler::Add; break;
case 5:method=Scheduler::Reply; break;
case 6:method=Scheduler::Counter; break;
case 7:method=Scheduler::Declinecounter; break;
default :method=Scheduler::NoMethod; break;
}
begin_pos = messageString.find("RECIPIENTS-BEGIN:");
begin_pos = messageString.find('\n',begin_pos)+1;
int end_pos = messageString.find(":RECIPIENTS-END",begin_pos)-1;
recipients = messageString.mid(begin_pos, end_pos-begin_pos);
kdDebug() << "Outgoing::loadMessage(): Recipients: " << recipients << endl;
if (message) {
bool inserted = false;
QMap<IncidenceBase*, QString>::Iterator iter;
for ( iter = mMessageMap.begin(); iter != mMessageMap.end(); ++iter ) {
if (iter.data() == outgoingDirName + "/" + (*it)) inserted = true;
}
if (!inserted) {
kdDebug() << "OutgoingDialog::loadMessage(): got message '"
<< (*it) << "'" << endl;
IncidenceBase *inc = message->event();
new ScheduleItemOut(mMessageListView,inc,method,recipients);
mMessageMap[message->event()]=outgoingDirName + "/" + (*it);
}
} else {
QString errorMessage;
if (mFormat->exception()) {
errorMessage = mFormat->exception()->message();
}
kdDebug() << "OutgoingDialog::loadMessage(): Error parsing "
"message: " << errorMessage << endl;
}
f.close();
}
}
}
emit numMessagesChanged(mMessageListView->childCount());
}
void OutgoingDialog::setDocumentId( const QString &id )
{
mDocPrefs->setDoc( id );
}
-#include "outgoingdialog.moc"