Added flags
This commit is contained in:
47
src/app.cpp
47
src/app.cpp
@@ -374,11 +374,18 @@ void App::setupConversationUI(Wt::Json::Object userData) {
|
||||
|
||||
Wt::WContainerWidget* App::createInfoWidget(Wt::WVBoxLayout *layout, Wt::Json::Object userData) {
|
||||
auto infoWidget = layout->addNew<Wt::WContainerWidget>();
|
||||
auto infoLayout = infoWidget->setLayout(std::make_unique<Wt::WHBoxLayout>());
|
||||
infoWidget->setStyleClass(Wt::WString("user-conversation-info userlist-gender-{1}").arg((std::string)userData["gender"]));
|
||||
infoLayout->addWidget(createInfoText(userData), 1);
|
||||
auto blockButton = createBlockButton(userData);
|
||||
infoLayout->addWidget(std::move(blockButton));
|
||||
try {
|
||||
auto infoLayout = infoWidget->setLayout(std::make_unique<Wt::WHBoxLayout>());
|
||||
infoWidget->setStyleClass(Wt::WString("user-conversation-info userlist-gender-{1}").arg((std::string)userData["gender"]));
|
||||
auto flag = infoLayout->addNew<Wt::WImage>(Wt::WLink(std::make_shared<Wt::WFileResource>("../docroot/flags/" + (std::string)userData["isoCountryCode"] + ".png")));
|
||||
flag->setToolTip(country);
|
||||
flag->setStyleClass("flag-icon");
|
||||
infoLayout->addWidget(createInfoText(userData), 1);
|
||||
auto blockButton = createBlockButton(userData);
|
||||
infoLayout->addWidget(std::move(blockButton));
|
||||
} catch(const std::exception &e) {
|
||||
std::cout << e.what() << std::endl;
|
||||
}
|
||||
return infoWidget;
|
||||
}
|
||||
|
||||
@@ -610,6 +617,8 @@ void App::createImprintContainer(Wt::WVBoxLayout *containerLayout) {
|
||||
"</p>", Wt::TextFormat::UnsafeXHTML);
|
||||
imprintDialog->contents()->addNew<Wt::WText>("<br> "
|
||||
"Imprint from <a href=\"https://www.impressum-generator.de\">Imprint Generator</a> of <a href=\"https://www.kanzlei-hasselbach.de/\">Kanzlei Hasselbach, Lawyers for Labor Law and Family Law</a> ", Wt::TextFormat::UnsafeXHTML);
|
||||
imprintDialog->contents()->addNew<Wt::WText>("<br> "
|
||||
"Thanks for the flag icons to <a href=\"https://flagpedia.net\">flagpedia.net</a>", Wt::TextFormat::UnsafeXHTML);
|
||||
imprintDialog->contents()->setMaximumSize(Wt::WLength(60, Wt::LengthUnit::FontEm), Wt::WLength(40, Wt::LengthUnit::FontEm));
|
||||
imprintDialog->contents()->setOverflow(Wt::Overflow::Auto);
|
||||
imprintDialog->buttonClicked().connect([=]() { imprintDialog->accept(); });
|
||||
@@ -692,12 +701,16 @@ void App::showOpenInbox(Wt::Json::Object data) {
|
||||
auto conversationsTable = contentContainer_->addNew<Wt::WTable>();
|
||||
conversationsTable->resize(Wt::WLength(15, Wt::LengthUnit::FontEm), Wt::WLength::Auto);
|
||||
for (Wt::Json::Object &user: (Wt::Json::Array)data["data"]) {
|
||||
auto row = conversationsTable->rowCount();
|
||||
auto userItem = conversationsTable->elementAt(row, 0)->addNew<Wt::WContainerWidget>();
|
||||
Wt::WString partnerName = (std::string)user["name"];
|
||||
auto userItem = conversationsTable->elementAt(conversationsTable->rowCount(), 0)->addNew<Wt::WText>(Wt::WString("{1} ({2})").arg(partnerName).arg((int)user["age"]));
|
||||
auto flag = userItem->addNew<Wt::WImage>(Wt::WLink(std::make_shared<Wt::WFileResource>("../docroot/flags/" + (std::string)user["isoCountryCode"] + ".png")));
|
||||
flag->setToolTip(country);
|
||||
flag->setStyleClass("flag-icon");
|
||||
userItem->addNew<Wt::WText>(Wt::WString("{1} ({2})").arg(partnerName).arg((int)user["age"]));
|
||||
userItem->setStyleClass(Wt::WString("userlist-item userlist-gender-{1}").arg((std::string)user["gender"]));
|
||||
userItem->setHeight(Wt::WLength(2, Wt::LengthUnit::FontEm));
|
||||
userItem->setPadding(Wt::WLength(3, Wt::LengthUnit::Pixel));
|
||||
userItem->setInline(false);
|
||||
userItem->clicked().connect([=, this]() {
|
||||
requestConversation(partnerName.toUTF8());
|
||||
});
|
||||
@@ -795,6 +808,10 @@ void App::addHistoryButton() {
|
||||
}
|
||||
|
||||
void App::addIdentifier() {
|
||||
menuContainer_->setPositionScheme(Wt::PositionScheme::Relative);
|
||||
auto flag = menuContainer_->addNew<Wt::WImage>(Wt::WLink(std::make_shared<Wt::WFileResource>("../docroot/flags/" + isoCountryCode + ".png")));
|
||||
flag->setToolTip(country);
|
||||
flag->setStyleClass("flag-icon");
|
||||
auto identifier = menuContainer_->addNew<Wt::WText>(Wt::WString("{1} ({2}), {3}").arg(userName).arg(isoCountryCode).arg(age));
|
||||
identifier->setMargin(Wt::WLength(0.3, Wt::LengthUnit::FontEm), Wt::Side::Bottom | Wt::Side::Top);
|
||||
Wt::WCssDecorationStyle backgroundStyle;
|
||||
@@ -898,11 +915,17 @@ void App::addItem(const std::string& country, Wt::WContainerWidget *dropDownCont
|
||||
|
||||
void App::addUserItemToLayout(Wt::WVBoxLayout *layout, Wt::Json::Object userObject) {
|
||||
auto userName = (std::string)userObject["name"];
|
||||
auto userItem = layout->addNew<Wt::WText>(Wt::WString("{1} ({2})").arg(userName).arg((int)userObject["age"]));
|
||||
userItem->setStyleClass(Wt::WString("userlist-item userlist-gender-{1}").arg((std::string)userObject["gender"]));
|
||||
userItem->setHeight(Wt::WLength(2, Wt::LengthUnit::FontEm));
|
||||
userItem->setPadding(Wt::WLength(3, Wt::LengthUnit::Pixel));
|
||||
userItem->clicked().connect([=, this]() {
|
||||
auto line = layout->addNew<Wt::WContainerWidget>();
|
||||
auto flag = line->addNew<Wt::WImage>(Wt::WLink(std::make_shared<Wt::WFileResource>("../docroot/flags/" + (std::string)userObject["isoCountryCode"] + ".png")));
|
||||
flag->setMaximumSize(Wt::WLength(60, Wt::LengthUnit::Pixel), Wt::WLength(20, Wt::LengthUnit::Pixel));
|
||||
flag->setHeight(Wt::WLength(2, Wt::LengthUnit::FontEm));
|
||||
flag->setStyleClass("flag-icon");
|
||||
flag->setToolTip(userObject["country"]);
|
||||
line->addNew<Wt::WText>(Wt::WString("{1} ({2})").arg(userName).arg((int)userObject["age"]));
|
||||
line->setStyleClass(Wt::WString("userlist-item userlist-gender-{1}").arg((std::string)userObject["gender"]));
|
||||
line->setHeight(Wt::WLength(2, Wt::LengthUnit::FontEm));
|
||||
line->setPadding(Wt::WLength(3, Wt::LengthUnit::Pixel));
|
||||
line->clicked().connect([=, this]() {
|
||||
requestConversation(userName);
|
||||
});
|
||||
|
||||
|
||||
@@ -450,6 +450,7 @@ Wt::Json::Object Broadcast::createUserList() {
|
||||
user["age"] = connection->age();
|
||||
user["gender"] = Wt::asString(connection->gender());
|
||||
user["country"] = Wt::asString(connection->country());
|
||||
user["isoCountryCode"] = getCountryIsoCodeByCountry(connection->country());
|
||||
userList.push_back(user);
|
||||
}
|
||||
Wt::Json::Object data;
|
||||
|
||||
Reference in New Issue
Block a user