
Добавил:
korayakov
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:
/****************************************************************************
** ui.h extension file, included from the uic-generated form implementation.
**
** If you want to add, delete, or rename functions or slots, use
** Qt Designer to update this file, preserving your code.
**
** You should not define a constructor or destructor in this file.
** Instead, write your code in functions called init() and destroy().
** These will automatically be called by the form's constructor and
** destructor.
*****************************************************************************/
void MailForm::self_init()
{
nmail = new NMail();
compform = new Compose();
compform->mailform = this;
compform->nmail = nmail;
pserverEdit->setText("pop.mail.ru");
sserverEdit->setText("smtp.mail.ru");
loginEdit->setText("");
passwordEdit->setText("");
messageList->clear();
updateFolder();
}
void MailForm::updateFolder()
{
folderList->clear();
new QListViewItem (folderList, "Inbox",
QString("%1").arg(nmail->getCount(FLDR_INBOX)),
QString("%1").arg(FLDR_INBOX) );
new QListViewItem (folderList, "Outbox",
QString("%1").arg(nmail->getCount(FLDR_OUTBOX)),
QString("%1").arg(FLDR_OUTBOX) );
new QListViewItem (folderList, "Sent",
QString("%1").arg(nmail->getCount(FLDR_SENT)),
QString("%1").arg(FLDR_SENT) );
folderList->setSelected(folderList->firstChild(), true);
}
void MailForm::updateMessages()
{
if (folderList->selectedItem()){
int folder = (folderList->selectedItem()->text(2)).toInt();
messageList->clear();
size_t count = nmail->getCount(folder);
NMessage *nmsg;
for (size_t i = 0; i < count; i++){
nmsg = nmail->getMessage(i, folder);
if (nmsg)
new QListViewItem (messageList, nmsg->subject, nmsg->from,
nmsg->date, QString("%1").arg(i));
}
textBrowser->setText("");
if (messageList->firstChild())
messageList->setSelected(messageList->firstChild(), true);
}
}
void MailForm::checkMail()
{
nmail->setParams(sserverEdit->text(),pserverEdit->text(),
loginEdit->text(), passwordEdit->text());
nmail->checkMail();
updateFolder();
}
void MailForm::updateContent()
{
if (folderList->selectedItem() && messageList->selectedItem()){
int folder = (folderList->selectedItem()->text(2)).toInt();
size_t index = (messageList->selectedItem()->text(3)).toUInt();
NMessage *nmsg = nmail->getMessage(index, folder);
textBrowser->setText(nmsg->content);
}
}
void MailForm::composeMail()
{
compform->on_show();
compform->show();
}
void MailForm::replyMail()
{
if (folderList->selectedItem() && messageList->selectedItem()){
int folder = (folderList->selectedItem()->text(2)).toInt();
size_t index = (messageList->selectedItem()->text(3)).toUInt();
NMessage *nmsg = nmail->getMessage(index, folder);
compform->s_to = nmsg->from;
compform->s_from = nmsg->to;
compform->s_subject = "Re: " + nmsg->subject;
QString tmp_text = nmsg->content;
tmp_text.replace("\n","\n> ");
compform->s_text = "> " + tmp_text;
compform->on_show();
compform->show();
}
}
void MailForm::editMessage()
{
if (folderList->selectedItem() && messageList->selectedItem()){
int folder = (folderList->selectedItem()->text(2)).toInt();
if (folder != FLDR_OUTBOX)
return;
size_t index = (messageList->selectedItem()->text(3)).toUInt();
NMessage *nmsg = nmail->getMessage(index, folder);
compform->s_to = nmsg->to;
compform->s_from = nmsg->from;
compform->s_subject = nmsg->subject;
compform->s_text = nmsg->content;
nmail->removeMessage(index, FLDR_OUTBOX);
compform->on_show();
compform->show();
}
}
void MailForm::sendMail()
{
nmail->setParams(sserverEdit->text(),pserverEdit->text(),
loginEdit->text(), passwordEdit->text());
nmail->sendMail();
updateFolder();
}
** ui.h extension file, included from the uic-generated form implementation.
**
** If you want to add, delete, or rename functions or slots, use
** Qt Designer to update this file, preserving your code.
**
** You should not define a constructor or destructor in this file.
** Instead, write your code in functions called init() and destroy().
** These will automatically be called by the form's constructor and
** destructor.
*****************************************************************************/
void MailForm::self_init()
{
nmail = new NMail();
compform = new Compose();
compform->mailform = this;
compform->nmail = nmail;
pserverEdit->setText("pop.mail.ru");
sserverEdit->setText("smtp.mail.ru");
loginEdit->setText("");
passwordEdit->setText("");
messageList->clear();
updateFolder();
}
void MailForm::updateFolder()
{
folderList->clear();
new QListViewItem (folderList, "Inbox",
QString("%1").arg(nmail->getCount(FLDR_INBOX)),
QString("%1").arg(FLDR_INBOX) );
new QListViewItem (folderList, "Outbox",
QString("%1").arg(nmail->getCount(FLDR_OUTBOX)),
QString("%1").arg(FLDR_OUTBOX) );
new QListViewItem (folderList, "Sent",
QString("%1").arg(nmail->getCount(FLDR_SENT)),
QString("%1").arg(FLDR_SENT) );
folderList->setSelected(folderList->firstChild(), true);
}
void MailForm::updateMessages()
{
if (folderList->selectedItem()){
int folder = (folderList->selectedItem()->text(2)).toInt();
messageList->clear();
size_t count = nmail->getCount(folder);
NMessage *nmsg;
for (size_t i = 0; i < count; i++){
nmsg = nmail->getMessage(i, folder);
if (nmsg)
new QListViewItem (messageList, nmsg->subject, nmsg->from,
nmsg->date, QString("%1").arg(i));
}
textBrowser->setText("");
if (messageList->firstChild())
messageList->setSelected(messageList->firstChild(), true);
}
}
void MailForm::checkMail()
{
nmail->setParams(sserverEdit->text(),pserverEdit->text(),
loginEdit->text(), passwordEdit->text());
nmail->checkMail();
updateFolder();
}
void MailForm::updateContent()
{
if (folderList->selectedItem() && messageList->selectedItem()){
int folder = (folderList->selectedItem()->text(2)).toInt();
size_t index = (messageList->selectedItem()->text(3)).toUInt();
NMessage *nmsg = nmail->getMessage(index, folder);
textBrowser->setText(nmsg->content);
}
}
void MailForm::composeMail()
{
compform->on_show();
compform->show();
}
void MailForm::replyMail()
{
if (folderList->selectedItem() && messageList->selectedItem()){
int folder = (folderList->selectedItem()->text(2)).toInt();
size_t index = (messageList->selectedItem()->text(3)).toUInt();
NMessage *nmsg = nmail->getMessage(index, folder);
compform->s_to = nmsg->from;
compform->s_from = nmsg->to;
compform->s_subject = "Re: " + nmsg->subject;
QString tmp_text = nmsg->content;
tmp_text.replace("\n","\n> ");
compform->s_text = "> " + tmp_text;
compform->on_show();
compform->show();
}
}
void MailForm::editMessage()
{
if (folderList->selectedItem() && messageList->selectedItem()){
int folder = (folderList->selectedItem()->text(2)).toInt();
if (folder != FLDR_OUTBOX)
return;
size_t index = (messageList->selectedItem()->text(3)).toUInt();
NMessage *nmsg = nmail->getMessage(index, folder);
compform->s_to = nmsg->to;
compform->s_from = nmsg->from;
compform->s_subject = nmsg->subject;
compform->s_text = nmsg->content;
nmail->removeMessage(index, FLDR_OUTBOX);
compform->on_show();
compform->show();
}
}
void MailForm::sendMail()
{
nmail->setParams(sserverEdit->text(),pserverEdit->text(),
loginEdit->text(), passwordEdit->text());
nmail->sendMail();
updateFolder();
}
Соседние файлы в папке net_mail