24 composer_ = this->addWidget(std::make_unique<Composer>());
26 std::vector<Contact> addressBook;
27 addressBook.push_back(
Contact(U
"Koen Deforche",
28 U
"koen.deforche@gmail.com"));
29 addressBook.push_back(
Contact(U
"Koen alias1",
30 U
"koen.alias1@yahoo.com"));
31 addressBook.push_back(
Contact(U
"Koen alias2",
32 U
"koen.alias2@yahoo.com"));
33 addressBook.push_back(
Contact(U
"Koen alias3",
34 U
"koen.alias3@yahoo.com"));
35 addressBook.push_back(
Contact(U
"Bartje",
36 U
"jafar@hotmail.com"));
39 std::vector<Contact> contacts;
40 contacts.push_back(
Contact(U
"Koen Deforche", U
"koen.deforche@gmail.com"));
43 composer_->setSubject(
"That's cool! Want to start your own google?");
48 details_ = this->addWidget(std::make_unique<WContainerWidget>());
50 details_->addWidget(std::make_unique<WText>(tr(
"example.info")));
55 WContainerWidget *feedback = this->addWidget(std::make_unique<WContainerWidget>());
56 feedback->setStyleClass(U
"feedback");
58 WContainerWidget *horiz = feedback->addWidget(std::make_unique<WContainerWidget>());
59 horiz->addWidget(std::make_unique<WText>(U
"<p>We could have, but did not send the following email:</p>"));
61 std::vector<Contact> contacts =
composer_->to();
62 if (!contacts.empty())
63 horiz = feedback->addWidget(std::make_unique<WContainerWidget>());
64 for (
unsigned i = 0; i < contacts.size(); ++i) {
65 horiz->addWidget(std::make_unique<WText>(U
"To: \"" + contacts[i].name + U
"\" <"
66 + contacts[i].email + U
">", TextFormat::Plain));
67 horiz->addWidget(std::make_unique<WBreak>());
71 if (!contacts.empty())
72 horiz = feedback->addWidget(std::make_unique<WContainerWidget>());
73 for (
unsigned i = 0; i < contacts.size(); ++i) {
74 horiz->addWidget(std::make_unique<WText>(U
"Cc: \"" + contacts[i].name + U
"\" <"
75 + contacts[i].email + U
">", TextFormat::Plain));
76 horiz->addWidget(std::make_unique<WBreak>());
80 if (!contacts.empty())
81 horiz = feedback->addWidget(std::make_unique<WContainerWidget>());
82 for (
unsigned i = 0; i < contacts.size(); ++i) {
83 horiz->addWidget(std::make_unique<WText>(U
"Bcc: \"" + contacts[i].name + U
"\" <"
84 + contacts[i].email + U
">", TextFormat::Plain));
85 horiz->addWidget(std::make_unique<WBreak>());
88 horiz = feedback->addWidget(std::make_unique<WContainerWidget>());
89 horiz->addWidget(std::make_unique<WText>(
"Subject: \"" +
composer_->subject() +
"\"", TextFormat::Plain));
91 std::vector<Attachment> attachments =
composer_->attachments();
92 if (!attachments.empty())
93 horiz = feedback->addWidget(std::make_unique<WContainerWidget>());
94 for (
unsigned i = 0; i < attachments.size(); ++i) {
95 horiz->addWidget(std::make_unique<WText>(U
"Attachment: \""
96 + attachments[i].fileName
97 + U
"\" (" + attachments[i].contentDescription
98 + U
")", TextFormat::Plain));
100 unlink(attachments[i].spoolFileName.c_str());
102 horiz->addWidget(std::make_unique<WText>(
", was in spool file: "
103 + attachments[i].spoolFileName));
104 horiz->addWidget(std::make_unique<WBreak>());
107 std::u32string message =
composer_->message();
109 horiz = feedback->addWidget(std::make_unique<WContainerWidget>());
110 horiz->addWidget(std::make_unique<WText>(
"Message body: "));
111 horiz->addWidget(std::make_unique<WBreak>());
113 if (!message.empty()) {
114 horiz->addWidget(std::make_unique<WText>(message, TextFormat::Plain));
116 horiz->addWidget(std::make_unique<WText>(
"<i>(empty)</i>"));
144 std::unique_ptr<WApplication> app
145 = std::make_unique<WApplication>(env);
149 app->messageResourceBundle().use(WApplication::appRoot() +
"composer");
153 app->useStyleSheet(
"composer.css");
155 app->setTitle(
"Composer example");
157 app->root()->addWidget(std::make_unique<ComposeExample>());