diff --git a/internal/frontend/bridge-gui/bridge-gui-tester/Tabs/UsersTab.cpp b/internal/frontend/bridge-gui/bridge-gui-tester/Tabs/UsersTab.cpp index 1570b164..2f59198a 100644 --- a/internal/frontend/bridge-gui/bridge-gui-tester/Tabs/UsersTab.cpp +++ b/internal/frontend/bridge-gui/bridge-gui-tester/Tabs/UsersTab.cpp @@ -45,7 +45,7 @@ UsersTab::UsersTab(QWidget *parent) ui_.tableUserList->setColumnWidth(0, 150); ui_.tableUserList->setColumnWidth(1, 250); - ui_.tableUserList->setColumnWidth(2, 350); + ui_.tableUserList->setColumnWidth(2, 150); connect(ui_.buttonNewUser, &QPushButton::clicked, this, &UsersTab::onAddUserButton); connect(ui_.buttonEditUser, &QPushButton::clicked, this, &UsersTab::onEditUserButton); diff --git a/internal/frontend/bridge-gui/bridge-gui-tester/UserDialog.cpp b/internal/frontend/bridge-gui/bridge-gui-tester/UserDialog.cpp index d20901e0..9d96914e 100644 --- a/internal/frontend/bridge-gui/bridge-gui-tester/UserDialog.cpp +++ b/internal/frontend/bridge-gui/bridge-gui-tester/UserDialog.cpp @@ -40,7 +40,7 @@ UserDialog::UserDialog(bridgepp::SPUser &user, QWidget *parent) ui_.editPassword->setText(user->password()); ui_.editAddresses->setPlainText(user->addresses().join("\n")); ui_.editAvatarText->setText(user_->avatarText()); - ui_.checkLoggedIn->setChecked(user_->state() == UserState::Connected); + this->setState(user->state()); ui_.checkSplitMode->setChecked(user_->splitMode()); ui_.checkSetupGuideSeen->setChecked(user_->setupGuideSeen()); ui_.spinUsedBytes->setValue(user->usedBytes()); @@ -58,7 +58,7 @@ void UserDialog::onOK() user_->setPassword(ui_.editPassword->text()); user_->setAddresses(ui_.editAddresses->toPlainText().split(QRegularExpression(R"(\s+)"), Qt::SkipEmptyParts)); user_->setAvatarText(ui_.editAvatarText->text()); - user_->setState(ui_.checkLoggedIn->isChecked() ? UserState::Connected: UserState::SignedOut); + user_->setState(this->state()); user_->setSplitMode(ui_.checkSplitMode->isChecked()); user_->setSetupGuideSeen(ui_.checkSetupGuideSeen->isChecked()); user_->setUsedBytes(float(ui_.spinUsedBytes->value())); @@ -66,3 +66,21 @@ void UserDialog::onOK() this->accept(); } + + +//**************************************************************************************************************************************************** +/// \return The user state that is currently selected in the dialog. +//**************************************************************************************************************************************************** +UserState UserDialog::state() +{ + return UserState(ui_.comboState->currentIndex()); +} + + +//**************************************************************************************************************************************************** +/// \param[in] state The user state to select in the dialog. +//**************************************************************************************************************************************************** +void UserDialog::setState(UserState state) +{ + ui_.comboState->setCurrentIndex(qint32(state)); +} diff --git a/internal/frontend/bridge-gui/bridge-gui-tester/UserDialog.h b/internal/frontend/bridge-gui/bridge-gui-tester/UserDialog.h index 2ec081ca..2e353072 100644 --- a/internal/frontend/bridge-gui/bridge-gui-tester/UserDialog.h +++ b/internal/frontend/bridge-gui/bridge-gui-tester/UserDialog.h @@ -37,6 +37,10 @@ public: // member functions. UserDialog &operator=(UserDialog const &) = delete; ///< Disabled assignment operator. UserDialog &operator=(UserDialog &&) = delete; ///< Disabled move assignment operator. +private: // member functions + bridgepp::UserState state(); ///< Get the user state selected in the dialog. + void setState(bridgepp::UserState state); ///< Set the user state selected in the dialog + private slots: void onOK(); ///< Slot for the OK button. diff --git a/internal/frontend/bridge-gui/bridge-gui-tester/UserDialog.ui b/internal/frontend/bridge-gui/bridge-gui-tester/UserDialog.ui index 138ab000..02bf5909 100644 --- a/internal/frontend/bridge-gui/bridge-gui-tester/UserDialog.ui +++ b/internal/frontend/bridge-gui/bridge-gui-tester/UserDialog.ui @@ -6,8 +6,8 @@ 0 0 - 521 - 432 + 654 + 544 @@ -23,17 +23,13 @@ - - - - Password - - + + - - - - Account Name + + + + true @@ -44,43 +40,9 @@ - - - - Used Bytes - - - - - - - Setup Guide Seen - - - - - - - - - - Total Bytes - - - - - - - Adresses - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop - - - @@ -113,22 +75,51 @@ - - - - true - - - - - + + - Logged in + Used Bytes - - + + + + + + QComboBox::AdjustToContents + + + + Signed Out + + + + + Locked + + + + + Connected + + + + + + + + Qt::Horizontal + + + + 40 + 1 + + + + + @@ -143,6 +134,54 @@ + + + + Adresses + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop + + + + + + + Password + + + + + + + Account Name + + + + + + + Total Bytes + + + + + + + + + + Setup Guide Seen + + + + + + + State + + + @@ -209,7 +248,6 @@ editAvatarText spinUsedBytes spinTotalBytes - checkLoggedIn checkSplitMode checkSetupGuideSeen buttonOK diff --git a/internal/frontend/bridge-gui/bridge-gui-tester/UserTable.cpp b/internal/frontend/bridge-gui/bridge-gui-tester/UserTable.cpp index 346569be..88af6a49 100644 --- a/internal/frontend/bridge-gui/bridge-gui-tester/UserTable.cpp +++ b/internal/frontend/bridge-gui/bridge-gui-tester/UserTable.cpp @@ -46,7 +46,7 @@ int UserTable::rowCount(QModelIndex const &) const //**************************************************************************************************************************************************** int UserTable::columnCount(QModelIndex const &) const { - return 3; + return 4; } @@ -72,6 +72,8 @@ QVariant UserTable::data(QModelIndex const &index, int role) const case 1: return user->property("addresses").toStringList().join(" "); case 2: + return User::stateToString(user->state()); + case 3: return user->property("id"); default: return QVariant(); @@ -99,6 +101,8 @@ QVariant UserTable::headerData(int section, Qt::Orientation orientation, int rol case 1: return "Addresses"; case 2: + return "State"; + case 3: return "UserID"; default: return QString(); diff --git a/internal/frontend/bridge-gui/bridgepp/bridgepp/User/User.cpp b/internal/frontend/bridge-gui/bridgepp/bridgepp/User/User.cpp index a39d6472..b6bac2c0 100644 --- a/internal/frontend/bridge-gui/bridgepp/bridgepp/User/User.cpp +++ b/internal/frontend/bridge-gui/bridgepp/bridgepp/User/User.cpp @@ -326,4 +326,19 @@ void User::setTotalBytes(float totalBytes) } +//**************************************************************************************************************************************************** +/// \param[in] state The user state. +/// \return A string describing the state. +//**************************************************************************************************************************************************** +QString User::stateToString(UserState state) +{ + switch (state) { + case UserState::SignedOut: return "Signed out"; + case UserState::Locked: return "Locked"; + case UserState::Connected: return "Connected"; + default: return "Unknown"; + } +} + + } // namespace bridgepp diff --git a/internal/frontend/bridge-gui/bridgepp/bridgepp/User/User.h b/internal/frontend/bridge-gui/bridgepp/bridgepp/User/User.h index aaba6e84..6181b0c0 100644 --- a/internal/frontend/bridge-gui/bridgepp/bridgepp/User/User.h +++ b/internal/frontend/bridge-gui/bridgepp/bridgepp/User/User.h @@ -66,6 +66,7 @@ class User : public QObject Q_OBJECT public: // static member function static SPUser newUser(QObject *parent); ///< Create a new user + static QString stateToString(UserState state); ///< Return a string describing a user state. public: // member functions. User(User const &) = delete; ///< Disabled copy-constructor.