Source Code (Use browser search to find items of interest.)
Class Index
krn'KMIdentity (./kdenetwork/krn/kmidentity.h:11)
class KMIdentity
{
public:
/** Constructor loads config file */
KMIdentity();
/** Destructor saves config file */
virtual ~KMIdentity();
/** Read configuration from the global config */
virtual void readConfig(void);
/** Write configuration to the global config with optional sync */
virtual void writeConfig(bool withSync=TRUE);
/** Tests if there are enough values set to allow mailing */
virtual bool mailingAllowed(void) const;
/** Full name of the user */
const QString fullName(void) const { return mFullName; }
virtual void setFullName(const QString);
/** The user's organization (optional) */
const QString organization(void) const { return mOrganization; }
virtual void setOrganization(const QString);
/** email address (without the user name - only name@host) */
const QString emailAddr(void) const { return mEmailAddr; }
virtual void setEmailAddr(const QString);
/** email address in the format "username <name@host>" suitable
for the "From:" field of email messages. */
const QString fullEmailAddr(void) const;
/** email address for the ReplyTo: field */
const QString replyToAddr(void) const { return mReplyToAddr; }
virtual void setReplyToAddr(const QString);
/** name of the signature file (with path) */
const QString signatureFile(void) const { return mSignatureFile; }
virtual void setSignatureFile(const QString);
/** Returns the signature. This method also takes care of
special signature files that are shell scripts and handles
them correct. So use this method to rectreive the contents of
the signature file. */
virtual const QString signature(void) const;
protected:
QString mFullName, mOrganization, mEmailAddr;
QString mReplyToAddr, mSignatureFile;
};
krn'KMIdentity::KMIdentity() (./kdenetwork/krn/kmidentity.cpp:20)
KMIdentity::KMIdentity()
{
readConfig();
}
//-----------------------------------------------------------------------------
krn'KMIdentity::~KMIdentity() (./kdenetwork/krn/kmidentity.cpp:27)
KMIdentity::~KMIdentity()
{
writeConfig();
}
//-----------------------------------------------------------------------------
krn'KMIdentity::readConfig() (./kdenetwork/krn/kmidentity.cpp:34)
void KMIdentity::readConfig(void)
{
KConfig* config = kapp->config();
struct passwd* pw;
char str[80];
int i;
config->setGroup("Identity");
mFullName = config->readEntry("Name");
if (mFullName.isEmpty())
{
pw = getpwuid(getuid());
if (pw)
{
mFullName = pw->pw_gecos;
i = mFullName.find(',');
if (i>0) mFullName.truncate(i);
}
}
mEmailAddr = config->readEntry("Email Address");
if (mEmailAddr.isEmpty())
{
pw = getpwuid(getuid());
if (pw)
{
gethostname(str, 79);
mEmailAddr = QString(pw->pw_name) + "@" + str;
}
}
mOrganization = config->readEntry("Organization");
mReplyToAddr = config->readEntry("Reply-To Address");
mSignatureFile = config->readEntry("Signature File");
}
//-----------------------------------------------------------------------------
krn'KMIdentity::writeConfig() (./kdenetwork/krn/kmidentity.cpp:76)
void KMIdentity::writeConfig(bool aWithSync)
{
KConfig* config = kapp->config();
config->setGroup("Identity");
config->writeEntry("Name", mFullName);
config->writeEntry("Organization", mOrganization);
config->writeEntry("Email Address", mEmailAddr);
config->writeEntry("Reply-To Address", mReplyToAddr);
config->writeEntry("Signature File", mSignatureFile);
if (aWithSync) config->sync();
}
//-----------------------------------------------------------------------------
krn'KMIdentity::mailingAllowed() (./kdenetwork/krn/kmidentity.cpp:92)
bool KMIdentity::mailingAllowed(void) const
{
return (!mFullName.isEmpty() && !mEmailAddr.isEmpty());
}
//-----------------------------------------------------------------------------
krn'KMIdentity::setFullName() (./kdenetwork/krn/kmidentity.cpp:99)
void KMIdentity::setFullName(const QString str)
{
mFullName = str.copy();
}
//-----------------------------------------------------------------------------
krn'KMIdentity::setOrganization() (./kdenetwork/krn/kmidentity.cpp:106)
void KMIdentity::setOrganization(const QString str)
{
mOrganization = str.copy();
}
//-----------------------------------------------------------------------------
krn'KMIdentity::setEmailAddr() (./kdenetwork/krn/kmidentity.cpp:113)
void KMIdentity::setEmailAddr(const QString str)
{
mEmailAddr = str.copy();
}
//-----------------------------------------------------------------------------
krn'KMIdentity::fullEmailAddr() (./kdenetwork/krn/kmidentity.cpp:120)
const QString KMIdentity::fullEmailAddr(void) const
{
QString result;
if (mFullName.isEmpty()) result = mEmailAddr.copy();
else result = mFullName.copy() + " <" + mEmailAddr + ">";
return result;
}
//-----------------------------------------------------------------------------
krn'KMIdentity::setReplyToAddr() (./kdenetwork/krn/kmidentity.cpp:131)
void KMIdentity::setReplyToAddr(const QString str)
{
mReplyToAddr = str.copy();
}
//-----------------------------------------------------------------------------
krn'KMIdentity::setSignatureFile() (./kdenetwork/krn/kmidentity.cpp:138)
void KMIdentity::setSignatureFile(const QString str)
{
mSignatureFile = str.copy();
}
//-----------------------------------------------------------------------------
krn'KMIdentity::signature() (./kdenetwork/krn/kmidentity.cpp:145)
const QString KMIdentity::signature(void) const
{
QString result, sigcmd;
char tmpf[256];
if (mSignatureFile.isEmpty()) return QString::null;
if (mSignatureFile.right(1)=="|")
{
// signature file is a shell script that returns the signature
tmpnam(tmpf);
sigcmd = mSignatureFile.left(mSignatureFile.length()-1);
sigcmd += " >";
sigcmd += tmpf;
system(sigcmd);
if (errno)
{
warning(i18n("Failed to execute signature script\n%s\n%s"),
sigcmd.data(), strerror(errno));
return QString::null;
}
result = kFileToString(tmpf, TRUE, FALSE);
unlink(tmpf);
}
else
{
result = kFileToString(mSignatureFile);
}
return result;
}