summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorDeepBlueV7.X <nicolas.werner@hotmail.de>2021-02-25 12:54:08 +0000
committerGitHub <noreply@github.com>2021-02-25 12:54:08 +0000
commit4c71ca811031365684bbee59de2b56599f90001b (patch)
tree4524afe74d1daee0a69f345eb35e2319eb27c72f /src
parentFix text input restoring after edits (diff)
parentchange mtxclient url, fix login page assert failure and dendrite registration... (diff)
downloadnheko-4c71ca811031365684bbee59de2b56599f90001b.tar.xz
Merge pull request #494 from Jedi18/minor_issue_fixes
Fix registration bug and navigate to created room
Diffstat (limited to 'src')
-rw-r--r--src/ChatPage.cpp13
-rw-r--r--src/ChatPage.h2
-rw-r--r--src/LoginPage.cpp13
-rw-r--r--src/LoginPage.h1
-rw-r--r--src/RegisterPage.cpp1
5 files changed, 24 insertions, 6 deletions
diff --git a/src/ChatPage.cpp b/src/ChatPage.cpp

index 9ba2cc87..aae9271d 100644 --- a/src/ChatPage.cpp +++ b/src/ChatPage.cpp
@@ -253,6 +253,7 @@ ChatPage::ChatPage(QSharedPointer<UserSettings> userSettings, QWidget *parent) this, &ChatPage::updateGroupsInfo, communitiesList_, &CommunitiesList::setCommunities); connect(this, &ChatPage::leftRoom, this, &ChatPage::removeRoom); + connect(this, &ChatPage::newRoom, this, &ChatPage::changeRoom, Qt::QueuedConnection); connect(this, &ChatPage::notificationsRetrieved, this, &ChatPage::sendNotifications); connect(this, &ChatPage::highlightedNotifsRetrieved, @@ -967,8 +968,9 @@ ChatPage::createRoom(const mtx::requests::CreateRoom &req) return; } - emit showNotification( - tr("Room %1 created.").arg(QString::fromStdString(res.room_id.to_string()))); + QString newRoomId = QString::fromStdString(res.room_id.to_string()); + emit showNotification(tr("Room %1 created.").arg(newRoomId)); + emit newRoom(newRoomId); }); } @@ -990,6 +992,13 @@ ChatPage::leaveRoom(const QString &room_id) } void +ChatPage::changeRoom(const QString &room_id) +{ + view_manager_->setHistoryView(room_id); + room_list_->highlightSelectedRoom(room_id); +} + +void ChatPage::inviteUser(QString userid, QString reason) { auto room = current_room_; diff --git a/src/ChatPage.h b/src/ChatPage.h
index 917bd785..dc6b8299 100644 --- a/src/ChatPage.h +++ b/src/ChatPage.h
@@ -154,6 +154,7 @@ signals: void tryInitialSyncCb(); void newSyncResponse(const mtx::responses::Sync &res); void leftRoom(const QString &room_id); + void newRoom(const QString &room_id); void initializeRoomList(QMap<QString, RoomInfo>); void initializeViews(const mtx::responses::Rooms &rooms); @@ -201,6 +202,7 @@ signals: private slots: void logout(); void removeRoom(const QString &room_id); + void changeRoom(const QString &room_id); void dropToLoginPage(const QString &msg); void handleSyncResponse(const mtx::responses::Sync &res); diff --git a/src/LoginPage.cpp b/src/LoginPage.cpp
index 26a170c5..cd54431d 100644 --- a/src/LoginPage.cpp +++ b/src/LoginPage.cpp
@@ -192,6 +192,11 @@ LoginPage::LoginPage(QWidget *parent) connect(sso_login_button_, &RaisedButton::clicked, this, [this]() { onLoginButtonClicked(LoginMethod::SSO); }); + connect(this, + &LoginPage::showErrorMessage, + this, + static_cast<void (LoginPage::*)(QLabel *, const QString &)>(&LoginPage::showError), + Qt::QueuedConnection); connect(matrixid_input_, SIGNAL(returnPressed()), login_button_, SLOT(click())); connect(password_input_, SIGNAL(returnPressed()), login_button_, SLOT(click())); connect(deviceName_, SIGNAL(returnPressed()), login_button_, SLOT(click())); @@ -422,8 +427,8 @@ LoginPage::onLoginButtonClicked(LoginMethod loginMethod) : deviceName_->text().toStdString(), [this](const mtx::responses::Login &res, mtx::http::RequestErr err) { if (err) { - showError(error_label_, - QString::fromStdString(err->matrix_error.error)); + showErrorMessage(error_label_, + QString::fromStdString(err->matrix_error.error)); emit errorOccurred(); return; } @@ -448,7 +453,7 @@ LoginPage::onLoginButtonClicked(LoginMethod loginMethod) http::client()->login( req, [this](const mtx::responses::Login &res, mtx::http::RequestErr err) { if (err) { - showError( + showErrorMessage( error_label_, QString::fromStdString(err->matrix_error.error)); emit errorOccurred(); @@ -467,7 +472,7 @@ LoginPage::onLoginButtonClicked(LoginMethod loginMethod) sso->deleteLater(); }); connect(sso, &SSOHandler::ssoFailed, this, [this, sso]() { - showError(error_label_, tr("SSO login failed")); + showErrorMessage(error_label_, tr("SSO login failed")); emit errorOccurred(); sso->deleteLater(); }); diff --git a/src/LoginPage.h b/src/LoginPage.h
index 2341c0ce..f6428cbb 100644 --- a/src/LoginPage.h +++ b/src/LoginPage.h
@@ -59,6 +59,7 @@ signals: void versionOkCb(bool passwordSupported, bool ssoSupported); void loginOk(const mtx::responses::Login &res); + void showErrorMessage(QLabel *label, const QString &msg); protected: void paintEvent(QPaintEvent *event) override; diff --git a/src/RegisterPage.cpp b/src/RegisterPage.cpp
index 44ad7a3d..004d5b98 100644 --- a/src/RegisterPage.cpp +++ b/src/RegisterPage.cpp
@@ -277,6 +277,7 @@ RegisterPage::RegisterPage(QWidget *parent) if (!err) { http::client()->set_user(res.user_id); http::client()->set_access_token(res.access_token); + http::client()->set_device_id(res.device_id); emit registerOk(); return;