Source Code (Use browser search to find items of interest.)
Class Index
kmail'KMAcctLocal (./kdenetwork/kmail/kmacctlocal.h:11)
class KMAcctLocal: public KMAccount
{
protected:
friend class KMAcctMgr;
KMAcctLocal(KMAcctMgr* owner, const char* accountName);
public:
virtual ~KMAcctLocal();
virtual void init(void);
/** Access to location of local mail file (usually something like
"/var/spool/mail/joe"). */
const QString& location(void) const { return mLocation; }
virtual void setLocation(const QString&);
virtual const char* type(void) const;
virtual void processNewMail(bool);
virtual void readConfig(KConfig&);
virtual void writeConfig(KConfig&);
protected:
QString mLocation;
bool hasNewMail;
};
kmail'KMAcctLocal::KMAcctLocal() (./kdenetwork/kmail/kmacctlocal.cpp:34)
KMAcctLocal::KMAcctLocal(KMAcctMgr* aOwner, const char* aAccountName):
KMAcctLocalInherited(aOwner, aAccountName)
{
initMetaObject();
}
//-----------------------------------------------------------------------------
kmail'KMAcctLocal::~KMAcctLocal() (./kdenetwork/kmail/kmacctlocal.cpp:42)
KMAcctLocal::~KMAcctLocal()
{
mLocation = "";
}
//-----------------------------------------------------------------------------
kmail'KMAcctLocal::type() (./kdenetwork/kmail/kmacctlocal.cpp:49)
const char* KMAcctLocal::type(void) const
{
return "local";
}
//-----------------------------------------------------------------------------
kmail'KMAcctLocal::init() (./kdenetwork/kmail/kmacctlocal.cpp:56)
void KMAcctLocal::init(void)
{
mLocation = _PATH_MAILDIR;
mLocation += "/";
mLocation += getenv("USER");
}
//-----------------------------------------------------------------------------
kmail'KMAcctLocal::processNewMail() (./kdenetwork/kmail/kmacctlocal.cpp:66)
void KMAcctLocal::processNewMail(bool)
{
QTime t;
KMFolder mailFolder(NULL, location());
long num = 0;
long i;
int rc;
KMMessage* msg;
bool addedOk;
hasNewMail = false;
if (mFolder==NULL) {
emit finishedCheck(hasNewMail);
return;
}
KMBroadcastStatus::instance()->reset();
KMBroadcastStatus::instance()->setStatusMsg(
i18n( "Preparing transmission..." ));
kapp->processEvents();
mailFolder.setAutoCreateIndex(FALSE);
rc = mailFolder.open();
if (rc)
{
QString aStr;
aStr = i18n("Cannot open file:");
aStr += mailFolder.path()+"/"+mailFolder.name();
KMessageBox::sorry(0, aStr);
perror("cannot open file "+mailFolder.path()+"/"+mailFolder.name());
emit finishedCheck(hasNewMail);
return;
}
mFolder->quiet(TRUE);
mFolder->open();
num = mailFolder.count();
addedOk = true;
t.start();
KMBroadcastStatus::instance()->setStatusProgressEnable( true );
for (i=0; i<num; i++)
{
if (!addedOk) break;
if (KMBroadcastStatus::instance()->abortRequested()) break;
KMBroadcastStatus::instance()->setStatusMsg( i18n("Message ") +
QString("%1/%2").arg(i).arg(num) );
KMBroadcastStatus::instance()->setStatusProgressPercent( (i*100) / num );
msg = mailFolder.take(0);
if (msg)
{
msg->setStatus(msg->headerField("Status"), msg->headerField("X-Status"));
addedOk = processNewMsg(msg);
if (addedOk)
hasNewMail = true;
}
if (t.elapsed() >= 200) { //hardwired constant
kapp->processEvents();
t.start();
}
}
KMBroadcastStatus::instance()->setStatusProgressEnable( false );
KMBroadcastStatus::instance()->reset();
if (addedOk)
{
rc = mailFolder.expunge();
if (rc)
KMessageBox::information( 0, i18n("Cannot remove mail from\nmailbox `%1':\n%2").arg(mailFolder.location().arg(strerror(rc))));
KMBroadcastStatus::instance()->setStatusMsg(
i18n( "Transmission completed..." ));
}
// else warning is written already
mailFolder.close();
mFolder->close();
mFolder->quiet(FALSE);
emit finishedCheck(hasNewMail);
return;
}
//-----------------------------------------------------------------------------
kmail'KMAcctLocal::readConfig() (./kdenetwork/kmail/kmacctlocal.cpp:160)
void KMAcctLocal::readConfig(KConfig& config)
{
QString defaultPath(_PATH_MAILDIR);
defaultPath += "/";
defaultPath += getenv("USER");
KMAcctLocalInherited::readConfig(config);
mLocation = config.readEntry("Location", defaultPath);
}
//-----------------------------------------------------------------------------
kmail'KMAcctLocal::writeConfig() (./kdenetwork/kmail/kmacctlocal.cpp:172)
void KMAcctLocal::writeConfig(KConfig& config)
{
KMAcctLocalInherited::writeConfig(config);
config.writeEntry("Location", mLocation);
}
//-----------------------------------------------------------------------------
kmail'KMAcctLocal::setLocation() (./kdenetwork/kmail/kmacctlocal.cpp:181)
void KMAcctLocal::setLocation(const QString& aLocation)
{
mLocation = aLocation;
}