author | groucho <groucho> | 2003-04-28 08:31:24 (UTC) |
---|---|---|
committer | groucho <groucho> | 2003-04-28 08:31:24 (UTC) |
commit | 63d3f7ca039d93612abaa4a65fc00b337c42ec9d (patch) (side-by-side diff) | |
tree | ea4a08e00d5a229f20c3e4150f707a2ac8f9e882 /noncore/net/mailit/writemail.cpp | |
parent | c3b703405fe77fbe16596ebd7d814a6e463f9243 (diff) | |
download | opie-63d3f7ca039d93612abaa4a65fc00b337c42ec9d.zip opie-63d3f7ca039d93612abaa4a65fc00b337c42ec9d.tar.gz opie-63d3f7ca039d93612abaa4a65fc00b337c42ec9d.tar.bz2 |
- bug fixes in the parser (from header)
- bug fixes in address selector (uses cc: now)
- remove now selects next item afterwards (speeds up mass deletion)
- smaller fixes
Diffstat (limited to 'noncore/net/mailit/writemail.cpp') (more/less context) (show whitespace changes)
-rw-r--r-- | noncore/net/mailit/writemail.cpp | 26 |
1 files changed, 17 insertions, 9 deletions
diff --git a/noncore/net/mailit/writemail.cpp b/noncore/net/mailit/writemail.cpp index 0336c83..dcf0c6e 100644 --- a/noncore/net/mailit/writemail.cpp +++ b/noncore/net/mailit/writemail.cpp @@ -102,74 +102,73 @@ void WriteMail::init() grid->addWidget( ToolButton13_2, 1, 2 ); subjectInput = new QLineEdit( widget, "subjectInput" ); grid->addWidget( subjectInput, 1, 1 ); QWhatsThis::add(subjectInput,QWidget::tr("The mail subject should be entered here")); toInput = new QLineEdit( widget, "toInput" ); grid->addWidget( toInput, 0, 1 ); QWhatsThis::add(recipientsBox,QWidget::tr("Recipients can be entered here")); ccInput = new QLineEdit( widget, "ccInput" ); ccInput->hide(); grid->addWidget( ccInput, 0, 1 ); QWhatsThis::add(ccInput,QWidget::tr("If you would like to send copies of your mail they can be entered here")); addressButton = new QToolButton( widget, "addressButton" ); addressButton->setPixmap( Resource::loadPixmap("AddressBook") ); addressButton->setToggleButton(TRUE); grid->addWidget( addressButton, 0, 2 ); connect(addressButton, SIGNAL(clicked()), this, SLOT(getAddress()) ); QWhatsThis::add(addressButton,QWidget::tr("This button opens the address selector with all mail adresses from your OPIE addressbook")); emailInput = new QMultiLineEdit( widget, "emailInput" ); grid->addMultiCellWidget( emailInput, 2, 2, 0, 2); - QWhatsThis::add(recipientsBox,QWidget::tr("Enter your mail text here")); + QWhatsThis::add(emailInput,QWidget::tr("Enter your mail text here")); addressView = new QListView( widget, "addressView"); addressView->addColumn("Name"); addressView->addColumn("EMail"); addressView->setAllColumnsShowFocus(TRUE); addressView->setMultiSelection(TRUE); addressView->hide(); grid->addMultiCellWidget( addressView, 3, 3, 0, 2); - QWhatsThis::add(recipientsBox,QWidget::tr("Chose the recipients from this list")); + QWhatsThis::add(recipientsBox,QWidget::tr("Choose the recipients from this list")); okButton = new QToolButton(bar, "ok"); okButton->setPixmap( Resource::loadPixmap("enter") ); okButton->hide(); connect(okButton, SIGNAL(clicked()), this, SLOT(addRecipients()) ); QWhatsThis::add(okButton,QWidget::tr("Queue your mail by clicking here")); setCentralWidget(widget); } void WriteMail::reject() { emit cancelMail(); } -// need to insert date void WriteMail::accept() { QStringList attachedFiles, attachmentsType; int idCount = 0; if (toInput->text() == "") { QMessageBox::warning(this,tr("No recipient"), tr("Send mail to whom?"), tr("OK\n")); return; } if (! getRecipients(false) ) { QMessageBox::warning(this,tr("Incorrect recipient separator"), tr("Recipients must be separated by ;\nand be valid emailaddresses"), tr("OK\n")); return; } if ((ccInput->text()!="") && (! getRecipients(true) )) { QMessageBox::warning(this,tr("Incorrect carbon copy separator"), tr("CC Recipients must be separated by ;\nand be valid emailaddresses"), tr("OK\n")); return; } @@ -231,54 +230,65 @@ void WriteMail::accept() void WriteMail::getAddress() { showingAddressList = !showingAddressList; if (showingAddressList) { emailInput->hide(); addressView->show(); okButton->show(); } else { addressView->hide(); okButton->hide(); emailInput->show(); } } void WriteMail::attachFile() { addAtt->showMaximized(); } void WriteMail::reply(Email replyMail, bool replyAll) { int pos; + QString ccRecipients; mail = replyMail; mail.files.clear(); toInput->setText(mail.fromMail); - //replyAll ? ccInput->setText(mail.c) + + if (replyAll) + { + for (QStringList::Iterator it = mail.carbonCopies.begin();it != mail.carbonCopies.end(); ++it) + { + ccRecipients.append(*it); + ccRecipients.append(";"); + } + ccRecipients.truncate(ccRecipients.length()-1); //no ; at the end + ccInput->setText(ccRecipients); + } addRecipients(replyAll); subjectInput->setText(tr("Re: ") + mail.subject); pos = 0; mail.body.insert(pos, ">"); while (pos != -1) { pos = mail.body.find('\n', pos); if (pos != -1) mail.body.insert(++pos, ">>"); } emailInput->setText(mail.body); } void WriteMail::forward(Email forwMail) { int pos=0; QString fwdBody=tr("======forwarded message from "); fwdBody.append(forwMail.fromMail); fwdBody.append(tr(" starts======\n\n")); @@ -300,82 +310,80 @@ bool WriteMail::getRecipients(bool ccField) mail.recipients.clear(); ccField ? temp = ccInput->text() : temp=toInput->text() ; while ( (pos = temp.find(';')) != -1) { str = temp.left(pos).stripWhiteSpace(); temp = temp.right(temp.length() - (pos + 1)); if ( str.find('@') == -1) return false; ccField ? mail.carbonCopies.append(str) : mail.recipients.append(str); addressList->addContact(str, ""); } temp = temp.stripWhiteSpace(); if ( temp.find('@') == -1) return false; ccField ? mail.carbonCopies.append(temp) : mail.recipients.append(temp); addressList->addContact(temp, ""); return TRUE; } void WriteMail::addRecipients() { - - addRecipients(false); + toInput->isVisible() ? addRecipients(false) : addRecipients(true); } void WriteMail::addRecipients(bool ccField) { QString recipients = ""; mail.recipients.clear(); QListViewItem *item = addressView->firstChild(); while (item != NULL) { if ( item->isSelected() ) { if (recipients == "") { - recipients = item->text(0); + recipients = item->text(1); } else { - recipients += "; " + item->text(0); + recipients += "; " + item->text(1); } } item = item->nextSibling(); } ccField ? ccInput->setText(recipients):toInput->setText(recipients); addressView->hide(); okButton->hide(); emailInput->show(); addressButton->setOn(FALSE); showingAddressList = !showingAddressList; } void WriteMail::changeRecipients(int selection) { if (selection==0) { toInput->show(); ccInput->hide(); } else if (selection==1) { toInput->hide(); ccInput->show(); } } void WriteMail::setRecipient(const QString &recipient) { toInput->setText(recipient); } void WriteMail::newMail() { toInput->clear(); subjectInput->clear(); emailInput->clear(); - //to clear selected setAddressList(addressList); } |