Skip to content
Snippets Groups Projects
Commit d048d17e authored by Olivier SOLDANO's avatar Olivier SOLDANO Committed by Anthony Léonard
Browse files

enable account password change


add the ui to change password of an account in account details.

Change-Id: Ib7ccfb6632bd01bc6bcf9d84a23b90785a20038c
Reviewed-by: default avatarAnthony Léonard <anthony.leonard@savoirfairelinux.com>
parent 1cd9617a
Branches
No related tags found
No related merge requests found
...@@ -37,6 +37,7 @@ AccountDetails::AccountDetails(QWidget *parent) : ...@@ -37,6 +37,7 @@ AccountDetails::AccountDetails(QWidget *parent) :
currentAccount_(nullptr) currentAccount_(nullptr)
{ {
ui->setupUi(this); ui->setupUi(this);
resetPasswordChangeUI();
setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding); setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding);
...@@ -93,6 +94,7 @@ AccountDetails::setAccount(Account* currentAccount) { ...@@ -93,6 +94,7 @@ AccountDetails::setAccount(Account* currentAccount) {
} }
currentAccount_ = currentAccount; currentAccount_ = currentAccount;
resetPasswordChangeUI();
if (currentAccount_ == nullptr) if (currentAccount_ == nullptr)
return; return;
...@@ -398,3 +400,81 @@ void AccountDetails::handle_nameRegistrationEnded(NameDirectory::RegisterNameSta ...@@ -398,3 +400,81 @@ void AccountDetails::handle_nameRegistrationEnded(NameDirectory::RegisterNameSta
} }
} }
void
AccountDetails::on_changePassBtn_clicked()
{
ui->oldPasswordLabel->show();
ui->oldPasswordLineEdit->show();
ui->oldPasswordLabel->setEnabled(currentAccount_->archiveHasPassword());
ui->oldPasswordLineEdit->setEnabled(currentAccount_->archiveHasPassword());
ui->newPasswordLabel->show();
ui->newPasswordLineEdit->show();
ui->newPassConfirmationLabel->show();
ui->newPassConfirmationLineEdit->show();
ui->changePassBtn->hide();
ui->confirmChangeBtn->show();
ui->cancelChangeBtn->show();
}
void
AccountDetails::on_confirmChangeBtn_clicked()
{
ui->oldPasswordLineEdit->setStyleSheet("border-color: rgb(0, 192, 212);");
if (ui->newPassConfirmationLineEdit->text() == ui->newPasswordLineEdit->text()) {
ui->changePassInfo->show();
ui->changePassInfo->setText("Changing password ...");
// reset border stylesheet
ui->newPassConfirmationLineEdit->setStyleSheet("border-color: rgb(0, 192, 212);");
ui->newPasswordLineEdit->setStyleSheet("border-color: rgb(0, 192, 212);");
if (currentAccount_->changePassword(ui->oldPasswordLineEdit->text(), ui->newPasswordLineEdit->text())) {
resetPasswordChangeUI();
AccountModel::instance().save();
} else {
ui->oldPasswordLineEdit->setStyleSheet("border-color: rgb(204, 0, 0);");
ui->changePassInfo->setText("Wrong password");
}
} else {
// set borders red to show mismatch
ui->newPassConfirmationLineEdit->setStyleSheet("border-color: rgb(204, 0, 0);");
ui->newPasswordLineEdit->setStyleSheet("border-color: rgb(204, 0, 0);");
ui->changePassInfo->setText("New password and confirmation mismatched");
ui->changePassInfo->show();
}
}
void
AccountDetails::resetPasswordChangeUI()
{
ui->oldPasswordLabel->hide();
ui->oldPasswordLineEdit->clear();
ui->oldPasswordLineEdit->hide();
ui->oldPasswordLineEdit->setStyleSheet("border-color: rgb(0, 192, 212);");
ui->newPasswordLabel->hide();
ui->newPasswordLineEdit->clear();
ui->newPasswordLineEdit->hide();
ui->newPasswordLineEdit->setStyleSheet("border-color: rgb(0, 192, 212);");
ui->newPassConfirmationLabel->hide();
ui->newPassConfirmationLineEdit->clear();
ui->newPassConfirmationLineEdit->hide();
ui->newPassConfirmationLineEdit->setStyleSheet("border-color: rgb(0, 192, 212);");
ui->changePassBtn->show();
ui->confirmChangeBtn->hide();
ui->cancelChangeBtn->hide();
ui->changePassInfo->hide();
}
void AccountDetails::on_cancelChangeBtn_clicked()
{
resetPasswordChangeUI();
}
...@@ -66,6 +66,9 @@ private slots: ...@@ -66,6 +66,9 @@ private slots:
void videoCodecSelectionChanged(const QItemSelection& selected, const QItemSelection& deselected); void videoCodecSelectionChanged(const QItemSelection& selected, const QItemSelection& deselected);
void exportOnRingEnded(Account::ExportOnRingStatus state, const QString& pin); void exportOnRingEnded(Account::ExportOnRingStatus state, const QString& pin);
void handle_nameRegistrationEnded(NameDirectory::RegisterNameStatus status, const QString& name); void handle_nameRegistrationEnded(NameDirectory::RegisterNameStatus status, const QString& name);
void on_changePassBtn_clicked();
void on_confirmChangeBtn_clicked();
void on_cancelChangeBtn_clicked();
private: private:
Ui::AccountDetails* ui; Ui::AccountDetails* ui;
...@@ -75,4 +78,5 @@ private: ...@@ -75,4 +78,5 @@ private:
QMap<QString, ACC_PTR > certMap_; QMap<QString, ACC_PTR > certMap_;
void stopRingtone(); void stopRingtone();
void resetPasswordChangeUI();
}; };
...@@ -100,8 +100,8 @@ ...@@ -100,8 +100,8 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>843</width> <width>829</width>
<height>726</height> <height>912</height>
</rect> </rect>
</property> </property>
<layout class="QVBoxLayout" name="verticalLayout_12"> <layout class="QVBoxLayout" name="verticalLayout_12">
...@@ -449,7 +449,7 @@ ...@@ -449,7 +449,7 @@
</property> </property>
</widget> </widget>
</item> </item>
<item row="4" column="0"> <item row="12" column="0">
<widget class="QLabel" name="passwordLabel"> <widget class="QLabel" name="passwordLabel">
<property name="sizePolicy"> <property name="sizePolicy">
<sizepolicy hsizetype="MinimumExpanding" vsizetype="Preferred"> <sizepolicy hsizetype="MinimumExpanding" vsizetype="Preferred">
...@@ -473,7 +473,7 @@ ...@@ -473,7 +473,7 @@
</property> </property>
</widget> </widget>
</item> </item>
<item row="4" column="1"> <item row="12" column="1">
<widget class="QLineEdit" name="lrcfg_password"> <widget class="QLineEdit" name="lrcfg_password">
<property name="sizePolicy"> <property name="sizePolicy">
<sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed"> <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
...@@ -495,7 +495,7 @@ ...@@ -495,7 +495,7 @@
</property> </property>
</widget> </widget>
</item> </item>
<item row="5" column="0"> <item row="13" column="0">
<widget class="QLabel" name="proxyLabel"> <widget class="QLabel" name="proxyLabel">
<property name="sizePolicy"> <property name="sizePolicy">
<sizepolicy hsizetype="MinimumExpanding" vsizetype="Preferred"> <sizepolicy hsizetype="MinimumExpanding" vsizetype="Preferred">
...@@ -519,7 +519,7 @@ ...@@ -519,7 +519,7 @@
</property> </property>
</widget> </widget>
</item> </item>
<item row="5" column="1"> <item row="13" column="1">
<widget class="QLineEdit" name="lrcfg_proxy"> <widget class="QLineEdit" name="lrcfg_proxy">
<property name="sizePolicy"> <property name="sizePolicy">
<sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed"> <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
...@@ -538,7 +538,7 @@ ...@@ -538,7 +538,7 @@
</property> </property>
</widget> </widget>
</item> </item>
<item row="6" column="0"> <item row="14" column="0">
<widget class="QLabel" name="voicemailLabel"> <widget class="QLabel" name="voicemailLabel">
<property name="sizePolicy"> <property name="sizePolicy">
<sizepolicy hsizetype="MinimumExpanding" vsizetype="Preferred"> <sizepolicy hsizetype="MinimumExpanding" vsizetype="Preferred">
...@@ -562,7 +562,7 @@ ...@@ -562,7 +562,7 @@
</property> </property>
</widget> </widget>
</item> </item>
<item row="6" column="1"> <item row="14" column="1">
<widget class="QLineEdit" name="lrcfg_mailbox"> <widget class="QLineEdit" name="lrcfg_mailbox">
<property name="sizePolicy"> <property name="sizePolicy">
<sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed"> <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
...@@ -581,7 +581,7 @@ ...@@ -581,7 +581,7 @@
</property> </property>
</widget> </widget>
</item> </item>
<item row="7" column="0"> <item row="15" column="0">
<widget class="QCheckBox" name="lrcfg_autoAnswer"> <widget class="QCheckBox" name="lrcfg_autoAnswer">
<property name="font"> <property name="font">
<font> <font>
...@@ -599,7 +599,7 @@ ...@@ -599,7 +599,7 @@
</property> </property>
</widget> </widget>
</item> </item>
<item row="8" column="0"> <item row="16" column="0">
<widget class="QCheckBox" name="lrcfg_upnpEnabled"> <widget class="QCheckBox" name="lrcfg_upnpEnabled">
<property name="enabled"> <property name="enabled">
<bool>true</bool> <bool>true</bool>
...@@ -620,6 +620,188 @@ ...@@ -620,6 +620,188 @@
</property> </property>
</widget> </widget>
</item> </item>
<item row="4" column="1">
<widget class="QLineEdit" name="oldPasswordLineEdit">
<property name="minimumSize">
<size>
<width>0</width>
<height>30</height>
</size>
</property>
<property name="toolTip">
<string>Old password input line</string>
</property>
<property name="inputMask">
<string/>
</property>
<property name="echoMode">
<enum>QLineEdit::Password</enum>
</property>
<property name="placeholderText">
<string>Input old password</string>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QLabel" name="oldPasswordLabel">
<property name="font">
<font>
<pointsize>11</pointsize>
</font>
</property>
<property name="styleSheet">
<string notr="true">color: rgb(77, 77, 77);</string>
</property>
<property name="text">
<string>Old Password</string>
</property>
</widget>
</item>
<item row="5" column="1">
<widget class="QLineEdit" name="newPasswordLineEdit">
<property name="minimumSize">
<size>
<width>0</width>
<height>30</height>
</size>
</property>
<property name="toolTip">
<string>New password text input</string>
</property>
<property name="echoMode">
<enum>QLineEdit::Password</enum>
</property>
<property name="placeholderText">
<string>Input new password</string>
</property>
</widget>
</item>
<item row="5" column="0">
<widget class="QLabel" name="newPasswordLabel">
<property name="font">
<font>
<pointsize>11</pointsize>
<weight>50</weight>
<bold>false</bold>
</font>
</property>
<property name="styleSheet">
<string notr="true">color: rgb(77, 77, 77);</string>
</property>
<property name="text">
<string>New password</string>
</property>
</widget>
</item>
<item row="7" column="1">
<widget class="QLineEdit" name="newPassConfirmationLineEdit">
<property name="minimumSize">
<size>
<width>0</width>
<height>30</height>
</size>
</property>
<property name="toolTip">
<string>Password confirmation text input</string>
</property>
<property name="echoMode">
<enum>QLineEdit::Password</enum>
</property>
<property name="placeholderText">
<string>Input confirmation </string>
</property>
</widget>
</item>
<item row="7" column="0">
<widget class="QLabel" name="newPassConfirmationLabel">
<property name="font">
<font>
<family>Cantarell</family>
<pointsize>11</pointsize>
</font>
</property>
<property name="styleSheet">
<string notr="true">color: rgb(77, 77, 77);</string>
</property>
<property name="text">
<string>New pass confirmation</string>
</property>
</widget>
</item>
<item row="9" column="1">
<layout class="QHBoxLayout" name="horizontalLayout_2">
<property name="topMargin">
<number>0</number>
</property>
<item>
<widget class="QPushButton" name="changePassBtn">
<property name="minimumSize">
<size>
<width>0</width>
<height>30</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>500</width>
<height>100</height>
</size>
</property>
<property name="text">
<string>Change password</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="confirmChangeBtn">
<property name="minimumSize">
<size>
<width>0</width>
<height>30</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>500</width>
<height>16777215</height>
</size>
</property>
<property name="text">
<string>Ok</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="cancelChangeBtn">
<property name="minimumSize">
<size>
<width>0</width>
<height>30</height>
</size>
</property>
<property name="toolTip">
<string>Cancel password change button</string>
</property>
<property name="text">
<string>Cancel</string>
</property>
</widget>
</item>
</layout>
</item>
<item row="8" column="1">
<widget class="QLabel" name="changePassInfo">
<property name="styleSheet">
<string notr="true">color: rgb(77, 77, 77);</string>
</property>
<property name="text">
<string>Changing password ...</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
</layout> </layout>
</item> </item>
<item> <item>
...@@ -2034,7 +2216,7 @@ ...@@ -2034,7 +2216,7 @@
<property name="geometry"> <property name="geometry">
<rect> <rect>
<x>0</x> <x>0</x>
<y>-34</y> <y>0</y>
<width>829</width> <width>829</width>
<height>760</height> <height>760</height>
</rect> </rect>
...@@ -2608,7 +2790,7 @@ ...@@ -2608,7 +2790,7 @@
<customwidget> <customwidget>
<class>RingButton</class> <class>RingButton</class>
<extends>QPushButton</extends> <extends>QPushButton</extends>
<header location="global">ringbutton.h</header> <header>ringbutton.h</header>
</customwidget> </customwidget>
<customwidget> <customwidget>
<class>BannedContactsWidget</class> <class>BannedContactsWidget</class>
......
...@@ -294,14 +294,15 @@ QPushButton#existingPushButton, QPushButton#newAccountButton, QPushButton#previo ...@@ -294,14 +294,15 @@ QPushButton#existingPushButton, QPushButton#newAccountButton, QPushButton#previo
QPushButton#cancelAddButton, QPushButton#exportOnRingButton, QPushButton#addDeviceButton, QPushButton#exportEndedOkButton, QPushButton#cancelAddButton, QPushButton#exportOnRingButton, QPushButton#addDeviceButton, QPushButton#exportEndedOkButton,
QPushButton#errorPushButton, QPushButton#registerButton, QPushButton#sendContactRequestPageButton, QPushButton#errorPushButton, QPushButton#registerButton, QPushButton#sendContactRequestPageButton,
QPushButton#sendContactRequestButton, QPushButton#acceptCRButton, QPushButton#discardCRButton, QPushButton#deleteCancelBtn, QPushButton#sendContactRequestButton, QPushButton#acceptCRButton, QPushButton#discardCRButton, QPushButton#deleteCancelBtn,
QPushButton#dhtImportBtn, QPushButton#fileImportBtn { QPushButton#dhtImportBtn, QPushButton#fileImportBtn, QPushButton#changePassBtn, QPushButton#confirmChangeBtn {
background-color: #3AC0D2; background-color: #3AC0D2;
border: 0px; border: 0px;
color: white; color: white;
font: 14px; font: 14px;
} }
QPushButton#blockCRButton, QPushButton#deleteAcceptBtn, QPushButton#debanButton, QPushButton#deleteButton, QPushButton#deleteBanBtn{ QPushButton#blockCRButton, QPushButton#deleteAcceptBtn, QPushButton#debanButton, QPushButton#deleteButton, QPushButton#deleteBanBtn,
QPushButton#cancelChangeBtn {
background-color: rgb(251, 72, 71); background-color: rgb(251, 72, 71);
border: 0px; border: 0px;
color: white; color: white;
...@@ -316,12 +317,13 @@ QPushButton#exportButton:hover, QPushButton#cancelAddButton:hover, QPushButton#e ...@@ -316,12 +317,13 @@ QPushButton#exportButton:hover, QPushButton#cancelAddButton:hover, QPushButton#e
QPushButton#addDeviceButton:hover, QPushButton#exportEndedOkButton:hover, QPushButton#errorPushButton:hover, QPushButton#addDeviceButton:hover, QPushButton#exportEndedOkButton:hover, QPushButton#errorPushButton:hover,
QPushButton#registerButton:hover, QPushButton#sendContactRequestPageButton:hover, QPushButton#registerButton:hover, QPushButton#sendContactRequestPageButton:hover,
QPushButton#sendContactRequestButton:hover, QPushButton#acceptCRButton:hover, QPushButton#discardCRButton:hover, QPushButton#sendContactRequestButton:hover, QPushButton#acceptCRButton:hover, QPushButton#discardCRButton:hover,
QPushButton#deleteCancelBtn:hover, QPushButton#dhtImportBtn:hover, QPushButton#fileImportBtn:hover{ QPushButton#deleteCancelBtn:hover, QPushButton#dhtImportBtn:hover, QPushButton#fileImportBtn:hover,
QPushButton#changePassBtn:hover, QPushButton#confirmChangeBtn:hover{
background-color: #4dc6d6; background-color: #4dc6d6;
} }
QPushButton#blockCRButton:hover, QPushButton#deleteAcceptBtn:hover, QPushButton#debanButton:hover, QPushButton#blockCRButton:hover, QPushButton#deleteAcceptBtn:hover, QPushButton#debanButton:hover,
QPushButton#deleteButton:hover, QPushButton#deleteBanBtn:hover{ QPushButton#deleteButton:hover, QPushButton#deleteBanBtn:hover, QPushButton#cancelChangeBtn:hover {
background-color: rgb(252, 91, 90); background-color: rgb(252, 91, 90);
} }
...@@ -333,17 +335,19 @@ QPushButton#exportButton:pressed, QPushButton#cancelAddButton:pressed, QPushButt ...@@ -333,17 +335,19 @@ QPushButton#exportButton:pressed, QPushButton#cancelAddButton:pressed, QPushButt
QPushButton#addDeviceButton:pressed, QPushButton#exportEndedOkButton:pressed, QPushButton#errorPushButton:pressed, QPushButton#addDeviceButton:pressed, QPushButton#exportEndedOkButton:pressed, QPushButton#errorPushButton:pressed,
QPushButton#registerButton:pressed, QPushButton#sendContactRequestPageButton:pressed, QPushButton#registerButton:pressed, QPushButton#sendContactRequestPageButton:pressed,
QPushButton#sendContactRequestButton:pressed, QPushButton#acceptCRButton:pressed, QPushButton#discardCRButton:pressed, QPushButton#sendContactRequestButton:pressed, QPushButton#acceptCRButton:pressed, QPushButton#discardCRButton:pressed,
QPushButton#deleteCancelBtn:pressed, QPushButton#dhtImportBtn:pressed, QPushButton#fileImportBtn:pressed{ QPushButton#deleteCancelBtn:pressed, QPushButton#dhtImportBtn:pressed, QPushButton#fileImportBtn:pressed,
QPushButton#changePassBtn:pressed, QPushButton#confirmChangeBtn:pressed {
background-color: #34acbd; background-color: #34acbd;
} }
QPushButton#blockCRButton:pressed, QPushButton#deleteAcceptBtn:pressed, QPushButton#debanButton:pressed, QPushButton#blockCRButton:pressed, QPushButton#deleteAcceptBtn:pressed, QPushButton#debanButton:pressed,
QPushButton#deleteBanBtn:pressed{ QPushButton#deleteBanBtn:pressed, QPushButton#cancelChangeBtn:pressed{
background-color: rgb(219, 55, 54); background-color: rgb(219, 55, 54);
} }
QLineEdit#usernameEdit:enabled, QLineEdit#passwordEdit:enabled, QLineEdit#confirmPasswordEdit:enabled, QLineEdit#usernameEdit:enabled, QLineEdit#passwordEdit:enabled, QLineEdit#confirmPasswordEdit:enabled,
QLineEdit#pinEdit:enabled, QLineEdit#fullNameEdit:enabled, QLineEdit#archivePasswordInput:enabled { QLineEdit#pinEdit:enabled, QLineEdit#fullNameEdit:enabled, QLineEdit#archivePasswordInput:enabled,
QLineEdit#oldPasswordLineEdit:enabled, QLineEdit#newPassConfirmationLineEdit:enabled, QLineEdit#newPasswordLineEdit:enabled{
border-color: rgb(0, 192, 212); border-color: rgb(0, 192, 212);
border-radius: 5px; border-radius: 5px;
border-width: 1px; border-width: 1px;
...@@ -352,7 +356,8 @@ QLineEdit#pinEdit:enabled, QLineEdit#fullNameEdit:enabled, QLineEdit#archivePass ...@@ -352,7 +356,8 @@ QLineEdit#pinEdit:enabled, QLineEdit#fullNameEdit:enabled, QLineEdit#archivePass
} }
QLineEdit#usernameEdit:disabled, QLineEdit#passwordEdit:disabled, QLineEdit#confirmPasswordEdit:disabled, QLineEdit#usernameEdit:disabled, QLineEdit#passwordEdit:disabled, QLineEdit#confirmPasswordEdit:disabled,
QLineEdit#pinEdit:disabled, QLineEdit#fullNameEdit:disabled, QLineEdit#archivePasswordInput:disabled { QLineEdit#pinEdit:disabled, QLineEdit#fullNameEdit:disabled, QLineEdit#archivePasswordInput:disabled,
QLineEdit#oldPasswordLineEdit:disabled{
border-color: rgb(159, 157, 154); border-color: rgb(159, 157, 154);
border-radius: 5px; border-radius: 5px;
border-width: 1px; border-width: 1px;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment