1 #include "dlg_edit_user.h"
2 
3 #include "settingscache.h"
4 
5 #include <QDebug>
6 #include <QDialogButtonBox>
7 #include <QGridLayout>
8 #include <QHBoxLayout>
9 #include <QLabel>
10 
DlgEditUser(QWidget * parent,QString email,QString country,QString realName)11 DlgEditUser::DlgEditUser(QWidget *parent, QString email, QString country, QString realName) : QDialog(parent)
12 {
13     emailLabel = new QLabel(tr("Email:"));
14     emailEdit = new QLineEdit();
15     emailLabel->setBuddy(emailEdit);
16     emailEdit->setText(email);
17 
18     countryLabel = new QLabel(tr("Country:"));
19     countryEdit = new QComboBox();
20     countryLabel->setBuddy(countryEdit);
21     countryEdit->insertItem(0, tr("Undefined"));
22     countryEdit->setCurrentIndex(0);
23 
24     QStringList countries = SettingsCache::instance().getCountries();
25     int i = 1;
26     foreach (QString c, countries) {
27         countryEdit->addItem(QPixmap("theme:countries/" + c.toLower()), c);
28         if (c == country)
29             countryEdit->setCurrentIndex(i);
30 
31         ++i;
32     }
33 
34     realnameLabel = new QLabel(tr("Real name:"));
35     realnameEdit = new QLineEdit();
36     realnameLabel->setBuddy(realnameEdit);
37     realnameEdit->setText(realName);
38 
39     QGridLayout *grid = new QGridLayout;
40     grid->addWidget(emailLabel, 0, 0);
41     grid->addWidget(emailEdit, 0, 1);
42     grid->addWidget(countryLabel, 2, 0);
43     grid->addWidget(countryEdit, 2, 1);
44     grid->addWidget(realnameLabel, 3, 0);
45     grid->addWidget(realnameEdit, 3, 1);
46 
47     QDialogButtonBox *buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel);
48     connect(buttonBox, SIGNAL(accepted()), this, SLOT(actOk()));
49     connect(buttonBox, SIGNAL(rejected()), this, SLOT(reject()));
50 
51     QVBoxLayout *mainLayout = new QVBoxLayout;
52     mainLayout->addLayout(grid);
53     mainLayout->addWidget(buttonBox);
54     setLayout(mainLayout);
55 
56     setWindowTitle(tr("Edit user profile"));
57     setFixedHeight(sizeHint().height());
58     setMinimumWidth(300);
59 }
60 
actOk()61 void DlgEditUser::actOk()
62 {
63     accept();
64 }
65