DlgEditAvatar::DlgEditAvatar(QWidget *parent) : QDialog(parent) { imageLabel = new QLabel(tr("No image chosen.")); imageLabel->setFixedSize(400, 200); imageLabel->setAlignment(Qt::AlignHCenter | Qt::AlignVCenter); imageLabel->setStyleSheet("border: 1px solid #000"); textLabel = new QLabel(tr("To change your avatar, choose a new image.\nTo remove your current avatar, confirm without choosing a new image.")); browseButton = new QPushButton(tr("Browse...")); connect(browseButton, SIGNAL(clicked()), this, SLOT(actBrowse())); QGridLayout *grid = new QGridLayout; grid->addWidget(imageLabel, 0, 0, 1, 2); grid->addWidget(textLabel, 1, 0); grid->addWidget(browseButton, 1, 1); QDialogButtonBox *buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel); connect(buttonBox, SIGNAL(accepted()), this, SLOT(actOk())); connect(buttonBox, SIGNAL(rejected()), this, SLOT(actCancel())); QVBoxLayout *mainLayout = new QVBoxLayout; mainLayout->addLayout(grid); mainLayout->addWidget(buttonBox); setLayout(mainLayout); setWindowTitle(tr("Change avatar")); setFixedHeight(sizeHint().height()); setMinimumWidth(300); }
DlgEditPassword::DlgEditPassword(QWidget *parent) : QDialog(parent) { oldPasswordLabel = new QLabel(tr("Old password:"******"New password:"******"Confirm new password:"******"Change password")); setFixedHeight(sizeHint().height()); setMinimumWidth(300); }
DlgConnect::DlgConnect(QWidget *parent) : QDialog(parent) { previousHostButton = new QRadioButton(tr("Previous Host"), this); previousHosts = new QComboBox(this); previousHosts->installEventFilter(new DeleteHighlightedItemWhenShiftDelPressedEventFilter); QStringList previousHostList = settingsCache->servers().getPreviousHostList(); if (previousHostList.isEmpty()) { previousHostList << "cockatrice.woogerworks.com"; previousHostList << "vps.poixen.com"; previousHostList << "chickatrice.net"; } previousHosts->addItems(previousHostList); previousHosts->setCurrentIndex(settingsCache->servers().getPrevioushostindex()); newHostButton = new QRadioButton(tr("New Host"), this); hostLabel = new QLabel(tr("&Host:")); hostEdit = new QLineEdit(); hostEdit->setPlaceholderText(tr("Enter host name")); hostLabel->setBuddy(hostEdit); portLabel = new QLabel(tr("&Port:")); portEdit = new QLineEdit(settingsCache->servers().getPort("4747")); portLabel->setBuddy(portEdit); playernameLabel = new QLabel(tr("Player &name:")); playernameEdit = new QLineEdit(settingsCache->servers().getPlayerName("Player")); playernameLabel->setBuddy(playernameEdit); passwordLabel = new QLabel(tr("P&assword:")); passwordEdit = new QLineEdit(settingsCache->servers().getPassword()); passwordLabel->setBuddy(passwordEdit); passwordEdit->setEchoMode(QLineEdit::Password); savePasswordCheckBox = new QCheckBox(tr("&Save password")); savePasswordCheckBox->setChecked(settingsCache->servers().getSavePassword()); autoConnectCheckBox = new QCheckBox(tr("A&uto connect at start")); if(savePasswordCheckBox->isChecked()) { autoConnectCheckBox->setChecked(settingsCache->servers().getAutoConnect()); autoConnectCheckBox->setEnabled(true); } else { settingsCache->servers().setAutoConnect(0); autoConnectCheckBox->setChecked(0); autoConnectCheckBox->setEnabled(false); } connect(savePasswordCheckBox, SIGNAL(stateChanged(int)), this, SLOT(passwordSaved(int))); QGridLayout *grid = new QGridLayout; grid->addWidget(previousHostButton, 0, 1); grid->addWidget(previousHosts, 1, 1); grid->addWidget(newHostButton, 2, 1); grid->addWidget(hostLabel, 3, 0); grid->addWidget(hostEdit, 3, 1); grid->addWidget(portLabel, 4, 0); grid->addWidget(portEdit, 4, 1); grid->addWidget(playernameLabel, 5, 0); grid->addWidget(playernameEdit, 5, 1); grid->addWidget(passwordLabel, 6, 0); grid->addWidget(passwordEdit, 6, 1); grid->addWidget(savePasswordCheckBox, 7, 0, 1, 2); grid->addWidget(autoConnectCheckBox, 8, 0, 1, 2); QDialogButtonBox *buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel); connect(buttonBox, SIGNAL(accepted()), this, SLOT(actOk())); connect(buttonBox, SIGNAL(rejected()), this, SLOT(actCancel())); QVBoxLayout *mainLayout = new QVBoxLayout; mainLayout->addLayout(grid); mainLayout->addWidget(buttonBox); setLayout(mainLayout); setWindowTitle(tr("Connect to server")); setFixedHeight(sizeHint().height()); setMinimumWidth(300); connect(previousHostButton, SIGNAL(toggled(bool)), this, SLOT(previousHostSelected(bool))); connect(newHostButton, SIGNAL(toggled(bool)), this, SLOT(newHostSelected(bool))); if (settingsCache->servers().getPreviousHostLogin()) previousHostButton->setChecked(true); else newHostButton->setChecked(true); }
DlgRegister::DlgRegister(QWidget *parent) : QDialog(parent) { QSettings settings; settings.beginGroup("server"); hostLabel = new QLabel(tr("&Host:")); hostEdit = new QLineEdit(settings.value("hostname", "cockatrice.woogerworks.com").toString()); hostLabel->setBuddy(hostEdit); portLabel = new QLabel(tr("&Port:")); portEdit = new QLineEdit(settings.value("port", "4747").toString()); portLabel->setBuddy(portEdit); playernameLabel = new QLabel(tr("Player &name:")); playernameEdit = new QLineEdit(settings.value("playername", "Player").toString()); playernameLabel->setBuddy(playernameEdit); passwordLabel = new QLabel(tr("P&assword:")); passwordEdit = new QLineEdit(settings.value("password").toString()); passwordLabel->setBuddy(passwordEdit); passwordEdit->setEchoMode(QLineEdit::Password); emailLabel = new QLabel(tr("Email:")); emailEdit = new QLineEdit(); emailLabel->setBuddy(emailEdit); genderLabel = new QLabel(tr("Gender:")); genderEdit = new QComboBox(); genderLabel->setBuddy(genderEdit); genderEdit->insertItem(0, QIcon(":/resources/genders/unknown.svg"), tr("Undefined")); genderEdit->insertItem(1, QIcon(":/resources/genders/male.svg"), tr("Male")); genderEdit->insertItem(2, QIcon(":/resources/genders/female.svg"), tr("Female")); genderEdit->setCurrentIndex(0); countryLabel = new QLabel(tr("Country:")); countryEdit = new QComboBox(); countryLabel->setBuddy(countryEdit); countryEdit->insertItem(0, tr("Undefined")); countryEdit->addItem(QPixmap(":/resources/countries/ad.svg"), "ad"); countryEdit->addItem(QIcon(":/resources/countries/ae.svg"), "ae"); countryEdit->addItem(QIcon(":/resources/countries/af.svg"), "af"); countryEdit->addItem(QIcon(":/resources/countries/ag.svg"), "ag"); countryEdit->addItem(QIcon(":/resources/countries/ai.svg"), "ai"); countryEdit->addItem(QIcon(":/resources/countries/al.svg"), "al"); countryEdit->addItem(QIcon(":/resources/countries/am.svg"), "am"); countryEdit->addItem(QIcon(":/resources/countries/ao.svg"), "ao"); countryEdit->addItem(QIcon(":/resources/countries/aq.svg"), "aq"); countryEdit->addItem(QIcon(":/resources/countries/ar.svg"), "ar"); countryEdit->addItem(QIcon(":/resources/countries/as.svg"), "as"); countryEdit->addItem(QIcon(":/resources/countries/at.svg"), "at"); countryEdit->addItem(QIcon(":/resources/countries/au.svg"), "au"); countryEdit->addItem(QIcon(":/resources/countries/aw.svg"), "aw"); countryEdit->addItem(QIcon(":/resources/countries/ax.svg"), "ax"); countryEdit->addItem(QIcon(":/resources/countries/az.svg"), "az"); countryEdit->addItem(QIcon(":/resources/countries/ba.svg"), "ba"); countryEdit->addItem(QIcon(":/resources/countries/bb.svg"), "bb"); countryEdit->addItem(QIcon(":/resources/countries/bd.svg"), "bd"); countryEdit->addItem(QIcon(":/resources/countries/be.svg"), "be"); countryEdit->addItem(QIcon(":/resources/countries/bf.svg"), "bf"); countryEdit->addItem(QIcon(":/resources/countries/bg.svg"), "bg"); countryEdit->addItem(QIcon(":/resources/countries/bh.svg"), "bh"); countryEdit->addItem(QIcon(":/resources/countries/bi.svg"), "bi"); countryEdit->addItem(QIcon(":/resources/countries/bj.svg"), "bj"); countryEdit->addItem(QIcon(":/resources/countries/bl.svg"), "bl"); countryEdit->addItem(QIcon(":/resources/countries/bm.svg"), "bm"); countryEdit->addItem(QIcon(":/resources/countries/bn.svg"), "bn"); countryEdit->addItem(QIcon(":/resources/countries/bo.svg"), "bo"); countryEdit->addItem(QIcon(":/resources/countries/bq.svg"), "bq"); countryEdit->addItem(QIcon(":/resources/countries/br.svg"), "br"); countryEdit->addItem(QIcon(":/resources/countries/bs.svg"), "bs"); countryEdit->addItem(QIcon(":/resources/countries/bt.svg"), "bt"); countryEdit->addItem(QIcon(":/resources/countries/bv.svg"), "bv"); countryEdit->addItem(QIcon(":/resources/countries/bw.svg"), "bw"); countryEdit->addItem(QIcon(":/resources/countries/by.svg"), "by"); countryEdit->addItem(QIcon(":/resources/countries/bz.svg"), "bz"); countryEdit->addItem(QIcon(":/resources/countries/ca.svg"), "ca"); countryEdit->addItem(QIcon(":/resources/countries/cc.svg"), "cc"); countryEdit->addItem(QIcon(":/resources/countries/cd.svg"), "cd"); countryEdit->addItem(QIcon(":/resources/countries/cf.svg"), "cf"); countryEdit->addItem(QIcon(":/resources/countries/cg.svg"), "cg"); countryEdit->addItem(QIcon(":/resources/countries/ch.svg"), "ch"); countryEdit->addItem(QIcon(":/resources/countries/ci.svg"), "ci"); countryEdit->addItem(QIcon(":/resources/countries/ck.svg"), "ck"); countryEdit->addItem(QIcon(":/resources/countries/cl.svg"), "cl"); countryEdit->addItem(QIcon(":/resources/countries/cm.svg"), "cm"); countryEdit->addItem(QIcon(":/resources/countries/cn.svg"), "cn"); countryEdit->addItem(QIcon(":/resources/countries/co.svg"), "co"); countryEdit->addItem(QIcon(":/resources/countries/cr.svg"), "cr"); countryEdit->addItem(QIcon(":/resources/countries/cu.svg"), "cu"); countryEdit->addItem(QIcon(":/resources/countries/cv.svg"), "cv"); countryEdit->addItem(QIcon(":/resources/countries/cw.svg"), "cw"); countryEdit->addItem(QIcon(":/resources/countries/cx.svg"), "cx"); countryEdit->addItem(QIcon(":/resources/countries/cy.svg"), "cy"); countryEdit->addItem(QIcon(":/resources/countries/cz.svg"), "cz"); countryEdit->addItem(QIcon(":/resources/countries/de.svg"), "de"); countryEdit->addItem(QIcon(":/resources/countries/dj.svg"), "dj"); countryEdit->addItem(QIcon(":/resources/countries/dk.svg"), "dk"); countryEdit->addItem(QIcon(":/resources/countries/dm.svg"), "dm"); countryEdit->addItem(QIcon(":/resources/countries/do.svg"), "do"); countryEdit->addItem(QIcon(":/resources/countries/dz.svg"), "dz"); countryEdit->addItem(QIcon(":/resources/countries/ec.svg"), "ec"); countryEdit->addItem(QIcon(":/resources/countries/ee.svg"), "ee"); countryEdit->addItem(QIcon(":/resources/countries/eg.svg"), "eg"); countryEdit->addItem(QIcon(":/resources/countries/eh.svg"), "eh"); countryEdit->addItem(QIcon(":/resources/countries/er.svg"), "er"); countryEdit->addItem(QIcon(":/resources/countries/es.svg"), "es"); countryEdit->addItem(QIcon(":/resources/countries/et.svg"), "et"); countryEdit->addItem(QIcon(":/resources/countries/fi.svg"), "fi"); countryEdit->addItem(QIcon(":/resources/countries/fj.svg"), "fj"); countryEdit->addItem(QIcon(":/resources/countries/fk.svg"), "fk"); countryEdit->addItem(QIcon(":/resources/countries/fm.svg"), "fm"); countryEdit->addItem(QIcon(":/resources/countries/fo.svg"), "fo"); countryEdit->addItem(QIcon(":/resources/countries/fr.svg"), "fr"); countryEdit->addItem(QIcon(":/resources/countries/ga.svg"), "ga"); countryEdit->addItem(QIcon(":/resources/countries/gb.svg"), "gb"); countryEdit->addItem(QIcon(":/resources/countries/gd.svg"), "gd"); countryEdit->addItem(QIcon(":/resources/countries/ge.svg"), "ge"); countryEdit->addItem(QIcon(":/resources/countries/gf.svg"), "gf"); countryEdit->addItem(QIcon(":/resources/countries/gg.svg"), "gg"); countryEdit->addItem(QIcon(":/resources/countries/gh.svg"), "gh"); countryEdit->addItem(QIcon(":/resources/countries/gi.svg"), "gi"); countryEdit->addItem(QIcon(":/resources/countries/gl.svg"), "gl"); countryEdit->addItem(QIcon(":/resources/countries/gm.svg"), "gm"); countryEdit->addItem(QIcon(":/resources/countries/gn.svg"), "gn"); countryEdit->addItem(QIcon(":/resources/countries/gp.svg"), "gp"); countryEdit->addItem(QIcon(":/resources/countries/gq.svg"), "gq"); countryEdit->addItem(QIcon(":/resources/countries/gr.svg"), "gr"); countryEdit->addItem(QIcon(":/resources/countries/gs.svg"), "gs"); countryEdit->addItem(QIcon(":/resources/countries/gt.svg"), "gt"); countryEdit->addItem(QIcon(":/resources/countries/gu.svg"), "gu"); countryEdit->addItem(QIcon(":/resources/countries/gw.svg"), "gw"); countryEdit->addItem(QIcon(":/resources/countries/gy.svg"), "gy"); countryEdit->addItem(QIcon(":/resources/countries/hk.svg"), "hk"); countryEdit->addItem(QIcon(":/resources/countries/hm.svg"), "hm"); countryEdit->addItem(QIcon(":/resources/countries/hn.svg"), "hn"); countryEdit->addItem(QIcon(":/resources/countries/hr.svg"), "hr"); countryEdit->addItem(QIcon(":/resources/countries/ht.svg"), "ht"); countryEdit->addItem(QIcon(":/resources/countries/hu.svg"), "hu"); countryEdit->addItem(QIcon(":/resources/countries/id.svg"), "id"); countryEdit->addItem(QIcon(":/resources/countries/ie.svg"), "ie"); countryEdit->addItem(QIcon(":/resources/countries/il.svg"), "il"); countryEdit->addItem(QIcon(":/resources/countries/im.svg"), "im"); countryEdit->addItem(QIcon(":/resources/countries/in.svg"), "in"); countryEdit->addItem(QIcon(":/resources/countries/io.svg"), "io"); countryEdit->addItem(QIcon(":/resources/countries/iq.svg"), "iq"); countryEdit->addItem(QIcon(":/resources/countries/ir.svg"), "ir"); countryEdit->addItem(QIcon(":/resources/countries/is.svg"), "is"); countryEdit->addItem(QIcon(":/resources/countries/it.svg"), "it"); countryEdit->addItem(QIcon(":/resources/countries/je.svg"), "je"); countryEdit->addItem(QIcon(":/resources/countries/jm.svg"), "jm"); countryEdit->addItem(QIcon(":/resources/countries/jo.svg"), "jo"); countryEdit->addItem(QIcon(":/resources/countries/jp.svg"), "jp"); countryEdit->addItem(QIcon(":/resources/countries/ke.svg"), "ke"); countryEdit->addItem(QIcon(":/resources/countries/kg.svg"), "kg"); countryEdit->addItem(QIcon(":/resources/countries/kh.svg"), "kh"); countryEdit->addItem(QIcon(":/resources/countries/ki.svg"), "ki"); countryEdit->addItem(QIcon(":/resources/countries/km.svg"), "km"); countryEdit->addItem(QIcon(":/resources/countries/kn.svg"), "kn"); countryEdit->addItem(QIcon(":/resources/countries/kp.svg"), "kp"); countryEdit->addItem(QIcon(":/resources/countries/kr.svg"), "kr"); countryEdit->addItem(QIcon(":/resources/countries/kw.svg"), "kw"); countryEdit->addItem(QIcon(":/resources/countries/ky.svg"), "ky"); countryEdit->addItem(QIcon(":/resources/countries/kz.svg"), "kz"); countryEdit->addItem(QIcon(":/resources/countries/la.svg"), "la"); countryEdit->addItem(QIcon(":/resources/countries/lb.svg"), "lb"); countryEdit->addItem(QIcon(":/resources/countries/lc.svg"), "lc"); countryEdit->addItem(QIcon(":/resources/countries/li.svg"), "li"); countryEdit->addItem(QIcon(":/resources/countries/lk.svg"), "lk"); countryEdit->addItem(QIcon(":/resources/countries/lr.svg"), "lr"); countryEdit->addItem(QIcon(":/resources/countries/ls.svg"), "ls"); countryEdit->addItem(QIcon(":/resources/countries/lt.svg"), "lt"); countryEdit->addItem(QIcon(":/resources/countries/lu.svg"), "lu"); countryEdit->addItem(QIcon(":/resources/countries/lv.svg"), "lv"); countryEdit->addItem(QIcon(":/resources/countries/ly.svg"), "ly"); countryEdit->addItem(QIcon(":/resources/countries/ma.svg"), "ma"); countryEdit->addItem(QIcon(":/resources/countries/mc.svg"), "mc"); countryEdit->addItem(QIcon(":/resources/countries/md.svg"), "md"); countryEdit->addItem(QIcon(":/resources/countries/me.svg"), "me"); countryEdit->addItem(QIcon(":/resources/countries/mf.svg"), "mf"); countryEdit->addItem(QIcon(":/resources/countries/mg.svg"), "mg"); countryEdit->addItem(QIcon(":/resources/countries/mh.svg"), "mh"); countryEdit->addItem(QIcon(":/resources/countries/mk.svg"), "mk"); countryEdit->addItem(QIcon(":/resources/countries/ml.svg"), "ml"); countryEdit->addItem(QIcon(":/resources/countries/mm.svg"), "mm"); countryEdit->addItem(QIcon(":/resources/countries/mn.svg"), "mn"); countryEdit->addItem(QIcon(":/resources/countries/mo.svg"), "mo"); countryEdit->addItem(QIcon(":/resources/countries/mp.svg"), "mp"); countryEdit->addItem(QIcon(":/resources/countries/mq.svg"), "mq"); countryEdit->addItem(QIcon(":/resources/countries/mr.svg"), "mr"); countryEdit->addItem(QIcon(":/resources/countries/ms.svg"), "ms"); countryEdit->addItem(QIcon(":/resources/countries/mt.svg"), "mt"); countryEdit->addItem(QIcon(":/resources/countries/mu.svg"), "mu"); countryEdit->addItem(QIcon(":/resources/countries/mv.svg"), "mv"); countryEdit->addItem(QIcon(":/resources/countries/mw.svg"), "mw"); countryEdit->addItem(QIcon(":/resources/countries/mx.svg"), "mx"); countryEdit->addItem(QIcon(":/resources/countries/my.svg"), "my"); countryEdit->addItem(QIcon(":/resources/countries/mz.svg"), "mz"); countryEdit->addItem(QIcon(":/resources/countries/na.svg"), "na"); countryEdit->addItem(QIcon(":/resources/countries/nc.svg"), "nc"); countryEdit->addItem(QIcon(":/resources/countries/ne.svg"), "ne"); countryEdit->addItem(QIcon(":/resources/countries/nf.svg"), "nf"); countryEdit->addItem(QIcon(":/resources/countries/ng.svg"), "ng"); countryEdit->addItem(QIcon(":/resources/countries/ni.svg"), "ni"); countryEdit->addItem(QIcon(":/resources/countries/nl.svg"), "nl"); countryEdit->addItem(QIcon(":/resources/countries/no.svg"), "no"); countryEdit->addItem(QIcon(":/resources/countries/np.svg"), "np"); countryEdit->addItem(QIcon(":/resources/countries/nr.svg"), "nr"); countryEdit->addItem(QIcon(":/resources/countries/nu.svg"), "nu"); countryEdit->addItem(QIcon(":/resources/countries/nz.svg"), "nz"); countryEdit->addItem(QIcon(":/resources/countries/om.svg"), "om"); countryEdit->addItem(QIcon(":/resources/countries/pa.svg"), "pa"); countryEdit->addItem(QIcon(":/resources/countries/pe.svg"), "pe"); countryEdit->addItem(QIcon(":/resources/countries/pf.svg"), "pf"); countryEdit->addItem(QIcon(":/resources/countries/pg.svg"), "pg"); countryEdit->addItem(QIcon(":/resources/countries/ph.svg"), "ph"); countryEdit->addItem(QIcon(":/resources/countries/pk.svg"), "pk"); countryEdit->addItem(QIcon(":/resources/countries/pl.svg"), "pl"); countryEdit->addItem(QIcon(":/resources/countries/pm.svg"), "pm"); countryEdit->addItem(QIcon(":/resources/countries/pn.svg"), "pn"); countryEdit->addItem(QIcon(":/resources/countries/pr.svg"), "pr"); countryEdit->addItem(QIcon(":/resources/countries/ps.svg"), "ps"); countryEdit->addItem(QIcon(":/resources/countries/pt.svg"), "pt"); countryEdit->addItem(QIcon(":/resources/countries/pw.svg"), "pw"); countryEdit->addItem(QIcon(":/resources/countries/py.svg"), "py"); countryEdit->addItem(QIcon(":/resources/countries/qa.svg"), "qa"); countryEdit->addItem(QIcon(":/resources/countries/re.svg"), "re"); countryEdit->addItem(QIcon(":/resources/countries/ro.svg"), "ro"); countryEdit->addItem(QIcon(":/resources/countries/rs.svg"), "rs"); countryEdit->addItem(QIcon(":/resources/countries/ru.svg"), "ru"); countryEdit->addItem(QIcon(":/resources/countries/rw.svg"), "rw"); countryEdit->addItem(QIcon(":/resources/countries/sa.svg"), "sa"); countryEdit->addItem(QIcon(":/resources/countries/sb.svg"), "sb"); countryEdit->addItem(QIcon(":/resources/countries/sc.svg"), "sc"); countryEdit->addItem(QIcon(":/resources/countries/sd.svg"), "sd"); countryEdit->addItem(QIcon(":/resources/countries/se.svg"), "se"); countryEdit->addItem(QIcon(":/resources/countries/sg.svg"), "sg"); countryEdit->addItem(QIcon(":/resources/countries/sh.svg"), "sh"); countryEdit->addItem(QIcon(":/resources/countries/si.svg"), "si"); countryEdit->addItem(QIcon(":/resources/countries/sj.svg"), "sj"); countryEdit->addItem(QIcon(":/resources/countries/sk.svg"), "sk"); countryEdit->addItem(QIcon(":/resources/countries/sl.svg"), "sl"); countryEdit->addItem(QIcon(":/resources/countries/sm.svg"), "sm"); countryEdit->addItem(QIcon(":/resources/countries/sn.svg"), "sn"); countryEdit->addItem(QIcon(":/resources/countries/so.svg"), "so"); countryEdit->addItem(QIcon(":/resources/countries/sr.svg"), "sr"); countryEdit->addItem(QIcon(":/resources/countries/ss.svg"), "ss"); countryEdit->addItem(QIcon(":/resources/countries/st.svg"), "st"); countryEdit->addItem(QIcon(":/resources/countries/sv.svg"), "sv"); countryEdit->addItem(QIcon(":/resources/countries/sx.svg"), "sx"); countryEdit->addItem(QIcon(":/resources/countries/sy.svg"), "sy"); countryEdit->addItem(QIcon(":/resources/countries/sz.svg"), "sz"); countryEdit->addItem(QIcon(":/resources/countries/tc.svg"), "tc"); countryEdit->addItem(QIcon(":/resources/countries/td.svg"), "td"); countryEdit->addItem(QIcon(":/resources/countries/tf.svg"), "tf"); countryEdit->addItem(QIcon(":/resources/countries/tg.svg"), "tg"); countryEdit->addItem(QIcon(":/resources/countries/th.svg"), "th"); countryEdit->addItem(QIcon(":/resources/countries/tj.svg"), "tj"); countryEdit->addItem(QIcon(":/resources/countries/tk.svg"), "tk"); countryEdit->addItem(QIcon(":/resources/countries/tl.svg"), "tl"); countryEdit->addItem(QIcon(":/resources/countries/tm.svg"), "tm"); countryEdit->addItem(QIcon(":/resources/countries/tn.svg"), "tn"); countryEdit->addItem(QIcon(":/resources/countries/to.svg"), "to"); countryEdit->addItem(QIcon(":/resources/countries/tr.svg"), "tr"); countryEdit->addItem(QIcon(":/resources/countries/tt.svg"), "tt"); countryEdit->addItem(QIcon(":/resources/countries/tv.svg"), "tv"); countryEdit->addItem(QIcon(":/resources/countries/tw.svg"), "tw"); countryEdit->addItem(QIcon(":/resources/countries/tz.svg"), "tz"); countryEdit->addItem(QIcon(":/resources/countries/ua.svg"), "ua"); countryEdit->addItem(QIcon(":/resources/countries/ug.svg"), "ug"); countryEdit->addItem(QIcon(":/resources/countries/um.svg"), "um"); countryEdit->addItem(QIcon(":/resources/countries/us.svg"), "us"); countryEdit->addItem(QIcon(":/resources/countries/uy.svg"), "uy"); countryEdit->addItem(QIcon(":/resources/countries/uz.svg"), "uz"); countryEdit->addItem(QIcon(":/resources/countries/va.svg"), "va"); countryEdit->addItem(QIcon(":/resources/countries/vc.svg"), "vc"); countryEdit->addItem(QIcon(":/resources/countries/ve.svg"), "ve"); countryEdit->addItem(QIcon(":/resources/countries/vg.svg"), "vg"); countryEdit->addItem(QIcon(":/resources/countries/vi.svg"), "vi"); countryEdit->addItem(QIcon(":/resources/countries/vn.svg"), "vn"); countryEdit->addItem(QIcon(":/resources/countries/vu.svg"), "vu"); countryEdit->addItem(QIcon(":/resources/countries/wf.svg"), "wf"); countryEdit->addItem(QIcon(":/resources/countries/ws.svg"), "ws"); countryEdit->addItem(QIcon(":/resources/countries/ye.svg"), "ye"); countryEdit->addItem(QIcon(":/resources/countries/yt.svg"), "yt"); countryEdit->addItem(QIcon(":/resources/countries/za.svg"), "za"); countryEdit->addItem(QIcon(":/resources/countries/zm.svg"), "zm"); countryEdit->addItem(QIcon(":/resources/countries/zw.svg"), "zw"); countryEdit->setCurrentIndex(0); realnameLabel = new QLabel(tr("Real name:")); realnameEdit = new QLineEdit(); realnameLabel->setBuddy(realnameEdit); QGridLayout *grid = new QGridLayout; grid->addWidget(hostLabel, 0, 0); grid->addWidget(hostEdit, 0, 1); grid->addWidget(portLabel, 1, 0); grid->addWidget(portEdit, 1, 1); grid->addWidget(playernameLabel, 2, 0); grid->addWidget(playernameEdit, 2, 1); grid->addWidget(passwordLabel, 3, 0); grid->addWidget(passwordEdit, 3, 1); grid->addWidget(emailLabel, 4, 0); grid->addWidget(emailEdit, 4, 1); grid->addWidget(genderLabel, 5, 0); grid->addWidget(genderEdit, 5, 1); grid->addWidget(countryLabel, 6, 0); grid->addWidget(countryEdit, 6, 1); grid->addWidget(realnameLabel, 7, 0); grid->addWidget(realnameEdit, 7, 1); QDialogButtonBox *buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel); connect(buttonBox, SIGNAL(accepted()), this, SLOT(actOk())); connect(buttonBox, SIGNAL(rejected()), this, SLOT(actCancel())); QVBoxLayout *mainLayout = new QVBoxLayout; mainLayout->addLayout(grid); mainLayout->addWidget(buttonBox); setLayout(mainLayout); setWindowTitle(tr("Register to server")); setFixedHeight(sizeHint().height()); setMinimumWidth(300); }
DlgRegister::DlgRegister(QWidget *parent) : QDialog(parent) { QSettings settings; settings.beginGroup("server"); hostLabel = new QLabel(tr("&Host:")); hostEdit = new QLineEdit(settings.value("hostname", "cockatrice.woogerworks.com").toString()); hostLabel->setBuddy(hostEdit); portLabel = new QLabel(tr("&Port:")); portEdit = new QLineEdit(settings.value("port", "4747").toString()); portLabel->setBuddy(portEdit); playernameLabel = new QLabel(tr("Player &name:")); playernameEdit = new QLineEdit(settings.value("playername", "Player").toString()); playernameLabel->setBuddy(playernameEdit); passwordLabel = new QLabel(tr("P&assword:")); passwordEdit = new QLineEdit(settings.value("password").toString()); passwordLabel->setBuddy(passwordEdit); passwordEdit->setEchoMode(QLineEdit::Password); passwordConfirmationLabel = new QLabel(tr("Password (again):")); passwordConfirmationEdit = new QLineEdit(); passwordConfirmationLabel->setBuddy(passwordConfirmationEdit); passwordConfirmationEdit->setEchoMode(QLineEdit::Password); emailLabel = new QLabel(tr("Email:")); emailEdit = new QLineEdit(); emailLabel->setBuddy(emailEdit); emailConfirmationLabel = new QLabel(tr("Email (again):")); emailConfirmationEdit = new QLineEdit(); emailConfirmationLabel->setBuddy(emailConfirmationEdit); genderLabel = new QLabel(tr("Pronouns:")); genderEdit = new QComboBox(); genderLabel->setBuddy(genderEdit); genderEdit->insertItem(0, QIcon(":/resources/genders/unknown.svg"), tr("Neutral")); genderEdit->insertItem(1, QIcon(":/resources/genders/male.svg"), tr("Masculine")); genderEdit->insertItem(2, QIcon(":/resources/genders/female.svg"), tr("Feminine")); genderEdit->setCurrentIndex(0); countryLabel = new QLabel(tr("Country:")); countryEdit = new QComboBox(); countryLabel->setBuddy(countryEdit); countryEdit->insertItem(0, tr("Undefined")); countryEdit->setCurrentIndex(0); QStringList countries = settingsCache->getCountries(); foreach(QString c, countries) countryEdit->addItem(QPixmap(":/resources/countries/" + c + ".svg"), c); realnameLabel = new QLabel(tr("Real name:")); realnameEdit = new QLineEdit(); realnameLabel->setBuddy(realnameEdit); QGridLayout *grid = new QGridLayout; grid->addWidget(hostLabel, 0, 0); grid->addWidget(hostEdit, 0, 1); grid->addWidget(portLabel, 1, 0); grid->addWidget(portEdit, 1, 1); grid->addWidget(playernameLabel, 2, 0); grid->addWidget(playernameEdit, 2, 1); grid->addWidget(passwordLabel, 3, 0); grid->addWidget(passwordEdit, 3, 1); grid->addWidget(passwordConfirmationLabel, 4, 0); grid->addWidget(passwordConfirmationEdit, 4, 1); grid->addWidget(emailLabel, 5, 0); grid->addWidget(emailEdit, 5, 1); grid->addWidget(emailConfirmationLabel, 6, 0); grid->addWidget(emailConfirmationEdit, 6, 1); grid->addWidget(genderLabel, 7, 0); grid->addWidget(genderEdit, 7, 1); grid->addWidget(countryLabel, 8, 0); grid->addWidget(countryEdit, 8, 1); grid->addWidget(realnameLabel, 9, 0); grid->addWidget(realnameEdit, 9, 1); QDialogButtonBox *buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel); connect(buttonBox, SIGNAL(accepted()), this, SLOT(actOk())); connect(buttonBox, SIGNAL(rejected()), this, SLOT(actCancel())); QVBoxLayout *mainLayout = new QVBoxLayout; mainLayout->addLayout(grid); mainLayout->addWidget(buttonBox); setLayout(mainLayout); setWindowTitle(tr("Register to server")); setFixedHeight(sizeHint().height()); setMinimumWidth(300); }
DlgCreateToken::DlgCreateToken(QWidget *parent) : QDialog(parent) { nameLabel = new QLabel(tr("&Name:")); nameEdit = new QLineEdit(tr("Token")); nameEdit->selectAll(); nameLabel->setBuddy(nameEdit); colorLabel = new QLabel(tr("C&olor:")); colorEdit = new QComboBox; colorEdit->addItem(tr("white"), "w"); colorEdit->addItem(tr("blue"), "u"); colorEdit->addItem(tr("black"), "b"); colorEdit->addItem(tr("red"), "r"); colorEdit->addItem(tr("green"), "g"); colorEdit->addItem(tr("multicolor"), "m"); colorEdit->addItem(tr("colorless"), ""); colorLabel->setBuddy(colorEdit); ptLabel = new QLabel(tr("&P/T:")); ptEdit = new QLineEdit; ptLabel->setBuddy(ptEdit); annotationLabel = new QLabel(tr("&Annotation:")); annotationEdit = new QLineEdit; annotationLabel->setBuddy(annotationEdit); destroyCheckBox = new QCheckBox(tr("&Destroy token when it leaves the table")); destroyCheckBox->setChecked(true); okButton = new QPushButton(tr("&OK")); okButton->setDefault(true); cancelButton = new QPushButton(tr("&Cancel")); QGridLayout *grid = new QGridLayout; grid->addWidget(nameLabel, 0, 0); grid->addWidget(nameEdit, 0, 1); grid->addWidget(colorLabel, 1, 0); grid->addWidget(colorEdit, 1, 1); grid->addWidget(ptLabel, 2, 0); grid->addWidget(ptEdit, 2, 1); grid->addWidget(annotationLabel, 3, 0); grid->addWidget(annotationEdit, 3, 1); grid->addWidget(destroyCheckBox, 4, 0, 1, 2); QHBoxLayout *buttonLayout = new QHBoxLayout; buttonLayout->addStretch(); buttonLayout->addWidget(okButton); buttonLayout->addWidget(cancelButton); QVBoxLayout *mainLayout = new QVBoxLayout; mainLayout->addLayout(grid); mainLayout->addLayout(buttonLayout); setLayout(mainLayout); setWindowTitle(tr("Create token")); setFixedHeight(sizeHint().height()); setMinimumWidth(300); connect(okButton, SIGNAL(clicked()), this, SLOT(actOk())); connect(cancelButton, SIGNAL(clicked()), this, SLOT(reject())); }
DlgConnect::DlgConnect(QWidget *parent) : QDialog(parent) { QSettings settings; settings.beginGroup("server"); hostLabel = new QLabel(tr("&Host:")); hostEdit = new QLineEdit(settings.value("hostname", "cockatrice.woogerworks.com").toString()); hostLabel->setBuddy(hostEdit); portLabel = new QLabel(tr("&Port:")); portEdit = new QLineEdit(settings.value("port", "4747").toString()); portLabel->setBuddy(portEdit); playernameLabel = new QLabel(tr("Player &name:")); playernameEdit = new QLineEdit(settings.value("playername", "Player").toString()); playernameLabel->setBuddy(playernameEdit); passwordLabel = new QLabel(tr("P&assword:")); passwordEdit = new QLineEdit(settings.value("password").toString()); passwordLabel->setBuddy(passwordEdit); passwordEdit->setEchoMode(QLineEdit::Password); savePasswordCheckBox = new QCheckBox(tr("&Save password")); savePasswordCheckBox->setChecked(settings.value("save_password", 1).toInt()); autoConnectCheckBox = new QCheckBox(tr("A&uto connect at start")); if(savePasswordCheckBox->isChecked()) { autoConnectCheckBox->setChecked(settings.value("auto_connect", 0).toInt()); autoConnectCheckBox->setEnabled(true); } else { settings.setValue("auto_connect", 0); autoConnectCheckBox->setChecked(0); autoConnectCheckBox->setEnabled(false); } connect(savePasswordCheckBox, SIGNAL(stateChanged(int)), this, SLOT(passwordSaved(int))); QGridLayout *grid = new QGridLayout; grid->addWidget(hostLabel, 0, 0); grid->addWidget(hostEdit, 0, 1); grid->addWidget(portLabel, 1, 0); grid->addWidget(portEdit, 1, 1); grid->addWidget(playernameLabel, 2, 0); grid->addWidget(playernameEdit, 2, 1); grid->addWidget(passwordLabel, 3, 0); grid->addWidget(passwordEdit, 3, 1); grid->addWidget(savePasswordCheckBox, 4, 0, 1, 2); grid->addWidget(autoConnectCheckBox, 5, 0, 1, 2); QDialogButtonBox *buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel); connect(buttonBox, SIGNAL(accepted()), this, SLOT(actOk())); connect(buttonBox, SIGNAL(rejected()), this, SLOT(actCancel())); QVBoxLayout *mainLayout = new QVBoxLayout; mainLayout->addLayout(grid); mainLayout->addWidget(buttonBox); setLayout(mainLayout); setWindowTitle(tr("Connect to server")); setFixedHeight(sizeHint().height()); setMinimumWidth(300); }
DlgFilterGames::DlgFilterGames(const QMap<int, QString> &_allGameTypes, QWidget *parent) : QDialog(parent), allGameTypes(_allGameTypes) { QSettings settings; settings.beginGroup("filter_games"); unavailableGamesVisibleCheckBox = new QCheckBox(tr("Show &unavailable games")); unavailableGamesVisibleCheckBox->setChecked( settings.value("unavailable_games_visible", false).toBool() ); passwordProtectedGamesVisibleCheckBox = new QCheckBox(tr("Show &password protected games")); passwordProtectedGamesVisibleCheckBox->setChecked( settings.value("password_protected_games_visible", false).toBool() ); gameNameFilterEdit = new QLineEdit; gameNameFilterEdit->setText( settings.value("game_name_filter", "").toString() ); QLabel *gameNameFilterLabel = new QLabel(tr("Game &description:")); gameNameFilterLabel->setBuddy(gameNameFilterEdit); creatorNameFilterEdit = new QLineEdit; creatorNameFilterEdit->setText( settings.value("creator_name_filter", "").toString() ); QLabel *creatorNameFilterLabel = new QLabel(tr("&Creator name:")); creatorNameFilterLabel->setBuddy(creatorNameFilterEdit); QVBoxLayout *gameTypeFilterLayout = new QVBoxLayout; QMapIterator<int, QString> gameTypesIterator(allGameTypes); while (gameTypesIterator.hasNext()) { gameTypesIterator.next(); QCheckBox *temp = new QCheckBox(gameTypesIterator.value()); temp->setChecked( settings.value( "game_type/" + hashGameType(gameTypesIterator.value()), false ).toBool() ); gameTypeFilterCheckBoxes.insert(gameTypesIterator.key(), temp); gameTypeFilterLayout->addWidget(temp); } QGroupBox *gameTypeFilterGroupBox; if (!allGameTypes.isEmpty()) { gameTypeFilterGroupBox = new QGroupBox(tr("&Game types")); gameTypeFilterGroupBox->setLayout(gameTypeFilterLayout); } else gameTypeFilterGroupBox = 0; QLabel *maxPlayersFilterMinLabel = new QLabel(tr("at &least:")); maxPlayersFilterMinSpinBox = new QSpinBox; maxPlayersFilterMinSpinBox->setMinimum(1); maxPlayersFilterMinSpinBox->setMaximum(99); maxPlayersFilterMinSpinBox->setValue( settings.value("min_players", 1).toInt() ); maxPlayersFilterMinLabel->setBuddy(maxPlayersFilterMinSpinBox); QLabel *maxPlayersFilterMaxLabel = new QLabel(tr("at &most:")); maxPlayersFilterMaxSpinBox = new QSpinBox; maxPlayersFilterMaxSpinBox->setMinimum(1); maxPlayersFilterMaxSpinBox->setMaximum(99); maxPlayersFilterMaxSpinBox->setValue( settings.value("max_players", 99).toInt() ); maxPlayersFilterMaxLabel->setBuddy(maxPlayersFilterMaxSpinBox); QGridLayout *maxPlayersFilterLayout = new QGridLayout; maxPlayersFilterLayout->addWidget(maxPlayersFilterMinLabel, 0, 0); maxPlayersFilterLayout->addWidget(maxPlayersFilterMinSpinBox, 0, 1); maxPlayersFilterLayout->addWidget(maxPlayersFilterMaxLabel, 1, 0); maxPlayersFilterLayout->addWidget(maxPlayersFilterMaxSpinBox, 1, 1); QGroupBox *maxPlayersGroupBox = new QGroupBox(tr("Maximum player count")); maxPlayersGroupBox->setLayout(maxPlayersFilterLayout); QGridLayout *leftGrid = new QGridLayout; leftGrid->addWidget(gameNameFilterLabel, 0, 0); leftGrid->addWidget(gameNameFilterEdit, 0, 1); leftGrid->addWidget(creatorNameFilterLabel, 1, 0); leftGrid->addWidget(creatorNameFilterEdit, 1, 1); leftGrid->addWidget(maxPlayersGroupBox, 2, 0, 1, 2); leftGrid->addWidget(unavailableGamesVisibleCheckBox, 3, 0, 1, 2); leftGrid->addWidget(passwordProtectedGamesVisibleCheckBox, 4, 0, 1, 2); QVBoxLayout *leftColumn = new QVBoxLayout; leftColumn->addLayout(leftGrid); leftColumn->addStretch(); QVBoxLayout *rightColumn = new QVBoxLayout; rightColumn->addWidget(gameTypeFilterGroupBox); QHBoxLayout *hbox = new QHBoxLayout; hbox->addLayout(leftColumn); hbox->addLayout(rightColumn); QDialogButtonBox *buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel); connect(buttonBox, SIGNAL(accepted()), this, SLOT(actOk())); connect(buttonBox, SIGNAL(rejected()), this, SLOT(reject())); QVBoxLayout *mainLayout = new QVBoxLayout; mainLayout->addLayout(hbox); mainLayout->addWidget(buttonBox); setLayout(mainLayout); setWindowTitle(tr("Filter games")); }
DlgFilterGames::DlgFilterGames(const QMap<int, QString> &_allGameTypes, const GamesProxyModel *_gamesProxyModel, QWidget *parent) : QDialog(parent), allGameTypes(_allGameTypes), gamesProxyModel(_gamesProxyModel) { showBuddiesOnlyGames = new QCheckBox(tr("Show '&buddies only' games")); showBuddiesOnlyGames->setChecked(gamesProxyModel->getShowBuddiesOnlyGames()); unavailableGamesVisibleCheckBox = new QCheckBox(tr("Show &unavailable games")); unavailableGamesVisibleCheckBox->setChecked(gamesProxyModel->getUnavailableGamesVisible()); showPasswordProtectedGames = new QCheckBox(tr("Show &password protected games")); showPasswordProtectedGames->setChecked(gamesProxyModel->getShowPasswordProtectedGames()); gameNameFilterEdit = new QLineEdit; gameNameFilterEdit->setText(gamesProxyModel->getGameNameFilter()); QLabel *gameNameFilterLabel = new QLabel(tr("Game &description:")); gameNameFilterLabel->setBuddy(gameNameFilterEdit); creatorNameFilterEdit = new QLineEdit; creatorNameFilterEdit->setText(gamesProxyModel->getCreatorNameFilter()); QLabel *creatorNameFilterLabel = new QLabel(tr("&Creator name:")); creatorNameFilterLabel->setBuddy(creatorNameFilterEdit); QVBoxLayout *gameTypeFilterLayout = new QVBoxLayout; QMapIterator<int, QString> gameTypesIterator(allGameTypes); while (gameTypesIterator.hasNext()) { gameTypesIterator.next(); QCheckBox *temp = new QCheckBox(gameTypesIterator.value()); temp->setChecked(gamesProxyModel->getGameTypeFilter().contains(gameTypesIterator.key())); gameTypeFilterCheckBoxes.insert(gameTypesIterator.key(), temp); gameTypeFilterLayout->addWidget(temp); } QGroupBox *gameTypeFilterGroupBox; if (!allGameTypes.isEmpty()) { gameTypeFilterGroupBox = new QGroupBox(tr("&Game types")); gameTypeFilterGroupBox->setLayout(gameTypeFilterLayout); } else gameTypeFilterGroupBox = 0; QLabel *maxPlayersFilterMinLabel = new QLabel(tr("at &least:")); maxPlayersFilterMinSpinBox = new QSpinBox; maxPlayersFilterMinSpinBox->setMinimum(1); maxPlayersFilterMinSpinBox->setMaximum(99); maxPlayersFilterMinSpinBox->setValue(gamesProxyModel->getMaxPlayersFilterMin()); maxPlayersFilterMinLabel->setBuddy(maxPlayersFilterMinSpinBox); QLabel *maxPlayersFilterMaxLabel = new QLabel(tr("at &most:")); maxPlayersFilterMaxSpinBox = new QSpinBox; maxPlayersFilterMaxSpinBox->setMinimum(1); maxPlayersFilterMaxSpinBox->setMaximum(99); maxPlayersFilterMaxSpinBox->setValue(gamesProxyModel->getMaxPlayersFilterMax()); maxPlayersFilterMaxLabel->setBuddy(maxPlayersFilterMaxSpinBox); QGridLayout *maxPlayersFilterLayout = new QGridLayout; maxPlayersFilterLayout->addWidget(maxPlayersFilterMinLabel, 0, 0); maxPlayersFilterLayout->addWidget(maxPlayersFilterMinSpinBox, 0, 1); maxPlayersFilterLayout->addWidget(maxPlayersFilterMaxLabel, 1, 0); maxPlayersFilterLayout->addWidget(maxPlayersFilterMaxSpinBox, 1, 1); QGroupBox *maxPlayersGroupBox = new QGroupBox(tr("Maximum player count")); maxPlayersGroupBox->setLayout(maxPlayersFilterLayout); QGridLayout *restrictionsLayout = new QGridLayout; restrictionsLayout->addWidget(unavailableGamesVisibleCheckBox, 0, 0); restrictionsLayout->addWidget(showPasswordProtectedGames, 1, 0); restrictionsLayout->addWidget(showBuddiesOnlyGames, 2, 0); QGroupBox *restrictionsGroupBox = new QGroupBox(tr("Restrictions")); restrictionsGroupBox->setLayout(restrictionsLayout); QGridLayout *leftGrid = new QGridLayout; leftGrid->addWidget(gameNameFilterLabel, 0, 0); leftGrid->addWidget(gameNameFilterEdit, 0, 1); leftGrid->addWidget(creatorNameFilterLabel, 1, 0); leftGrid->addWidget(creatorNameFilterEdit, 1, 1); leftGrid->addWidget(maxPlayersGroupBox, 2, 0, 1, 2); leftGrid->addWidget(restrictionsGroupBox, 3, 0, 1, 2); QVBoxLayout *leftColumn = new QVBoxLayout; leftColumn->addLayout(leftGrid); leftColumn->addStretch(); QVBoxLayout *rightColumn = new QVBoxLayout; rightColumn->addWidget(gameTypeFilterGroupBox); QHBoxLayout *hbox = new QHBoxLayout; hbox->addLayout(leftColumn); hbox->addLayout(rightColumn); QDialogButtonBox *buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel); connect(buttonBox, SIGNAL(accepted()), this, SLOT(actOk())); connect(buttonBox, SIGNAL(rejected()), this, SLOT(reject())); QVBoxLayout *mainLayout = new QVBoxLayout; mainLayout->addLayout(hbox); mainLayout->addWidget(buttonBox); setLayout(mainLayout); setWindowTitle(tr("Filter games")); }
DlgCreateToken::DlgCreateToken(const QStringList &_predefinedTokens, QWidget *parent) : QDialog(parent), predefinedTokens(_predefinedTokens) { nameLabel = new QLabel(tr("&Name:")); nameEdit = new QLineEdit(tr("Token")); nameEdit->selectAll(); nameLabel->setBuddy(nameEdit); colorLabel = new QLabel(tr("C&olor:")); colorEdit = new QComboBox; colorEdit->addItem(tr("white"), "w"); colorEdit->addItem(tr("blue"), "u"); colorEdit->addItem(tr("black"), "b"); colorEdit->addItem(tr("red"), "r"); colorEdit->addItem(tr("green"), "g"); colorEdit->addItem(tr("multicolor"), "m"); colorEdit->addItem(tr("colorless"), QString()); colorLabel->setBuddy(colorEdit); ptLabel = new QLabel(tr("&P/T:")); ptEdit = new QLineEdit; ptLabel->setBuddy(ptEdit); annotationLabel = new QLabel(tr("&Annotation:")); annotationEdit = new QLineEdit; annotationLabel->setBuddy(annotationEdit); destroyCheckBox = new QCheckBox(tr("&Destroy token when it leaves the table")); destroyCheckBox->setChecked(true); QGridLayout *grid = new QGridLayout; grid->addWidget(nameLabel, 0, 0); grid->addWidget(nameEdit, 0, 1); grid->addWidget(colorLabel, 1, 0); grid->addWidget(colorEdit, 1, 1); grid->addWidget(ptLabel, 2, 0); grid->addWidget(ptEdit, 2, 1); grid->addWidget(annotationLabel, 3, 0); grid->addWidget(annotationEdit, 3, 1); grid->addWidget(destroyCheckBox, 4, 0, 1, 2); QGroupBox *tokenDataGroupBox = new QGroupBox(tr("Token data")); tokenDataGroupBox->setLayout(grid); cardDatabaseModel = new CardDatabaseModel(db, this); cardDatabaseDisplayModel = new CardDatabaseDisplayModel(this); cardDatabaseDisplayModel->setSourceModel(cardDatabaseModel); cardDatabaseDisplayModel->setIsToken(CardDatabaseDisplayModel::ShowTrue); chooseTokenFromAllRadioButton = new QRadioButton(tr("Show &all tokens")); connect(chooseTokenFromAllRadioButton, SIGNAL(toggled(bool)), this, SLOT(actChooseTokenFromAll(bool))); chooseTokenFromDeckRadioButton = new QRadioButton(tr("Show tokens from this &deck")); connect(chooseTokenFromDeckRadioButton, SIGNAL(toggled(bool)), this, SLOT(actChooseTokenFromDeck(bool))); QTreeView *chooseTokenView = new QTreeView; chooseTokenView->setModel(cardDatabaseDisplayModel); chooseTokenView->setUniformRowHeights(true); chooseTokenView->setRootIsDecorated(false); chooseTokenView->setAlternatingRowColors(true); chooseTokenView->setSortingEnabled(true); chooseTokenView->sortByColumn(0, Qt::AscendingOrder); chooseTokenView->resizeColumnToContents(0); chooseTokenView->header()->setStretchLastSection(false); chooseTokenView->header()->hideSection(1); chooseTokenView->header()->hideSection(2); chooseTokenView->header()->setResizeMode(3, QHeaderView::ResizeToContents); chooseTokenView->header()->setResizeMode(4, QHeaderView::ResizeToContents); connect(chooseTokenView->selectionModel(), SIGNAL(currentRowChanged(QModelIndex, QModelIndex)), this, SLOT(tokenSelectionChanged(QModelIndex, QModelIndex))); if (predefinedTokens.isEmpty()) chooseTokenFromAllRadioButton->setChecked(true); else { chooseTokenFromDeckRadioButton->setChecked(true); cardDatabaseDisplayModel->setCardNameSet(QSet<QString>::fromList(predefinedTokens)); } QVBoxLayout *tokenChooseLayout = new QVBoxLayout; tokenChooseLayout->addWidget(chooseTokenFromAllRadioButton); tokenChooseLayout->addWidget(chooseTokenFromDeckRadioButton); tokenChooseLayout->addWidget(chooseTokenView); QGroupBox *tokenChooseGroupBox = new QGroupBox(tr("Choose token from list")); tokenChooseGroupBox->setLayout(tokenChooseLayout); QVBoxLayout *leftVBox = new QVBoxLayout; leftVBox->addWidget(tokenDataGroupBox); leftVBox->addStretch(); QHBoxLayout *hbox = new QHBoxLayout; hbox->addLayout(leftVBox); hbox->addWidget(tokenChooseGroupBox); QDialogButtonBox *buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel); connect(buttonBox, SIGNAL(accepted()), this, SLOT(actOk())); connect(buttonBox, SIGNAL(rejected()), this, SLOT(reject())); QVBoxLayout *mainLayout = new QVBoxLayout; mainLayout->addLayout(hbox); mainLayout->addWidget(buttonBox); setLayout(mainLayout); setWindowTitle(tr("Create token")); setFixedHeight(sizeHint().height()); setMinimumWidth(300); }