55 WContainerWidget *feedback =
new WContainerWidget(
this);
56 feedback->setStyleClass(L
"feedback");
58 WContainerWidget *horiz =
new WContainerWidget(feedback);
59 new WText(L
"<p>We could have, but did not send the following email:</p>",
63 if (!contacts.empty())
64 horiz =
new WContainerWidget(feedback);
65 for (
unsigned i = 0; i < contacts.size(); ++i) {
66 new WText(L
"To: \"" + contacts[i].name + L
"\" <" 67 + contacts[i].email + L
">", PlainText, horiz);
72 if (!contacts.empty())
73 horiz =
new WContainerWidget(feedback);
74 for (
unsigned i = 0; i < contacts.size(); ++i) {
75 new WText(L
"Cc: \"" + contacts[i].name + L
"\" <" 76 + contacts[i].email + L
">", PlainText, horiz);
81 if (!contacts.empty())
82 horiz =
new WContainerWidget(feedback);
83 for (
unsigned i = 0; i < contacts.size(); ++i) {
84 new WText(L
"Bcc: \"" + contacts[i].name + L
"\" <" 85 + contacts[i].email + L
">", PlainText, horiz);
89 horiz =
new WContainerWidget(feedback);
93 if (!attachments.empty())
94 horiz =
new WContainerWidget(feedback);
95 for (
unsigned i = 0; i < attachments.size(); ++i) {
96 new WText(L
"Attachment: \"" 97 + attachments[i].fileName
98 + L
"\" (" + attachments[i].contentDescription
99 + L
")", PlainText, horiz);
101 unlink(attachments[i].spoolFileName.c_str());
103 new WText(
", was in spool file: " 104 + attachments[i].spoolFileName, horiz);
110 horiz =
new WContainerWidget(feedback);
111 new WText(
"Message body: ", horiz);
114 if (!message.empty()) {
115 new WText(message, PlainText, horiz);
117 new WText(
"<i>(empty)</i>", horiz);
const WString & subject() const
Get the subject.
std::vector< Contact > cc() const
Get the Cc: contacts.
std::vector< Attachment > attachments() const
Get the list of attachments.
const WString & message() const
Get the message.
WContainerWidget * details_
std::vector< Contact > bcc() const
Get the Bc: contacts.
std::vector< Contact > to() const
Get the To: contacts.