Mailsender::Mailsender()
{
...
connect(smtp, SIGNAL(mailSent (int)), this, SLOT(sendingMailSucceeded ( int )));
connect(smtp, SIGNAL(mailFailed (int,int)), this, SLOT(sendingMailFailed ( int , int )));
...
int rv = smtp->send(*message); //send mail
rvMailSend = 1; //private variable to set mail status
//private QProgressBar*
progress->setWindowModality(Qt::ApplicationModal);
progress->setCancelButton (0); //do not show
//private QTimer*
Timer1->start(1000);
connect(Timer1, SIGNAL(timeout()), this, SLOT(mailSendingLoop()));
Timer2->setSingleShot(true);
Timer2->setInterval(10000);
Timer2->start();
connect(Timer2, SIGNAL(timeout()), this, SLOT(mailSendingTimeout()));
progress->exec(); //show progressbar
} //end of constructor
void MailSender::sendingMailFailed ( int mailID, int errorCode )
{
rvMailSend = 1; //set via signal if mail failed
}
void MailSender::sendingMailSucceeded ( int mailID )
{
rvMailSend = 0; //set via signal if mail succeeded
}
int MailSender::mailSendingLoop() //called regular by a QTimer
{
if(rvMailSend == 0)
{
progress->close();
msgBox.setText("Mail send!");
Timer1->stop();
Timer2->stop();
int ret = msgBox.exec();
{
this->close();
return 0;
}
}
}
int MailSender:: mailSendingTimeout() //Timeout, called on Timer2
{
progress->close();
msgBox.setText("Sending mail failed!");
Timer1->stop();
Timer2->stop();
int ret = msgBox.exec();
{
this->close();
return 1;
}
}
Mailsender::Mailsender()
{
...
connect(smtp, SIGNAL(mailSent (int)), this, SLOT(sendingMailSucceeded ( int )));
connect(smtp, SIGNAL(mailFailed (int,int)), this, SLOT(sendingMailFailed ( int , int )));
...
int rv = smtp->send(*message); //send mail
rvMailSend = 1; //private variable to set mail status
//private QProgressBar*
progress = new QProgressDialog("Sending mail...","abort" ,0 , 0, this);
progress->setWindowModality(Qt::ApplicationModal);
progress->setCancelButton (0); //do not show
//private QTimer*
Timer1 = new QTimer(this);
Timer1->start(1000);
connect(Timer1, SIGNAL(timeout()), this, SLOT(mailSendingLoop()));
Timer2 = new QTimer(this);
Timer2->setSingleShot(true);
Timer2->setInterval(10000);
Timer2->start();
connect(Timer2, SIGNAL(timeout()), this, SLOT(mailSendingTimeout()));
progress->exec(); //show progressbar
} //end of constructor
void MailSender::sendingMailFailed ( int mailID, int errorCode )
{
rvMailSend = 1; //set via signal if mail failed
}
void MailSender::sendingMailSucceeded ( int mailID )
{
rvMailSend = 0; //set via signal if mail succeeded
}
int MailSender::mailSendingLoop() //called regular by a QTimer
{
if(rvMailSend == 0)
{
progress->close();
QMessageBox msgBox;
msgBox.setText("Mail send!");
msgBox.setStandardButtons(QMessageBox::Ok);
msgBox.setDefaultButton( QMessageBox::Ok);
Timer1->stop();
Timer2->stop();
int ret = msgBox.exec();
if (ret == QMessageBox::Ok)
{
this->close();
return 0;
}
}
}
int MailSender:: mailSendingTimeout() //Timeout, called on Timer2
{
progress->close();
QMessageBox msgBox;
msgBox.setText("Sending mail failed!");
msgBox.setStandardButtons(QMessageBox::Ok);
msgBox.setDefaultButton( QMessageBox::Ok);
Timer1->stop();
Timer2->stop();
int ret = msgBox.exec();
if (ret == QMessageBox::Ok)
{
this->close();
return 1;
}
}
To copy to clipboard, switch view to plain text mode
Kind regards,
Bookmarks