summaryrefslogtreecommitdiffabout
Side-by-side diff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--kmicromail/composemail.cpp28
1 files changed, 20 insertions, 8 deletions
diff --git a/kmicromail/composemail.cpp b/kmicromail/composemail.cpp
index c1b58a4..9060364 100644
--- a/kmicromail/composemail.cpp
+++ b/kmicromail/composemail.cpp
@@ -68,34 +68,35 @@ ComposeMail::ComposeMail( Settings *s, QWidget *parent, const char *name, bool m
Account *it;
for ( it = accounts.first(); it; it = accounts.next() ) {
if ( it->getType()==MAILLIB::A_SMTP ) {
SMTPaccount *smtp = static_cast<SMTPaccount *>(it);
smtpAccountBox->insertItem( smtp->getAccountName() );
smtpAccounts.append( smtp );
}
}
+ if ( smtpAccounts.count() > 0 ) {
+ fillValues( smtpAccountBox->currentItem() );
+ } else {
+ QMessageBox::information( 0, tr( "Problem" ),
+ tr( "Please create an SMTP account first.\nThe SMTP is needed for sending mail.\n" ),
+ tr( "Ok" ) );
+ return;
+ }
connect( smtpAccountBox, SIGNAL( activated(int) ), SLOT( fillValues(int) ) );
connect( toButton, SIGNAL( clicked() ), SLOT( pickAddressTo() ) );
connect( ccButton, SIGNAL( clicked() ), SLOT( pickAddressCC() ) );
connect( bccButton, SIGNAL( clicked() ), SLOT( pickAddressBCC() ) );
connect( replyButton, SIGNAL( clicked() ), SLOT( pickAddressReply() ) );
connect( addButton, SIGNAL( clicked() ), SLOT( addAttachment() ) );
connect( deleteButton, SIGNAL( clicked() ), SLOT( removeAttachment() ) );
connect( SaveButton, SIGNAL( clicked() ), SLOT( saveAsDraft()) );
mMail = 0;
warnAttach = true;
- if ( smtpAccounts.count() > 0 ) {
- fillValues( smtpAccountBox->currentItem() );
- } else {
- QMessageBox::information( 0, tr( "Problem" ),
- tr( "Please create an SMTP account first.\nThe SMTP is needed for sending mail.\n" ),
- tr( "Ok" ) );
- return;
- }
+
}
void ComposeMail::saveAsDraft()
{
Opie::Core::OSmartPointer<Mail> mail= new Mail();
mail->setMail(fromBox->currentText());
mail->setTo( toLine->text() );
mail->setName(senderNameEdit->text());
@@ -251,16 +252,22 @@ void ComposeMail::removeAttachment()
tr( "Ok" ) );
} else {
attList->takeItem( attList->currentItem() );
}
}
void ComposeMail::accept()
{
+ if ( smtpAccountBox->count() == 0 ) {
+
+ reject();
+ return;
+ }
+
if (! checkBoxLater->isChecked() ) {
int yesno = QMessageBox::warning(0,tr("Stop editing message"),
tr("Send this message?"),
tr("Yes"),
tr("Cancel"));
if (yesno == 1) {
return;
@@ -322,16 +329,21 @@ void ComposeMail::reject()
//qDebug("ComposeMail::reject() ");
int yesno = QMessageBox::warning(0,tr("Store message?"),
tr("Store message into drafts?\n"),
tr("Yes"),
tr("No"));
//qDebug("button %d ", yesno);
if (yesno == 0) {
+ if ( toLine->text().isEmpty() ) {
+ QMessageBox::warning(0,tr("Sending mail"),
+ tr("No Receiver spezified" ) );
+ return;
+ }
saveAsDraft();
}
if (yesno == 2) {
qDebug("return ");
return;
}
QDialog::reject();
}