added user level description, fixing bug #36

This commit is contained in:
Max-Wilhelm Bruker 2010-12-06 16:13:21 +01:00
parent f2473be502
commit 21cc0ed8d6
2 changed files with 21 additions and 6 deletions

View file

@ -352,14 +352,18 @@ UserInfoBox::UserInfoBox(AbstractClient *_client, QWidget *parent)
countryLabel2 = new QLabel; countryLabel2 = new QLabel;
userLevelLabel1 = new QLabel; userLevelLabel1 = new QLabel;
userLevelLabel2 = new QLabel; userLevelLabel2 = new QLabel;
userLevelLabel3 = new QLabel;
QGridLayout *mainLayout = new QGridLayout; QGridLayout *mainLayout = new QGridLayout;
mainLayout->addWidget(avatarLabel, 0, 0, 3, 1); mainLayout->addWidget(avatarLabel, 0, 0, 3, 1, Qt::AlignCenter);
mainLayout->addWidget(nameLabel, 0, 1, 1, 2); mainLayout->addWidget(nameLabel, 0, 1, 1, 3);
mainLayout->addWidget(countryLabel1, 1, 1, 1, 1); mainLayout->addWidget(countryLabel1, 1, 1, 1, 1);
mainLayout->addWidget(countryLabel2, 1, 2, 1, 1); mainLayout->addWidget(countryLabel2, 1, 2, 1, 2);
mainLayout->addWidget(userLevelLabel1, 2, 1, 1, 1); mainLayout->addWidget(userLevelLabel1, 2, 1, 1, 1);
mainLayout->addWidget(userLevelLabel2, 2, 2, 1, 1); mainLayout->addWidget(userLevelLabel2, 2, 2, 1, 1);
mainLayout->addWidget(userLevelLabel3, 2, 3, 1, 1);
mainLayout->setColumnMinimumWidth(0, 80);
mainLayout->setColumnStretch(3, 10);
setLayout(mainLayout); setLayout(mainLayout);
@ -380,15 +384,26 @@ void UserInfoBox::processResponse(ProtocolResponse *response)
if (!resp) if (!resp)
return; return;
ServerInfo_User *user = resp->getUserInfo(); ServerInfo_User *user = resp->getUserInfo();
int userLevel = user->getUserLevel();
QPixmap avatarPixmap; QPixmap avatarPixmap;
if (!avatarPixmap.loadFromData(user->getAvatarBmp())) if (!avatarPixmap.loadFromData(user->getAvatarBmp()))
avatarPixmap = UserLevelPixmapGenerator::generatePixmap(64, user->getUserLevel()); avatarPixmap = UserLevelPixmapGenerator::generatePixmap(64, userLevel);
avatarLabel->setPixmap(avatarPixmap); avatarLabel->setPixmap(avatarPixmap);
nameLabel->setText(user->getName()); nameLabel->setText(user->getName());
countryLabel2->setPixmap(CountryPixmapGenerator::generatePixmap(15, user->getCountry())); countryLabel2->setPixmap(CountryPixmapGenerator::generatePixmap(15, user->getCountry()));
userLevelLabel2->setPixmap(UserLevelPixmapGenerator::generatePixmap(15, user->getUserLevel())); userLevelLabel2->setPixmap(UserLevelPixmapGenerator::generatePixmap(15, userLevel));
QString userLevelText;
if (userLevel & ServerInfo_User::IsAdmin)
userLevelText = tr("Administrator");
else if (userLevel & ServerInfo_User::IsJudge)
userLevelText = tr("Judge");
else if (userLevel & ServerInfo_User::IsRegistered)
userLevelText = tr("Registered user");
else
userLevelText = tr("Unregistered user");
userLevelLabel3->setText(userLevelText);
} }
TabServer::TabServer(AbstractClient *_client, QWidget *parent) TabServer::TabServer(AbstractClient *_client, QWidget *parent)

View file

@ -105,7 +105,7 @@ public:
class UserInfoBox : public QWidget { class UserInfoBox : public QWidget {
Q_OBJECT Q_OBJECT
private: private:
QLabel *avatarLabel, *nameLabel, *countryLabel1, *countryLabel2, *userLevelLabel1, *userLevelLabel2; QLabel *avatarLabel, *nameLabel, *countryLabel1, *countryLabel2, *userLevelLabel1, *userLevelLabel2, *userLevelLabel3;
private slots: private slots:
void processResponse(ProtocolResponse *response); void processResponse(ProtocolResponse *response);
public: public: