Fixed timeout

This commit is contained in:
Torsten Schulz
2024-02-15 17:06:02 +01:00
parent bbf8412f7c
commit a580b51f1a
4 changed files with 24 additions and 13 deletions

View File

@@ -1012,14 +1012,18 @@ void App::showHistory(Wt::Json::Object broadcast) {
void App::connectionTimedOut() {
showLogin();
loginTimer_->stop();
timeoutRemainingTimer_->stop();
menuContainer_->clear();
userListContainer_->clear();
triggerUpdate();
}
void App::addLoginTimeView() {
auto loggedinTimeWidget = menuContainer_->addNew<Wt::WText>();
loggedinTimeWidget->setStyleClass("menu-info-text");
auto loginTimer = root()->addChild(std::make_unique<Wt::WTimer>());
loginTimer->setInterval(std::chrono::seconds(1));
loginTimer_ = root()->addChild(std::make_unique<Wt::WTimer>());
loginTimer_->setInterval(std::chrono::seconds(1));
auto loggedInRefresh = [=, this]() {
auto currentLoginSeconds = currentlyLoggedInSeconds();
int hours = currentLoginSeconds / 3600;
@@ -1030,16 +1034,16 @@ void App::addLoginTimeView() {
std::string elapsedTimeString = elapsedTimeStream.str();
loggedinTimeWidget->setText(Wt::WString("In chat for {1}").arg(elapsedTimeString));
};
loginTimer->timeout().connect(loggedInRefresh);
loginTimer_->timeout().connect(loggedInRefresh);
loggedInRefresh();
loginTimer->start();
loginTimer_->start();
}
void App::addTimeoutView() {
auto timeoutRemainingWidget = menuContainer_->addNew<Wt::WText>();
timeoutRemainingWidget->setStyleClass("menu-info-text");
auto timeoutRemainingTimer = root()->addChild(std::make_unique<Wt::WTimer>());
timeoutRemainingTimer->setInterval(std::chrono::milliseconds(500));
timeoutRemainingTimer_ = root()->addChild(std::make_unique<Wt::WTimer>());
timeoutRemainingTimer_->setInterval(std::chrono::milliseconds(500));
auto timeoutRemainingRefresh = [=, this]() {
auto remainingLoginSeconds = remainingSecondsToTimeout();
int minutes = remainingLoginSeconds / 60;
@@ -1050,9 +1054,9 @@ void App::addTimeoutView() {
std::string elapsedTimeString = remainingTimeStream.str();
timeoutRemainingWidget->setText(Wt::WString("Remaining time before logout is {1}").arg(elapsedTimeString));
};
timeoutRemainingTimer->timeout().connect(timeoutRemainingRefresh);
timeoutRemainingTimer_->timeout().connect(timeoutRemainingRefresh);
timeoutRemainingRefresh();
timeoutRemainingTimer->start();
timeoutRemainingTimer_->start();
}
void App::itemChanged(Wt::WCheckBox *item, Wt::WContainerWidget *dropDownContainer, Wt::WPushButton *openButton, std::unordered_set<std::string> *saveItems) {